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

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

Скачать:

Verilog HDL spec, IEEE-1364-1995 ( 3012837 bytes )

Позднее появилась «расширенная» версия языка — это 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.
    , ~ ), булевые операции ( && , || , ! ), операторы редукции, условного выбора ( ? ) и сравнения.
  • Часть 4. Поведенческие блоки. Конструкции always, if-else, case-endcase, циклы for(…).
  • Часть 5. Синхронная логика и триггера в Verilog HDL. Блокирующее и не блокирующее присваивание.

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

Введение в Verilog ( 473115 bytes )

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

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

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

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

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

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

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

  • Вводные замечания
  • Основные составляющие языков VHDL и Verilog
    • Типы данных
    • Другие элементы VHDL и Verilog
  • Заключение

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

Языки 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), предназначенных для решения достаточно сложных задач обработки сигналов.


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

VHDL против Verilog и их функциональное использование

Ключевые выводы

●     Предложения Cadence для решений FPGA.

●     Узнайте о языках описания оборудования.

●     Получите более полное представление о важности HDL.

●     Узнайте больше о различных типах языков описания оборудования.

 

VHDL обеспечивает более быстрое и точное проектирование.

Язык по большинству показателей является основой любой цивилизации или общества.

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

Что такое языки описания оборудования (HDL)?

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

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

Что такое VHDL?

Язык описания оборудования для сверхвысокоскоростной интегральной схемы (VHDL) — это язык описания, используемый для описания оборудования. Он используется в автоматизации проектирования электроники для представления смешанных сигналов и цифровых систем, таких как ИС (интегральные схемы) и ПЛИС (программируемые пользователем вентильные матрицы). Мы также можем использовать VHDL как язык параллельного программирования общего назначения.

Мы используем VHDL для написания текстовых моделей, описывающих или выражающих логические схемы. Если текстовая модель является частью логического проекта, модель обрабатывается программой синтеза. Следующий шаг в этом процессе включает в себя программу моделирования для проверки логической схемы. На этом этапе мы используем имитационные модели, чтобы охарактеризовать логические схемы, которые взаимодействуют с проектом. Мы называем этот набор имитационных моделей тестовым стендом.

Как правило, симулятор VHDL — это симулятор, управляемый событиями, что означает, что мы добавляем каждую транзакцию в очередь событий на определенное запланированное время. Например, если назначение сигнала происходит после одной наносекунды, мы добавляем событие в очередь как время + 1 нс. Хотя допускается нулевая задержка, она все же должна быть запланирована, и для этих сценариев мы используем дельта-задержку.

Примечание. Дельта-задержка представляет собой бесконечно малый временной шаг.

Функциональность VHDL

Эти симуляции чередуются между двумя режимами:

  • Выполнение оператора: в этом режиме оцениваются запущенные операторы.

  • Обработка событий: в этом режиме обрабатываются события в очереди.

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

Подобно Аде, VHDL является предопределенной частью языка программирования, к тому же он не чувствителен к регистру. Однако VHDL предоставляет различные функции, недоступные в Ada, например, обширный набор логических операторов, включая nor и nand. Эти дополнительные функции позволяют VHDL точно представлять операции, которые являются обычными для аппаратного обеспечения.

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

Примечание. Ада — статически типизированный, структурированный, объектно-ориентированный и императивный язык программирования высокого уровня; это расширение, происходящее от Паскаля и других языков программирования. Его имя, Ада, относится к Аде Лавлейс (Ада Кинг; 1815–1852), графине Лавлейс, которую мы считаем первым программистом.

Преимущества VHDL

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

Использование VHDL предоставляет пользователю одновременные системные описания. VHDL — это язык потока данных, что означает, что он может одновременно рассматривать каждую инструкцию для выполнения. Это прямо противоположно языкам процедурных вычислений, таким как C, ассемблерный код и BASIC. Каждый из этих языков выполняет последовательность операторов как последовательно, так и по одной инструкции за раз.

Одним из преимуществ VHDL является то, что его проекты многоцелевые; вы создаете проект один раз, и вы можете использовать блок расчета в различных других проектах. Это означает, что у вас есть возможность вносить изменения, например, в параметры, элементную базу, объем памяти, состав блоков, структуру взаимосвязей и емкость.

Что такое Verilog?

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

Verilog также более компактен, так как этот язык больше похож на реальный язык моделирования оборудования. В результате вы обычно пишете меньше строк кода, и это вызывает сравнение с языком C. Тем не менее, Verilog лучше разбирается в аппаратном моделировании, а также в более низком уровне программных конструкций. Verilog не такой многословный, как VHDL, что объясняет его компактность. Хотя VHDL и Verilog похожи, их различия, как правило, перевешивают сходство.

Verilog HDL — это стандарт IEEE (IEEE 1364). Он получил свою первую публикацию в 1995 году с последующей редакцией в 2001 году. SystemVerilog, версия Verilog 2005 года, является последней публикацией стандарта. Мы называем стандартный документ IEEE Verilog LRM (Language Reference Manual). В настоящее время стандарт IEEE 1364 определяет PLI (интерфейс языка программирования).

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

VHDL против Verilog

ВХДЛ

Верилог

Строго типизированный

Слабо типизированный

Легче понять

Меньше кода для записи

Более натуральный в использовании

Больше языка аппаратного моделирования

Словесный

Кратко

Синтаксис, не похожий на C

Сходство с языком C

Переменные должны быть описаны типом данных

Более низкий уровень программных конструкций

Широко используется для ПЛИС и военных

Лучшее понимание аппаратного моделирования

Сложнее учиться

Легче учиться

Как и большинство решений, которые необходимо сделать в области электроники, обычно основное внимание уделяется функциональным преимуществам. В случае VHDL и Verilog разницы нет. Одним из этих операционных преимуществ VHDL по сравнению с исходным Verilog является система полного типа VHDL. Эта система дает разработчикам возможность писать гораздо более структурированный код, и это особенно полезно при объявлении типов записей. Таким образом, существуют разные мнения о том, какой язык лучше, однако на самом деле все сводится к личным предпочтениям.

Verilog обеспечивает более быстрое и точное проектирование и проверку.

К счастью, с нашей обзорной страницей проектирования и анализа печатных плат ваши проектировщики и производственные группы будут работать вместе над использованием соответствующего HDL для всех потребностей вашей компании в проектировании и производстве. Если вашей компании нужна дополнительная информация об использовании VHDL или Verilog или о том, как они могут быть полезны для проектов вашей компании, просмотрите нашу страницу «Что нового в Allegro PCB Design».

Независимо от того, используете ли вы одностороннюю плату или многослойную конструкцию, вам понадобится правильный набор программного обеспечения для разводки печатных плат и проектирования. Allegro PCB Designer и полный набор инструментов проектирования Cadence помогут вам создавать проекты на основе проверенных моделей компонентов и анализировать все аспекты их функциональности. У вас также будет доступ к набору инструментов для проектирования MCAD и подготовки к производству.

Если вы хотите узнать больше о том, какое решение может предложить Cadence, обратитесь к нам и нашей команде экспертов. Чтобы посмотреть видео по связанным темам или узнать, что нового в нашем наборе инструментов для проектирования и анализа, подпишитесь на наш канал YouTube.

 

Решения Cadence PCB — это комплексный инструмент для проектирования от начала до конца, позволяющий быстро и эффективно создавать продукты. Cadence позволяет пользователям точно сократить циклы проектирования и передать их в производство с помощью современного отраслевого стандарта IPC-2581.

Подпишитесь на LinkedIn Посетите вебсайт Больше контента от Cadence PCB Solutions

УЗНАТЬ БОЛЬШЕ

Предыстория и история Verilog HDL

Компания NI

  • Внутренние инструменты

Содержание

  • Предыстория и история Verilog HDL
    • Знакомство с языком описания оборудования
    • Verilog HDL: краткая история

Знакомство с языком описания оборудования

Язык описания оборудования (HDL) был представлен как средство предоставления подробной спецификации проекта цифровой схемы, при этом мало задумываясь о том, как схема может быть реализована на основе этой спецификации (предполагалось, что требования в исходном файле будут зафиксированы). как схема квалифицированного инженера). В то время создание спецификации проекта, хотя и требовало усилий, было почти тривиальным по сравнению с объемом работы, необходимой для преобразования спецификации в структурное описание на основе схемы, необходимое для изготовления устройства. Через несколько лет стало ясно, что можно написать компьютерную программу для автоматического преобразования поведенческой спецификации HDL в структурную схему, и начал появляться новый класс компьютерных программ, называемых синтезаторами. Синтезатор создает низкоуровневое структурное описание схемы на основе ее HDL-описания. Этот автоматический перевод определения схемы из поведенческого в структурный значительно уменьшил количество человеческих усилий, необходимых для создания схемы.

Использование HDL и синтезаторов произвело революцию в том, как работают цифровые инженеры, и важно помнить, как быстро произошли эти изменения. В 1990 году было запущено очень мало новых проектов с использованием HDL (подавляющее большинство было основано на схемах). К середине 1990-х примерно половина всех новых проектов использовала HDL, а сегодня все, кроме самых тривиальных проектов, используют HDL-методы. Такие быстрые изменения демонстрируют признание инженерами неоспоримых преимуществ использования HDL.

Но такие быстрые изменения также означают, что инструменты, методы и технологии все еще развиваются, а инструменты САПР продолжают развиваться и совершенствоваться. Инструменты САПР для цифрового дизайна можно разделить на две основные категории. «внешние» инструменты, которые позволяют захватывать и моделировать дизайн, и «внутренние» инструменты, которые синтезируют дизайн, сопоставляют его с конкретной технологией и анализируют его производительность (таким образом, внешние инструменты работают в основном с виртуальные каналы и внутренние инструменты работают в основном с физическими каналами). Несколько компаний производят инструменты САПР, причем некоторые из них сосредоточены на интерфейсных инструментах, некоторые на внутренних инструментах, а некоторые на обоих. Появились два основных HDL: один разработан частной промышленностью и для нее (называется Verilog®), а другой подпитывается правительством и определяется IEEE (VHDL). Оба похожи по внешнему виду и применению, и оба имеют свои относительные преимущества. В этом курсе мы будем использовать Verilog, потому что сегодня он чаще используется в отрасли. Следует отметить, что после изучения одного из двух языков можно быстро освоить другой.

HDL позволили инженерам-проектировщикам многократно увеличить свою производительность всего за несколько лет. Справедливо будет сказать, что хорошо оснащенный инженер сегодня так же продуктивен, как небольшая команда инженеров всего несколько лет назад. Кроме того, спецификации аппаратного обеспечения теперь доступны более широкому кругу инженеров; это уже не прерогатива лишь немногих с узкоспециализированной подготовкой и опытом. Чтобы поддерживать этот повышенный уровень производительности, инженеры должны овладеть новым набором навыков проектирования: они должны быть в состоянии создавать определения поведенческих схем, которые доказуемо соответствуют проектным требованиям; они должны понимать процессы синтеза и других инструментов САПР, чтобы результаты можно было критически изучить и интерпретировать; и они должны иметь возможность моделировать внешние интерфейсы проекта, чтобы его можно было тщательно протестировать и проверить. Дополнительная степень абстракции, которую допускает HDL, приносит много новых источников потенциальных ошибок, и разработчики должны уметь распознавать и устранять такие ошибки, когда они происходят.

Verilog HDL: краткая история

Verilog HDL был изобретен Филом Мурби и Прабху Гоэлом примерно в 1984 году. Он служил проприетарным языком моделирования аппаратных средств, принадлежащим Gateway Design Automation Inc. В то время этот язык не был стандартизирован. Он модифицировался почти во всех версиях, вышедших в период с 1984 по 1990 год.

В 1990 году компания Gateway Design Automation Inc была приобретена компанией Cadence Design System, которая в настоящее время является одним из крупнейших поставщиков технологий электронного проектирования и инженерных услуг в отрасли автоматизации электронного проектирования (EDA). Cadence признала ценность Verilog и поняла, что если Verilog останется закрытым языком, давление стандартизации в конечном итоге заставит людей перейти на VHDL. Так в 1991 Open Verilog International (OVI) (теперь известная как Accellera) была организована Candence, и документация Verilog была передана в общественное достояние под названием OVI. Позже он был представлен в IEEE и стал стандартом IEEE 1364-1995, обычно называемым Verilog-95.

В 2001 году расширения Verilog-95 были отправлены обратно в IEEE и стали стандартом IEEE 1364-2001, известным как Verilog-2001. Расширения покрывали некоторые недостатки, обнаруженные пользователями в Verilog-95. Одним из наиболее значительных обновлений стало то, что стали поддерживаться переменные со знаком (в дополнении 2.s). Verilog-2001 в настоящее время является доминирующей версией Verilog, поддерживаемой большинством инструментов проектирования.

В 2005 году был опубликован Verilog-2005 (стандарт IEEE 1364-2005) с небольшими исправлениями и изменениями. Также в 2005 году была опубликована система Verilog, расширенный набор Verilog-2005, с множеством новых функций и возможностей для проверки проектов.

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

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