在 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 始终位于右侧,因此进位需要位于左侧。)