计算机组成原理实验报告
一、实验目的及要求
本次实验要求掌握加法器、减法器的设计与实现。
可以利用原理图设计并实现 1 位、8 位和32 位加法器,以及32 位加减器。
设计1 位加法器,将加法器中加入减法功能,可以利用SUB(减)的控制信号;
二、实验设备(环境)及要求
1. Windows 2000 或Windows XP
2. QuartusII9.1 sp2、DE2-115 计算机组成原理教学实验系统一台。
三、实验内容与步骤
(1)两个二进制数字A,B 和一个进位输入C0相加,产生一个和输出S,以及一个进位输出C1,这种运算电路成为全加器(1 位加法器)。
1 位全加器有两个输出S 和C1,其中S 为加法器的和,C1 为进位位输出。
下表中列出一位全加器进行加法运算的输入输出真值表:
表2-1 加法器的真值表
根据以上真值表,可以得到 1 位加法器的输入与输出逻辑关系。
根据上面的逻辑关系式可以建立如下图的 1 位加法器的原理图
接着进行功能仿真:
开始功能仿真,在【Processing】菜单下,选择【Start Simulation】启动仿真工具。
实验结果:
在5-10ns 时,A=1,B=0,C0=0,则C1=0,S=1;
在15-20ns 时,A=1,B=1,C0=0,则C1=1,S=0;
在30-35ns 时,A=0,B=1,C0=1,则C1=1,S=0;
在35-40ns 时,A=1,B=1,C0=1,则C1=1,S=1;
(2)8 位加法器的原理图设计
实验原理8 位加法器用于对两个8 位二进制数进行加法运算,并产生进位。
8 位加法器真值表如下所示:
表中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 位加法器构成。
进行功能仿真:
实验结果:
设置输入端A[7..0],B[7..0]随机值的仿真结果。
(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位加减器真值表如下所示:
仿真实验结果:
如图所示,A,B,SUB为输入,S为结果,COUT用于判断减法运算的结果是否为负数,当S为0时,A,B执行“+”运算;当S为1时,A,B执行“-”运算。
四、分析与讨论
逐级完成原理图设计,最后用SUB的特殊输入端完成加减法的运算,并且学会了用快捷键设置输入的值。