МАРСОХОД

Open Source Hardware Project

Язык описания аппаратуры Verilog HDL

verilog hdl

Verilog HDL (Hardware Description Language) - это язык текстового описания аппаратуры. Он используется для проектирования, моделирования, верификации цифровых микросхем (смотри Википедию), плат и систем.

Язык Verilog был разработан в 1984-1985 году Филом Морби (Phil Moorby) во время его работы в компании Gateway Design Automation. Тогда же появился первый Верилог симулятор: Verilog-XL. Позже компанию Gateway купила Cadence Design Systems и в 1990-м сделала Verilog HDL публичным достоянием. В 1995-м году я зык стал стандартом IEEE-1364-1995, IEEE Standard Hardware Description Language Based on the Verilog(R) Hardware Description Language.

Скачать:

Позднее появилась "расширенная" версия языка - это SystemVerilog, разрабатываемый Accellera (www.accellera.org). В SystemVerilog упор сделан на верификацию проектов, язык содержит элементы объектно-ориентированного программирования.

Язык Verilog HDL - это не VHDL. VHDL - это совсем другой язык, хотя и служит тем же целям - описание, моделирование, синтез аппаратуры.

На нашем сайте мы уделяем довольно много внимания языку Verilog HDL - он довольно прост в освоении, позволяет довольно быстро понять основные принципы разработки цифровых микросхем.

Используйте текстовое описание аппаратуры! Не используйте графическое и схемное описание! Есть много причин, почему текстовое описание имеет преимущество. 

Чтобы Вы могли быстрее освоить язык Verilog мы подготовили несколько уроков:

  • Часть 1. Базовые типы источников сигнала в языке Verilog HDL - это wire, reg, шины. Группирование логики в модули (module / endmodule). Входные и выходные сигналы модулей (input, output, inout).
  • Часть 2. Простейшие модули AND, NAND, OR, NOR, XOR, XNOR, NOT. Установка экземпляров модулей и соединение их проводами. Иерархия модулей в языке описания аппаратуры Verilog HDL.
  • Часть 3. Арифметические и логические действия в языке Verilog. Операторы сложения и вычитания (+ , -) , логический и арифметический сдвиг ( << , >> , >>> ), битовые операции ( & , | , ^, ~ ), булевые операции ( && , || , ! ), операторы редукции, условного выбора ( ? ) и сравнения.
  • Часть 4. Поведенческие блоки. Конструкции always, if-else, case-endcase, циклы for(...).
  • Часть 5. Синхронная логика и триггера в Verilog HDL. Блокирующее и не блокирующее присваивание.

Еще, все наше краткое описание можно выкачать сразу в виде одного PDF файла:

Отдельная тема, тем не менее связанная с Verilog - это симуляция проектов. Мы рекомендуем для функциональной симуляции проектов простое и эффективное средство Icarus Verilog + GtkWave - это компилятор, симулятор и средство просмотра временных диаграмм. 

Мы рассказываем, как использовать эти инструменты.

Статья Verilog System Tasks поможет понять, как лучше использовать Verilog симулятор, как выводить отладочные диагностические сообщения и как читать и писать в файл. Интерфейс Verilog VPI позволяет связать симулятор Verilog и программы, написанные на других языках, например, C/C++.

Особенности программирования на языке Verilog и возможные типичные ошибки описаны в статье Verilog Gothcas.

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

Мы называем этот раздел сайта "Verilog в картинках":

Фильтр
Заголовок Дата создания Хиты
Мультиплексор 19 Апрель 2011 33685
Триггер 20 Апрель 2011 26844
Выделение момента изменения сигналов. 20 Апрель 2011 22931
Счетчики. 26 Апрель 2011 34270
Декодер 28 Ноябрь 2011 14498
Дешифратор 01 Декабрь 2011 27169
Демультиплексор 05 Декабрь 2011 15199
Синхронизатор сигнала для CDC на Verilog 24 Февраль 2012 13612
Преобразование кода Грея в двоичное число 12 Апрель 2012 26762
Счетчик в коде Грея 12 Апрель 2012 14132
Реализация SIN и COS на Verilog 22 Май 2012 23427
Сумматор с переносом на Verilog HDL 04 Март 2013 14334

GitHub YouTube Twitter
Вы здесь: Начало Verilog