运算器设计(Logisim实现)

实验平台介绍

1、Logisim软件是一种用于设计和模拟数字逻辑电路的工具。其简单的工具栏界面和构建它们时的电路仿真,使得它非常简单,有助于学习与逻辑电路相关的基本概念。由于能够从较小的子电路构建更大的电路,并通过单个鼠标拖动来绘制电线束,因此可以达到使用Logisim来设计和模拟整个CPU目的。

实验任务

     1、多位串行加法器和多位可控加减电路的设计

     (1)设计完成8位串行加法器

     (2)找到“☆8位可控加减法器”子电路,仿真验证设计的正确性。

     2、快速加法器的设计

    (1)利用相关知识设计4位先行进位电路。

    (2)利用设计的4位先行电路构造4位快速加法器。

    (3)利用4位快速加法器构造16位的快速加法器。

    (4)再利用16位的快速加法器构造32位的快速加法器。

    3、多位算术逻辑单元ALU设计

    (1)利用设计的32位快速加法器和Logisim中的组件设计完成指定规格的32位  ALU单元。

    (2)利用“ALU自动测试”电路测试ALU各种运算功能的正确性。

设计思路、电路实现

1、多位串行加法器

设计思路:

   每一个FA接收来自低位的进位信号Ci-1,以及数据位xi与yi,完成一位的加法,输出为当前结果位si和进位信号Ci。最低位的进位信号cin给出,最高位的进位信号为cout,为了判断是否溢出,需要将最高位和次高位的进位信号异或输出,溢出信号of。

电路实现:

运算器设计(Logisim实现)_第1张图片

2、多位串行加减法器

设计思路:

    Sub=0时,作为加法器,Sub就是最低位的进位信号。

Sub=1时,作为减法器, y作为减数,需要将y按位取反,末位加一。取反只需将yi与Sub信号异或即可,将Sub作为最低位的进位信号,满足末位加一的需要。

电路实现:运算器设计(Logisim实现)_第2张图片

3、先行进位电路,以及四位快速加法器

 

设计思路:

一位全加器,结果Si=Xi xor Yi xor Ci;进位信号Ci+1= Xi Yi + Xi Ci+ YiCi

并行加法器进位链:

C1 = X1Y1+(X1⊕Y1)C0=G1+P1C0

C2 = X2Y2+(X2⊕Y2)C1=G2+P2C1=G2+P2(G1+P1C0)=G2+P2G1+P2P1C0

C3 = X3Y3+(X3⊕Y3)C2=G3+P3C2=G3+P3(G2+P2G1+P2P1C0)=G3+P3G2+P3P2G1+P3P2P1C0

C4 = X4Y4+(X4⊕Y4)C3=G4+P4C3=G4+P4(G3+P3G2+P3P2G1+P3P2P1C0)

= G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0

 

四位快速加法器中G,P为

Gi = XiYi   

Pi = Xi⊕Yi

 

成组进位

C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0

G4 *= G4+P4G3+P4P3G2+P4P3P2G1

P4 *= P4P3P2P1

C4 = G4*+P4*C0  

C1 = G1  +P1 C0    

 

先行进位电路:

运算器设计(Logisim实现)_第3张图片

四位快速加法器电路:

运算器设计(Logisim实现)_第4张图片

4、十六位先行进位加法器

设计思路:

         十六位加法器的实现需要借助已经实现的先行进位电路以及四个4位快速加法器。Cin依然作为最低4位快速加法器的进位信号以及CLA74182,CLA74182输出的Ci-1作为4位快速加法器的cin信号。

电路设计:

运算器设计(Logisim实现)_第5张图片

5、三十二位加法器(不要先行进位)

电路设计:

运算器设计(Logisim实现)_第6张图片

你可能感兴趣的:(计算机组成原理)