Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

TYPE имя_типа IS




Пример

Допустимое использование

Пример

Type State_type IS (stateA, stateB, stateC);

VARIABLE State: State_type;

.

.

.

State:= stateB

В данном примере объявляется переменная State, допустимыми значениями которой являются stateA, stateB, stateC.

Примеры предопределенных перечислимых типов:

TYPE SEVERITY_LEVEL IS (NOTE, WARNING, ERROR, FAILURE);

TYPE BOOLEAN IS (FALSE, TRUE);

TYPE BIT IS ('0', '1');

TYPE STD_LOGIC IS ('U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '–');

Любой перечислимый тип имеет внутреннюю нумерацию: первый элемент всегда имеет номер 0, второй – номер 1 и т.д. Порядок нумерации соответствует порядку перечисления.

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

Значения определенных пользователем перечислимых типов могут участвовать в выражениях. Операторы отношения (=, /=, <, <=, >, >=) определены как для перечислимых типов, так и для одномерных массивов, содержащих элементы этих типов. Результат выражения имеет тип BOOLEAN.

Оператор конкатенации

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

Другие операторы

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

TYPE COLOR IS (green, red, tellow, orange);

TYPE FRUIT IS (orange, apple, pear);

VARIABLE VC: COLOR;

VARIABLE VF: FRUIT;

VC:= COLOR'orange;

VF:= FRUIT'orange;

Другие операции над операндами перечислимых типов определенных пользователем не определены.

Тип SEVERITY_LEVEL

Переменные этого типа используются только в операторе ASSERT и игнорируются при синтезе логических схем.

Переменные типа SEVERITY_LEVEL могут принимать следующие значения: NOTE, WARNING, ERROR и FAILURE.

Тип CHARACTER

Перечислимый тип. Значением объекта данного типа может быть любой символ из набора ASCII (128 первых символов).

Массивы

Массив (тип "массив") является сложным типом. Массив представляет собой упорядоченную структуру однотипных данных. Массив имеет диапазон индексов, который может быть возрастающим либо убывающим. На любой элемент массива можно сослаться, используя его индекс. Несмотря на то, что стандартом языка допускается использование массивов любой размерности, для синтеза ПЛИС используются только одномерные (поддерживаются всеми средствами синтеза) и двумерные (поддерживаются ограниченным числом средств синтеза) массивы.

Также можно сослаться на часть одномерного массива, используя вместо индекса диапазон индексов.

Существуют две разновидности типа "массив": ограниченный (constrained) и неограниченный (unconstrained).

· Объявление ограниченного типа определяет границы диапазона индексов (число элементов массива) в каждом измерении при определении типа.

· Объявление неограниченного типа не определяет границы диапазона индексов. В этом случае границы диапазона устанавливаются при объявлении конкретного экземпляра объекта данного типа.

Объявление ограниченного типа "массив" имеет вид:

ARRAY ( диапазон_индексов [, диапазон_индексов ] )

OF тип_элемента;

диапазон_индексов может определяться двумя способами:

1) явным заданием границ диапазона

m TO n

n DOWNTO m

где m, n – целочисленные константы, m <= n.

2) с использованием идентификатора ограниченного подтипа. В этом случае значения границ подтипа являются значениями границ индекса массива. Описание подтипов см. далее.

Объявление неограниченного типа "массив" имеет вид:




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


Дата добавления: 2015-06-30; Просмотров: 364; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.