verilog中assign{

问题描述:

verilog中assign{
四位全加器的程序中直接把cout和sum放在一起被赋值,请问assign{ }在什么情况下用,具体是怎么执行的?
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
1个回答 分类:综合 2014-11-04

问题解答:

我来补答
我感觉吧,cout表示ina+inb+cin的最高那位,sum表示ina+inb+cin的低四位
assign的含义是定义,{cout,sum}这个的含义是将括号内的数按位并在一起,比如:{1001,1110}表示的是10011110
assign还有个相似的用法如:assign A = {a,b};
若a = 100101,b = 1010
那么A就被定义成了A = 1001011010;
整个语句:assign {cout,sum}=ina+inb+cin;
含义为将四位数ina,inb,cin相加,其值放入sum,进位放入cout.恩,这是一个带进位的加法模块.cin表示的是上一级加法给这一级的进位.
希望对你有所帮助.
要还是不懂可百度hi我
 
 
展开全文阅读
剩余:2000
上一页:指函数和对函数
下一页:字丑请见谅。