网工二班 陈衍席 1205110125
实验四 加减器实验
【实验环境】
1. Windows 2000 或 Windows XP
2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台,排线若干。
1.实验原理
加减器是以二进制方式进行数字的加法或减法运算的器件,它能进行加法或减法运算,做减法运算时,是通过将减法运算转化为加法运算来实现的。它可以用全加器做成。 (1)1位加法器的原理图设计
两个二进制数字A,B和一个进位输入C0相加,产生一个和输出S,以及一个进位输出C1,这种运算电路成为全加器(1位加法器)。1位加法器有两个输出S和C1,其中S为加法器的和,C1为进位位输出。下表中列出一位全加器进行加法运算的输入输出真值表:
加法器的真值表如下表所示:
根据以上真值表,可以得到1位加法器的输入与输出逻辑关系。
;
1位加法器的原理图文件:
1位加法器的封装图为:
(2)8位加法器的原理图设计
8位加法器用于对两个8位二进制数进行加法运算,并产生进位。8位加法器真值表如下所示:
8位加法器真值表
输 入 | 输 出 |
A[7..0] | B[7..0] | CIN | S[7..0] | COUT |
A | B | 进位输入 | A+B+CIN | 进位输出 |
| | | | |
表中 A[7..0]表示A有8位输入端:A7-A0;B[7..0]表示B有8位输入端:B7-B0;S[7..0]表示S有8位输入端:S7-S0。8位加法器的A、B都有8个输入端,加上进位CIN,共有17个输入端。它有9个输出端,即S7-S0和COUT,因此8位加法器可由8个1位加法器构成。
建立8位加法器原理图文件:
8位加法器的封装图为:
(3)32位加法器的原理图设计
32位加法器用于对两个32位二进制数进行加法运算,并产生进位。
根据图中提示,完成32位加法器原理图的设计:
32位加法器的封装图为:
(4) 32位加减器的原理图设计
32位加减器用于对两个32位二进制数进行加法或减法运算。它先由4个8位加法器级联成32加法器,然后像1位加法器变换成1位加减器那样,经过变换,最后实现。
32位加减器有两个输出S和COUT,其中S为加法器的和,COUT用于判断减法运算的结果是否为负数。有3个输入A、B、和SUB,其中SUB用于标记是否做减法运算。32位加减器真值表如下所示:
表 32位加减器真值表
输 入 | 输 出 |
A[31..0] | B[31..0] | SUB | S[31..0] | COUT |
A | B | 符号标记 | A+(B XOR SUB)+SUB | 符号标记 |
| | | | |
建立32位加减器的原理图文件:
32位加减器的封装图为:
2.总结组合逻辑电路的设计方法
先设计出最简单的2进制逻辑电路,然后逐级封装成元件,调用,最终达到你要的进制级,然后根据级联描述及真值表创建原理图,完成设计。
3.实验结果的分析、讨论和总结
如图所示,A,B,SUB为输入,S为结果,COUT用于判断减法运算的结果是否为负数,当S为0时,A,B执行“+”运算;当S为1时, A,B执行“-”运算。
这次试验和上次比较像,都是逐级完成原理图设计,最后用SUB的特殊输入端完成加减法的运算,但是学会了用快捷键设置输入的值,还是有收获的。