Hardware, №28,29,30, 1997 год
Язык описания аппаратуры VHDL

Сколько времени развиваются компьютеры, столько они усложняются. По закону Мура сложность цифровых систем удесятеряется каждые два года. На одном кристалле размещаются миллионы элементов, и разработка таких устройств не может осуществляться на уровне, скажем, словесного описания на русском языке или изображенной на бумаге схемы. Для решения этой проблемы были созданы специальные искусственные языки, языки описания аппаратуры (ЯОА, HDL, hardware description languages), покрывающие основные понятия, существенные для проектирования цифровых систем.

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

Тогда, в 60-е, было разработано несколько десятков ЯОА, среди которых стоит отметить LOTIS, EPICURE, CDL, HARGOL, CASSANDRE, DDL. В 70-е их уже было более двух сотен. В 1973 году был начат проект CONLAN (CONsensus LANguage) - первая попытка разработки стандарта языка, моделирующего многоуровневые проекты и имеющего формализованную семантику. По сути, это был не единственный язык описания аппаратуры, а механизм генерации языков на основе ядра, Base CONLAN.

В 1980 году были опубликованы основные результаты проекта, в 1983 - полное определение языка. В то время были разработаны и использовались многие другие ЯОА (ELLA, DACAPO III, CASCADE, REGLAN, KARL, VERILOG), однако именно CONLAN стал основой VHDL.

Первоначальным назначением языка VHDL было документирование проектов и выпускаемых электронных изделий, что позволяло разработчикам и пользователям легко и однозначно понимать выполняемые оными функции; в дальнейшем круг решаемых с помощью VHDL задач расширился. В 1981 году состоялась первая конференция, на которой были сформулированы требования к языку, в конце 1982 года был выпущен предназначенный для компаний и учреждений документ "Запрос на предложения", в нем появилось первое название языка, VHD2L (VHSIC (Very-High Speed Integrated Circuits) Hardware Design and Description Language).

Первыми проект поддержали компании Intermetrix, IBM и Texas Instruments. Язык разрабатывался стремительно, в 1984 году вышла уже шестая его версия. Появившаяся в августе 1985 года версия VHDL 7.2 удовлетворяла большинству требований и была принята в качестве стандарта в рамках Министества Обороны США. Затем развитие и стандартизация языка были продолжены в DATC (техническом комитете по автоматизации проектирования) IEEE. В июне 1986 вышла первая рабочая версия руководства по языку (Language Reference Manual), в декабре были внесены оставшиеся изменения, в начале 1987 года прошли дебаты по языку. Окончательная версия проекта языка была вынесена на голосование 11 декабря 1987 года и принята в качестве стандарта IEEE Std 1076-1987.

Cогласно требованиям к процессу стандартизации в IEEE все стандарты должны пересматриваться каждые 5 лет. Первый пересмотр VHDL-стандарта состоялся в 1992 году, хотя подготовка к этому началась в июне 1990 года с устранения неточностей и слабых мест в стандарте от 1987 года. Основные принципы построения языка были сохранены, а набор предоставляемых средств расширен. Голосование в декабре 1992 года дало положительные результаты, выявив при этом ряд замечаний, устранение которых привело к версии, принятой в 1993 году. Следующий пересмотр стандарта состоится в 1998 году.

С целью дальнейшего развития языка VHDL созданы рабочие группы при комитете по стандартизации по следующим направлениям:

Одновременно с подготовкой стандарта 1998 года ведутся исследования, целью которых является разработка фундаментальных направлений и принципов развития языка в будущем. Вопросы будущего языка VHDL тщательно исследуются как в США (главным образом в Министерстве Обороны), так и в Европейском Сообществе. В июле 1997 года в Париже, Франция, состоится вторая конференция "Будущее VHDL" (The future of VHDL), которая позволит выразить свою точку зрения на эти важные проблемы разработчикам языка, разработчикам средств автоматизированного проектирования, базирующихся на этом языке, пользователям языка и средств.

В 60-е и 70-е основной вклад в развитие языков описания аппаратуры внесли США и Европа. Вклад Японии в этот период был менее значительным. Стандарт IEEE Std 1076-1987 создавался главным образом в США, только три члена группы анализа и стандартизации VHDL (VHDL Analysis and Standardization Group - VASG) были из Европы. В момент принятия пересмотренного стандарта в 1993 году их было уже 120.

Существуют два центра, занимающиеся распространением, внедрением, поддержкой и другими вопросами, относящимися к VHDL. VHDL International - компания, являющаяся посредником между разработчиками языка и его пользователями, издающая и распространяющая ежеквартальный бюллетень, называемый VHDL Times, находится в Санта-Клара, Калифорния, США. Исполнительный директор - Махендра Жаин (Mahendra Jain).

Европейская Инициатива в стандартизации САПР (European CAD Standardization Initiative - ECSI) - научно-технический центр, координирующий всю относящуюся к VHDL деятельность в Европе и издающий два ежеквартальных бюллетеня, VHDL Newsletter и ECSI Letter, находится во Франции, в Гренобле. Его возглавляет Жан Мермье (Jean Mermet). При ECSI существуют национальные группы пользователей языка VHDL, созданные во многих странах Европы, включая Францию, Великобританию, Германию, Испанию, Италию, Швецию, Россию, Польшу, Беларусь и другие. Центр организует конференции, форумы, школы и поддерживает деятельность технического комитета по автоматизации проектирования IEEE.

DATE (Design, Automation, and Test in Europe, а в недавнем прошлом ED&TC и EURO-DAC с EURO-VHDL), является центральной европейской конференцией для ученых, ведущих исследования по VHDL и другим языкам описания аппаратуры. VHDL International User's Forum в США, VHDL-Forum в Европе и Asia-Pacific Conference on Hardware Description Languages в Азии являются центральными конференциями для различных типов пользователей языка.

Разработчики коммерческих систем автоматизированного проектирования в наибольшей степени заинтересованы в развитии VHDL. Это крупные, средние и малые компании из многих стран мира, создающие инструментальные средства и программное обеспечение для решения разнообразных задач автоматизации проектирования в электронике и вычислительной технике, среди них Cadence, Mentor Graphics, Synopsys, Compass, IBM, Viewlogic, Model Technologies и другие.

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

В сентябре 1993 года была образована группа пользователей языка VHDL в Беларуси, в нее вошли ученые и инженеры из высших учебных заведений, Национальной Академии Наук, отраслевых институтов, предприятий и конструкторских бюро. Многие из них зарегистрированы в ECSI и VHDL International, регулярно получают бюллетени VHDL Newsletter и VHDL Times.

В Беларуси основными сферами использования VHDL стали промышленное проектирование, образование, научные исследования. В области промышленного проектирования основным пользователем языка является научно-производственное объединение "Интеграл", применяющее базирующиеся на VHDL коммерческие системы для моделирования, синтеза, верификации.

Все более твердые позиции VHDL занимает в сфере образования. Подготовка специалистов по VHDL ведется в Белорусском Государственном Университете Информатики и Радиоэлектроники на кафедре "Программное обеспечение информационных технологий", возглавляемой профессором Ярмоликом В.Н. Читаемые на кафедре курсы позволяют изучить предлагаемые языком средства и освоить методы проектирования, базирующиеся на ЯОА.

Научные исследования, использующие VHDL, проводятся в высших учебных заведениях (БГУИР и БГУ) и Национальной Академии Наук (Институт Технической Кибернетики). Язык и базирующиеся на нем САПР являются средой для разработки и исследования новых методов организации и проектирования цифровых схем и систем. Использование языка способствует сотрудничеству и взаимопониманию между учеными из различных стран мира.

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

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

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

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

В основе языка лежат следующие принципы построения:

В соответствии с уровнями абстракции, язык допускает построение моделей трех типов:

Для построения каждого типа моделей используется свое характерное подмножество средств языка.

Основные средства языка VHDL включают:

В качестве примера приведем структурную VHDL-модель простого проекта, выполняющего подсчет числа единиц во входном бит-векторе. Интерфейс объекта проекта (entity), именуемый Number_1, имеет вид

entity Number_1 is
 generic(N:Natural:=7; M:Natural:=3);
 port(X:in Bit_Vector(N downto 1);
 Y:out Bit_Vector(M downto 1));
end 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
 component Adder
 port(a,b,c0:in Bit; s,c1:out Bit);
 end component;
 signal z1,z2,z3,z4,z5:Bit;
 begin
 C1: Adder port map(X(4),X(3),X(2),z1,z2);
 C2: Adder port map(X(7),X(6),X(5),z3,z4);
 C3: Adder port map(z3,z1,X(1),Y(1),z5);
 C4: Adder port map(z4,z2,z5,Y(2),Y(3));
end Structure;

Этот модуль 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 в качестве стандарта придаст языку принципиально новые возможности, увеличит его популярность, расширит сферы применения.

Анатолий ПРИХОЖИЙ,
доцент БГУИР, член IEEE

Материал взят с сайта http://www.kv.by/index1997280501.htm