一、半加器的介绍
数字电路中加法器是经常用到的一种基本器件,主要用于两个数或者多个数的加和,加法器又分为半加器(half adder)和全加器(full adder)。半加器电路是指对两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。是实现两个一位二进制数的加法运算电路。而全加器是在半加器的基础上的升级版,除了加数和被加数加和外还要加上上一级传进来的进位信号。
二、程序设计
(1)实验框图
(2)波形图绘制
(4)代码编写
module half_adder
(
input wire [0:0] in_1,
input wire in_2,
output wire sum,
output wire count
);
assign {count,sum} = in_1+in_2;
endmodule
(5)编译并查看RTL视图
三、仿真验证
(1)modesim仿真代码编写
`timescale 1ns/1ns
module tb_half_adder();
reg in_1;
reg in_2;
wire sum;
wire count;
initial
begin
in_1 <= 1'b0;
in_2 <= 1'b0;
end
always #10 in_1 <= {$random} % 2;
always #10 in_2 <= {$random} % 2;
initial
begin
$timeformat(-9,0,"ns",6);
$monitor("@time %t:in_1=%b,in_2=%b,sum=%b,count=%b",$time,in_1,in_2,sum,count);
end
half_adder half_adder_inst
(
.in_1 (in_1),
.in_2 (in_2),
.sum (sum),
.count (count)
);
endmodule
(2)波形验证