我想在任务中使用生成语句。以下代码给出编译错误(iverilog)。
task write_mem; //for generic use with 8, 16 and 32 bit mem writes
input [WIDTH-1:0] data;
input [WIDTH-1:0] addr;
output [WIDTH-1:0] MEM;
integer i;
begin
generate
genvar j;
for(j=0; j<i;j++)
MEM[addr+(i-j-1)] = data[(j*8):((j*8) + 8)-1];
endgenerate
end
endtask // write_mem
我也尝试generate
在 line 之后放置integer i
,但仍然会产生错误。有什么想法吗?
编辑:我还尝试在上面的代码中genvar
声明begin
和声明。generate
它仍然产生编译器错误
提前致谢,
杰·奥拉宾德