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
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liweiei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值