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

    

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

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация