Чтение |
“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 описании. Так как синтез не может управлять состоянием включения питания, этот вид начального значения не может синтезироваться. Однако, если после инициализации значение постоянно, поведение может синтезироваться, и походит на простое постоянное значение.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.