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

UptoLike

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

21
4.3.5. Подтипы
Специфическим понятием языка VHDL является подтип. Объекты, отнесенные к под-
типу, сохраняют совместимость с данными типа, из которого выделяется подтип так назы-
ваемого базового типа. Однако введение подтипа:
9 определяет множество допустимых значений данных подтипа как под-
множество допустимых значений базового типа;
9 позволяет вводить дополнительные функции преобразования, определяемые
только для данных подтипа.
Синтаксис декларации подтипа следующий:
<декларация подтипа>::=
subtype <имя подтипа> is [<имя функции разрешения>]
<имя базового типа или подтипа> [<ограничение>];
Пример:
subtype bit_in_word_number is integer range 31 downto 0;
Определен подтип типа integer. Данные этого подтипа предполагается использовать
для индексации бита в 32-разрядном коде. Данные совместимы с данными типа
integer.
Однако присвоение этим данным значений вне указанного диапазона вызывает сообщение
об ошибке.
Использование функции разрешения будет описано в разделе 4.9.
4.4. Сигналы и переменные
Любой проект является описанием явлений в дискретных системах. Эти явления могут
представляться тремя различными категориями данных: константы, переменные и сигна-
лы.
SIGNALэто информация, передаваемая между модулями проекта или представляю-
щая входные и выходные данные проектируемого устройства. Сигналу присваиваются свой-
ства изменения во времени.
VARIABLEэто вспомогательная информационная единица, используемая для опи-
сания внутренних операций в программных блоках. Присвоение значения сигналу отобража-
ется знаком
<=, а переменнойзнаком :=.
Для того чтобы представить различия сигналов и переменных, следует сделать не-
сколько предварительных замечаний. В языке VHDL введены два типа операторов: последо-
вательные и параллельные.
Последовательные операторы выполняются последовательно друг за другом в поряд-
ке записи. Такие операторы во многом подобны операторам традиционных языков програм-
мирования высокого уровня и описывают набор действий, которые последовательно выпол-
няются над исходными данными с целью получения результата. К этому классу операторов
относят оператор присваивания переменной, последовательный оператор присваивания сиг-
налу, условные операторы, оператор выбора и ряд других.
Исполнение параллельных операторов инициируется не по последовательному, а по
событийному принципу, т. е. они исполняются тогда, когда реализация других операторов
4.3.5. Подтипы
     Специфическим понятием языка VHDL является подтип. Объекты, отнесенные к под-
типу, сохраняют совместимость с данными типа, из которого выделяется подтип так назы-
ваемого базового типа. Однако введение подтипа:
          9 определяет множество допустимых значений данных подтипа как под-
          множество допустимых значений базового типа;
          9 позволяет вводить дополнительные функции преобразования, определяемые
          только для данных подтипа.
     Синтаксис декларации подтипа следующий:
<декларация подтипа>::=
subtype <имя подтипа> is [<имя функции разрешения>]
<имя базового типа или подтипа> [<ограничение>];
     Пример:
subtype bit_in_word_number is integer range 31 downto 0;
     Определен подтип типа integer. Данные этого подтипа предполагается использовать
для индексации бита в 32-разрядном коде. Данные совместимы с данными типа integer.
Однако присвоение этим данным значений вне указанного диапазона вызывает сообщение
об ошибке.
     Использование функции разрешения будет описано в разделе 4.9.

4.4. Сигналы и переменные
     Любой проект является описанием явлений в дискретных системах. Эти явления могут
представляться тремя различными категориями данных: константы, переменные и сигна-
лы.
      SIGNAL — это информация, передаваемая между модулями проекта или представляю-
щая входные и выходные данные проектируемого устройства. Сигналу присваиваются свой-
ства изменения во времени.
      VARIABLE — это вспомогательная информационная единица, используемая для опи-
сания внутренних операций в программных блоках. Присвоение значения сигналу отобража-
ется знаком <=, а переменной — знаком :=.
     Для того чтобы представить различия сигналов и переменных, следует сделать не-
сколько предварительных замечаний. В языке VHDL введены два типа операторов: последо-
вательные и параллельные.
      Последовательные операторы выполняются последовательно друг за другом в поряд-
ке записи. Такие операторы во многом подобны операторам традиционных языков програм-
мирования высокого уровня и описывают набор действий, которые последовательно выпол-
няются над исходными данными с целью получения результата. К этому классу операторов
относят оператор присваивания переменной, последовательный оператор присваивания сиг-
налу, условные операторы, оператор выбора и ряд других.
     Исполнение параллельных операторов инициируется не по последовательному, а по
событийному принципу, т. е. они исполняются тогда, когда реализация других операторов
                                           21