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

UptoLike

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

17
Типы
FILE_OPEN_STATUS и FILE_OPEN_KIND обеспечивают возможность контро-
ля процедур обмена между программой моделирования и файловой системой инструмен-
тального компьютера.
Типы
string и bit_vector относятся к агрегатным и фактически определены как
неограниченный массив символов и массив битов соответственно. Более подробно правила
работы с массивами и их элементами будут рассмотрены далее. В тексте программы строко-
вая константа заключается в двойные кавычки.
4.3.2. Скалярные типы, вводимые пользователем
Пользователь имеет возможность определить собственные типы данных, используя
декларацию типа данных:
<декларация типа данных>::= TYPE <имя типа> IS <определение типа>;
<определение типа>::=
<определение перечислимого типа>
|<определение целого типа>
|<определение действительного типа>
|<определение физического типа>
|<определение типа массивов>
|<определение типа записей>
Начнём рассмотрение пользовательских типов данных со скалярных типов.
Определение перечислимого типа имеет вид:
<Определение перечислимого типа>::=
(перечислимое значение {,перечислимое значение});
<перечислимое значение>::=
<идентификатор> | <символьная константа>
Например:
TYPE state IS (SO,SI,S2,S3);
может представлять, например, набор допустимых состояний системы, для каждого состоя-
ния определяются выполняемые действия и правила перехода в другое состояние.
Важнейшим приложением перечислимого типа данных являются расширенные алфави-
ты моделирования, в частности тип std_logic и соответствующий ему тип
std_logic_vector, описанный в пакете std_logic_1164. Данный девятизначный ал-
фавит моделирования рассмотрен в приложении 1 настоящего методического указания.
Определение численных типов пользователя целесообразно, во-первых, для контроля
совместимости данных в программах, а во-вторых, для точного задания разрядности слов,
представляющих данные в проектируемом объекте. В общем случае определение ограничен-
ного типа подчиняется синтаксическому правилу:
<Определение ограниченного типа>::=
[<базовый тип>] <диапазон>;
<диапазон>::=
range <ограничение><направление><ограничение>
|range<>
<направление>::= downto | to
     Типы FILE_OPEN_STATUS и FILE_OPEN_KIND обеспечивают возможность контро-
ля процедур обмена между программой моделирования и файловой системой инструмен-
тального компьютера.
      Типы string и bit_vector относятся к агрегатным и фактически определены как
неограниченный массив символов и массив битов соответственно. Более подробно правила
работы с массивами и их элементами будут рассмотрены далее. В тексте программы строко-
вая константа заключается в двойные кавычки.
4.3.2. Скалярные типы, вводимые пользователем
     Пользователь имеет возможность определить собственные типы данных, используя
декларацию типа данных:
<декларация типа данных>::= TYPE <имя типа> IS <определение типа>;
<определение типа>::=
<определение перечислимого типа>
|<определение целого типа>
|<определение действительного типа>
|<определение физического типа>
|<определение типа массивов>
|<определение типа записей>
     Начнём рассмотрение пользовательских типов данных со скалярных типов.
     Определение перечислимого типа имеет вид:
<Определение перечислимого типа>::=
(перечислимое значение {,перечислимое значение});
<перечислимое значение>::=
<идентификатор> | <символьная константа>
     Например:
TYPE state IS (SO,SI,S2,S3);
может представлять, например, набор допустимых состояний системы, для каждого состоя-
ния определяются выполняемые действия и правила перехода в другое состояние.
     Важнейшим приложением перечислимого типа данных являются расширенные алфави-
ты   моделирования, в частности тип std_logic и соответствующий ему тип
std_logic_vector, описанный в пакете std_logic_1164. Данный девятизначный ал-
фавит моделирования рассмотрен в приложении 1 настоящего методического указания.
     Определение численных типов пользователя целесообразно, во-первых, для контроля
совместимости данных в программах, а во-вторых, для точного задания разрядности слов,
представляющих данные в проектируемом объекте. В общем случае определение ограничен-
ного типа подчиняется синтаксическому правилу:
<Определение ограниченного типа>::=
[<базовый тип>] <диапазон>;
<диапазон>::=
range <ограничение><направление><ограничение>
|range<>
<направление>::= downto | to



                                            17