Перейти к содержанию
    

ROM memory initialization in loop

Добрый день!

Подскажите пожалуйста как можно инициализировать несколько блоков ROM памяти на Verilog'e?

 

Например

 


reg [7 : 0] MyRom [0 : N - 1]

genvar i;
generate
  for (i = 0; i < N; i = i + 1) begin
        initial $readmemh($sformat("Data_block_%0d.txt", i), MyRom, 0, 16);
  end
endgenerate

 

где Data_block_0.txt, Data_block_1.txt, ... , Data_block_N-1.txt - файлы с содержимым каждого блока ROM

 

Синтез данной конструкции проходит. При попытке запустить симуляцию появляется ошибка на sformat

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Синтез данной конструкции проходит. При попытке запустить симуляцию появляется ошибка на sformat

 

$sformat - system task из SystemVerilog'а. В обычном верилоге используется $sformatf.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

$sformat - system task из SystemVerilog'а. В обычном верилоге используется $sformatf.

 

Получается наоборот ): если использую sformatf то выдаёт ошибку: system call sformatf not allowed ... use system verilog mode

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...