Физические типы в VHDL. Тип TIME.
Физические типы позволяют разработчику непосредственно выразить величины в физических единицахизмерения. В VHDL используется один физический тип - предопределенный физический тип TIME (время).Объявление физического типа задает множество единиц, определенных в терминах некоторой базовой единицы.В случае типа TIME базовой единицей является fs (фемтосекунда), а производными единицами являются ps, ns,us и так далее. Рассмотримопределениетипа TIME.
type TIME is range -(2**31-1) to 2**31-1
units
fs;
ps = 1000 fs;
ns = 1000 ps;
us = 1000 ns;
ms = 1000 us;
s = 1000 ms;
min = 60 s;
hr = 60 min;
end units;
Диапазон типа TIME определяет диапазон базовых единиц, который может быть точно представлен
объектами типа. Физические литералы, использующие любые из определенных имен для физических единиц,
будут автоматически преобразовываться к фемтосекундам.
физические типы могут быть получены из библиотечного пакета, поставляемого продавцами матобеспечения
САПР.
type resistance is range 0 to 2**31-1
units
nOhm;
uOhm =1000 nOhm;
mOhm =1000 uOhm;
Ohm =1000 mOhm;
end units;
type voltage is range -(2**31-1) to 2**31-1
units
nV;
uV =1000 nV;
end units;
Когда значение физического типа делится на другое значение того же самого типа, то единицы измеренияисчезают и результат становится совместимым с любым целым типом.
Допускается умножение физического типа на число с плавающей точкой, в этом случае получается результат
физического типа. Эти идеи иллюстрируются в следующих примерах.
total_time := 1 ns + .039 s - min_time;
output_volts<=supply_volts-500mV after reset_duration+5 ms;
nom := .75* max;
function "*" (I:current; R:resistance) return voltage is
begin
return nV* ( real (I/nA)* real(R/nOhm)*1.0E-9);
end;
function "*" (R:resistance; I:current) return voltage is
begin
return nV * ( real ( I/ nA )* real(R/nOhm)* 1.0E-9);
end;
Каждое объявление функции перезагружает оператор умножения таким образом, что он будет выполняться,
когда перемножаются значения физических типов current и resistance. Результат должен быть физического типа
voltage.
Стандартные типы в VHDL.
В комплект стандартной является предопределенным в компиляторе. Типы, определенные включают в себя: немного bit_vector типичные сигналыцелое положительное типичных природных переменныхлогическое буквенная типичный переменных в режиме реального времени delay_length типичный переменных Нажмите на стандарт , чтобы функции, определенные Примечание: Этот пакет должен быть обеспечен компилятор, не используйте это. Пакет textio обеспечивает ввод пользователем / вывода Типы, определенные включают в себя: строки текста стороне ширина Функции, определенные включают в себя: Readline читать WriteLine записи лицевой линии Нажмите на textio чтобы узнать, как вызвать функции Пакет std_logic_1164 обеспечивает повышенную типа сигнала Типы, определенные включают в себя: std_ulogic std_ulogic_vector std_logic std_logic_vector Нажмите на std_logic_1164 для просмотра доступных функций Пакет std_logic_textio обеспечивает ввод / вывод для типов 1164 Функции, определенные включают в себя: Readline читатьWriteLine записи лицевой линии Нажмите на std_logic_textio чтобы узнать, как вызвать функции Пакет std_logic_arith обеспечивает численного Это имя пакета, к сожалению швы иметь несколько определений:std_logic_arith_syn.vhd определяет виды подписанных и неподписанных и имеет арифметических функций, которые работают на типы сигналов подписанных и неподписанных и std_logic_vector и std_ulogic_vector, но с добавлением к Б std_logic_vector типа, нуждается в без знака (A) + без знака (B). Нажмите на std_logic_arith_syn увидеть функций, определенныхstd_logic_arith_ex.vhd имеет арифметических функций, которые работают на типы сигналовstd_logic_vectorи std_ulogic_vectorНажмите на std_logic_arith_ex увидеть функций, определенных Пакет numeric_bit обеспечивает численного Типы, определенные включают в себя: неподписанных подписано массивы типа бит для сигналов Нажмите на numeric_bit увидеть функций, определенных Пакет numeric_std обеспечивает численного Типы, определенные включают в себя: неподписанных подписано массивы типа std_logic сигналов Нажмите на numeric_std увидеть функций, определенных Пакет std_logic_signedобеспечивает подписал численного от типа std_logic_vector Нажмите на std_logic_signed увидеть функций, определенных Пакет std_logic_unsigned обеспечивает неподписанных численного от типа std_logic_vector Нажмите на std_logic_unsigned увидеть функций, определенных Пакет math_real обеспечивает численного по типу реального Нажмите на math_real увидеть функций, определенных Это заявление и тело находятся в mathpack Пакет math_complex обеспечивает численного Типы, определенные включают в себя: комплекс, complex_vector, complex_polar Нажмите на math_complex увидеть функций, определенных Это заявление и тело находятся в mathpack