如何使用更精简的代码将多个reg分配给相同的值?这是我想要改进的代码:
a = 0;
b = 0;
c = 0;
d = 0;
e = 0;
答案 0 :(得分:2)
你可以使用左手连接
以下示例说明了如何执行此操作。
reg a,b,c,d,e;
initial begin
{a,b,c,d,e} = 5'b0;
end
除非你使用数组,否则没有其他更“'condenced'的方法。
reg [4:0] var;
...
var = 5'b0;
或者对于多维解包数组,您可以使用循环
reg [1:0] var [4:0];
...
for (i = 0; i < 5; i++) var[i] = 0;
答案 1 :(得分:2)
如果所有变量具有相同的位宽,因此要分配给这些变量的值具有相同的位宽,则可以进行复制连接:
{a,b,c,d,e} = {5{value}};