чтение двоичных значений, хранящихся в тексте, с помощью verilog - PullRequest
0 голосов
/ 01 декабря 2018

Я работаю над проектом, в котором мне нужно прочитать 5-битные двоичные значения из текстового файла.Я должен прочитать каждое 5-битное двоичное число и затем назначить их 5 различным 1-битным регистрам один за другим.Более того, я не могу использовать «memreadb», потому что мой текстовый файл очень большой, почти 2 МБ, и я думаю, что «Memreadb» не может справиться с таким огромным файлом, потому что он не работает в моем случае.так что кто-нибудь может сказать мне, как использовать функции 'fopen' и 'fread' для решения моей проблемы, потому что я до сих пор не работал над обработкой файлов в Verilog.И кто-нибудь может дать мне пример, похожий на мою проблему?

Спасибо,

Сами

1 Ответ

0 голосов
/ 01 декабря 2018

Вы можете использовать $fscanf для чтения файла по одной строке за раз.

integer status, fd;
reg [4:0] value;

initial begin
   fd = $fopen("data_file.dat", "r");
   if (!fd) $error("could not read file");
   while (!$feof(fd)) begin
         status = $fscanf(fd,"%b",value);
         // check status, then do what you need to do with value
   end
end
...