【发布时间】:2013-05-31 15:10:34
【问题描述】:
我想在任务中使用生成语句。以下代码给出编译错误(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 放在integer i 行之后,但仍然会产生错误。有什么想法吗?
编辑:我还尝试在上面的代码中将genvar 声明放在begin 和generate 语句之间。它仍然产生编译器错误
提前致谢,
杰·奥拉宾德
【问题讨论】: