Я знаю, что это старый вопрос, но недавно мне пришлось просматривать смоделированную память с помощью Icarus / GTKWave для финального проекта курса, и я хотел ответить на него всем, кто читает этот вопрос.Мне удалось найти ответ в заметках о переносимости Icarus Verilog (см. Источник).
В Icarus вам необходимо выгрузить каждое слово массива (место в памяти), которое вы хотите явно просмотреть:
module top;
reg [7:0] array [2:0];
initial begin
$dumpvars(0, array[0], array[1]);
...
end
endmodule
Вы можете автоматизировать сброс всех ячеек в массиве с помощью цикла for:
module top;
integer idx; // need integer for loop
reg [7:0] array [2:0];
initial begin
for (idx = 0; idx < 2; idx = idx + 1) $dumpvars(0, array[idx]);
...
end
endmodule
Источник: http://iverilog.wikia.com/wiki/Verilog_Portability_Notes (Сброс слов массива)