Основные блоки и конструкции языка VHDL. — КиберПедия 

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Основные блоки и конструкции языка VHDL.

2017-11-28 988
Основные блоки и конструкции языка VHDL. 0.00 из 5.00 0 оценок
Заказать работу

Языки описания аппаратуры (Hardware Description Language), является формальной записью, которая может быть использована на всех этапах разработки цифровых электронных систем. Это возможно вследствие того, что язык легко воспринимается как машиной, так и человеком он может использоваться на этапах проектирования, верификации, синтеза и тестирования аппаратуры также как и для передачи данных о проекте, модификации и сопровождения. Наиболее универсальным и распространенным языком описания аппаратуры является VHDL. На этом языке возможно как поведенческое, так структурное и потоковое описание цифровых схем.

Язык VHDL используется во многих системах для моделирования цифровых схем, проектирования программируемых логических интегральных микросхем, базовых матричных кристаллов, заказных интегральных микросхем

С точки зрения программиста язык VHDL состоит как бы из двух компонент – общеалгоритмической и проблемно-ориентированной.

Общеалгоритмическая компонента VHDL - это язык, близкий по синтаксису и семантике к современным языкам программирования типа Паскаль, C и др. Язык относится к классу строго типизированных. Помимо встроенных (пакет STANDART) простых (скалярных) типов данных: целый, вещественный, булевский, битовый, данных типа время, данных типа ссылка (указатель) пользователь может вводить свои типы данных (перечислимый, диапазонный и др.).

Помимо скалярных данных можно использовать агрегаты: массивы array, в том числе и битовые векторы bit_vector, и символьные строки string, записи record, файлы file.

Последовательно выполняемые (последовательные) операторы VHDL могут использоваться в описании процессов, процедур и функций. Их состав включает:

1)оператор присваивания переменной (:=);

2)последовательный оператор назначения сигналу (<=);

3)последовательный оператор утверждения (assert);

4)условный (if);

5)выбора (case);

6)цикла (loop);

7)пустой оператор (null);

8)оператор возврата процедуры- функции (return);

9)оператор последовательного вызова процедуры.

Язык поддерживает концепции пакетного и структурного программирования. Сложныеоператорызаключенывоператорныескобки: if- end if; process- end process; case- end case; loop- end loop ит. д.

Различаются локальные и глобальные переменные. Область «видимости» локальных переменных ограничена пределами блока (процессного, процедурного, оператора блока, оператора описания архитектуры).

Фрагменты описаний, которые могут независимо анализироваться компилятором и при отсутствии ошибок помещаться в библиотеку проекта (рабочую библиотеку Work), называются проектными пакетами design unit. Такими пакетами могут быть объявление интерфейса объекта проекта entity, объявление архитектуры architecture, объявление конфигурации configuration, объявление интерфейса пакета package и объявление тела пакета package body.

Модули проекта, в свою очередь, можно разбить на две категории: первичные и вторичные. К первичным пакетам относятся объявления пакета, объекта проекта, конфигурации. К вторичным- объявление архитектуры, тела пакета. Один или несколько модулей проекта могут быть помещены в один файл, называемый файлом проекта (design file).

Каждый проанализированный модуль проекта помещается в библиотеку проекта (design library) и становится библиотечным модулем (library unit).

Каждая библиотека проекта в языке VHDL имеет логическое имя (идентификатор).

По отношению к сеансу работы с VHDL-системой существует два класса рабочих библиотек проекта: рабочие библиотеки и библиотеки ресурсов.

Рабочая библиотека - это библиотека WORK, с которой в данном сеансе работает пользователь и в которую помещается пакет, полученный в результате анализа пакета проекта.

Библиотека ресурсов - это библиотека, содержащая библиотечные модули, ссылка на которые имеется в анализируемом модуле проекта.

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

Так же, как в описаниях проектируемых систем разделяются описания интерфейсов и тел, в VHDL у пакета разделяются описание интерфейса и тела пакета. По умолчанию предусмотрено подключение стандартных пакетов STANDART и TEXT 10. Пакет STANDART, в частности, содержит описание булевских операций над битовыми данными и битовыми векторами. Нестандартные пакеты реализуются пользователями, желающими более точно отобразить свойства описываемых ими объектов. Например, можно в пользовательском пакете переопределить логические операции И, ИЛИ и НЕ и перейти от булевского (0, 1) к многозначному (1, 0, X? Z) алфавиту моделирования.

Данные типа time, позволяющие указывать время задержки в физических единицах

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

Средства объявления объектов entity и их архитектур architecture.

Если говорить про операторную часть проблемно- ориентированной компоненты, то условно ее можно разделить на средства поведенческого описания аппаратуры (параллельные процессы и средства их взаимодействия); средства потокового описания (описание на уровне межрегистровых передач) – параллельные операторы назначения сигнала (<=) с транспортной transport или инерциальной задержкой передачи сигналов и средства структурного описания объектов (операторы конкретизации компонент с заданием карт портов port map и карт настройки generic map, объявление конфигурации и т. д.).

Параллельные операторы VHDL включают:

оператор процесса process;

оператор блока block;

параллельный оператор назначения сигналу <=;

оператор условного назначения сигналу when;

оператор селективного назначения сигналу select;

параллельный оператор утверждения assert;

параллельный оператор вызова процедуры;

оператор конкретизации компоненты port map;

оператор генерации конкретизации generate;

Как видно из этого перечня, последовательные и параллельные операции назначения, вызова процедуры и утверждения различаются контекстно, то есть внутри процессов и процедур они последовательные, вне- параллельные.

Базовым элементом описания систем на языке VHDL является блок. Блок содержит раздел описаний данных и раздел параллельно исполняемых операторов. Частным случаем блока является описание архитектуры объекта. В рамках описания архитектуры могут использоваться внутренние, вложенные блоки. Наряду со всеми преимуществами блочной структуры программы и ее соответствия естественному иерархическому представлению структуры проекта операторы блока языка VHDL позволяют устанавливать, условия охраны (запреты) входа в блок. Только при истинности значения охранного выражения управление передается в блок и инициирует выполнение операторов его тела.

Модели описания цифровой системы. Примеры.

Структура описания архитектурного тела VHDL. Примеры.

Полное VHDL-описание объекта состоит как минимум из двух отдельных описаний: описание интерфейса объекта и описание тела объекта (описание архитектуры).

Интерфейс описывается в объявлении объекта entity declaration и определяет входы и выходы объекта, его входные и выходные порты ports и параметры настройки generic. Параметры настройки отражают тот факт, что некоторые объекты могут иметь управляющие входы, с помощью которых может производиться настройка экземпляров объектов в частности, задаться временем задержки.

Например, у объекта Q1 три входных порта Х1, Х2, Х3 и два выхода У1, У2. Описаниеегоинтерфейсана VHDL имеетвид:

Entity Q1 is

Port (X1, X2, X3: in real; Y1, Y2: out real);

End Q1.

Порты объекта характеризуются направлением потока информации. Они могут быть:

входными (in)

выходными (out)

двунаправленными (inout)

двунаправленными буферными (buffer)

связными (linkage)

А также имеют тип, характеризующий значения поступающих на них сигналов:

целый (integer)

вещественный (real)

битовый (bit)

символьный (character)

Тело объекта специфицирует его структуру или поведение. Его описание по терминологии VHDL содержится в описании его архитектуры architecture.

VHDL позволяет отождествлять с одним и тем же интерфейсом несколько архитектур. Средства VHDL для отображения структур цифровых систем базируются на представлении о том, что описываемый объект entity представляет собой структуру из компонент component соединяемых друг с другом линиями связи. Каждая компонента, в свою очередь, является объектом и может состоять из компонент низшего уровня (иерархия объектов). Взаимодействуют объекты путем передачи сигналов signal по линиям связи. Линии связи подключаются к входным и выходным портам компонент. В VHDL сигналы отождествляются с линиями связи.

Описание структуры объекта строится как описание связей конкретных компонент, каждая из которых имеет имя, тип и карты портов. Карта портов port map определяет соответствие портов компонент поступающим на них сигналам, можно интерпретировать карту портов как разъем, на который приходят сигналы и в который вставляется объект-компонента.

Принятая в VHDL форма описания связей конкретных компонент имеет следующий вид:

Имя: тип связи (сигнал, порт).

Например, описание связей объекта Q1, представленного на рис. 3 выглядит следующим образом:

К1: SM port map (X1, X2, S);

K3: M port map (S, Y1);

K2: SM port map (S, X3, Y2);

Здесь К1, К2, К3- имена компонент; SM,M-типы компонент; Х1, Х2, Х3, S, Y1,Y2- имена сигналов, связанных с портами.

Полное VHDL описание архитектуры STRUCTURA объекта Q1 имеет вид:

Architecture STRUCTURA of Q1 is

Component SM port (A, B: in real; C: out real);

End component;

Component M port (E: in real; D: out real);

End component;

Signal S: real;

Begin

K1: SM port map (X1, X2, S);

K3: M port map (S, Y1);

K2: SM port map (S, X3, Y2);

End STRUCTURA;

Средства VHDL для отображения поведения описываемых архитектур строится на представлении их как совокупности параллельно взаимодействующих процессов. Понятие процесса process относится к базовым понятиям языка VHDL.

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

Особая роль в синхронизации процессов отводится механизму событийного воспроизведения модельного времени now.

Когда процесс вырабатывает новое значение сигнала перед его посылкой на линию связи, говорят, что он вырабатывает будущее сообщение transaction. С каждой линией связи (сигналом) может быть связано множество будущих сообщений. Множество сообщений для сигнала называется его драйвером driver.

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

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

В случае дельта – задержек новый цикл моделирования не связан с увеличением модельного времени. В приведенном выше примере новое значение сигнала У1 вырабатывается через дельта- задержку после изменения сигнала S.

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

В языке VHDL для наиболее часто используемых видов процессов – процессов межрегистровых передач – введена компактная форма записи.

Полное описание архитектуры POVEDENIE объекта Q1 в этом случае имеет следующий вид:

Architecture POVEDENIE of Q1 is

Signal S: real;

Begin

Y1<=S;

Y2<=S+X3 after 10 ns;

S<=X3+X2 after 10 ns;

End POVEDENIE;


Структура описания интерфейса проекта на языке VHDL. Примеры.

Каждый проект записан в отдельном каталоге, названном каталогом проектов. И каталог проектов и проект имеет то же самое название. Каждый каталог проектов содержит подкаталоги SRC И GENERIC а также файлы описания проектов, которые имеют то же самое имя как и название проекта, только с расширением. ADF. Подкаталог SRC содержит исходные файлы VHDL или файлы диаграмм автоматов с конечными состояниями с расширением VHD или. ASF. Подкаталог GENERIC содержит файл рабочей области окна с. WSP расширением и рабочей библиотекой проектов с. VLB расширением. Оба имеют то же самое название как и имя проекта. Подкаталог GENERIC также содержит ряд рабочих файлов, которые используются в процессе синтеза и моделирования.Конфигурация проекта и его состояние описаны в следующих файлах:

*.ADF – Файл описания проекта, содержащий информацию относительно структуры проекта: исходные файлы и библиотеки, которые формируют проект. *.WSP – Файл рабочей области окна, содержащий данные относительно текущего состояния проекта. Он всегда востанавливает все параметры после закрытия проекта и повторного его открытия. Текущий статус содержит информацию о том какие файлы были открыты, и в каком месте текста расположен курсор какие закладки были выбраны, какие окна расскрыты и т.д.

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

Окно просмотра Проекта состоит из трех панелей:

  • Панель файлов (Files) показывает присоединенные к проекту файлы и содержание рабочих библиотек.
  • Панель структуры (Structure) показывает структуру VHDL проекта, извлеченного из исходных файлов и объектов VHDL (сигналы и переменные), которые находятся внутри избранной области проекта.
  • Панель Ресурсов (Resources) показывает папки, содержащие файлы с документацией по моделированию и сохраненные файлы формы сигнала.

Панель файлов: Верхняя часть Панели файлов показывает файлы ресурса текущего проекта. Каждый файл представлен отдельной иконкой. Форма иконки зависит от типа файла как показано далее. В случае VHDL исходных файлов и файлов диаграмм состояний автомата, цвет иконок содержит дополнительную информацию относительно состояния файла:

  • Зеленый- Успешно скомпилированный
  • Голубой- Не компилированный или измененный после последней компиляции
  • Yellow - Ошибки произошли во время последней компиляции

Панель файлов показывает модули проекта, содержащиеся в различных определенных исходных файлах. Название модулей проекта избранных для моделирования в настоящее время показано полужирным. Верхняя часть Панели файлов показывает модули проекта, содержащиеся в выбранной рабочей библиотеке.



Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.036 с.