Verilog实现加法器

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

半加器真值表
得出逻辑关系式:
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代码段实现:

半加器代码
仿真波形:
半加器仿真波形

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

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

发布了5 篇原创文章 · 获赞 3 · 访问量 291

猜你喜欢

转载自blog.csdn.net/qq_43483403/article/details/103467649