目录
实验报告和文件下载:
实验报告:
一、实验目的
掌握1位半、全加器的实现逻辑,能在Logisim中实现多位串行进位加法器电路。
掌握寄存器在ALU中的作用,实现运算器中的双向总线设计。
二、实验内容
(1)运算器(加法器)的设计原理。
- 半加器
不考虑低位进位来的进位值,只有两个输入,两个输出。由一个与门和异或门构成。
- 全加器
当多位数相加时,半加器可用于最低位求和,并给出进位数。第二位的相加有两个待加数和,还有一个来自前面低位送来的进位数。这三个数相加,得出本位和数(全加和数)和进位数。这种就是“全加”。
(2)1位半加器和全加器设计。
- 1位半加器的真值表为:
表1 半加器真值表
| 输入 | 和 | 进位 | |
| A | B | S | C |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
- 半加器的逻辑表达式:
S=AB+AB=A⊕B![]()
C=AB![]()
- 1位半加器电路(ha)为:

- 用上述两个1位半加器可组成全加器,其对应的真值表为:
表2 全加器真值表
| 输入 | 和 | 进位 | ||
| A | B | Cin | S | Cout |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
- 全加器对应的逻辑表达式为:
Si=Ai⊕Bi⊕Ci![]()
Ci=Ai⊕BiCi-1+AiBi![]()
- 用两个半加器实现的全加器的电路(FA)为:

(3)8位串行进位加法器实现与验证。
- 使用8个全加器,制作一个8位的串行加法器(8adder),具体电路为:

(4)寄存器中ALU中的使用
针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。当需要完成逻辑运算时,势必需要配置相应的逻辑电路,而ALU电路是既能完成算术运算,又能完成逻辑运算的部件。
基于此,考虑使用3个8位寄存器,分别连接8位加法器的2个8位输入端和一个8位输出端,其电路为:

(5)运算器中的双向总线和片内总线

(6)实现手摇式计算机实现运算器功能
引出所有的控制端,实现手摇式计算机的8位数加法运算,具体电路见如下:

三、实验步骤(图文方式叙述)
4.1制作一个半加器:

4.2用两个半加器组成一个全加器:

4.3使用8个全加器,制作一个8位的串行加法器:

4.4连接

4.5实验结果验证



- 实验结果(遇到的问题与解决)
遇到的问题:在设计运算器的双总线设计时,由于需要对不同的中断时序和寄存器进行组合,最开始时未能准确了解总线对寄存器数据的更改时序,导致结果出错;
解决:控制不同的总线,观察在时序变化中对应寄存器出现的数值变化,在对照全加器的真值表来进行相应的修改,实现不同总线之间的控制。
300

被折叠的 条评论
为什么被折叠?



