このコードの 15 行目から解析エラーが発生します。
12: module DoShellSort(
13: input [10*20-1:0] toSort,
14: output [10*20-1:0] sorted
15: reg arrBitSize
16: );
これは、input 変数と reg 変数を初期化するテスト ベンチの一部です。
module ShellSort_tb;
reg [10*19:0] toSort, arrBitSize;
wire [10*19:0] sorted;
integer i;
DoShellSort ss_tb ([10*19:0] toSort, [10*19:0] sorted, arrBitSize);
// Input values you want to sort here
// Note: Should be 20 bits in size
initial $readmemh ("memory_hex.txt", toSort);
initial begin
#1 $display("\nThis program implements SHELL SORT to arrange values.\n");
// Display initial array
#10 $display("Array to sort: ");
#10 for (i = 0; i < arrBitSize + 1; i = i + 1)
$write("%h", toSort[i]);
#10 arrBitSize = 4'd9;
// ................
endmodule
iVerilog を使用して合成しています。エラーメッセージは次のとおりです。
解析エラーが発生する理由を誰か助けてもらえますか? ありがとう!