首页天道酬勤数字电子技术第四版,数字电子技术基础第6版

数字电子技术第四版,数字电子技术基础第6版

张世龙 05-12 22:42 38次浏览

目录1、1位加法器1、半加法器2、1位全加法器3、n位串行进位加法器4、进位前加法器

二进制数之间的算术运算,无论加减乘除,现在在数字计算机(数字系统)中都进行多次加法运算。 因此,加法器是构成算术运算器的基本单位。

一、一位加法器1、半加法器

在不考虑有来自低位的进位输入的情况下,将两个一位二进制数相加称为半加。 实现半加法的电路是半加法器。

半加法器真值表

a、b是输入,s是加上a、b的和,CO是进位输出。 根据真值表,可以写出s和CO的公式:

s=a’Bab’

CO=AB

Verilog代码如下:

//1位半加法器moduleh_adder(inputa、//被加数input B、//加数output S、//和数output CO//进位); assign CO=A B; assign S=A ^ B; 因此,endmodule的半加法器由排他或门和门构成

2、1位全加法器如果考虑到有来自低位的进位输入,就相当于用2进制数相加3个1位,称为全加。 实现全加法的电路是全加法器。

全加法器真值表

此时的s和CO的逻辑公式很复杂,但可以用两个半加法器和一个或门来实现全加法器。

首先对两个输入ain、朴素溪流进行半加法,进位输出c1、数输出s1; 然后,将s1和进位cin进行半相加,获得最终的和数sum和进位输出c2,再将c1和c2或相加,获得最终的进位输出co。

代码如下。

modulef_adder(ain,朴素溪流,cin,cout,sum ); 输入wire ain; input wire朴素溪流; 输入wire CIN; 输出wire cout; 输出无线; wireSYNTHESIZED_WIRE_0; wireSYNTHESIZED_WIRE_1; wireSYNTHESIZED_WIRE_2; h_adderB2V_inst(.a(ain ), b )朴素溪流, co ) synthesized_wire_0), s ) S(SYNTHESIZED_WIRE_2) ) h _ adder b2v _ inst2(.a (synthesized _ wire _2), b ) CIN, co (synthesized _ wire _1), s ); assign cout=synthesized _ wire _0| synthesized _ wire _ 1; endmodule 3,n位串行进位加法器n位串行进位加法器由n个全加法器级联构成,这种电路的最大缺点是工作速度慢。

Verilog代码: n位串行进位全加法器

4、像超前进位加法器这样的加法器是在空间上改变时间的设计,这里不介绍

超前进位加法器真值表,加法器最低位进位为一 电路加法器设计,电路加法器原理