Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Источник VHDL для подписанного сумматора

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

История [ править ]

В 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 Procedural Interface) (интерфейс для языков 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 1076-2008 [9] (ранее назывался 1076-200x). Основная версия выпущена 26 января 2009 г. Помимо других изменений, этот стандарт включает в себя базовое подмножество PSL, позволяет использовать универсальные шаблоны для пакетов и подпрограмм и вводит использование внешних имен .
    • МЭК 61691-1-1: 2011. [10] Принятие IEC IEEE 1076-2008.

Связанные стандарты [ править ]

  • IEEE 1076.1 VHDL, аналоговый и смешанный сигнал ( VHDL-AMS )
  • Стандартные пакеты IEEE 1076.1.1 VHDL-AMS (stdpkgs)
  • Пакет математических вычислений IEEE 1076.2 VHDL
  • Пакет синтеза VHDL IEEE 1076.3 (vhdlsynth) ( numeric_std )
  • Пакет синтеза 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 проект состоит как минимум из объекта, описывающего интерфейс, и архитектуры, содержащей фактическую реализацию. Кроме того, большинство проектов импортируют библиотечные модули. Некоторые проекты также содержат несколько архитектур и конфигураций .

Простой логический элемент И в 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 может быть написан в очень компактной форме. Однако более опытные дизайнеры обычно избегают этих компактных форм и используют более подробный стиль кодирования для удобства чтения и поддержки. Еще одним преимуществом стиля подробного кодирования является меньшее количество ресурсов, используемых при программировании для программируемого логического устройства, такого как CPLD. [16]

Синтезируемые конструкции и шаблоны VHDL [ править ]

VHDL часто используется для двух разных целей: моделирования электронных схем и синтеза таких конструкций. Синтез - это процесс, в котором VHDL компилируется и преобразуется в технологию реализации, такую ​​как FPGA или ASIC. Многие поставщики FPGA имеют бесплатные (или недорогие) инструменты для синтеза VHDL для использования со своими чипами, тогда как инструменты ASIC часто очень дороги.

Не все конструкции в VHDL подходят для синтеза. Например, большинство конструкций, которые явно имеют дело с синхронизацией, например wait for 10 ns;, не могут быть синтезированы, несмотря на то, что пригодны для моделирования. Хотя разные инструменты синтеза имеют разные возможности, существует общее синтезируемое подмножество VHDL, которое определяет, какие языковые конструкции и идиомы отображаются в общее оборудование для многих инструментов синтеза. IEEE 1076.6 определяет подмножество языка, которое считается официальным подмножеством синтеза. Обычно считается «лучшей практикой» писать очень идиоматический код для синтеза, поскольку результаты могут быть неверными или неоптимальными для нестандартных конструкций.

Шаблон MUX [ править ]

Мультиплексор , или «MUX» , как его обычно называют, является простой конструкцией , очень распространен в проектировании аппаратных средств. Пример ниже демонстрирует простой мультиплексор «два к одному» с входами Aи B, селектором Sи выходом X. Обратите внимание, что есть много других способов выразить тот же MUX в VHDL. [17]

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  :  из  std_logic_vector ( WIDTH - от 1  до  0 )); конец entity  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' ;  - подождите, пока СТАРТ не станет высоким  для  я  в  1  до  10  петель  - а затем ждать в течение нескольких периодов тактовых ...  ждать  до  rising_edge ( CLK );  конец  петли ; for  i  in  1  to  10  loop  - записывать числа от 1 до 10 в DATA, 1 каждый цикл  DATA  <=  to_unsigned ( i ,  8 );  подождать,  пока  rise_edge ( CLK );  конец  петли ; - ожидание до выхода изменяется  ожидание  на  РЕЗУЛЬТАТ ;  - теперь поднимать ACK для периода  ACK  <=  '1' ;  подождать,  пока  rise_edge ( CLK );  ACK  <=  '0' ; - и так далее ... конец  процесса ;

Симуляторы VHDL [ править ]

Коммерческий:

  • Aldec Active-HDL (только Windows 7/10)
  • Cadence Incisive (Прошлые продукты: NC-VHDL)
  • Mentor Graphics ModelSim . Урезанные версии, используемые различными поставщиками ПЛИС, например Altera, Lattice, Microsemi и др.
  • Mentor Graphics Questa Advanced Simulator . Дополнительные возможности отладки нацелены на сложные FPGA и SoC на основе Modelsim.
  • Synopsys VCS-MX [18]
  • Xilinx Vivado (он же xsim). На основе iSim из предыдущей цепочки инструментов ISE. [ требуется разъяснение ]
  • Утилиты EDA от Kanai Ghosh [19] VHDL Parser, vhdl2verilog, vhdl2ipxact и многие другие утилиты. Коммерческий; был бесплатным до 2018 года. [20]

Другой:

  • EDA Playground - бесплатная среда VHDL на основе веб-браузера ( для моделирования VHDL используются Synopsys VCS, Cadence Incisive, Aldec Riviera-PRO и GHDL)
  • GHDL - это компилятор VHDL с открытым исходным кодом [21], который может выполнять программы VHDL. GHDL на GitHub
  • boot by freerangefactory.org - это компилятор и симулятор VHDL на основе GHDL и GTKWave
  • VHDL Simili от Symphony EDA - это бесплатный коммерческий симулятор VHDL.
  • nvc от Ника Гассона - компилятор VHDL с открытым исходным кодом [22]
  • Freehdl Эдвина Нароски был симулятором VHDL с открытым исходным кодом, который был заброшен с 2001 года. [23]

См. Также [ править ]

  • numeric_std - стандартный пакет, который предоставляет арифметические функции для векторов
  • Verilog
  • SystemC
  • SystemVerilog
  • Язык описания оборудования Altera (AHDL)
  • Долото

Ссылки [ править ]

  1. Дэвид Р. Коэльо (30 июня 1989 г.). Справочник VHDL . Springer Science & Business Media. ISBN 978-0-7923-9031-2.
  2. ^ Министерство обороны (1992). Военный Стандарт, Стандарт общих требований к электронному оборудованию . Проверено 15 ноября 2017 года .
  3. ^ a b 1076-1987 - Справочное руководство по стандартному языку VHDL IEEE . 1988. DOI : 10,1109 / IEEESTD.1988.122645 . ISBN 0-7381-4324-3.
  4. ^ 1076-2008 - Справочное руководство по стандартному языку VHDL IEEE . 2009. DOI : 10,1109 / IEEESTD.2009.4772740 . ISBN 978-0-7381-6854-8.
  5. ^ 1076-1993 - Справочное руководство по стандартному языку VHDL IEEE . 1994. DOI : 10,1109 / IEEESTD.1994.121433 . ISBN 0-7381-0986-X.
  6. ^ 1076-2000 - Справочное руководство по стандартному языку VHDL IEEE . 2000. DOI : 10,1109 / IEEESTD.2000.92297 . ISBN 0-7381-1948-2.
  7. ^ 1076-2002 - Справочное руководство по стандартному языку VHDL IEEE . 2002. DOI : 10,1109 / IEEESTD.2002.93614 . ISBN 0-7381-3247-0.
  8. ^ IEC 61691-1-1 Первое издание 2004-10; IEEE 1076 - Поведенческие языки IEC / IEEE - Часть 1-1: Справочное руководство по языку VHDL (принятие стандарта IEEE Std 1076-2002) . 2004. DOI : 10,1109 / IEEESTD.2004.95752 . ISBN 2-8318-7691-5.
  9. ^ 1076c-2007 - Справочное руководство по стандартному языку VHDL IEEE, поправка 1: Интерфейс приложения на процедурном языке . 2007. DOI : 10,1109 / IEEESTD.2007.4299594 . ISBN 978-0-7381-5523-4.
  10. ^ 61691-1-1-2011 - Поведенческие языки - Часть 1-1: Справочное руководство по языку VHDL . 2011. DOI : 10,1109 / IEEESTD.2011.5967868 . ISBN 978-0-7381-6605-6.
  11. ^ https://standards.ieee.org/standard/1076_6-2004.html
  12. ^ "ELEC3017 - Моделирование" (PDF) . Саутгемптонский университет . Проверено 23 февраля 2017 года .
  13. ^ "Почему я должен заботиться о прозрачных защелках?" . Дулос . Проверено 22 декабря 2012 года .
  14. ^ «Генерация часов» . Дулос . Проверено 22 декабря 2012 года .
  15. ^ Иржи Гайслер. «Метод структурированного проектирования VHDL» (PDF) . Проверено 15 ноября 2017 года .
  16. ^ МакКоннелл, Стив (2004). Code Complete (2-е изд.). Pearson Education. С. 319–320.
  17. ^ "Логические операторы VHDL и назначения сигналов для комбинаторной логики" . Руководство по FPGA . Проверено 23 августа 2020 .
  18. ^ «VCS: самое эффективное решение для моделирования в отрасли» . synopsis.com .
  19. ^ Aycinena, Пегги (9 мая 2013). «Канаи Гош: исключительное усилие, которое меняет разговор» . EDACafe .
  20. ^ «Часто задаваемые вопросы» . edautils.com . Архивировано 14 ноября 2017 года.
  21. ^ «Авторские права | Лицензии» . Документация GHDL - документация GHDL 0.36-dev . readthedocs.io.
  22. ^ Gasson, Ник (5 ноября 2011). «Написание компилятора VHDL» .
  23. ^ "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 г.). Свободный диапазон VHDL . Простое руководство по написанию мощного кода VHDL для ваших цифровых реализаций. freerangefactory.org .
  • Йохан Сандстрем (октябрь 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. Архивировано 14 марта 2016 года из оригинального (PDF) . Цитировать журнал требует |journal=( помощь )
  • Яник Бергерон, «Написание тестовых стендов: функциональная проверка моделей HDL», 2000, ISBN 0-7923-7766-4 . (Библия HDL Testbench) 

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Группа анализа и стандартизации VHDL (VASG)