我是verilog的新手。我一直在网上搜索,大多数人建议不要在verilog编码中使用for循环。那么有没有更好的替代方法来替代for循环呢?我现在面临的问题是我需要在一个 case 语句中执行 1 或 2 个 for 循环。我一直在考虑更好的替代方案,但没有想到。如果你们中的任何一个人能够阐明这一点,那就太好了。
我的代码示例:
always @(*)
case (help)
4'd1: for (i=A; i<=20;i=i+B)
begin temp[i-1]=1; end
4'd2: for (i=A; i<=20;i=i+B)
begin temp[i-1]=1; B=B+1; end
4'd3: begin
for (i=A; i<=20;i=i+B)
begin temp[i-1]=1; B=B+1; end
for (i=A; i>=1;i=i-B)
begin temp[i-1]=1; B=B+1; end
end
default: temp = 0;
Run Code Online (Sandbox Code Playgroud)