2017-08-04 149 views

回答

1

可以用左手concats

下面的示例演示如何做到这一点。

reg a,b,c,d,e; 
initial begin 
    {a,b,c,d,e} = 5'b0; 
end 

除非您使用数组,否则没有其他更“有条理”的方法。

reg [4:0] var; 
... 
var = 5'b0; 

或多维压缩数组,你可以使用循环

reg [1:0] var [4:0]; 

... 
for (i = 0; i < 5; i++) var[i] = 0; 
+0

使用循环会产生开销还是循环在综合过程中运行? –

+0

合成应该展开循环,并将其转换为5线制的东西,与所有其他情况相同。 – Serge

+0

感谢您的澄清! –

1

如果所有变量具有相同的位宽,因此你想分配给这些变量值有相同的位宽,可以进行复制级联:

{a,b,c,d,e} = {5{value}};