全加器
学习过程
主要是学习如何进行全加器的代码编写以及上板验证
代码部分
半加器Half_adder
module Half_adder
(
input wire in_1,
input wire in_2,
output wire sum,
output wire cout
);
assign {cout,sum} = in_1 + in_2;
endmodule
全加器Full_adder(基于半加器)
module Full_adder
(
input wire in_1,
input wire in_2,
input wire cin ,
output wire sum ,
output wire cout
);
wire h0_sum,h2_cout,h3_cout;
Half_adder Half_adder_inst1
(
.in_1(in_1),
.in_2(in_2),
.sum (h0_sum ),
.cout(h2_cout )
);
Half_adder Half_adder_inst2
(
.in_1(h0_sum),
.in_2(cin ),
.sum (sum ),
.cout(h3_cout )
);
assign cout = h3_cout | h2_cout;
endmodule
但其实不用半加器也可以制作全加器,以下是代码:
module Full_adder
(
input wire in_1,
input wire in_2,
input wire cin ,
output wire sum ,
output wire cout
);
assign {cout,sum} = in_1 + in_2 + cin;
endmodule
自己学习FPGA的笔记,仅供参考