- •Vhdl – язык описания аппаратных средств методические указания
- •Введение
- •1История создания vhdl
- •2Алфавит языка
- •3Лексические элементы
- •3.1Разделители и ограничители
- •3.2Идентификаторы
- •3.3 Ключевые (зарезервированные) слова
- •3.4Абстрактные литералы
- •3.4.1Десятичные литералы
- •3.4.2Литералы с указанием основания системы счисления
- •3.5Символьные литералы
- •3.6Строковые литералы
- •3.7Битовые строки
- •3.8 Комментарии
- •4Типы данных
- •4.1Скалярные типы
- •4.1.1Перечисления
- •4.1.2Целые числа
- •4.1.3Физические типы
- •4.1.4Числа с плавающей точкой
- •4.2Составные типы
- •4.2.1Массивы
- •4.2.2Записи
- •4.3Указатели
- •4.4Файлы
- •5.1Простое имя
- •5.2Символ оператора
- •5.3Селективное имя
- •5.4Индексное имя
- •5.5Вырезка имени
- •5.6Имя атрибута
- •5.7Видимость и область действия имен
- •6Bыражения
- •6.1Операторы
- •6.1.1Логические операторы
- •6.1.2Операторы сравнения
- •6.1.3Операторы сдвига
- •6.1.4Аддитивные операторы
- •6.1.5Мультипликативные операторы
- •6.1.6Знаковые операторы
- •6.1.7Cмешанные операторы
- •6.2Операнды
- •6.2.1Операнд Name
- •6.2.2Операнд Literal
- •6.2.3Операнд Аggrеgаtе
- •6.2.4Операнд Function Call
- •6.2.5Операнд Qualified Expression
- •6.2.6Операнд Type Conversion
- •6.2.7Операнд Allocator
- •6.2.8Статическое выражение
- •6.2.9Универсальное выражение
- •7Представление системы в vhdl
- •7.1Общая структура описания проекта системы
- •7.2Сущность проекта системы
- •7.3Архитектура проекта системы
- •7.4Предложения vhdl
- •8Структурное описание цифровых устройств
- •8.1Сигналы в vhdl
- •8.2Описание нерегулярных структур
- •8.3Описание регулярных структур
- •9Функциональное описание цифровых устройств
- •9.1Описание комбинационных устройств
- •9.1.1Особенности применения сигналов
- •9.1.2Предложение Process Statement
- •9.1.3Предложение Variable Declaration Statement
- •9.1.4Предложение Variable Assignment Statement
- •9.1.5Подпрограммы
- •9.1.6Предложение If Statement
- •9.1.7Предложение Cаsе Stаtеmеnt
- •9.1.8Предложение Lоор Statement
- •9.2Описание последовательных устройств
- •9.2.1Описание триггеров
- •9.2.2Описание регистров
- •9.2.3Описание счетчиков
- •9.2.4Описание цифровых автоматов
- •10Моделирование цифровых устройств
- •10.1Общие методические рекомендации по выполнению лабораторных работ
- •10.2Лабораторная работа №1. Поведенческое описание комбинационных устройств
- •Порядок выполнения работы
- •Контрольные вопросы
- •Рекомендованная литература
1История создания vhdl
Языки описания аппаратуры появились в начале 60-х годов, в основном, по следующим причинам. Во-первых, требовалось как можно дольше работать с проектом на абстрактном формальном уровне, не опускаясь на уровень мелких деталей и физической реализации. Во-вторых, быстрый рост сложности цифровых систем требовал адекватных средств их разработки и систем автоматизированного проектирования (САПР).
Среди первых ЯОА выделяют LOTIS, EPICURE, CDL, HARGOL, CASSANDRE, DDL. Затем в течение семидесятых годов в Европе и США было разработано много ЯОА, их насчитывалось более 200 – отечественных и зарубежных. Самыми известными являются МОДИС, МОДИС-В78, Автокод, МПЛ, ОСС-2, ФОРОС, EPICURE, CDL, DDL, ISPS, CONLAN, HILO, CASCADE, RAGLAN, ДИСП, САМРИС, СПАРС и др.
Рассмотрим в качестве примера описание схемы, приведенной на рисунке 1.1, в программе ДИСП (диалоговая схема схемотехнического проектирования).
|
Рисунок 1.1 – Схема транзисторного усилителя |
Описание схемы имеет вид:
СХЕМА: |
УСИЛИТЕЛЬ; |
РАЗРАБОТЧИК: |
ИВАНОВ; |
ОПИСАНИЕ |
|
R1 (4,3) |
100 K; |
R2 (4,0) |
20 K; |
R3 (2,3) |
5,1 K; |
C1 (1,4) |
0,1 мкФ; |
Е1 (3,0) |
15 В; |
VT1 (4,3,0) |
КТ315 А; * |
NN = 4; |
|
ЧАСТОТА: |
1 Гц, 1 кГц, 1 МГц; |
КОНЕЦ; |
|
Директивы "СХЕМА" и "РАЗРАБОТЧИК" идентифицируют схему и разработчика. Со слова "ОПИСАНИЕ" начинается собственно описание схемы. Каждая строка содержит имя модели компонента, номер компонента в схеме, в скобках записаны номера узлов включения компонентов. Для пассивных элементов указаны номиналы, для транзистора – его тип. Последняя строка в описании помечена символом "*" сразу после точки с запятой. Предложение "NN=4;" определяет количество узлов в схеме. Массив "ЧАСТОТА" задает информацию для программы расчета частотных характеристик. По директиве "КОНЕЦ" обработка текста описания прекращается.
Первые языки ЯОА были предназначены, в основном, для описания устройств и использовались при их моделировании.
В 60-е и 70-е годы основной вклад в развитие языков описания аппаратуры внесли США и Европа. Вклад Японии в этот период был менее значительным.
В 1973 году был начат проект CONLAN (CONsensus LANguage) – первая попытка разработки стандарта языка, моделирующего многоуровневые проекты и имеющего формализованную семантику. В 1980 году были опубликованы основные результаты проекта, в 1983 – полное определение языка. В то время были разработаны и использовались другие ЯОА (ELLA, DACAPO III, CASCADE, REGLAN, KARL, VERILOG), однако именно CONLAN стал основой VHDL.
Первоначальным назначением языка VHDL было документирование проектов и выпускаемых электронных изделий. Это позволяло разработчикам и пользователям легко и однозначно понимать выполняемые изделиями функции. В дальнейшем круг задач, решаемых с помощью VHDL, расширился. В 1981 году состоялась первая конференция, на которой были сформулированы требования к языку. В конце 1982 года был выпущен предназначенный для компаний и учреждений документ "Запрос на предложения", в котором появилось первое название языка: VHDL (VHSIC (Very-High Speed Integrated Circuits) Hardware Design and Description Language).
Первыми проект поддержали компании Intermetrix, IBM и Texas Instruments. Язык разрабатывался стремительно, и в 1984 году вышла уже шестая его версия. Версия VHDL 7.2, появившаяся в августе 1985 года, удовлетворяла большинству требований и была принята в качестве стандарта в рамках Министерства Обороны США. Затем развитие и стандартизация языка были продолжены в DATC (техническом комитете по автоматизации проектирования), IEEE (Международный комитет по электротехнике и электронике). В июне 1986 вышла первая рабочая версия руководства по языку (Language Reference Manual). Окончательная версия проекта языка была вынесена на голосование 11 декабря 1987 года и принята в качестве стандарта IEEE STD 1076-1987.
В IEEE все стандарты должны пересматриваться каждые пять лет. Первый пересмотр стандарта на VHDL состоялся в 1992 году, хотя подготовка к этому началась в июне 1990 года с устранения неточностей и слабых мест в стандарте от 1987 года. Основные принципы построения языка были сохранены, а набор предоставляемых средств расширен. Голосование в декабре 1992 года дало положительные результаты, выявив при этом ряд замечаний, устранение которых привело к версии, принятой в 1993 году.
В июле 1997 года в Париже состоялась вторая конференция "Будущее VHDL" (The future of VHDL), которая позволила выразить свою точку зрения на проблемы проектирования сложных цифровых систем разработчикам языка, разработчикам средств автоматизированного проектирования, базирующихся на этом языке, пользователям языка и средств.
Следующий пересмотр стандарта состоялся в 1998 году. Изменения коснулись, в основном, расширения возможностей языка VHDL в части описания аналоговых устройств.
В настоящее время ведутся исследования, целью которых является разработка фундаментальных направлений и принципов развития языка в будущем. Вопросы будущего языка VHDL тщательно исследуются как в США (главным образом в Министерстве Обороны), так и в Европейском Сообществе.
Существуют два центра, занимающиеся распространением, внедрением, поддержкой и другими вопросами, относящимися к VHDL.
VHDL International – компания, являющаяся посредником между разработчиками языка и его пользователями, издающая и распространяющая ежеквартальный бюллетень, называемый VHDL Times, находится в Санта-Клара, Калифорния, США,
European CAD Standardization Initiative (ECSI – Европейская инициатива в стандартизации САПР) – научно-технический центр, координирующий всю деятельность, относящуюся к VHDL в Европе, и издающий два ежеквартальных бюллетеня: VHDL Newsletter и ECSI Letter. ECSI находится во Франции, в Гренобле. При ECSI существуют национальные группы пользователей языка VHDL, созданные во многих странах Европы. Центр организует конференции, форумы, школы и поддерживает деятельность технического комитета IEEE по автоматизации проектирования.
DATE (Design, Automation and Test in Europe, а в недавнем прошлом ED&TC и EURO-DAC с EURO-VHDL) является центральной европейской конференцией для ученых, ведущих исследования по VHDL и другим языкам описания аппаратуры. VHDL International User's Fоrum в США, VHDL-Forum в Европе и Asia-Pacific Conference on Hardware Description Languages в Азии являются центральными конференциями для различных типов пользователей языка.
В настоящее время язык VHDL обеспечивает описание проектов различной степени сложности – от простейшего вентиля до целой системы, состоящей из аппаратных и программных частей. Он позволяет строить модели на различных уровнях абстракции, выполнять имитационное моделирование и генерировать временные диаграммы, вести строгое документирование проекта, осуществлять синтез структуры по поведенческому описанию, верифицировать проект формальными методами, автоматически генерировать тесты.
VHDL наследует многие свойства языков программирования высокого уровня, в частности, языка программирования ADA. Дополнительно в язык введены понятия модельного времени, сигнала, события, компонента и другие. Использование VHDL позволяет не привязывать проект заранее к конкретному физическому способу реализации, одна и та же логическая VHDL-реализация является источником генерации различных физических.
В основе языка лежат следующие принципы построения:
поддержка функциональной декомпозиции (функциональная иерархия и рекурсия);
поддержка структурной декомпозиции (структурная иерархия);
представление системы в виде параллельно функционирующих взаимодействующих процессов;
использование абстрактных типов данных;
использование событийного моделирования;
поддержка различных уровней абстракции и детализации представления проекта.
Первоначально VHDL создавался как язык описания цифровых схем, в последние годы выполнена большая работа по расширению языка на описание и моделирование аналоговых схем. Принятие цифро-аналогового VHDL в качестве стандарта придаст языку принципиально новые возможности, увеличит его популярность, расширит сферы применения.
