Verilog HDL 中的半加器和全加器
一、原理
算术数值系统的基本功能是计算机中不可缺少的单元。
1、半加器
半加和全加是算术运算电路中的基本单元,是完成1位二进制加法的组合逻辑电路。一位加法器的真值表见表1.1;从表中可以看出,这种加法没有考虑低位的进位,所以称为半加法。半加器是实现表1.1 中逻辑关系的电路。Sumend A 加 B 和数 S 进位 C0000011010101101
Table1.1 一加法器真值表
2、全加器
全加器可以从低位开始将加数、加数和进位信号相加,根据相加结果给出该位的进位信号。根据其功能可以列出其真值表,如表1.2所示。
Table1.2 一位全加真值表
3、半减法和全减法
半减法和全减法与加法器一样8位逻辑运算器仿真图,是算术电路中的基本单元。半减法器和全减法器的设计方法与加法器相同,但实际上为了简化系统结构,通常不设计减法器,而是将减法运算改为加法运算8位逻辑运算器仿真图,以便操作者实现加法。它还可以实现减法运算。一般用加法代替减法。
二、实现
在设计文件中输入 Verilog 代码
1 `timescale 1 ns / 1 ps 2 3 module sum ( A ,Co ,B ,S ,Ci ); 4 5 input A ; 6 wire A ; 7 input B ; 8 wire B ; 9 input Ci ; 10 wire Ci ; 11 12 output Co ; 13 reg Co ; 14 output S ; 15 reg S ; 16 17 always @ ( A or B or Ci) 18 begin 19 if ( A== 0 && B == 0 && Ci == 0 ) 20 begin 21 S <= 0; 22 Co <= 0; 23 end 24 else if ( A== 1 && B == 0 && Ci == 0 ) 25 begin 26 S <= 1; 27 Co <= 0; 28 end 29 else if ( A== 0 && B == 1 && Ci == 0 ) 30 begin 31 S <= 1; 32 Co <= 0; 33 end 34 else if ( A==1 && B == 1 && Ci == 0 ) 35 begin 36 S <= 0; 37 Co <= 1; 38 end 39 else if ( A== 0 && B == 0 && Ci == 1 ) 40 begin 41 S <= 1; 42 Co <= 0; 43 end 44 else if ( A== 1 && B == 0 && Ci == 1 ) 45 begin 46 S <= 0; 47 Co <= 1; 48 end 49 else if ( A== 0 && B == 1 && Ci == 1 ) 50 begin 51 S <= 0; 52 Co <= 1; 53 end 54 else 55 begin 56 S <= 1; 57 Co <= 1; 58 end 59 end 60 61 endmodule
© 版权声明
THE END
喜欢就支持一下吧
请登录后发表评论
注册
社交帐号登录