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

UptoLike

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

16
Язык VHDL предопределяет некоторый базовый набор типов
данных, которые не требуют объявления в программе пользователя. Кроме
того, пользователь может определять свои типы данных. Различают
скалярные типы данных и агрегатные типы. Объект, отнесенный к
скалярному типу, рассматривается как законченная единица информации.
Агрегат представляет упорядоченную совокупность скалярных единиц,
объединенных одинаковым именем.
Предопределенные типы данных
Сначала остановимся на предопределенных типах.
<предопределенные типы>::=
integer | real | bit | boolean | character | string | time | bit_vector |
severity_level | file_open_status | file_open_kind
Типы integer и real определяют численные данныецелые и
действительные, соответственно. Диапазон представления чисел может
зависеть от реализации, но стандартными считаются диапазоны {-2
31
+1,
+2
31
-1} для типа integer и {10
38
, -10
38
} для real. Надо иметь в виду, что
число фактически является укороченной записью обрабатываемых кодов,
но над этими кодами определены арифметические операции:
+ сложение или повторение;
- вычитание или инверсия;
* умножение;
/ деление;
mod число по модулю (5 mod 3 = 2);
rem остаток от деления;
abs модуль (абсолютное значение числа);
** возведение в степень.
Определены для этих кодов также и операции арифметического
отношения: =, /=, <, <=, >=, >, которые дают результат типа boolean.
Приоритет операторов такой же, как и в большинстве языков
программирования.
Данные типа bit могут принимать значения из множества 0 и 1. Для
данных типа bit определены следующие логические операции:
not - инверсия;
or - операция ИЛИ;
norоперация ИЛИ-НЕ;
andоперация И;
nand - операция И-НЕ;
                                   16
      Язык VHDL предопределяет некоторый базовый набор типов
данных, которые не требуют объявления в программе пользователя. Кроме
того, пользователь может определять свои типы данных. Различают
скалярные типы данных и агрегатные типы. Объект, отнесенный к
скалярному типу, рассматривается как законченная единица информации.
Агрегат представляет упорядоченную совокупность скалярных единиц,
объединенных одинаковым именем.

                       Предопределенные типы данных
       Сначала остановимся на предопределенных типах.
       <предопределенные типы>::=
integer | real | bit | boolean | character | string | time | bit_vector |
severity_level | file_open_status | file_open_kind

      Типы integer и real определяют численные данные — целые и
действительные, соответственно. Диапазон представления чисел может
зависеть от реализации, но стандартными считаются диапазоны {-231+1,
+231-1} для типа integer и {1038, -1038} для real. Надо иметь в виду, что
число фактически является укороченной записью обрабатываемых кодов,
но над этими кодами определены арифметические операции:
         − +     сложение или повторение;
         − -     вычитание или инверсия;
         − *     умножение;
         − /     деление;
         − mod число по модулю (5 mod 3 = 2);
         − rem остаток от деления;
         − abs модуль (абсолютное значение числа);
         − ** возведение в степень.
      Определены для этих кодов также и операции арифметического
отношения: =, /=, <, <=, >=, >, которые дают результат типа boolean.
Приоритет операторов такой же, как и в большинстве языков
программирования.

     Данные типа bit могут принимать значения из множества 0 и 1. Для
данных типа bit определены следующие логические операции:
        − not - инверсия;
        − or - операция ИЛИ;
        − nor — операция ИЛИ-НЕ;
        − and — операция И;
        − nand - операция И-НЕ;