Язык AHDL


Диапазоны и поддиапазоны шин


Диапазоны в именах шин могут состоять из чисел или арифметических выражений, разделенных двумя точками (..) и заключенных в скобки []. Например,

a[4..1]               шина с членами a4, a3, a2, и a1.

d[B"10"..B"00"]  шина с членами d2, d1, и d0.

b[2*2..2-1]                     шина с членами b4, b3, b2, и b1. Ограничителями диапазона являются арифметические выражения.

q[MAX..0]                      допустимая шина, если константа MAX была описана в операторе Constant.

c[MIN(a,b)..0]    допустимая шина, если оцениваемая функция MIN была описана в операторе Define.

t[WIDTH-1..0]    допустимая шина, если параметр WIDTH был описан в операторе Parameters.

Не зависимо от того является ли ограничитель диапазона числом или арифметическим выражением компилятор разделяет и интерпретирует ограничители как десятичные значения (целые числа).

Поддиапазоны содержат подмножество узлов, определенных в объявлении шины и могут описываться рядом способов. Запятые можно использовать как заменители только в шинах с левой стороны булева уравнения или подставляемой ссылки. Например,

Если Вы объявили шину c[5..1], то Вы можете использовать  следующие поддиапазоны этой шины:

c[3..1]

c[4..2]

c4

c[5]

(c2, , c4)

В поддиапазоне (c2, , c4), запятая используется для сохранения места не назначенному  члену шины.

 

Диапазоны обычно приводятся в убывающем порядке. Для указания диапазонов в возрастающем порядке или как  в убывающем так и в возрастающем порядке Вы должны определить опцию BIT0 с помощью оператора Options для предотвращения выдачи предупреждающих сообщений компилятором. В шинах с двумя диапазонами эта опция воздействует на оба диапазона.



Содержание раздела