VHDL: Руководство по применению

Страницы работы

Фрагмент текста работы

VHDL-

руководствопоприменению.

Содержание

Введение                                                                                                                     6

Тип “Доступ”   (Access Type)                                                                                   6

Множество                                                                                                                  8

Псевдоним(Alias)                                                                                                     10

Распределитель(ALLOCATOR)                                                                              11

Архитектура                                                                                                              14

Массив(Array)                                                                                                           16

Инструкция  утверждения(Assertion Statement)                                                18

Признаки (предопределенные)                                                                             19

Признаки (определяемые пользователем)                                                         21

БИТ                                                                                                                              25

Разрядный вектор (Bit Vector)                                                                                26

Оператор блока                                                                                                         27

Логический тип                                                                                                          29

Оператор выбора                                                                                                     30

Символьный тип                                                                                                      32

Cоставляющая декларация                                                                                    32

Текущий компонент                                                                                                  33

Cложный тип                                                                                                             36

Конкантенация                                                                                                          37

Объявление Конфигурации (Configuration Declaration)                                    37

Спецификация конфигурации                                                                               41

Константа                                                                                                                  42

Задержка                                                                                                                   44

Драйвер                                                                                                                    46

Объект                                                                                                                     46

Тип перечня                                                                                                            49

Событие                                                                                                                  50

Выражение                                                                                                             52

Тип файла                                                                                                               54

Тип плавающая запятая                                                                                      55

Функция                                                                                                                  56

Объявление Функции                                                                                          56

Функциональное тело                                                                                          57

Инструкция генерирования                                                                                59

Настройка (Generic)                                                                                              62

Группа                                                                                                                     63

Объявление матрицы группы                                                                            63

Объявление группы                                                                                            64

Атрибуты групп                                                                                                    64

Защита                                                                                                                    65

Идентификатор                                                                                                     66

Условный оператор (If Statement)                                                                     67

Целочисленный тип                                                                                            70

Библиотечное предложение                                                                              71

Литерал                                                                                                                  71

Числовые литералы                                                                                           72

Оператор Цикла                                                                                                   75

Имя                                                                                                                         77

Оператор Next                                                                                                       81

Пустая инструкция                                                                                               82

Оператор Перезагрузки                                                                                      83

Операторы                                                                                                              84

Операторы отношения                                                                                         86

Операторы сдвига                                                                                                 87

Операторы сложения                                                                                            88

Операторы признака (sign operator)                                                                   88

Операторы умножения                                                                                          88

Операторы смешанного типа                                                                               89

Пакет                                                                                                                          91

Тело пакета (Package Body)                                                                                  92

Физический тип (Physical Type)                                                                            93

Порт                                                                                                                           95

Процедура                                                                                                                 97

Инструкция процесса                                                                                            100

Диапазон                                                                                                                  102

Тип записи                                                                                                               103

Инструкция сообщения                                                                                         104

Зарезервированное слово                                                                                   105

Функция Разрешающая способность                                                                 106

Резюме                                                                                                                      108

Инструкция возврата                                                                                              109

Скалярный тип                                                                                                         110

Список чувствительности                                                                                      111

Сигнал Назначение                                                                                                  112

Декларация сигнала                                                                                                 115

Сектор (slice)                                                                                                              117

Стандартный пакет                                                                                                   118

Std логика                                                                                                                   119

Пакет std Logic 1164                                                                                                120

Std_ Logic Vector                                                                                                      121

Строка (string)                                                                                                           122

Подтип(Subtype)                                                                                                       122

Приостановление (Suspend)                                                                                  123

Тип (TYPE)                                                                                                                  124

Тип Преобразование                                                                                                126

Предложение использования (Use Clause)                                                         128

Назначение Переменной (Variable Assigment)                                                    128

Объявление переменной (Variable Declaration)                                                  130

Вектор                                                                                                                         132

VITAL                                                                                                                           132

Инструкции ожидать (WAIT STATEMENT)                                                            135

Форма волны (Waverform)                                                                                      138

Введение

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

Каждая конструкция VHDL всесторонне описана, и имеет

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

-Формальное Определение - формальное определение конструкции и операций согласно 1076 VHDL руководства

справочников языка;

-Упрощенное описание - основная структура синтаксиса;

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

-Примеры - детальные примеры того, как конструкция используется в различных приложениях;

-Важные примечания - сообщает относительно применимости конструкции, поскольку это касается логического синтеза.

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

Тип “Доступ”   (Access Type)

Формальное определение:

Тип “доступ” - тип, который обеспечивает доступ к объекту  данного типа. Обращение к такому объекту достигается путем доступа к значению, возвращаемому распределителем; считается, что значение доступа   определяет объект.

Полное описание: Руководство ссылки языка § 3, § 3.3.

УпрощенныйСинтаксис:

    access subtype_indication

    type identifier;

Идентификатор типа признак подтипа “доступ”.

Описание:

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

Признак подтипа при обращении к типу “доступ” обозначает тип объекта, выраженного значением типа “доступ”. Это может быть любой скаляр, множество или другой вид типа “доступ” (Пример 1) . Файловый тип использовать не разрешается.

Иметь тип “доступ” могут только переменные.

Заданное по умолчанию значение типа “доступ” - нулевое (пустое) значение, которое не определяет никакой объект вообще. Для присвоения объекту любого другого значения должен использоваться распределитель (см. распределитель для деталей).

Тип “доступ” позволяет создавать рекурсивные структуры данных (динамические списки объектов, созданных в течение моделирования), которые состоят из записей, содержащих элементы типов “доступ” -  тот же самый тип или тип, отличный от фактически объявленного. Чтобы обращаться к описаниям таких рекурсивных структур данных, необходимо так называемое неполное обращение к типу, который играет роль “объявления” относительно типа, который будет объявлен позже.

Для каждого неполного обращения к типу должно иметься соответствующее полное обращение типа с тем же именем. Полное обращение должно появиться в той же  части, что и неполное. Тип, объявленный как неполный, не может использоваться ни для каких других целей, кроме определения типа “доступ” прежде, чем полное определение типа было выполнено. Такое неполное объявление типа представлено ниже, в примере 2.

Примеры:

Пример 1

- Декларация record Тип Person:

type Person is record

first_name, name: STRING(1 to 20);

address: ADRESS.TYPE;

age: DATE;

end record Person;

- Декларация типа доступа  Person_Access:

type Person_Access is access Person;

The Person_Access Тип определяет указатель (динамическая связь(звено)) к отчету объявленному ранее и названному  Person.

Пример 2

- Декларация неполного типа  Queue_Element (очередь __ элемент):

type Queue_Element;

- Декларация типа доступа  Queue_Element_Ptr:

type Queue_Element_Ptr  is access Queue_Element;

- Декларация полного типа  записи Queue__Element:

type Queue_Element  is record

name: STRING(1 to 20);   

address: ADRESS_TYPE;

age: DATE;

succ: Queue_Element_Ptr;

end record Queue_Element;

Тип Queue_Element содержит Queue_Element_Ptr область(поле), которая в точках поворота указывает на Элемент Очереди. Чтобы объявлять оба типа последовательно, сначала Элемент Очереди объявлен неполным способом, который позволяет объявлять, что  доступ напечатает Очередь Element_Ptr. Наконец, нужно обеспечить полную декларацию Queue_Element.

Важные примечания:

* Применение типов доступа ограничено переменными: только переменные

Похожие материалы

Информация о работе

Тип:
Методические указания и пособия
Размер файла:
770 Kb
Скачали:
0