Verilog实现加法器

1)半加器
实现两个一位的二进制数相加的逻辑电路称为半加器。半加器是不带进位输入的,只需要输入两个一位的加数a,b,输出和sum,有进位输出cout,其真值表如下:

Verilog实现加法器
得出逻辑关系式:
sum = a^b; // ^表示a和b的异或,当输入a和b相同(即a,b同时取0或者同时取1)时,sum=0,当a,b取值不同(a=0,b=1或a=1,b=0)时,sum= 1
cout = a&b;//a,b同时取1时才会有进位输出

Verilog代码段实现:

Verilog实现加法器
仿真波形:
Verilog实现加法器

2)全加器
通常,我们更感兴趣的是多位二进制数的相加,在多位二进制数相加时,对每一位而言,除了考虑相加的两位数(第i位),还要考虑来自低位(i-1位)的进位。实现带低位进位的两个一位数相加的逻辑电路,称为全加器。其真值表如下:
Verilog实现加法器
得出其逻辑关系式:
sum = a ^ b ^cin;
cout = a & b+a & cin+b & cin; //+表示逻辑或

Verilog代码段实现:
Verilog实现加法器
仿真波形:
Verilog实现加法器