Применение языка VHDL при проектировании специализированных СБИС. Ивченко В.Г. - 12 стр.

UptoLike

Составители: 

13
uOhm =1000 nOhm;
mOhm =1000 uOhm;
Ohm =1000 mOhm;
kOhm =1000 Ohm;
megOhm =1000 kOhm;
end units;
type voltage is range -(2**31-1) to 2**31-1
units
nV;
uV =1000 nV;
mV =1000 uV;
V =1000 mV;
kV =1000 V;
megaV =1000 kV;
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.
1.3.1.6. Предопределенные атрибуты скалярных типов
На некоторые характеристики скалярных типов и подтипов могут быть ссылки в выражениях в удобной и
компактной форме, называемой записью атрибута (attribute notation). Если Т является именем скалярного типа,
то T'high является наибольшим возможным значением типа, а T'low - наименьшим возможным значением.
Например, color'high = violet, а color'low = red . T'right - самое правое значение типа, а T'left - самое левое
значение типа. T'left отличается от T'low, а T'high от T'right, только если направление для типа - downto.
Рассмотрим значения этих четырех атрибутов для типа Word_index, введенного ранее.
type Word_index is range 31 downto 0;
Word_index'left = 31
Word_index'right = 0
Word_index'low = 0
Word_index'high = 31
Следующие два предопределенных подтипа целого типа используют атрибут 'high в их выражениях для
диапазонов:
subtype natural is integer range 0 to integer'high;
subtype positive is integer range 1 to integer'high;
Значение атрибута может быть использовано в объявлении подтипа, в задании параметров цикла, в
назначении:
subtype longwave is color range color'left to yellow;
for J in Word_Index'left downto 9 loop...
status<=severity'high when emergency else severity'low;
1.3.1.7. Предопределенные функционально-значные атрибуты
Целый, перечислительный и физический типы имеют позиционный номер, связанный с каждым значением
типа.
Позиционный номер первого значения в перечислительном типе - нуль; каждый следующий знак имеет
позиционный номер на единицу больше, чем предшествующий. Например, позиционный номер значения true в