Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Программирование на языке Verilog

Определение 1

Verilog — это язык, который используется для описания и моделирование электронных систем.

Общие сведения о языке Verilog

Verilog HDL считается модульным языком высокого уровня, полностью интегрированным в среду разработки Quartus II. Файлы проекта Verilog (с расширением *.v)

могут быть созданы при помощи текстового редактора Quartus II. А затем их можно откомпилировать и промоделировать перед занесением в ПЛИС (программируемая логическая интегральная схема) Altera. Файлы с проектом Verilog могут иметь в своем составе любые комбинации конструкций, которые поддерживаются САПР (системой автоматизированного проектирования) Quartus II.

В них могут также включаться поддерживаемые Altera логические функции, такие как:

  • логические примитивы,
  • логические мега функции,
  • логические макрофункции,
  • заданные пользователями логические функции.

Конструкции Verilog HDL предоставляют возможность создания иерархических проектов как из модулей, которые написаны только на кодах Verilog, так и из проектных файлов Verilog, объединенных в иерархическом проекте с иными типами файлов. Проекты Verilog HDL также могут быть легко включены в иные иерархические (не Verilog) проекты.

В текстовом редакторе пользователь может в автоматическом режиме формировать символьное отображение схемы, которая описана в файле на языке Verilog (Verilog Design File). Его можно вставлять в схему, представленную графически в GDF-файле(ах) (Graphic Design Files). Кроме того, в любые файлы проекта Verilog пользователи могут включать как определяемые ими функции, так и предоставляемые компанией Altera логические функции.

Компилятор Quartus II предоставляет возможность быстрой проверки синтаксиса кода Verilog или выполнения полной компиляции для отладки и обработки проекта. Процессор сообщений Quartus II может быть использован для автоматического определения местоположения ошибок с их подсвечиванием в окне редактора текста.

«Программирование на языке Verilog» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

После успешной компиляции проекта, можно осуществить дополнительное моделирование и временной анализ. Однако с возрастанием плотности ПЛИС фирма Altera оказалась не в состоянии поддержать процесс моделирования внутри САПР Quartus II (начиная с десятой версии) и предложила пользователям воспользоваться услугами сторонних производителей. Для этого компилятор способен создавать выходные файлы Verilog и файлы в формате Standard Delay Format (SDF), то есть в формате стандартной задержки.

Программирование на языке Verilog

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

Программное обеспечение Quartus II способно поддерживать подмножество конструкций, которые определены стандартом IEEE 1364-2001, то есть оно способно поддерживать лишь конструкции, относящиеся к логическому синтезу. Перечень поддерживаемых конструкций приведен в документации Altera на Quartus II.

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

  1. Процесс теста на базе симуляции.
  2. Процесс реализации рабочего кода.

На рисунке ниже изображены данные процессы.

Проектирование цифровой схемы на Verilog. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Проектирование цифровой схемы на Verilog. Автор24 — интернет-биржа студенческих работ

Вначале необходимо осуществить передачу исходных файлов Verilog в инструментальный набор симуляции, что изображено на рисунке слева. Инструментальный набор симуляции должен программными средствами эмулировать реальное поведение аппаратуры схемы для определенной совокупности входных воздействий, что должно быть описано в специально созданном тесте (testbench). Так как процесс компиляции программного кода Verilog для инструмента симуляции реализуется сравнительно быстро, то этот этап применяется в основном для оценки общей работоспособности дизайна.

Необходимо также отметить, что на рисунке слева отображена симуляция при помощи платного пакета ModelSim, но симуляция может быть реализована и при помощи бесплатного симулятора iSIM, который входит в пакет разработки Xilinx ISE Webpack.

На рисунке выше справа в упрощенном виде изображен процесс реализации проекта после успешного прохождения теста в симуляторе. После того как пользователь удостоверился в безошибочности высокоуровневого исходного кода Verilog, он может использовать инструментальный набор синтеза, предназначенный для преобразования этого кода в низкоуровневый перечень логических вентилей (gate netlist).

Далее утилита отображения (mapping tool) должна привязать netlist к требуемым ресурсам применяемого кристалла логики (микросхема CPLD или FPGA). На завершающем этапе выполняется загрузка конфигурационного лотка данных (bitstream) в выбранную микросхему логики (это реализуется при помощи кабеля JTAG). В итоге пользователь получает готовую схему, которая может выполнять требуемые логические функции.

Синтаксис Verilog имеет определенную схожесть с синтаксисом языка программирования Cи. Тем не менее концептуально Verilog не похож на большинство языков программирования, так как Verilog предназначен для описания аппаратуры, а не программы. Следует подчеркнуть следующие моменты:

  1. Операторы Verilog по своей природе изначально являются конкурентными, то есть, они исполняются в реальном времени в параллельном режиме.
  2. Формируемый код Verilog в конечном итоге отображается (map) на реальные аппаратные вентили логики. С другой стороны, компилируемый код Cи отображается на некие биты в памяти, которые процессор будет или не будет интерпретировать как команды и (или) данные при выполнении программы.
Дата написания статьи: 13.04.2022
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot