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

Чтение

“read()”

Запись

"write()"

Чтение шеснадцатиричных значений

"hread()"

Запись в шеснадцатиричных значениях

"hwrite()"

Чтение восьмеричное значений

“oread()”

Запись в восьмеричных значениях

"owrite()"

Функции STD_LOGIC_SIGNED.

     Пакет std_logic_signed определяет набор подписанных функций, которые являются полезными для VHDL синтеза. Это включает набор арифметики для чисел со знаком, преобразования, и функций сравнения для STD_LOGIC_VECTOR.

Арифметические функции

Арифметические функции выполняют действия над числами со знаком, над типами std_logic_vector и целочисленными типами данных.

Сложение

"+"

Вычитание

"-"

Значение по модулю

"abs()"

Умножение

"*"

Расширение нуля

"ext()"

Расширение знака

"sxt()"

Функции сравнения

     Функции сравнения позволят вам сравнивать числа со знаком со следующими типами, std_logic_vector и integer.

Меньше чем

“<”

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

“<=”

Больше чем

“>”

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

“>=”

Равно

“=”

Не равно

“/=”

Функции преобразования типов.

     Функции преобразования типов позволят вам переводить значение со знаком, представленное как std_logic_vector в данное типа integer.

Преобразование в целое число

“conv_integer ()”

Функции сдвига

     Функции сдвига позволяют вам создавать последовательные сдвиговые регистры с типом данных std_logic_vector, который представляет значение со знаком.

Сдвиг влево

“shl ()”

Сдвиг вправо

“shr ()”

Ограничения.

Ограничения языка VHDL.

Кроме ограничений на синтаксис и семантику, которые главным образом связанны с инструментальными средствами, имеются некоторые основные ограничения, которые относятся к VHDL описаниям. Так как это происходят весьма часто, здесь представлены дополнительные описания, чтобы разъяснить проблемы, возникающие при синтезе. Далее приведен их список:

·  Игнорирование оператора AFTER.

·  Ограничения на значения инициализации.

·  Диапазон циклов должен быть постоянным в течение времени компиляции.

·  Ограничения на атрибуты описывающие фронт (EVENT и STABLE).

·  Ограничения на инструкции задержки.

·  Ограничения на множественные драйверы в одном сигнале.

См. ниже для подробного разъяснения относительно каждого из этих ограничений.

Игнорирование оператора AFTER.

Оператор AFTER относится к сигналу задержки. Так как значения задержки нельзя гарантировать при синтезе, инструментальные средства синтеза игнорируют их после издания предупреждения.

Ограничения на значения инициализации.

Значения инициализации разрешены в множестве конструкций в VHDL:

·  Начальное значение сигнала в объявлении сигнала.

·  Начальное значение переменной в объявлении переменной в процессе.

·  Начальное значение переменной в объявлении переменной в подпрограмме (процедура или функция).

·  Начальное значение генератора или порта в объявлении компонент.

·  Начальное значение параметра в подпрограмме списка интерфейса.

Проблема со значениями инициализации для синтеза состоит в том, что некоторые начальные значения определяют начальное значение объекта прежде, чем произведено фактическое моделирование. Это поведение соответствует  состоянию включения питания, которое синтезировалось бы в VHDL описании. Так как синтез не может управлять состоянием включения питания, этот вид начального значения не может синтезироваться. Однако, если после инициализации значение постоянно, поведение может синтезироваться, и походит на простое постоянное значение.