2017-08-04 147 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}};