新手代码求助

2020-02-27 21:07发布

最近在学verilog,在看到4位加法器的时候
module adder4(cout,sum,ina,inb,cin);
output[3:0] sum;
output cout;
input[3:0] ina,inb;
input cin;
assign {cout,sum}=ina+inb+cin;
endmodule
请问那个assign这个语句怎么这么简单就实现了4位加法运算,还有这个大括号是什么作用,我查找资料说是拼接符,但我还是不懂这个语句是怎么实现这个功能的 。新手较笨,求指导
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
skybbuy
1楼-- · 2020-02-27 23:45
是不是ina+inb+cin的值赋给sum,然后他们的进位赋给cout?然后这个语句要循环4次?
haitaox
2楼-- · 2020-02-28 00:04
ina+inb+cin的值赋给sum,然后他们的进位赋给cout
这句话对了
没有循环
skybbuy
3楼-- · 2020-02-28 04:22
 精彩回答 2  元偷偷看……
ifpga
4楼-- · 2020-02-28 05:33
{cout,sum} 表示拼接
count 就是进位啊
别忘了,这里都是二进制
按二进制去想,应该就能想通了
skybbuy
5楼-- · 2020-02-28 09:39
ifpga 发表于 2013-10-14 17:29
{cout,sum} 表示拼接
count 就是进位啊
别忘了,这里都是二进制

这个不是直接给一个4位的二进制数去相加的吗,比如说ina=1001,inb=1002,那这个cin怎么确定啊,还是说ina,inb这里也都是一位的。另外拼接是什么意思
haitaox
6楼-- · 2020-02-28 10:35
{}是拼接符号,意思是把几个二进制的数按高低位拼在一起。我建议你仿真一下,这应该是数字电路里最简单的表达式了。

一周热门 更多>