Статьи Icarus Verilog
Icarus Verilog – это мощный инструмент для моделирования и проверки цифровых схем, написанных на языке Verilog HDL. Разработанный как легковесный, но функциональный симулятор, он поддерживает стандарты IEEE 1364 (Verilog-2001, Verilog-2005) и частично SystemVerilog, что делает его идеальным выбором для студентов, инженеров и разработчиков FPGA/ASIC.
Основные возможности Icarus Verilog:
- Бесплатный и открытый – распространяется под лицензией GNU GPL, без скрытых платежей.
- Транспиляция кода Verilog, VHDL и System Verilog
- Кросс-платформенность – работает на Windows (через MinGW/Cygwin), Linux, macOS.
- Компиляция в исполняемый код – преобразует Verilog в быстрые симуляции без зависимостей.
- Поддержка командной строки – удобен для автоматизации в CI/CD и скриптах.
- Интеграция с GTKWave – позволяет визуализировать временные диаграммы сигналов.
§14. Расширения Icarus Verilog
Узнайте о нестандартных типах данных в Icarus Verilog: logic, bool, real, их объявление, использование в портах и выражениях. Совместимость с SystemVerilog, флаги -gxtypes. Для разработчиков, работающих с симуляцией и верификацией.
§13. Использование VPI
Узнайте, как использовать PLI/VPI в Icarus Verilog для интеграции кода на C с симуляторами Verilog. Как работает VPI? Компиляция VPI-модулей. Типы возврата системных функций.
§12. Icarus Verilog с GTKWave
Взаимодействие GTKWave c Icarus Verilog. Полный вариант кода и использования команд для получения осциллограммы в разрешении FST.
§11. Флаги командной строки vhdlpp
Рассмотрение команды vhdlpp. Определение с примерами всех флагов команды vhdlpp. Примеры подключения библиотек и включенных модулей.
§9. Интерактивный режим VVP
Команда vvp имеет интерактивный режим отладки, в котором вы можете остановить симуляцию и просмотреть ее текущее состояние. Существует несколько способов войти в режим отладки, но если вы попали в интерактивный режим отладки, то все действия...
§8. Флаги командной строки VVP
Описание, синтаксис и механизм исполнения команды vvp. Подробно разобраны все флаги команды vppс примечаниями к старым версиям.
§7. IVLPP — препроцессор IVL
Рассмотрение команды препроцессора ivlpp Icarus Verilog. Определение с примерами синтаксиса всех флагов команды ivlpp.
§6. Атрибуты
Приведен список доступных атрибутов, которые можно использовать в Icarus Verilog.
§5. Формат командного файла
Описание формата командного файла с примером. Обсуждаются комментарии, Plus-args аргументы(libext, libdir, incdir, define, timescale, parameter и тд.) и глобальные переменные.
§4. Флаги командной строки iverilog
Рассмотрение команды iverilog. Определение с примерами всех флагов команды iverilog: общие, препроцессинг и элаборация.
§3. Симуляция с помощью Icarus Verilog
Процесс создания моделей, имитирующих поведение проектируемого устройства, и моделей для отработки работы устройства.
§2. Начало работы с Icarus Verilog
Базовые команды (iverilog, vvp) для компиляции и симуляции. Создание первого проекта на примере "Hello, World". Работу с многофайловыми проектами и управление иерархией модулей. Особенности синтаксиса и соглашения по именованию файлов (.v, .vl, .ver, .vlg).
§1. Руководство по установке Icarus Verilog
Руководство по установке Icarus Verilog на ОС Linux/Unix, Windows, Macintosh OS X.