Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »