5.3.3 文件编译 5.3.4 功能仿真 仿真结果如图所示:
图5.3.2 32位加法器的仿真波形图
5.3.5 生成原理图元器件 32位加法器的封装图为:
图5.3.3 32位加法器封装图
5.4 1位加减器的原理图设计
5.4.1 1位加减器的实验原理
1位加减器能进行1位的加法和减法运算。减法器运算原理是将A-B运算转化成[A]补+[-B]补运算,求补过程由B+1来实现。 因此,SUB=0时,S=A+B;
SUB=1时,S=A - B=A+(-B)=A+B+1,相当于 A+B的同时在加法器的最低位上加1。 又因为B ○+ 0 =0; B ○+ 1=B,所以S = A+(B ○+ SUB)+ SUB;
1位加减器有两个输出S和C,其中S为加法器的和,C用于判断减法运算的结果是否为负数。有3个输入A、B、和SUB,其中SUB用于标记是否做减法运算。 5.4.2 建立1位加减器的原理图文件
根据以上实验原理中的逻辑关系式可以建立如下图所示的1位加减器的原理图:
图5.4.1 1位加减器原理图
5.4.3 文件编译 5.4.4 功能仿真 仿真结果如图所示:
图5.4.2 1位加减器仿真波形图
5.5 32位加减器的原理图设计
5.5.1 32位加减器的实验原理
32位加减器用于对两个32位二进制数进行加法或减法运算。它先由4个8位加法器级联成32加法器,然后像1位加法器变换成1位加减器那样,经过变换,最后实现。
32位加减器有两个输出S和COUT,其中S为加法器的和,COUT用于判断减法运算的结果是否为负数。有3个输入A、B、和SUB,其中SUB用于标记是否做减法运算。32位加减器真值表如下所示:
表三 32位加减器真值表
输 入 A[31..0] A B[31..0] B SUB 符号标记 输 出 S[31..0] COUT A+(B XOR SUB)+SUB 符号标记
5.5.2 建立32位加减器的原理图文件
根据级联描述和真值表可以建立如下图所示的32位加减器原理图:
图5.5.1 32位加减器原理图
5.5.3 文件编译 5.5.4 功能仿真
仿真结果及结果分析:
图5.5.2(a) 32位加减器仿真波形图
令B=00000012;
在10-20ns时,A=00000002,SUB=0,则COUT=0,S=00000014; 在20-30ns时,A=00000003,SUB=1,则COUT=0,S=FFFFFFF1; 在50-60ns时,A=00000006,SUB=0,则COUT=0,S=00000018;
图5.5.2(b) 32位加减器仿真波形图
令B=00000012;
在210-220ns时,A=00000016,SUB=0,则COUT=0,S=00000028; 在220-230ns时,A=00000017,SUB=1,则COUT=1,S=00000005; 在250-260ns时,A=0000001A,SUB=0,则COUT=0,S=0000002C; 5.5.5 生成原理图元器件 32位加减器的封装图为:
图5.5.3 32位加减器封装图
实验总结:
通过这次上机实验,我巩固了很多重要的知识,让我知道了自己在学习上还有很多不足之处,在今后的学习中,我要更加注重上机实践,不能只停留在课本层面上,在上机的过程中,有几处弄不懂的地方,通过请教老师和同学,我弄明白了那几个知识点,与同学交流知识点是促进学习的好方法!