提问人:Ankit Kaushik 提问时间:11/12/2023 最后编辑:toolicAnkit Kaushik 更新时间:11/13/2023 访问量:42
如何修复此foreach循环变量语法错误?
How do I fix this foreach loop variable syntax error?
问:
我正在尝试在SystemVerilog中使用。我在这里做错了什么?foreach
`define size 3:0 //variable
module tb;
reg [7:0] temp;
initial begin
temp=8'd25;
$display("%d",temp[`size]);
foreach((temp[`size])[i])
$display("%d",temp[i]);
(temp[`size])[i]=1'b0;
end
endmodule
答:
0赞
toolic
11/12/2023
#1
该语法对于 不正确。你只想使用 .foreach
[i]
`define size 3:0 //variable
module tb;
reg [7:0] temp;
initial begin
temp=8'd25;
$display("%d",temp[`size]);
foreach(temp[i])
$display("%d",temp[i]);
end
endmodule
输出:
9
0
0
0
1
1
0
0
1
评论
0赞
Ankit Kaushik
11/12/2023
我只想循环 temp['size] 而不是整个 temp 总线
2赞
dave_59
11/12/2023
#2
你希望可以在 foreach 循环中放置一个条件
foreach(temp[i])
if (i inside {[`size]})
$display("%d",temp[i]);
评论