Проектирование цифровых устройств с помощью языка описания аппаратуры VHDL. Бобрешов А.М - 19 стр.

UptoLike

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

19
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 downto -10.0;
Направление (toувеличение, downtoуменьшение) должно быть
согласовано с соотношением ограничений.
|При объявлении типа INPUT_LEVEL базовый тип явно не задан,
используется тип ограничений в соответствии с типом их фактических
значений.
Пусть пользователь в одном проекте вводит два типа:
type DATA is integer range 0 to 15;
type CONTROLE is integer range 0 to 15;
Хотя с точки зрения
представления эти типы равноценны, однако
они несовместимы, что облегчает контроль корректности описания.
Физические типы, вводимые пользователем
Наряду с предопределенным типом TIME пользователь может
опрелять другие физические типы, которые будут отражать физические
(механические, электрические или иные) свойства носителя информации.
Пример:
type VOLTAGE is range -5e6 to +5e6;
units uV; - базовая единица - микровольт
mV= 1000 uV; - милливольт
V=1000 mV; - вольт
end units VOLTAGE;
Введение
такого типа позволяет описывать и моделировать
сопряжение цифровой логической схемы с аналоговыми источниками.
Пусть входной порт ANALOG_INPUT и константа THRESHOLD
(порог) объявлены как VOLTAGE, а сигнал COMPARE (сравнение) как bit.
Тогда можно записать:
COMPARE <= '1' when ANALOG_INPUT > THRESHOLD else '0';
Массивы и записи
Как в большинстве языков программирования, массивы и записи
относятся к пользовательским типам
.
Массив - это набор данных, объединенных общим именем и
различаемых по порядковым номерам (индексам). Для того чтобы ввести
объект типа массив, необходимо задать базовый тип и диапазон значений
индексов.
                                   19
     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 downto -10.0;

      Направление (to — увеличение, downto — уменьшение) должно быть
согласовано с соотношением ограничений.
      |При объявлении типа INPUT_LEVEL базовый тип явно не задан,
используется тип ограничений в соответствии с типом их фактических
значений.

     Пусть пользователь в одном проекте вводит два типа:
     type DATA is integer range 0 to 15;
     type CONTROLE is integer range 0 to 15;
     Хотя с точки зрения представления эти типы равноценны, однако
они несовместимы, что облегчает контроль корректности описания.

Физические типы, вводимые пользователем
     Наряду с предопределенным типом TIME пользователь может
опрелять другие физические типы, которые будут отражать физические
(механические, электрические или иные) свойства носителя информации.
     Пример:
     type VOLTAGE is range -5e6 to +5e6;
       units uV; - базовая единица - микровольт
       mV= 1000 uV; - милливольт
       V=1000 mV; - вольт
     end units VOLTAGE;

     Введение такого типа позволяет описывать и        моделировать
сопряжение цифровой логической схемы с аналоговыми источниками.
     Пусть входной порт ANALOG_INPUT и константа THRESHOLD
(порог) объявлены как VOLTAGE, а сигнал COMPARE (сравнение) как bit.
Тогда можно записать:
     COMPARE <= '1' when ANALOG_INPUT > THRESHOLD else '0';

Массивы и записи
     Как в большинстве языков программирования, массивы и записи
относятся к пользовательским типам.
     Массив - это набор данных, объединенных общим именем и
различаемых по порядковым номерам (индексам). Для того чтобы ввести
объект типа массив, необходимо задать базовый тип и диапазон значений
индексов.