目录
一、加法器
1.1 半加器原理图
1.2 半加器真值表
C=A*B
S=A'B+AB'
1.3 全加器原理图
1.4 全加器真值表
Ci-1相邻低位进位数;Ai被加数;Bi加数;Si本位和;Ci相相邻高位进位数。
一位全加器的表达式如下两种:
由原理图我们不难看出,全加器由两个半加器组成,半加器1的输入是A,B两个加数,经过半加器1后求得进位与本位和,进位与前级进位进入半加器2求得本位和与进位,半加器1与半加器2进位经与门求得向相邻下一位的进位。
1.5 加法器
源码:
module add_sour(
input [3:0] X,Y,
output [3:0] sum,
output C
);
assign {C,sum} = X+Y;
endmodule
RTL仿真:
仿真测试文件源码:
module add_sim();
reg[3:0] X,Y;
wire[3:0] sum;
wire C;
initial
begin
X=4'b0001;
Y=4'b0111;
end
add_sour m
(
.X(X),
.Y(Y),
.sum(sum),
.C(C)
);
endmodule
仿真波形图:
二、乘法器
2.1 源码
module combinatorial_logic_sour(
input [3:0] X,Y,
output [7:0] M
// output C
);
assign M= X*Y;
endmodule
2.2 RTL综合
2.3 仿真代码
module combinatorial_logic_sim;
reg[3:0] X,Y;
wire[7:0] M;
// wire C;
initial
begin
X=4'b0010;
Y=4'b0111;
end
combinatorial_logic_sour m
(
.X(X),
.Y(Y),
.M(M)
// .C(C)
);
endmodule
2.4 仿真波形
工程文件获取:
链接:https://pan.baidu.com/s/1n5LxmknJhX2ITwFMFPz89w
提取码:j7ou