Язык описания аппаратуры VHDL Введение Язык VHDL предназначен для описания проектов различной степени сложности - от простейшего вентиля до целой системы, состоящей из аппаратных и программных частей. Он позволяет строить модели на различных уровнях абстракции, выполнять имитационное моделирование и генерировать временные диаграммы, вести строгое документирование проекта, осуществлять синтез структуры по поведенческому описанию, верифицировать проект формальными методами, автоматически генерировать тесты. VHDL создан на базе языка программирования ADA и наследует многие его свойства. Дополнительно в язык введены понятия модельного времени, сигнала, события, компонента и другие. Использование VHDL позволяет не привязывать проект заранее к конкретному физическому способу реализации, одна и та же логическая VHDL-реализация является источником генерации различных физических. В основе языка лежат следующие принципы построения: В соответствии с уровнями абстракции, язык допускает построение моделей трех типов: Основные средства языка VHDL включают: В качестве примера приведем структурную VHDL-модель простого проекта, выполняющего подсчет числа единиц во входном бит-векторе. Интерфейс объекта проекта (entity), именуемый Number_1, имеет вид Он включает объявление двух параметров настройки (generic) N и M типа натуральный (Natural), имеющих значения по умолчанию 7 и 3, и объявление двух портов (port) X и Y типа массив бит (Bit_Vector), представляющих входной и выходной бит-векторы соответственно. Длина бит-векторов определена параметрически нисходящими диапазонами значений индексов N downto 1 для X и M downto 1 для Y. Объявление интерфейса объекта проекта завершается указанием его первоначального имени. Структурная модель проекта с семибитовым входным и трехбитовым выходным векторами описывается VHDL-модулем "Архитектурное тело" architecture Structure of Number_1 is Этот модуль architecture, именуемый Structure, содержит ссылку Number_1 на связанный с ним модуль entity. Модуль включает объявление (component) полного одноразрядного сумматора - компонента Adder с его входными (a,b,c0) и выходными (s,c1) портами типа Bit, а также объявление внутренних сигналов z1, z2, z3, z4, z5 того же типа. Ключевые слова begin и end обрамляют четыре параллельных оператора конкретизации компонентов с метками C1-C4. Каждый из операторов ссылается на объявление компонента Adder и связывает (port map) входные X(1)-X(7) и выходные Y(1)-Y(3) порты интерфейса объекта проекта, а также внутренние сигналы z1-z5 модуля архитектуры с формальными портами компонентов. Первоначально VHDL создавался как язык описания цифровых (digital) схем, в последние годы выполнена большая работа по расширению языка на описание и моделирование аналоговых (analogue) схем. Принятие цифро-аналогового VHDL в качестве стандарта придаст языку принципиально новые возможности, увеличит его популярность, расширит сферы применения.
|