在 Verilog 中将一个值赋给多个变量的正确语法是什么?
What is the correct syntax for assigning one value to multiple variables in Verilog?
我正在编写一个 64 位加法器模块,我的输入是 a、b、cin,输出是求和和进位。
我想使用连续分配,所以我在结束模块之前写了 assign sum = (a + b);
。
为了也将这个值分配给我的进位, assign sum,carry = (a + b);
是正确的语法吗?我也在网上看到应该包括大括号 assign {sum, carry} = (a + b);
但是没有明确说明
它应该包括大括号。
{ , , }
这是 Verilog 中的串联运算符。所以,
assign {carry,sum} = (a + b);
就是你想要的。 (请注意,在 Verilog 中,LSB 始终位于右侧,因此进位需要位于左侧。)
我正在编写一个 64 位加法器模块,我的输入是 a、b、cin,输出是求和和进位。
我想使用连续分配,所以我在结束模块之前写了 assign sum = (a + b);
。
为了也将这个值分配给我的进位, assign sum,carry = (a + b);
是正确的语法吗?我也在网上看到应该包括大括号 assign {sum, carry} = (a + b);
但是没有明确说明
它应该包括大括号。
{ , , }
这是 Verilog 中的串联运算符。所以,
assign {carry,sum} = (a + b);
就是你想要的。 (请注意,在 Verilog 中,LSB 始终位于右侧,因此进位需要位于左侧。)