武汉轻工大学
计算机组成原理实验报告(五)
姓名: 刘 文 斌 院系:数学与计算机 学院 班级:软件工程13 03班 学号: 13051100 50 老师:郭峰林
2015.11.22
实验五 加减器实验
【实验环境】
1. Windows 2000 或 Windows XP
2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台。
【实验目的】
本次实验要求掌握加法器、减法器的设计与实现。 【实验要求】
可以利用原理图设计并实现1位、8位和32位加法器,以及32位加减器。设计1位加法器,将加法器中加入减法功能,可以利用SUB(减)的控制信号;
【实验原理】
加减器是以二进制方式进行数字的加法或减法运算的器件,它能进行加法或减法运算,做减法运算时,是通过将减法运算转化为加法运算来实现的。它可以用全加器做成。(各种加减器的实验原理见后面具体描述)
【实验步骤】
5.1 1位加法器的原理图设计
5.1.1 实验原理 两个二进制数字A,B和一个进位输入C0相加,产生一个和输出S,以及一个进位输出C1,这种运算电路成为全加器(1位加法器)。1位加法器有两个输出S和C1,其中S为加法器的和,C1为进位位输出。下表中列出一位全加器进行加法运算的输入输出真值表:
表5-1 加法器的真值表
根据以上真值表,可以得到1位加法器的输入与输出逻辑关系。
S?(A?B)?C0 ;
C1?(A?B)?((A?B)?C0)?(A?B)?(B?C)?(A?C)
5.1.2 新建1位加法器的原理图文件
根据上面的逻辑关系式可以建立如下图的1位加法器的原理图:存盘文件名假定为add_1
图5.1.1 1位加法器的原理图
5.1.3 文件编译 5.1.4 功能仿真
仿真结果及结果分析:
图5.1.2 1位加法器的仿真波形图
在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; 5.1.5 生成原理图元器件
切换到原理图窗口,点击【File】-->【Create/Update】-->【Create Symbol Files for Current File】,完成元件封装,假定保存的文件名为add_1。这样就生成了1位全加器的元器件,为后续步骤提供基础。 1位加法器的封装图为:
图5.1.3 1位加法器封装图
5.2 8位加法器的原理图设计
在5.1生成的1位全加器基础上,实现8位全加器。 5.2.1 实验原理
8位加法器用于对两个8位二进制数进行加法运算,并产生进位。8位加法器真值表如下所示:
表5-2 8位加法器真值表
输 入 输 出
A[7..0] A B[7..0] B CIN 进位输入 S[7..0] A+B+CIN COUT 进位输出
表中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位加法器构成。 5.2.2 建立8位加法器原理图文件
注意:建立新的8位全加器工程文件,在输入原理图之前,请将5.1中的1位全加器的原理图文件(add_1.bdf)和全加器元器件库文件(add_1.bsf)复制到当前的工程文件夹下,以便于使用自定义的加法器元器件。在原理图中使用红色框按钮选择add_1原件。
根据图中提示,完成8位加法器原理图的设计。
图5.2.1 8位加法器原理图
5.2.3 文件编译 5.2.4 功能仿真
仿真结果及结果分析:
图5.2.2(a) 8位加法器的仿真波形图
在10-20ns时,A=01,B=4B,C0=0,则C1=0,S=4C; 在60-70ns时,A=06,B=50,C0=1,则C1=0,S=57; 在110-120ns时,A=0B,B=55,C0=0,则C1=0,S=60;
图5.2.2(b) 8位加法器的仿真波形图
在880-890ns时,A=58,B=A2,C0=1,则C1=0,S=FB; 在920-930ns时,A=5C,B=A6,C0=0,则C1=1,S=02; 在960-970ns时,A=60,B=AA,C0=1,则C1=1,S=0B; 5.2.5 生成原理图元器件
点击【File】-->【Create/Update】-->【Create Symbol Files for Current File】,完成元件封装。
图5.2.3 8位加法器封装图
注:改变原理图中,输入/输出引脚的位置,就可以改变封装图中各个引脚的位置。另外点击
、
、
时,也可以改变封装图中,各引脚的位置。
5.3 32位加法器的原理图设计
5.3.1 实验原理
32位加法器用于对两个32位二进制数进行加法运算,并产生进位。 5.3.2 建立32位加法器原理图文件
根据级联描述创建32位加法器的原理图。
根据图中提示,完成32位加法器原理图的设计。
图5.3.1 32位加法器原理图