Курсовая работа: Основы языка VHDL

Physicaltypeхранит значения, которые представляют собой результаты измерений физических величин: времени, длины, напряжения, тока и т.п. Значения этого типа выражаются целыми, умноженными на базовую единицу, например:

type CURRENT is range 0 to 1 E9

units

nA; -- (base unit) nano-ampere

uA = 1000 nA; -- micro-ampere

mA = 1000mA; --milli-ampere

Amp = 1000 mA; -- ampere

end units;

subtype FILTER_CURRENT is CURRENT range 10mA to 5 mA;

Здесь CURRENTопределен как физический тип, имеющий значения в диапазоне от 0 nAдо 10^9 nA. Базовой единицей является наноАмпер, а все остальные являются производными. Позиционный номер значения равен числу базовых единиц, представленных данным значением, например, 2 mAимеют позиционный номер 2000, в то время как 100 nAзанимают позицию 100. Физический литерал записывается как целое, за которым следует название единицы измерения (пробел обязателен).

Тип “массив”

Объект типа arrayсостоит из элементов одного типа. Нижеданыпримерымассивов:

type ADDRESS_WORD is array (0 to 63) of BIT;

type DATA_WORD is array (7 downto 0) of MVL;

type ROM is array (0 to 125) of DATA_WORD;

ADDRESS_WORD– одноразмерный массив из 64 элементов типа BIT. DATA_WORD– одноразмерный массив из 8 элементов типа MVL. ROM– массив из 126 элементов типа DATA_WORD, т.е. в данном случае имеем дело с массивом массивов.

Доступ к элементам массива осуществляется с помощью индексов, например, ADDRESS_WORD(26) ссылается на 27-ой элемент массива ADDRESS_WORD.

1.5 Операции языка VHDL

В языке VHDLимеются операции следующих категорий:

1. Логические операции

2. Операции отношений

3. Операции сложения/вычитания

4. Операции умножения/деления

5. Прочие

Приоритет операций возрастает от категории 1 к категории 5. Операции одной категории имеют одинаковый приоритет и выполняются в последовательности: слева направо. Скобки используются для изменения последовательности исполнения.

Операции логические

Существует шесть логических операций: and, or, nand, nor, xor, not.

Операции применимы к типам BIT, BOOLEAN, к одноразмерным массивам BITи BOOLEAN. При выполнении битовые значения ‘0’ и ‘1’ интерпретируются как булевские FALSEи TRUE. Результат имеет тот же тип, что и операнды. Операция not– унарная операция, она имеет приоритет категории 5.

Операции отношений

В языке VHDLимеются следующие операции отношений:

=, /=, <, <=, >, >=

Результатом выполнения любой операции отношений является булевское выражение BOOLEAN. Операции равенства ( = ) и неравенства ( /= ) допустимы со всеми типами, за исключением типа “файл”. Остальные четыре операции допустимы над скалярными типами (целочисленными, перечислимыми) или над массивами дискретного типа. Когда операндами являются массивы, то сравнение выполняется слева направо по одному элементу, например при следующем сравнении:

BIT_VECTOR'('0', '1', '1') < BIT_VECTOR'('1', '0', '1')

К-во Просмотров: 846
Бесплатно скачать Курсовая работа: Основы языка VHDL