Чтение состояния памяти

Инициализируют массив памяти значениями из файла. Файл должен быть текстовым файлом в кодировке ASCII со значениями, представленными в двоичной ($readmemb) или шестнадцатеричной системе счисления ($readmemh). Значения данных должны быть той же ширины, что и массив памяти, и разделяться пробелами.

Пример

module readmem_tb();
  reg [7:0] hex_memory[0:15];
  initial begin
    $readmemh("hex.mem", hex_memory);
    $display("%h", hex_memory[0]);
  end
  reg [2:0] bin_memory[0:5];
  initial begin
    $readmemb("bin.mem", bin_memory);
    $display("%b", bin_memory[0]);
  end
endmodule

Результат исполнения

// если файлы открылись
ab
001

// если файлы не доступны на чтение
ERROR: test.v:4: $readmemh: Unable to open hex.mem for reading.
xx
ERROR: test.v:9: $readmemb: Unable to open bin.mem for reading.
xxx

[bin.mem]

001 101 111 111 101 001

[hex.mem]

ab cd ef 01  // this is a comment
ef 22 1e 00
9f ff 13 e6
ce b7 28 8f

Last updated