Чтение состояния памяти
Инициализируют массив памяти значениями из файла. Файл должен быть текстовым файлом в кодировке 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