Основы Verilog

Симулятором называется программа, которая моделирует изменение состояния физической системы со временем. Verilog – язык описания аппаратуры (HDL) и симулятор электронной цифровой аппаратуры. Он позволяет моделировать цифровую систему, например соединённые между собой логические элементы, и сообщает, как в системе распространяются значения во времени. Симулятор помогает определить, правильно ли система реализует свою функциональность и обеспечивает ли заданную производительность. Модель проектируемой системы представляется на специальном языке моделирования.

Основные аспекты Verilog, благодаря которым на нем можно описывать цифровую аппаратуру, – моделирование времени, функциональности и соединений. Соединения позволяют связывать элементы схемы проводами – когда изменяется выход одного элемента, новое значение распространяется по проводам и попадает на входы других. Так физически устроены цифровые схемы, и язык призван это отражать.

Для того, чтобы проверить функциональную корректность модели, симулятор исполняет её вместе с тестовым окружением – "программой", предназначенной для тестирования разрабатываемой системы.

В Verilog иерархия элементов моделируемой системы описывается модулем. Модуль определяет как интерфейс (входы и выходы) элементов, так и их внутреннюю структуру и поведение.

Базовые логические и электрические элементы встроены в язык Verilog с помощью примитивов. Разработчик также может определять свои собственные пользовательские примитивы.

Проектирование схемы производится созданием модулей, состоящих из примитивов и других модулей, соединённых с помощью проводов.

Поведение системы описывается с использованием поведенческих операторов, а также непрерывных назначений. Каждая операция выполняется одновременно по отношению ко всем остальным, но инструкции внутри поведенческих операторов выполняются в моменты, определяемые временными задержками.

Поведенческие операторы могут внутри себя использовать функции и задачи. Существует также ряд встроенных системных задач и функций, позволяющих получать информацию из тестовой среды, выводить текущее состояние в файл или на консоль и приостанавливать или прерывать выполнение поведенческих блоков.

Исходный код Verilog обычно пишется в одном или нескольких текстовых файлах. Затем текстовые файлы передаются компилятору Verilog, который компилирует их в запускаемый файл. Полученный файл можно запустить в режиме симуляции.

Last updated