Диапазоны и поддиапазоны шин
Диапазоны в именах шин могут состоять из чисел или арифметических выражений, разделенных двумя точками (..) и заключенных в скобки []. Например,
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 для предотвращения выдачи предупреждающих сообщений компилятором. В шинах с двумя диапазонами эта опция воздействует на оба диапазона.