Введение в стандарт IEEE. Справочное руководство по языку VHDL (Пересмотр стандарта IEEE. 1076-1987), страница 3

Состояние  

Значение

U

Неизвестно

X

Принуждение неизвестно

0

Принудительная установка 0

1

Принудительная установка 1

Z

Высокое общее сопротивление

W

Частично неизвестно

L

Частичный 0

H

Частичная 1

-         

По умолчанию

Операторы.

     Этот раздел описывает основные стандартные операторы VHDL, используемые при проектировании. Вы можете использовать любой из операторов, описанных здесь. В VHDL все логические операторы разделены на 4 основных класса: булевый, сравнения, арифметический, и объединения.

Класс

Оператор

Функция

Булевый

and

функция И

or

функция ИЛИ

nand

функция НЕ-И

nor                  

функция НЕ-ИЛИ        

xor

исключающее ИЛИ

Сравнения

=

Равно

/=

неравно

меньше

<=

меньше или равно

больше

>=

больше или равно

Арифметические

abs

значение взятое по модулю

+

сложение

-

вычитание

*

умножение

/

деление

mod

целая часть

rem

остаток от деления

Объединения

&

оператор объединения

Операторы предшествования.

     Выражения процессов в VHDL, используют правила предшествования оператора, предложенные  стандартом (IEEE 1076). Если выражение использует операторы обычного предшествования, то они обрабатываются слева направо. Например:

3 - 4 + 5

Результат - 4. Выражение интерпретируется слева направо как:

(3 - 4) + 5

     Вы можете использовать круглые скобки в исходном тексте, чтобы управлять этими неоднозначными выражениями.

     Ниже представлен список операторов VHDL, которые упорядочены в соответствии с приоритетом предшествования, т.е. оператор с самым высоким приоритетом первый.

Предшествование

Категория

Операторы

1

Различная

abs, not

2

Умножения

*, /, mod, rem

3

Сложения

+, -, &

4

Отношений

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

5

Логическая

and, or, nand, nor, xor

Мультиплексоры и селекторы.

Этот раздел описывает создание мультиплексора или селекторной комбинационной логики на VHDL.

     После того, как в тексте встречается оператор выбора, инструментальные средства синтеза создают или мультиплексор или селекторную цепь. В следующем примере, создана селекторная цепь.

case test_vector is

when "000" => o <= bus(0);

when "001" | "010" | "100" => o <= bus(1);

when "011" | "101" | "110" => o <= bus(2);

when "111" => o <= bus(3);

end case;