МАРСОХОД

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 51121
Триггер 20 Апрель 2011 44058
Выделение момента изменения сигналов. 20 Апрель 2011 37121
Счетчики. 26 Апрель 2011 55761
Декодер 28 Ноябрь 2011 24189
Дешифратор 01 Декабрь 2011 41572
Демультиплексор 05 Декабрь 2011 27153
Синхронизатор сигнала для CDC на Verilog 24 Февраль 2012 22668
Преобразование кода Грея в двоичное число 12 Апрель 2012 41705
Счетчик в коде Грея 12 Апрель 2012 22670
Реализация SIN и COS на Verilog 22 Май 2012 36008
Сумматор с переносом на Verilog HDL 04 Март 2013 23919
Разворот бит в шине на Verilog 23 Сентябрь 2018 5336

ВКонтакте  facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Verilog