タスク内で generate ステートメントを使用したいと考えています。次のコードは、コンパイル エラー (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
前もって感謝します、
ジェイ・オーラビンド