模块实例化中不允许串联运算符
Concatenation operator not allow in module instantiation
MUX32_16x1 inst9(muxR, dontNeed, addSub, AddSub, mult, shift, shift, wireAnd, wireOr, wireNor, {31{0}, addSub[31]}, dontNeed, dontNeed, dontNeed, dontNeed, dontNeed, dontNeed, OPRN[3:0]);
以上是我对 16x1 多路复用器的实例化,我试图通过这样做将前 31 位的一个参数设置为 0,只留下最后一位作为输入
{31{0}, addSub[31]}
我不确定程序为何会出现此错误
near ",": syntax error, unexpected ',', expecting '}'.
模块实例化中不允许使用花括号运算符吗?
抱歉,我对 Verilog 编程还很陌生
重复拼接时,需要用另一组大括号括起来,所以{31{1'b0}}
等同于31'd0
。
尝试:
{{31{1'b0}}, addSub[31]}
或者:
{31'd0, addSub[31]}
MUX32_16x1 inst9(muxR, dontNeed, addSub, AddSub, mult, shift, shift, wireAnd, wireOr, wireNor, {31{0}, addSub[31]}, dontNeed, dontNeed, dontNeed, dontNeed, dontNeed, dontNeed, OPRN[3:0]);
以上是我对 16x1 多路复用器的实例化,我试图通过这样做将前 31 位的一个参数设置为 0,只留下最后一位作为输入
{31{0}, addSub[31]}
我不确定程序为何会出现此错误
near ",": syntax error, unexpected ',', expecting '}'.
模块实例化中不允许使用花括号运算符吗?
抱歉,我对 Verilog 编程还很陌生
重复拼接时,需要用另一组大括号括起来,所以{31{1'b0}}
等同于31'd0
。
尝试:
{{31{1'b0}}, addSub[31]}
或者:
{31'd0, addSub[31]}