1

タスク内で 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の間に宣言を入れてみました。まだコンパイラエラーが発生していますbegingenerate

前もって感謝します、

ジェイ・オーラビンド

4

2 に答える 2