Язык описания оборудования VHSIC ( VHDL ) - это язык описания оборудования (HDL), который может моделировать поведение и структуру цифровых систем на нескольких уровнях абстракции , от уровня системы до уровня логических вентилей , для ввода проекта, документации и т. Д. и в целях проверки. С 1987 года VHDL стандартизирован Институтом инженеров по электротехнике и радиоэлектронике (IEEE) как IEEE Std 1076 ; последняя версия (по состоянию на апрель 2020 г.) - IEEE Std 1076-2019 . Для моделирования аналоговых и смешанных сигналовсистем, был разработан стандартизированный IEEE HDL на основе VHDL под названием VHDL-AMS (официально IEEE 1076.1).
Парадигма | параллельный , реактивный , поток данных |
---|---|
Впервые появился | 1980-е |
Стабильный выпуск | IEEE 1076-2019 / 23 декабря 2019 г . |
Печатная дисциплина | сильный |
Расширения имени файла | .vhd |
Веб-сайт | IEEE VASG |
Диалекты | |
VHDL-AMS | |
Под влиянием | |
Ада , [1] Паскаль | |
|
VHDL назван в честь созданной Министерством обороны США программы - Программа очень высокоскоростных интегральных схем (VHSIC). В начале 1980-х годов программа VHSIC искала новый HDL для использования в конструкции интегральных схем, которые она стремилась разработать. Результатом этих усилий стал VHDL версии 7.2, выпущенный в 1985 году. В следующем году начались попытки стандартизировать его в качестве стандарта IEEE.
История
В 1983 году VHDL был первоначально разработан по заказу Министерства обороны США для документирования поведения ASIC, которые компании-поставщики включали в оборудование. Стандарт MIL-STD-454N [2] в Требовании 64 в разделе 4.5.1 «Документация ASIC на VHDL» явно требует документации «Микроэлектронных устройств» на VHDL.
Идея возможности имитировать ASIC на основе информации в этой документации была настолько привлекательной, что были разработаны логические симуляторы, которые могли читать файлы VHDL. Следующим шагом была разработка инструментов логического синтеза , которые считывают VHDL и выводят определение физической реализации схемы.
В связи с Министерством обороны требует столько же синтаксиса , как можно основываться на Ada, для того , чтобы избежать повторного изобретая концепций , которые уже были тщательно протестированы в развитии Ada, [ править ] VHDL заимствует из Ада язык программирования как в концепции, так и в синтаксисе .
Начальная версия VHDL, предназначенная для IEEE стандарт IEEE 1076-1987, [3] включала в себя широкий спектр типов данных, в то числе числового ( целого числа и реальном ), логическое ( бит и логического ), характера и времени , а также массивы из bit
называется bit_vector
и из character
называется строкой .
Проблема не решен это издание, однако, была «многозначная логика», где сигнал в силу привода также считаются (нет, слабой или сильной) и неизвестных значений. Для этого требовался стандарт IEEE 1164 , в котором определены 9-значные логические типы: скалярная std_logic
и его векторная версия std_logic_vector
. Будучи разрешенным подтипом своего std_Ulogic
родительского типа, std_logic
сигналы -типов допускают многократное управление для моделирования шинных структур, в результате чего подключенная функция разрешения адекватно обрабатывает конфликтующие назначения.
Обновленный IEEE 1076 , выпущенный в 1993 году, сделал синтаксис более согласованным, обеспечил большую гибкость в именовании, расширил character
тип, чтобы разрешить печать символов ISO-8859-1 , добавил xnor
оператор и т. Д. [ Указать ]
Незначительные изменения в стандарте (2000 и 2002) добавили идею защищенных типов (аналогично концепции класса в C ++ ) и удалили некоторые ограничения из правил сопоставления портов.
В дополнение к стандарту IEEE 1164 было введено несколько дочерних стандартов для расширения функциональных возможностей языка. Стандарт IEEE 1076.2 добавил улучшенную обработку реальных и сложных типов данных. Стандарт IEEE 1076.3 ввел типы со знаком и без знака для облегчения арифметических операций с векторами. Стандарт IEEE 1076.1 (известный как VHDL-AMS ) предоставил расширения для проектирования аналоговых и смешанных схем.
Некоторые другие стандарты поддерживают более широкое использование VHDL, в частности VITAL (VHDL Initiative Towards ASIC Libraries) и расширения проектирования микроволновых схем.
В июне 2006 года Технический комитет VHDL компании Accellera (которому IEEE поручил работу над следующим обновлением стандарта) одобрил так называемый Draft 3.0 of VHDL-2006. Поддерживая полную совместимость со старыми версиями, этот предлагаемый стандарт предоставляет многочисленные расширения, которые упрощают написание кода VHDL и управление им. Ключевые изменения включают включение дочерних стандартов (1164, 1076.2, 1076.3) в основной стандарт 1076, расширенный набор операторов, более гибкий синтаксис оператора case и generate , включение VHPI (процедурный интерфейс VHDL) (интерфейс для языков C / C ++. ) и подмножество PSL ( язык спецификации свойств ). Эти изменения должны улучшить качество синтезируемого кода VHDL, сделать средства тестирования более гибкими и позволить более широкое использование VHDL для описаний на уровне системы.
В феврале 2008 года Accellera утвердила VHDL 4.0, также неофициально известный как VHDL 2008, который решает более 90 проблем, обнаруженных во время пробного периода для версии 3.0, и включает расширенные универсальные типы. В 2008 году Accellera выпустила VHDL 4.0 в IEEE для голосования по включению в IEEE 1076-2008. Стандарт VHDL IEEE 1076-2008 [4] был опубликован в январе 2009 года.
Стандартизация
IEEE Стандарт 1076 определяет VHSIC язык описания аппаратных средств , или VHDL. Первоначально он был разработан в соответствии с контрактом F33615-83-C-1003 ВВС США, заключенным в 1983 году с командой Intermetrics, Inc. в качестве экспертов по языкам и генерального подрядчика, Texas Instruments в качестве экспертов по проектированию микросхем и IBM в качестве разработчиков компьютерных систем. эксперты. Язык претерпел множество изменений и имеет множество связанных с ним подстандартов, которые существенно расширяют или дополняют его.
1076 был и остается вехой в разработке электронных систем. [ необходима цитата ]
Редакции
- IEEE 1076-1987 [3] Первая стандартизированная редакция версии 7.2 языка от ВВС США.
- IEEE 1076-1993 [5] (также опубликовано с ISBN 1-55937-376-8 ). Значительные улучшения, полученные после нескольких лет обратной связи. Вероятно, наиболее широко используемая версия с самой большой поддержкой инструментов поставщика.
- IEEE 1076-2000. [6] Незначительная доработка. Введение в использование защищенных типов .
- IEEE 1076-2002. [7] Незначительная редакция 1076-2000 гг. Правила относительно буферных портов смягчены.
- МЭК 61691-1-1: 2004. [8] Принятие IEC IEEE 1076-2002.
- IEEE 1076c-2007. [9] Представлен VHPI, процедурный интерфейс VHDL, который предоставляет программному обеспечению средства доступа к модели VHDL. Язык VHDL потребовал незначительных изменений, чтобы приспособить его к VHPI.
- IEEE 1076-2008 (ранее назывался 1076-200x). Основная версия выпущена 26 января 2009 г. Помимо других изменений, этот стандарт включает базовое подмножество PSL, позволяет использовать обобщения для пакетов и подпрограмм и вводит использование внешних имен .
- МЭК 61691-1-1: 2011. [10] Принятие IEC IEEE 1076-2008.
- IEEE 1076-2019. Основная доработка.
Связанные стандарты
- IEEE 1076.1 VHDL, аналоговый и смешанный сигнал ( VHDL-AMS )
- Стандартные пакеты IEEE 1076.1.1 VHDL-AMS (stdpkgs)
- Математический пакет VHDL IEEE 1076.2
- Пакет синтеза VHDL IEEE 1076.3 (vhdlsynth) ( числовой стандарт )
- Пакет синтеза VHDL IEEE 1076.3 - с плавающей запятой (fphdl)
- IEEE 1076.4 Timing (Инициатива VHDL в отношении библиотек ASIC: жизненно важна)
- IEEE 1076.6 VHDL Synthesis Interoperability (снято в 2010 году) [11]
- Пакеты многозначной логики IEEE 1164 VHDL (std_logic_1164)
Дизайн
VHDL обычно используется для написания текстовых моделей, описывающих логическую схему. Такая модель обрабатывается программой синтеза, только если она является частью логического проекта. Программа моделирования используется для тестирования логического проекта с использованием имитационных моделей для представления логических схем, которые взаимодействуют с проектом. Этот набор имитационных моделей обычно называют тестовым стендом .
Симулятор VHDL обычно представляет собой симулятор, управляемый событиями . [12] Это означает, что каждая транзакция добавляется в очередь событий на определенное запланированное время. Например, если назначение сигнала должно произойти через 1 наносекунду, событие добавляется в очередь на время + 1 нс. Нулевая задержка также разрешена, но ее все же необходимо запланировать: в этих случаях используется дельта-задержка , которая представляет собой бесконечно малый временной шаг. Моделирование переключается между двумя режимами: выполнение оператора, при котором оцениваются запущенные операторы, и обработка событий, при которой обрабатываются события в очереди.
VHDL имеет конструкции для обработки параллелизма, присущего аппаратным конструкциям, но эти конструкции ( процессы ) отличаются по синтаксису от параллельных конструкций в Ada ( задачи ). Как и Ada, VHDL строго типизирован и не чувствителен к регистру . Для прямого представления операций, которые являются общими для оборудования, существует множество функций VHDL, которых нет в Ada, например, расширенный набор логических операторов, включая nand и nor .
VHDL имеет возможности ввода и вывода файлов и может использоваться в качестве языка общего назначения для обработки текста, но файлы чаще используются средствами моделирования для тестирования стимулов или данных проверки. Есть несколько компиляторов VHDL, которые создают исполняемые двоичные файлы. В этом случае можно было бы использовать VHDL для написания тестовой среды для проверки функциональности проекта с использованием файлов на главном компьютере для определения стимулов, взаимодействия с пользователем и сравнения результатов с ожидаемыми. Однако большинство дизайнеров оставляют эту работу симулятору.
Неопытному разработчику относительно легко создать код, который успешно моделирует, но который не может быть синтезирован в реальное устройство или слишком велик для практического применения. Одна из особых ловушек - это случайное изготовление прозрачных защелок, а не шлепанцев D-типа в качестве элементов хранения. [13]
Можно спроектировать оборудование в VHDL IDE (для реализации FPGA, такой как Xilinx ISE, Altera Quartus, Synopsys Synplify или Mentor Graphics HDL Designer) для создания RTL- схемы желаемой схемы. После этого сгенерированную схему можно проверить с помощью программного обеспечения для моделирования, которое показывает формы сигналов на входах и выходах схемы после создания соответствующего испытательного стенда. Чтобы сгенерировать соответствующий тестовый стенд для конкретной схемы или кода VHDL, входные данные должны быть определены правильно. Например, для ввода часов требуется цикл или итеративный оператор. [14]
И, наконец, когда модель VHDL транслируется в «ворота и провода», которые отображаются на программируемое логическое устройство, такое как CPLD или FPGA , то выполняется настройка реального оборудования, а не кода VHDL. "как будто на какой-то микросхеме процессора.
Преимущества
Ключевым преимуществом VHDL, когда он используется для проектирования систем, является то, что он позволяет описывать (моделировать) и проверять (моделировать) поведение требуемой системы до того, как инструменты синтеза переведут проект в реальное оборудование (вентили и провода).
Еще одно преимущество заключается в том, что VHDL позволяет описывать параллельную систему . VHDL - это язык потока данных, в котором каждый оператор рассматривается для одновременного выполнения, в отличие от языков процедурных вычислений, таких как BASIC, C и ассемблерный код, где последовательность операторов выполняется последовательно по одной инструкции за раз.
Проект VHDL многоцелевой. Создаваемый один раз блок расчета можно использовать во многих других проектах. Тем не менее, многие параметры формальных и функциональных блоков могут быть настроены (параметры емкости, размер памяти, элементная база, состав блока и структура межсоединений).
Проект VHDL переносим. Созданный для одной элементной базы, проект вычислительного устройства может быть перенесен на другую элементную базу, например СБИС с различными технологиями.
Большим преимуществом VHDL по сравнению с оригинальным Verilog является то, что VHDL имеет систему полного типа . Дизайнеры могут использовать систему типов для написания гораздо более структурированного кода (особенно путем объявления типов записей ). [15]
Примеры дизайна
В VHDL проект состоит как минимум из объекта, описывающего интерфейс, и архитектуры, содержащей фактическую реализацию. Кроме того, большинство проектов импортируют библиотечные модули. Некоторые проекты также содержат несколько архитектур и конфигураций .
Простой логический элемент AND в VHDL будет выглядеть примерно так:
- (это VHDL комментарий) / * это является блок комментарий ( VHDL - 2008 ) * / - импорт std_logic из библиотеки IEEE библиотеки IEEE ; используйте IEEE.std_logic_1164. все ; - это сущность сущность ANDGATE - это порт ( I1 : в std_logic ; I2 : в std_logic ; O : вне std_logic ); конечный объект ANDGATE ;- это архитектура Архитектура РТЛ из ANDGATE это начинают O <= I1 и I2 ; конечная архитектура RTL ;
(Обратите внимание, что это RTL
означает дизайн уровня передачи регистров .) Хотя приведенный выше пример может показаться многословным новичкам в HDL, многие части являются необязательными или должны быть написаны только один раз. Обычно простые функции, подобные этой, являются частью более крупного поведенческого модуля, вместо того, чтобы иметь отдельный модуль для чего-то столь простого. Кроме того, использование таких элементов, как std_logic
тип, на первый взгляд может показаться излишним. Можно было легко использовать встроенный bit
тип и избежать импорта библиотеки вначале. Однако, используя форму многозначной логики , в частности , 9-значной логики ( U
, X
, 0
, 1
, Z
, W
, H
, L
, -
), вместо простых битов (0,1) дает очень мощный моделирования и отладки инструмент дизайнера , который в настоящее время делает не существует ни в одном другом HDL.
В следующих примерах вы увидите, что код VHDL можно записать в очень компактной форме. Однако более опытные дизайнеры обычно избегают этих компактных форм и используют более подробный стиль кодирования для удобства чтения и поддержки.
Синтезируемые конструкции и шаблоны VHDL
VHDL часто используется для двух разных целей: моделирования электронных схем и синтеза таких конструкций. Синтез - это процесс, в котором VHDL компилируется и преобразуется в технологию реализации, такую как FPGA или ASIC.
Не все конструкции в VHDL подходят для синтеза. Например, большинство конструкций, которые явно имеют дело с синхронизацией, например wait for 10 ns;
, невозможно синтезировать, несмотря на то, что они действительны для моделирования. Хотя разные инструменты синтеза имеют разные возможности, существует общее синтезируемое подмножество VHDL, которое определяет, какие языковые конструкции и идиомы отображаются в общее оборудование для многих инструментов синтеза. IEEE 1076.6 определяет подмножество языка, которое считается официальным подмножеством синтеза. Обычно считается «лучшей практикой» писать очень идиоматический код для синтеза, поскольку результаты могут быть неправильными или неоптимальными для нестандартных конструкций.
Шаблон MUX
Мультиплексор , или «MUX» , как его обычно называют, является простой конструкцией , очень распространен в проектировании аппаратных средств. Пример ниже демонстрирует простой мультиплексор «два к одному» с входами A
и B
, селектором S
и выходом X
. Обратите внимание, что есть много других способов выразить тот же MUX в VHDL. [16]
X <= A, когда S = '1' иначе B ;
Шаблон защелки
Прозрачная схема - защелка , в основном один бит памяти , который обновляется , когда разрешающий сигнал поднимаются. Опять же, есть много других способов выразить это в VHDL.
- шаблон защелки 1: Q <= D, когда Enable = '1' else Q ;- шаблон защелки 2: процесс ( все ) начало Q <= D, когда ( Включить ); конец процесса ;
Шлепанцы D-типа
D-тип флип - флоп- образцы входящего сигнал в возрастающем (или отрицательном) фронте тактового сигнала. В этом примере есть асинхронный сброс с активным высоким уровнем и выборки по фронту нарастания тактового сигнала.
ДФФ : Процесс ( все ) это начнется , если RST , то Q <= '0' ; elsif rise_edge ( CLK ), то Q <= D ; конец, если ; завершить процесс DFF ;
Другой распространенный способ записи поведения, запускаемого фронтом, в VHDL - использование атрибута сигнала «событие». Между именем сигнала и именем атрибута должен быть написан одиночный апостроф.
ДФФ : процесс ( RST , CLK ) это начнется , если RST , то Q <= '0' ; elsif CLK ' и CLK = ' 1 ', тогда Q <= D ; конец, если ; завершить процесс DFF ;
VHDL также поддается «однострочникам», таким как
DFF : Q <= '0', когда RST = '1', иначе D, когда rise_edge ( clk );
или же
ДФФ : Процесс ( все ) это начнется , если rising_edge ( CLK ) , то Q <= D ; Q2 <= Q1 ; конец, если ; если RST, то Q <= '0' ; конец, если ; завершить процесс DFF ;
Что может быть полезно, если не все сигналы (регистры), управляемые этим процессом, должны быть сброшены.
Пример: счетчик
В следующем примере показан восходящий счетчик с асинхронным сбросом, параллельной загрузкой и настраиваемой шириной. Он демонстрирует использование типа «беззнаковый», преобразования типов между «беззнаковым» и «std_logic_vector» и универсальные типы VHDL . Дженерики очень близки к аргументам или шаблонам в других традиционных языках программирования, таких как C ++.
библиотека IEEE ; используйте IEEE.std_logic_1164. все ; используйте IEEE.numeric_std. все ; - для беззнакового типасущность COUNTER является универсальной ( WIDTH : в натуральном выражении : = 32 ); порт ( RST : в std_logic ; CLK : в std_logic ; ЗАГРУЗКА : в std_logic ; ДАННЫЕ : в std_logic_vector ( WIDTH - 1 до 0 ); Q : out std_logic_vector ( WIDTH - 1 до 0 )); конечный объект COUNTER ;Архитектура RTL из COUNTER являетсяbegin process ( all ) is begin, если RST then Q <= ( others => '0' ); elsif rise_edge ( CLK ), то если ЗАГРУЗИТЬ, то Q <= DATA ; иначе Q <= std_logic_vector ( беззнаковый ( Q ) + 1 ); - Добавление без знака, конвертируется обратно в std_logic_vector end if ; конец, если ; конец процесса ;конечная архитектура RTL ;
Более сложные счетчики могут добавлять операторы if / then / else внутри rising_edge(CLK) elsif
для добавления других функций, таких как включение счетчика, остановка или переход на определенное значение счетчика, генерация выходных сигналов, таких как сигналы счетчика клемм, и т. Д. вложенность таких элементов управления, если они используются вместе, для получения желаемых приоритетов и минимизации количества необходимых логических уровней.
Конструкции только для моделирования
Большая часть VHDL не может быть переведена на аппаратное обеспечение. Это подмножество известно как несинтезируемое или предназначенное только для моделирования подмножество VHDL и может использоваться только для прототипирования, моделирования и отладки. Например, следующий код будет генерировать часы с частотой 50 МГц. Его можно, например, использовать для управления тактовым входом в проекте во время моделирования. Однако это конструкция только для моделирования и не может быть реализована аппаратно. В реальном оборудовании часы генерируются извне; его можно уменьшить внутренне с помощью логики пользователя или специального оборудования.
начало процесса CLK <= '1' ; ждать в течение 10 NS ; CLK <= '0' ; ждать в течение 10 NS ; конец процесса ;
Конструкции, предназначенные только для моделирования, можно использовать для построения сигналов сложной формы за очень короткое время. Такой сигнал можно использовать, например, в качестве тестовых векторов для сложной конструкции или в качестве прототипа некоторой логики синтезатора, которая будет реализована в будущем.
начало процесса ждать, пока START = '1' ; - подождите, пока СТАРТ будет высоким для i в цикле от 1 до 10 - затем подождите несколько периодов тактов ... подождите, пока рост_ кромки ( CLK ); конец петли ; for i в цикле от 1 до 10 - записывать числа от 1 до 10 в DATA, 1 каждый цикл DATA <= to_unsigned ( i , 8 ); подождать, пока rise_edge ( CLK ); конец петли ; - ожидание до выхода изменяется ожидание на РЕЗУЛЬТАТ ; - теперь поднимать ACK для периода ACK <= '1' ; подождать, пока rise_edge ( CLK ); ACK <= '0' ; - и так далее ... конец процесса ;
Симуляторы VHDL
Коммерческий:
- Альдек Актив-ЛПВП
- Cadence Incisive
- Mentor Graphics ModelSim
- Расширенный симулятор Mentor Graphics Questa
- Synopsys VCS-MX [17]
- Xilinx Vivado Design Suite (включает симулятор Vivado)
Другой:
- EDA Playground - бесплатная среда VHDL на основе веб-браузера ( для моделирования VHDL используются Synopsys VCS, Cadence Incisive, Aldec Riviera-PRO и GHDL)
- GHDL - это компилятор VHDL с открытым исходным кодом [18], который может выполнять программы VHDL. GHDL на GitHub
- boot by freerangefactory.org - это компилятор и симулятор VHDL на основе GHDL и GTKWave
- VHDL Simili от Symphony EDA - это бесплатный коммерческий симулятор VHDL.
- nvc от Ника Гассона - компилятор VHDL с открытым исходным кодом [19]
- freehdl от Эдвина Нароска был симулятором VHDL с открытым исходным кодом, от которого отказались с 2001 года. [20]
Смотрите также
- numeric std - стандартный пакет, который предоставляет арифметические функции для векторов
- Verilog
- SystemC
- SystemVerilog
- Язык описания оборудования Altera (AHDL)
- Долото
Рекомендации
- ^ Дэвид Р. Коэльо (30 июня 1989 г.). Справочник VHDL . Springer Science & Business Media. ISBN 978-0-7923-9031-2.
- ^ Министерство обороны (1992). Военный Стандарт, Стандарт общих требований к электронному оборудованию . Проверено 15 ноября 2017 года .
- ^ а б 1076-1987 - Справочное руководство по стандартному языку VHDL IEEE . 1988. DOI : 10,1109 / IEEESTD.1988.122645 . ISBN 0-7381-4324-3.
- ^ 1076-2008 - Справочное руководство по стандартному языку VHDL IEEE . 2009. DOI : 10,1109 / IEEESTD.2009.4772740 . ISBN 978-0-7381-6854-8.
- ^ 1076-1993 - Справочное руководство по стандартному языку VHDL IEEE . 1994. DOI : 10,1109 / IEEESTD.1994.121433 . ISBN 0-7381-0986-X.
- ^ 1076-2000 - Справочное руководство по стандартному языку VHDL IEEE . 2000. DOI : 10,1109 / IEEESTD.2000.92297 . ISBN 0-7381-1948-2.
- ^ 1076-2002 - Справочное руководство по стандартному языку VHDL IEEE . 2002. DOI : 10,1109 / IEEESTD.2002.93614 . ISBN 0-7381-3247-0.
- ^ IEC 61691-1-1 Первое издание 2004-10; IEEE 1076 - Поведенческие языки IEC / IEEE - Часть 1-1: Справочное руководство по языку VHDL (принятие стандарта IEEE 1076-2002) . 2004. DOI : 10,1109 / IEEESTD.2004.95752 . ISBN 2-8318-7691-5.
- ^ 1076c-2007 - Справочное руководство по стандартному языку VHDL IEEE, поправка 1: Интерфейс приложения процедурного языка . 2007. DOI : 10,1109 / IEEESTD.2007.4299594 . ISBN 978-0-7381-5523-4.
- ^ 61691-1-1-2011 - Поведенческие языки - Часть 1-1: Справочное руководство по языку VHDL . 2011. DOI : 10,1109 / IEEESTD.2011.5967868 . ISBN 978-0-7381-6605-6.
- ^ https://standards.ieee.org/standard/1076_6-2004.html
- ^ «ELEC3017 - Моделирование» (PDF) . Саутгемптонский университет . Проверено 23 февраля 2017 года .
- ^ «Зачем мне нужны прозрачные защелки?» . Дулос . Проверено 22 декабря 2012 года .
- ^ «Генерация часов» . Дулос . Проверено 22 декабря 2012 года .
- ^ Иржи Гайслер. «Метод структурированного проектирования VHDL» (PDF) . Проверено 15 ноября 2017 года .
- ^ «Логические операторы VHDL и назначения сигналов для комбинаторной логики» . Руководство по FPGA . Проверено 23 августа 2020 .
- ^ «VCS: самое эффективное решение для моделирования в отрасли» . synopsis.com .
- ^ «Авторские права | Лицензии» . Документация GHDL - документация GHDL 0.36-dev . readthedocs.io.
- ^ Гассон, Ник (5 ноября 2011 г.). «Написание компилятора VHDL» .
- ^ «Freehdl: По потоку» . Архивировано из оригинального 10 февраля 2002 года.
- Заметки
- 1076 / INT-1991 - Интерпретации стандартов IEEE: IEEE Std 1076-1987, Справочное руководство по стандартному языку VHDL IEEE . 1992. DOI : 10,1109 / IEEESTD.1992.101084 . ISBN 0-7381-0987-8.
дальнейшее чтение
- Питер Дж. Эшенден, "Руководство разработчика по VHDL, третье издание (системы на кремнии)", 2008 г., ISBN 0-1208-8785-1 . (Справочник по VHDL, написанный одним из ведущих разработчиков языка)
- Брайан Мили, Фабрицио Тапперо (февраль 2012 г.). [1] . Простое руководство по написанию мощного кода VHDL для ваших цифровых реализаций. Архивировано из оригинального Free Range VHDL 13 февраля 2015 года.
- Йохан Сандстрем (октябрь 1995 г.). «Синтаксическое и семантическое сравнение Verilog с VHDL» . Интегрированный системный дизайн . EE Times.- Sandstrom представляет таблицу, связывающую конструкции VHDL и конструкции Verilog .
- Qualis Design Corporation (20 июля 2000 г.). «Краткая справочная карта VHDL» (PDF) . 1.1. Qualis Design Corporation. Архивировано из оригинального (PDF) 10 декабря 2003 года. Цитировать журнал требует
|journal=
( помощь ) - Qualis Design Corporation (20 июля 2000 г.). «Краткая справочная карта по 1164 пакетам» (PDF) . 1.0. Qualis Design Corporation. Архивировано из оригинального (PDF) 14 марта 2016 года. Цитировать журнал требует
|journal=
( помощь ) - Яник Бержерон, «Написание средств тестирования: функциональная проверка моделей HDL», 2000 г., ISBN 0-7923-7766-4 . (Библия HDL Testbench)
Внешние ссылки
- Официальный веб-сайт
- Группа анализа и стандартизации VHDL (VASG)