Язык описания электронной аппаратуры VHDL. Берчун Ю.В. - 18 стр.

UptoLike

Составители: 

18
Направление (
toувеличение, downto уменьшение) должно быть согласовано с
соотношением ограничений.
Примеры:
type unsigned_short is integer range 0 to 255;
type my_data is integer range -2**(n-l)+l to 2**(n-l)-l;
type input__level is -10.0 to +10.0;
Тип unsigned_short объединяет целые положительные числа, которые могут быть
представлены в байтовом формате.
Тип
my_data объединяет целые в диапазоне, который объявляет пользователь через
разрядность данных n. В этом случае пользователь точно указывает компилятору число раз-
рядов, необходимое для представления данных, обеспечивая экономию ресурсов микросхе-
мы по сравнению с неограниченным типом.
При объявлении типа
input_level базовый тип явно не задан, тип ограничений ус-
танавливается в соответствии с типом их фактических значений.
4.3.3. Физические типы
Наряду с предопределенным типом time пользователь может определить другие фи-
зические типы, которые будут отражать физические (механические, электрические или иные)
свойства носителя информации.
<Определение физического типа>:: =
range <диапазон> units
<имя базовой единицы>
{<имя вторичной единицы> = <значение единицы>}
end units [<имя типа>];
Например:
type voltage is range -5e6 to +5е6;
units uv; -- базовая единица - микровольт
mv = 1000 uv; -- милливольт
v=1000 mv; -- вольт
end units voltage;
Введение такого типа позволяет описывать и моделировать сопряжение цифровой ло-
гической схемы с аналоговыми источниками. В VHDL-AMS этот тип введен в пакет
elec-
trical_systems
и фактически так же может считаться предопределенным.
4.3.4. Агрегатные типы
4.3.4.1. Массивы
Массив, как и в других языках программирования высокого уровня, — это набор дан-
ных, объединенных общим именем и различаемых по порядковым номерам (индексам). Для
того чтобы ввести объект типа "массив", необходимо предварительно объявить соответ-
ствующий тип на основе следующих синтаксических правил:
<определение типа массива>::=
array (<диапазон> {, <диапазон>}) of <тип элемента массива>
Диапазон задает множество допустимых значений индекса. Число измерений массива
формально не ограничено. Если диапазон задан конструкцией
range<>, то это является объ-
     Направление (to — увеличение, downto— уменьшение) должно быть согласовано с
соотношением ограничений.
     Примеры:
type unsigned_short is integer range 0 to 255;
type my_data is integer range -2**(n-l)+l to 2**(n-l)-l;
type input__level is -10.0 to +10.0;
     Тип unsigned_short объединяет целые положительные числа, которые могут быть
представлены в байтовом формате.
     Тип my_data объединяет целые в диапазоне, который объявляет пользователь через
разрядность данных n. В этом случае пользователь точно указывает компилятору число раз-
рядов, необходимое для представления данных, обеспечивая экономию ресурсов микросхе-
мы по сравнению с неограниченным типом.
     При объявлении типа input_level базовый тип явно не задан, тип ограничений ус-
танавливается в соответствии с типом их фактических значений.
4.3.3. Физические типы
     Наряду с предопределенным типом time пользователь может определить другие фи-
зические типы, которые будут отражать физические (механические, электрические или иные)
свойства носителя информации.
<Определение физического типа>:: =
range <диапазон> units
<имя базовой единицы>
{<имя вторичной единицы> = <значение единицы>}
end units [<имя типа>];
     Например:
type voltage is range -5e6 to +5е6;
units uv;         -- базовая единица - микровольт
mv = 1000 uv;     -- милливольт
v=1000 mv;        -- вольт
end units voltage;
     Введение такого типа позволяет описывать и моделировать сопряжение цифровой ло-
гической схемы с аналоговыми источниками. В VHDL-AMS этот тип введен в пакет elec-
trical_systems и фактически так же может считаться предопределенным.
4.3.4. Агрегатные типы
4.3.4.1. Массивы
     Массив, как и в других языках программирования высокого уровня, — это набор дан-
ных, объединенных общим именем и различаемых по порядковым номерам (индексам). Для
того чтобы ввести объект типа "массив", необходимо предварительно объявить соответ-
ствующий тип на основе следующих синтаксических правил:
<определение типа массива>::=
array (<диапазон> {, <диапазон>}) of <тип элемента массива>
    Диапазон задает множество допустимых значений индекса. Число измерений массива
формально не ограничено. Если диапазон задан конструкцией range<>, то это является объ-
                                            18