Verilog-半加器(简单组合逻辑)

理论学习

加法器

加法器是数字电路中经常用到的一种基本器件,用于两个数或多个数的加和。
加法器分为半加器和全加器,半加器是对两个输入数据位相加,输出一个结果位和数据位,全加器除了加数和被加数加和外还要加上上一级传进来的进位信号。

实战演练

使用简单组合逻辑实现一个半加器

使用两个按键表示加数和被加数,使用两个LED分别代表输出和进位的输出。

module	half_adder
(
	input	wire			in_1,
	input	wire			in_2,

	output	wire			sum,
	output	wire			count
);

assign	{
    
    count,sum} = in_1 + in_2;

endmodule
`timescale	1ns/1ns

module half_adder_tb();

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

猜你喜欢

转载自blog.csdn.net/sllksllk/article/details/125732781