01-Verilog学习-C_4位全加器

4位二进制加法器的实现

在实现1位全加器的基础上,将加数的位数进行扩展即可得到4位全加器,甚至多位的加法器。实现的方法仍可以用例化1位全加器的方法。硬件框图如下:

4位全加器硬件图
结合前述文章的全加器的代码,可得4位全加器的Verilog代码:

module C_4Full_Adder(
	input [3:0] A,		//4位数据输入
	input [3:0] B,
	output [3:0] Sum,	//和
	output Count		//进位
	);
	
wire C0;
wire C1;
wire C2;

/*
A[0]+B[0]+CI0 = Sum[0],C0
*/	
C1_FullAdd u0C1_FullAdd(
	.a(A[0]),		//加数
	.b(B[0]),
	.ci(0),			//前进位
	
	.sum(Sum[0]),	//和
	.cout(C0)		//进位
	);
	
/*
A[1]+B[1]+CI1 = Sum[1],C1
*/	
C1_FullAdd u1C1_FullAdd(
	.a(A[1]),		//加数
	.b(B[1]),
	.ci(C0),			//前进位
	
	.sum(Sum[1]),	//和
	.cout(C1)		//进位
	);
	
/*
A[2]+B[2]+CI2 = Sum[2],C2
*/	
C1_FullAdd u2C1_FullAdd(
	.a(A[2]),		//加数
	.b(B[2]),
	.ci(C1),			//前进位
	
	.sum(Sum[2]),	//和
	.cout(C2)		//进位
	);
	
/*
A[3]+B[3]+CI3 = Sum[3],C3
*/	
C1_FullAdd u3C1_FullAdd(
	.a(A[3]),		//加数
	.b(B[3]),
	.ci(C2),			//前进位
	
	.sum(Sum[3]),	//和
	.cout(Count)	//进位
	);
	
endmodule


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值