我认为这个问题很好地概括了我想要的:将变量的值传递给 SystemVerilog 中的宏。
例如,我想要的:假设有 4 个名为 abc_X_def 的信号,我想将它们全部初始化为 0。所以,没有宏:
abc_0_def = 4'b0000;
abc_1_def = 4'b0000;
abc_2_def = 4'b0000;
abc_3_def = 4'b0000;
Run Code Online (Sandbox Code Playgroud)
现在,我编写的代码有问题:
`define set_value(bit) abc_``bit``_def = 4'b0000
for (int i = 0; i < 4; i++) begin
`set_value(i);
end
Run Code Online (Sandbox Code Playgroud)
错误在于它试图找到信号 abc_i_def ,这显然是错误的。只是想知道是否可以将变量“i”的实际值传递给宏。