DocsTech
/
ICARUS VERILOG
/

~ cd 15. особенности симулятора

Это список известных причуд, которые представляет Icarus Verilog. Идея этой главы заключается в том, чтобы указать, чем Icarus Verilog отличается от стандарта или от других реализаций. Если в этом списке что-то отсутствует, сообщите официальному распространителю.

15.1. Системные задачи — уникальные для Icarus Verilog

Это системные задачи, которые уникальны для Icarus Verilog. Не используйте ни одну из них, если хотите сохранить переносимость кода в других компиляторах Verilog.

15.2. $readmempath

Системные задачи «$readmemb» и «$readmemh» считывают текстовые файлы, содержащие значения данных для заполнения памяти. Обычно эти файлы находятся в текущем рабочем каталоге. Системная задача «$readmempath()» может быть использована для создания пути поиска этих файлов. Например:
...
Копировать
reg [7:0] mem [0:7];
initial begin
     $readmemh("datafile.txt", mem);
end
Здесь предполагается, что файл «datafile.txt» находится в текущем рабочем каталоге, в котором запущена команда vvp. Но с помощью параметра «$readmempath» можно указать путь поиска:
...
Копировать
reg [7:0] mem [0:7];
initial begin
      $readmempath(".:alternative:/global/defaults");
      $readmemh("datafile.txt", mem);
end

В этом примере «datafile.txt» ищется в каждой из директорий в приведенном выше списке (разделенных символами «:»). Используется первый найденный экземпляр. Так, например, если существует «./datafile.txt», то он будет прочитан вместо «/global/defaults/datafile.txt», даже если последний существует.

Главная
Курсы
Вебинары
1. Руководство по установке Icarus Verilog
2. Начало работы с Icarus Verilog
3. Симуляция с помощью Icarus Verilog
4. Флаги командной строки iverilog
5. Формат командного файла
6. Атрибуты
7. IVLPP — препроцессор IVL
8. Флаги командной строки VVP
9. Интерактивный режим VVP
10. VVP как библиотека
11. Флаги командной строки vhdlpp
12. Icarus Verilog с GTKWave
13. Использование VPI
14. Расширения Icarus Verilog
15. Особенности симулятора
16. Движки
Закрыть