8-900-374-94-44
[email protected]
Slide Image
Меню

Язык verilog – Введение в язык Verilog. — Визуальная электроника

Язык описания аппаратуры 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 в картинках»:

marsohod.org

Язык описания аппаратуры 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 в картинках»:

marsohod.org

Язык Verilog

Глава 1. Предварительное знакомство с языком Verilog
1.1. История языка Verilog
1.2. Первый проект на языке Verilog
1.2.1. Описание проекта
1.2.2. Моделирование проекта
1.3. Базовые элементы языка Verilog
1.3.1. Ключевые слова
1.3.2. Идентификаторы
1.3.3. Белые знаки
1.3.4. Комментарии
1.4. Сигналы, сети, драйверы
1.4.1. Логические значения
1.4.2. Логическая мощность (сила) сигналов
1.5. Числа
1.5.1. Представление целых чисел
1.5.2. Представление действительных чисел
1.6. Параллелизм языка Verilog

Глава 2. Модули
2.1. Определение модулей
2.2. Элементы модулей
2.3. Объявления портов
2.4. Экземпляры модулей
2.5. Параметры
2.6. Неявная передача значений параметров
2.7. Массивы экземпляров модулей
2.8. Иерархия модулей и иерархия имен
2.9. Области иерархии и области действия имен

Глава 3. Примитивы и библиотечные модули
3.1. Где можно найти готовое решение
3.2. Примитивы языка Verilog
3.3. Примитивы, определяемые пользователем.

Глава 4. Типы данных
4.1. Два класса типов данных
4.2. Сетевые типы данных
4.3. Значение сигнала сети
4.4. Типы данных переменные
4.5. Другие типы данных
4.5.1. Параметры
4.5.2. Локальные параметры
4.5.3. Параметры блока спецификации
4.5.4. Переменные генерации
4.5.5. Тип данных событие
4.5.6. Строки
4.6. Выбор битов и битовых полей
4.7. Выбор элементов массива и битовых полей элементов массива
4.8. Объявление памяти

Глава 5. Операции
5.1. Операции языка Verilog
5.2. Побитовые операции
5.3. Операции редукции
5.4. Логические операции
5.5. Операции отношения
5.6. Операции идентичности
5.7. Арифметические операции
5.8. Разносторонние операции
5.9. Выполнение операций
5.10. Приоритет операций
5.11. Размеры битовых выражений

Глава 6. Оператор непрерывного назначения assign
6.1. Присваивание значений в языке Verilog
6.2. Форматы оператора непрерывного назначения
6.3. Использование оператора непрерывного назначения

Глава 7. Процедурные операторы и блоки
7.1. Процедурные операторы initial и always, процедурные блок
7.2. Операторные скобки begin-and и fork-join
7.3. Именованные процедурные блоки

7.4. Формат процедурных блоков

Глава 8. Управление процедурным временем
8.1. Оператор задержки #
8.2. Оператор чувствительности @
8.3. Оператор ожидания wait
8.4. Список чувствительности
8.5. Список чувствительности в комбинационных схемах
8.6. Список чувствительности в последовательностных схемах

Глава 9. Операторы процедурного назначения
9.1. Общие положения
9.2. Оператор блокирующего назначения «=»
9.2.1. Формат
9.2.2. Управление временем
9.2.3. Внутренние задержки
9.2.4. Особенности синтеза
9.3. Оператор неблокирующего назначения
9.3.1. Формат
9.3.2. Управление временем
9.3.3. Внутренние задержки
9.3.4. Особенности синтеза
9.4. Управление временем в процедурных операторах назначения во время моделирования
9.5. Процедурные операторы assign и deassign
9.6. Процедурные операторы force и release

Глава 10. Операторы процедурного программирования


10.1. Общие положения
10.2. Оператор if-else
10.3. Оператор case
10.4. Операторы casez и casex
10.5. Оператор for
10.6. Оператор while
10.7. Оператор repeat
10.8. Оператор forever
10.9. Оператор disable
10.10. Пример использования операторов процедурного программирования
10.11. Различие между операторами wait и while

Глава 11. Атрибуты
11.1. Атрибуты языка Verilog
11.2. Атрибут fulLcase
11.3. Атрибут paralleLcase

Глава 12. Блок генерации
12.1. Блоки генерации языка Verilog
12.2. Формат блока генерации
12.3. Операторы генерации
12.3.1. Группа элементов генерации
12.3.2. Оператор if-else
12.3.3. Оператор case
12.3.4. Оператор fог

Глава 13. Задачи и функции
13.1. Задачи и функции языка Verilog
13.2. Автоматические и статические задачи и функции
13.3. Задачи
13.4. Функции
13.5. Константные функции

13.6. Сравнение функций и задач

Глава 14. Системные задачи и функции
14.1. Системные задачи и функции языка Verilog
14.2. Системные задачи для отображения текста
14.3. Системные задачи и функции для работы с файлами
14.3.1. Открытие и закрытие файлов
14.3.2. Вывод информации в файл
14.3.3. Другие функции работы с файлами
14.4. Другие системные задачи и функции
14.4.1. Управление процессом симуляции
14.4.2. Управление временем симуляции
14.4.3. Преобразование знаковых и беззнаковых величин
14.4.4. Запись и чтение в переменные и из строки символов
14.4.5. Загрузка содержимого памяти
14.4.6. Преобразование переменных типа геа1 в 64-битовый вектор
14.4.7. Функции для работы с командной строкой

Глава 15. Директивы компилятора
15.1. Директивы компилятора языка Verilog
15.2. Возврат к умалчиваемым значениям директив компилятора
15.3. Определение значения единицы времени

15.4. Макроопределения
15.5. Директивы условной компиляции
15.6. Включение файлов
15.7. Определение умалчиваемого типа цепей
15.8. Определение логических значений для неподсоединенных входов
15.9. Определение пользовательских библиотек

Глава 16. Блоки спецификаций
16.1. Блоки спецификаций языка Verilog
16.2. Формат блоков спецификаций
16.3. Обнаружение путей импульсов (сбоев)
16.4. Проверки временных ограничений

Глава 17. Конфигурация проекта
17.1. Конфигурации
17.2. Конфигурационные блоки
17.3. Файлы карты библиотеки
17.4. Примеры конфигурации проекта
17.4.1. Исходное описание проекта
17.4.2. Использование конфигурации, заданной в файле карты библиотек
17.4.3. Использование оператора default
17.4.4. Использование оператора cell
17.4.5. Использование оператора instance
17.4.6. Использование иерархической конфигурации

Глава 18. Синтезируемые конструкции языка Verilog


18.1. Общие положения
18.2. Конструкции языка Verilog, поддерживаемые пакетом
Quartus II фирмы Altera
Список технической литературы
Список сокращений
Предметный указатель

www.htbook.ru

Verilog — это… Что такое Verilog?

Verilog, Verilog HDL (англ. Verilog Hardware Description Language) — это язык описания аппаратуры, используемый для описания и моделирования электронных систем. Verilog HDL, не следует путать с VHDL (конкурирующий язык), наиболее часто используется в проектировании, верификации и реализации (например, в виде СБИС) аналоговых, цифровых и смешанных электронных систем на различных уровнях абстракции.

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

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

Обзор

Существует подмножество инструкций языка Verilog, называемое синтезируемым. Модули, которые написаны на этом подмножестве, называют RTL (англ. register transfer level — Уровень регистровых передач). Они могут быть физически реализованы с использованием САПР синтеза. Данные САПР по определенным алгоритмам преобразуют абстрактный исходный код на Verilog в netlist — логически эквивалентное описание, состоящее из элементарных логических примитивов (например, AND, OR, NOT, триггеры), которые доступны в выбранной технологии производства СБИС или программирования БМК и ПЛИС. Дальнейшая обработка netlist в конечном итоге порождает фотошаблоны для литографии или прошивку для FPGA.

История

Создание

Verilog был создан Phil Moorby и Prabhu Goel зимой 1983—1984 годов в фирме Automated Integrated Design Systems (с 1985 года Gateway Design Automation) как язык моделирования аппаратуры. В 1990 году Gateway Design Automation была куплена Cadence Design Systems. Компания Cadence имеет права на логические симуляторы Gateway’s Verilog и Verilog-XL simulator.

Verilog-95

Во время увеличивающейся популярности языка VHDL, Cadence приняла решение добиться стандартизации языка. Cadence передала Verilog в общественное достояние. Verilog был послан в IEEE и принят как стандарт IEEE 1364—1995 (часто называемый Verilog-95).

Verilog 2001

Дополнения к языку Verilog-95 были приняты как IEEE 1364—2001 (или Verilog-2001).

Verilog-2001 является значительно обновленным по сравнению с Verilog-95. Во-первых, он добавил поддержку знаковых переменных (в формате дополнительного кода). Прежде авторам кода приходилось реализовывать знаковые операции с использованием большого количества битовых логических операций. Та же функциональность на Verilog-2001 описывается встроенными операторами языка:

+, , /, *, >>> Был улучшен файловый ввод-вывод. Для улучшения читаемости кодов был немного изменен синтаксис, например always @*, переопределение именованных параметров, объявление заголовков функций, задач и модулей в стиле Си.

Verilog-2001 является самым часто используемым диалектом языка и поддерживается в большинстве коммерческих САПР для электроники (см. EDA).

Verilog 2005

Verilog 2005 (стандарт IEEE 1364—2005) добавил небольшие исправления, уточнения спецификаций и несколько новых синтаксических конструкций, например, ключевое слово uwire.

Отдельная от стандарта часть, Verilog-AMS, позволяет моделировать аналоговые и аналого-цифровые устройства.

SystemVerilog

Основная статья: SystemVerilog

SystemVerilog является надмножеством Verilog-2005, с многими новыми возможностями для верификации и моделирования разработок.

Пример

Программа Hello, world! (не является синтезируемой)

module main;
  initial 
    begin
      $display("Hello world!");
      $finish;
    end
endmodule

Два простых последовательно соединённых триггера:

module toplevel(clock,reset);
 input clock;
 input reset;
 
 reg flop1;
 reg flop2;
 
 always @ (posedge reset or posedge clock)
 if (reset)
   begin
     flop1 <= 0;
     flop2 <= 1;
   end
 else
   begin
     flop1 <= flop2;
     flop2 <= flop1;
   end
endmodule

Стандарт

IEEE Std 1364—2001 — стандарт на Verilog 2001

  • IEEE P1364 — рабочая группа 1364 — бывший разработчик Verilog.
  • IEEE P1800 — рабочая группа 1800 — разработчик SystemVerilog и преемник рабочей группы 1364.

Синтезируемые конструкции

Initial и Always

Операторы

ТипСимволаВыполняемая операция
Побитовые~Инверсия
&Побитовое AND
|Побитовое OR
^Побитовое XOR
~^ или ^~Побитовое XNOR
Логические !NOT
&&AND
||OR
Редукция&Редуцированное AND
~&Редуцированное NAND
|Редуцированное OR
~|Редуцированное NOR
^Редуцированное XOR
~^ или ^~Редуцированное XNOR
Арифметические+Сложение
Вычитание
2’s complement
*Умножение
/Деление
**Экспонента (*Verilog-2001)
Отношение>Больше
<Меньше
>=Больше либо равно
<=Меньше либо равно
==Логическое равенство
 !=Логическое неравно
===4-state логическое равенство
 !==4-state логическое неравно
Сдвиг>>Логический сдвиг вправо
<<Логический сдвиг влево
>>>Арифметический сдвиг вправо (*Verilog-2001)
<<<Арифметический сдвиг влево (*Verilog-2001)
Сцепление{ , }Сцепление
Копирование{n{m}}Копирует m значение n раз
Условие ? :Условие

Открытое аппаратное обеспечение, использующее Verilog

На языке Verilog созданы описания открытых микропроцессоров OpenSPARC T1, T2, S1 Core и OpenRISC. Их исходный код доступен под лицензиями LGPL и GPL.

Список приложений, поддерживающих Verilog

  • Icarus Verilog — open source приложения для моделирования и синтеза. Работает под Linux, Windows, Mac OS X, FreeBSD и др. страница проекта
  • VCS среда моделирования и отладки; работает как под Unix, так и под Windows.
  • LogicSim среда моделирования и отладки, работает под Windows.
  • Incisive HDL среда моделирования и отладки; работает как под Unix, так и под Windows.
  • ModelSim среда моделирования и отладки; работает как под Unix, так и под Windows.
  • Veritak редактор, интегрированный компилятор/симулятор, транслятор с VHDL в Verilog, работает под управлением Windows.
  • Verilator open-source высокопроизводительный компилятор Verilog.
  • Verilog-Perl набор Perl-модулей для предобработки и построения других инструментов.
  • vmodel open-source средство для моделирования Verilog в MATLAB, основанное на Verilator.
  • Verilog for DMS is a general toolset for implementing arbitrary analyses and transformations on Verilog.
  • VSPCompiler инструмент для компилирования синтезируемого RTL-описания в C/C++/SystemC библиотеку.
  • VTOC инструмент для компилирования синтезируемого RTL-описания в C++/SystemC библиотеку.
  • Wave VCD Viewer программа для просмотра VCD-файлов. Verilog-симулятор может порождать VCD-файл, содержащий результаты моделирования. Wave VCD Viewer позволяет разработчику видеть результаты моделирования в виде временных диаграмм. Программа работает под управлением Windows.
  • GTKWave open-source программа для просмотра временных диаграмм, которая среди прочего позволяет просматривать VCD-файлы.

См. также

Схожие языки

Ссылки

biograf.academic.ru

Особенности языков описания архитектуры Verilog и VHDL | PARALLEL.RU

Вводные замечания

Языки VHDL и Verilog (Verilog HDL) относятся, в отличие от языка Argus, к языкам описания аппаратуры. Поэтому их нельзя напрямую сравнивать с Argus — они предназначены не для написания программ для FPGA и др. СБИС, а для проектирования логики самих этих устройств. Эти языки предназначены для моделирования электронных схем на уровнях вентильном, регистровых передач, корпусов микросхем. Поэтому эти языки можно назвать языками сквозного функционально-логического проектирования.

VHDL (Very high speed integrated circuits Hardware Description Language) был разработан в 1983 г. по заказу Пентагона с целью формального описания логических схем для всех этапов разработки электронных систем. Первый стандарт был утверждён в 1987 г., последний из известных — в 2002 г.

Verilog HDL был разработан фирмой Gateway Design Automaton как внутренний язык симуляции. Cadence приобрела Gateway в 1989 г. и открыла Verilog для общественного использования. В 1995 г. был определен стандарт языка — Verilog LRM (Language Reference Manual), IEEE1364-1995, а последний из известных — в 2001 г.

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

Основные составляющие языков VHDL и Verilog

Типы данных

В более простом языке Verilog поддерживаются только самые простые типы данных — целые (32-бит со знаком), действительные (с плавающей запятой), а также специфические типы «время» и «событие». В VHDL шире набор базовых типов, и, кроме этого, проектировщик может создавать свои типы данных, а в Verilog этого делать нельзя. Надо отметить, что программируются-то в этих языках как данные не элементы памяти, а сигналы. В Verilog, например, они бывают только цепными и регистровыми (последние могут запоминаться где-то).

Другие элементы VHDL и Verilog

В VHDL синтаксис позволяет описывать модель в разных стилях (структурное, потоковое, поведенческое описания), а также встраивать в описание фрагменты языков программирования высокого уровня (Си, Паскаль). Этим и достигается его большая универсальность и применяемость не только для описания архитектур вычислительных систем. Например, моделирование разных физических систем у него имеет поддержку в виде типов с физическими размерностями.

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

Заключение

Несмотря на похожие названия, Verilog HDL и VHDL — различные языки. Verilog — достаточно простой язык, сходный с языком программирования Си — как по синтаксису, так и по «идеологии». Малое количество служебных слов и простота основных конструкций упрощают изучение и позволяют использовать Verilog в целях обучения. Но в то же время это эффективный и специализированный язык. VHDL обладает большей универсальностью и может быть использован не только для описания моделей цифровых электронных схем, но и для других моделей. Однако из-за своих расширенных возможностей VHDL проигрывает в эффективности и простоте, то есть на описание одной и той же конструкции в Verilog потребуется в 3√4 раза меньше символов (ASCII), чем в VHDL.

Оба языка поддерживаются в качестве стандартов большим количеством программных продуктов, в том числе и open source, в области САПР. Имеются и компиляторы, и симуляторы для обоих языков, в том числе, например, и с первого языка на второй. Именно эти языки используются при проектировании (с помощью современных средств САПР ведущими производителями FPGA) не только самих СБИС, но и готовых модулей (ядер), мегафункций (megafunctions), предназначенных для решения достаточно сложных задач обработки сигналов.


© Лаборатория Параллельных информационных технологий НИВЦ МГУ

parallel.ru

verilog — Википедия

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 19 августа 2015; проверки требуют 17 правок. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 19 августа 2015; проверки требуют 17 правок.

Verilog, Verilog HDL (англ. Verilog Hardware Description Language) — это язык описания аппаратуры, используемый для описания и моделирования электронных систем. Verilog HDL, не следует путать с VHDL (конкурирующий язык), наиболее часто используется в проектировании, верификации и реализации (например, в виде СБИС) аналоговых, цифровых и смешанных электронных систем на различных уровнях абстракции.

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

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

Обзор[ | ]

Существует подмножество инструкций языка Verilog, называемое синтезируемым. Модули, которые написаны на этом подмножестве, называют RTL (англ. register transfer level — Уровень регистровых передач). Они могут быть физически реализованы с использованием САПР синтеза. Данные САПР по определенным алгоритмам преобразуют абстрактный исходный код на Verilog в netlist — логически эквивалентное описание, состоящее из элементарных логических примитивов (например, AND, OR, NOT, триггеры), которые доступны в выбранной технологии производства СБИС или программирования БМК и ПЛИС. Дальнейшая обработка netlist в конечном итоге порождает фотошаблоны для литографии или прошивку для FPGA.

История[ | ]

Создание[ | ]

Verilog был создан Phil Moorby и Prabhu Goel зимой 1983—1984 годов в фирме Automated Integrated Design Systems (с 1985 года Gateway Design Automation) как язык моделирования аппаратуры. В 1990 году Gateway Design Automation была куплена Cadence Design Systems. Компания Cadence имеет права на логические симуляторы Gateway’s Verilog и Verilog-XL simulator.

Verilog-95[ | ]

Во время увел

encyclopaedia.bid

язык verilog — с русского на все языки

  • язык Verilog — Язык описания аппаратуры, разработанный Филом Морби (Phil Morby) в конце 1980 х годов. Позволяет описывать электронное устройство как на уровне компонент, плат, так и на уровне системы. После того, как компания Cadence сделала его общедоступным,… …   Справочник технического переводчика

  • Verilog — Класс языка: Язык описания аппаратуры Появился в: 1983 1984 Автор(ы): Phil Moorby, Prabhu Goel Расширение файлов: .v Verilog, Verilog HDL (англ. Verilog Hardwar …   Википедия

  • Язык описания аппаратуры — (англ. hardware description language) тип компьютерных языков для формального описания электрических цепей, особенно цифровой логики. Он описывает структуру и функционирование цепи. Основные представители Наиболее часто используются языки… …   Википедия

  • Язык проектирования — Язык проектирования  это средство автоматизации проектирования систем. Нередко для упрощения понимания предметной области языки проектирования называют языками программирования, но это всего лишь упрощение связанное со способом написания… …   Википедия

  • Verilog-AMS — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. Verilog AMS или Verilog Analog Mixed Signal Simulation (Verilog Аналогово Смешанное Моделирование… …   Википедия

  • Компьютерный язык — Понятие компьютерный язык (калька с англ. computer language), как правило, относится к языкам, ассоциируемым с компьютерной техникой. Чаще всего, этот термин соответствует понятию языка программирования, однако это соответствие не является… …   Википедия

  • Minimig — 120×120 мм (форм фактор Nano ITX)[1] Minimig (сокращение от Mini Amiga)  открытое аппаратное обе …   Википедия

  • Преобразование Шиндлера — Преобразование Шиндлера(Schindler Transformation) эффективный алгоритм упорядочивания элементов с большой длиной ключа, использованием обычной поразрядной сортировки. Спустя год после опубликования алгоритма BWT, Михаэлем Шиндлером было… …   Википедия

  • SystemC — Тип библиотека (программирование) Разработчик Open SystemC Initiative Написана на С++ Операционная система Кроссплатформенный Последняя версия 2.3 Сайт …   Википедия

  • AHDL — AHDL  проприетарный язык описания аппаратуры от Altera Corporation предназначенный для программированя выпускаемых ей ПЛИС. Язык имеет Ада подобный синтаксис и схож с VHDL или Verilog. Он поддерживается компиляторами Quartus и Max+ от Altera …   Википедия

  • SPARC — Микропроцессор UltraSPARC II компании Sun Microsystems SPARC (Scalable Processor ARChitecture  масштабируемая архитектура процессора)  архитектура RISC ми …   Википедия

  • translate.academic.ru

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *