Я согласен, что найти readmem / writemem не так-то просто. Вы можете найти немного здесь:
http://fullchipdesign.com/index_files/readmemh.htm
Как бы то ни было, об этих функциях говорить не так уж и много, синтаксис:
$readmem[hb]("File",ArrayName,StartAddr,EndAddr)
$writemem[hb]("File",ArrayName,StartAddr,EndAddr)
Verilog очень требователен к формату файла, количество бит в текстовом файле должно соответствовать количеству бит в массиве.
Я рекомендую немного поиграть, определив массив, заполнив его данными, запишите его с помощью writememh / writememb и распечатайте его позже.
Нечто подобное должно помочь вам начать (не испытывать!).
integer i;
reg [7:0] memory [0:15]; // 8 bit memory with 16 entries
initial begin
for (i=0; i<16; i++) begin
memory = i;
end
$writememb("memory_binary.txt", memory);
$writememh("memory_hex.txt", memory);
end
Ура!