Interested Article - Язык описания аппаратуры

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

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

Языки описания аппаратуры являются неотъемлемой частью САПР , особенно для таких сложных схем, как специализированные интегральные схемы , микропроцессоры и программируемые логические устройства .

Основные практически используемые языки описания аппаратуры — Verilog и VHDL ; также существует несколько десятков альтернативных языков.

История

Первый современный HDL — Verilog , был создан Gateway Design Automation в 1985 году для описания СБИС. В 1987 году по заказу Министерства обороны США на основе языка Ада был разработан язык VHDL ( VHSIC HDL) .

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

Введение логического синтеза схем из HDL сделало их основным языком для создания цифровых схем. САПР синтеза компилируют исходные файлы (написанные на подмножестве HDL, называемом RTL — англ. Register transfer level Уровень регистровых передач ) в описание схемы в форме списков связей ( netlist , задающих соединения вентилей и транзисторов . Написание синтезируемого RTL-кода требует практики и соблюдения ряда правил со стороны разработчика. По сравнению с традиционным проектированием схем, создание синтезируемого RTL менее трудоёмко, но зачастую приводит к несколько большим по площади и менее производительным схемам.

В течение нескольких лет VHDL и Verilog стали основными HDL-языками в микроэлектронной промышленности, а ранние языки постепенно вышли из употребления. Однако и VHDL и Verilog имеют сходные ограничения: не подходят для аналоговой или смешанной цифро-аналоговой симуляции, не имеют языковых конструкций для описания рекурсивно-генерируемых логических структур; в этой связи создаются различные специализированные HDL, нацеленные на устранения этих ограничений двух основных языков. Альтернативные языки создаются как правило на основе языков программирования общего назначения, например, на основе C++ разработан SystemC , на основе Java , а на основе Haskell разработаны языки , , , .

За десятилетия с момента создания оба основных языка были значительно модифицированы и усовершенствованы. Последняя версия языка Verilog стандартизована как IEEE 1800—2005 SystemVerilog , в ней появилось множество новых возможностей (классы, случайные величины, свойства и операторы контроля) для удовлетворения растущих потребностей по случайному тестированию , иерархическому дизайну, и повторному использованию кода. Последний стандарт на VHDL опубликован в 2002 году.

Пример

Описание аппаратуры на VHDL и Verilog может производиться на уровнях потоков данных ( dataflow ), поведения ( behavioral ), структуры ( structural ). Пример описания потоков данных на VHDL (описание сущности «not1», имеющей 1 входной порт размером 1 бит и 1 выходной порт размером 1 бит; данная сущность производит отрицание входного значения):

library iEEE;
use iEEE.STD_LOGIC_1164.ALL;
use iEEE.STD_NUMERIC_STD.ALL;

entity not1 is
  port(a:in STD_LOGIC;
       b:out STD_logic);
end not1;

architecture behavioral of not1 is
begin
  b <= not a;
end behavioral;

Примечания

  1. Barbacci, M., Grout S., Lindstrom, G., Maloney, M. P. Ada as a hardware description language: an initial report, Carnegie-Mellon Univ., Dept. of Computer Science, 1984

Ссылки

  • в каталоге ссылок Curlie (dmoz)
  • / Знакомство с SystemC
  • ГОСТ Р 50754-95
Источник —

Same as Язык описания аппаратуры