层次化设计方法,设计一个 16 位二进制全加器模块
设计思路:先一个半加器和一个或门,每两个半加器构成一个全加器,每四
个全加器组成一个 4 位全加器,再将这 4 个 4 位全加器依次相连组成一个 16 位
二进制全加器。
框图:
半加器的逻辑表达式:sum=A+B; cout=AB;
半加器的真值表
输入
输出
A
B
Sum
COUT
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
全加器的逻辑表达式:temp=A^B; c1=A&B; sum=temp^cout;
c2=temp&cout; COUT=c1+c2;
设计程序如下:
①半加器模块
module adder_half(input wire a,input wire b,output reg sum,output reg cout);
always @(*)
begin