HDLbits 刷题 -- Exams/m2014 q4j

Implement the following circuit:

译:

实现以下电路:

解法一:

module top_module (
    input [3:0] x,
    input [3:0] y, 
    output [4:0] sum);
 	assign sum = x + y;
endmodule
 

解法二:

module top_module (
    input [3:0] x,
    input [3:0] y, 
    output [4:0] sum);
    wire [3:0]cout;
    FA fa1(x[0],y[0],0,cout[0],sum[0]);
    FA fa2(x[1],y[1],cout[0],cout[1],sum[1]);
    FA fa3(x[2],y[2],cout[1],cout[2],sum[2]);
    FA fa4(x[3],y[3],cout[2],cout[3],sum[3]);
    assign sum[4] = cout[3];
    
    
endmodule
module FA(input x,input y,input cin,output cout,output sum);
    assign {cout,sum}=x+y+cin;
endmodule

分析:

        解法一 是用verilog的计算有进位的特性,但是不可以写成assign sum = {x + y};否则就会被限制在4位;

        解法二就是普通的全加器;

运行结果:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刚及格的陆拾伍

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

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

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

打赏作者

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

抵扣说明:

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

余额充值