Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mat_mod.docx
Скачиваний:
231
Добавлен:
22.02.2016
Размер:
807.96 Кб
Скачать

63. Спецификация функции в vhdl.

В языке VHDL функции можно описывать, указывая:

1. Имя функции.

2. Входные параметры, если таковые имеются.

3. Тип возвращаемого значения.

4. Описания, если они требуются для самой функции.

5. Алгоритм вычисления возвращаемого значения

Объявление функции

functionbyte_to_int(alpha:byte)return integer is

variableresult:integer :=0;

begin

for n in 0 to 7 loop

result :=result*2 +bit'pos(alpha(n));

end loop;

returnresult;

endbyte_to_int;

Вызовфункции

process

variabledata:byte;

begin

byte_to_int(data);

end process;

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

Этотпакетсодержитстандартныйнаборарифметических, логическихфункцийифункцийсравнениядляработыстипами SIGNED, UNSIGNED, SMALL_INT, INTEGER, STD_ULOGIC, STD_LOGIC и STD_LOGIC_VECTOR, STD_LOGIC

Типы SIGNED, UNSIGNED имеют такое же определение как Bit _vector, но для них разработан набор функций, который позволяет интерпретировать их значения как числовые. Тип UNSIGNED интерпретируется как двоичное представление числа без знака. Старшие разряды в представлении находятся слева. Тип SIGNED интерпретируется как двоичное представление числа со знаком. Старшие разряды в представлении также находятся слева. Самый левый разряд представляет знак (0 – соответствует «+», 1 – соответствует «-»).

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

INTEGER to INTEGER - это шаблон выражения, используемый для обращения к функции CONV_INTEGER, которая предназначена для приведения данных различных типов к целому типу INTEGER.

INTEGER to SIGNED представляет собой шаблон варианта использования функции CONV_SIGNED, который предназначен для приведения данных целого типа INTEGER к знаковому типу SIGNED.

INTEGER to STD_LOGIC_VECTOR включает в себя шаблон варианта применения функции CONV_STD_LOGIC_VECTOR для преобразования значения переменной или сигнала целого типа INTEGER в массив типа STD_LOGIC_VECTOR.

INTEGER to UNSIGNED содержит образец варианта использования функции CONV_ UNSIGNED, который выполняет приведение данных целого типа INTEGER к беззнаковому типу UNSIGNED.

SIGNED to INTEGER включает в себя шаблон варианта использования функции TO_INTEGER для преобразования данных знакового типа SIGNED в данные целого типа INTEGER.

SIGNED to SIGNED — это образец варианта применения функции CONV_SIGNED для конверсии данных знакового типа в тот же тип, но с другой разрядностью.

SIGNED to STD_LOGIC_VECTOR представляет собой шаблон варианта применения функции CONV_STD_LOGIC_VECTOR для преобразования значения константы, переменной или сигнала знакового типа SIGNED в массив типа STD_LOGIC_VECTOR.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]