Шины
Символьные имена и порты одного и того же типа можно объявить и использовать как шины в булевых выражениях и уравнениях.
Шина, которая может содержать до 256 членов (или битов), рассматривается как коллекция узлов и действует как одно целое.
Одиночные узлы и константы GND и VCC можно дублировать для создания шин.
Шины можно объявить с помощью следующих трех способов:
1. Имя шины состоит из символьного имени или имени порта, за которым следует указание поддиапазона, заключенного в скобки, т.е. a[4..1]. Имя вместе с самым длинным числом в диапазоне может содержать до 32 символов. Например,
Имя q[MAX..0] правильно, если константа MAX была описана выше в операторе Constant.
После определения шины скобки [] являются коротким способом описания всего диапазона. Например,
a [4..1] можно указать как a[].
b [6..0][3..2] можно указать как b[][].
2. Имя шины состоит из символьного имени или имени порта, за которым следует указание поддиапазонов, заключенных в скобки, т.е. d[6..0][2..0]. Имя вместе с самым длинным числом в диапазоне может содержать до 32 символов. К индивидуальному узлу в шине можно обратиться как name[y][z] или namey_z, где y и z числа в диапазоне шины.
3. Последовательное имя шины состоит из списка символьных имен, портов или чисел, разделенных запятыми и заключенных в скобки, например, (a, b, c).
Эта нотация полезна для определения имен портов. Например,
Входные порты переменной reg типа DFF можно записать как reg.(d, clk, clrn, prn).
Ниже приведены две совокупности примеров, демонстрирующие две шины, описанные с помощью различной нотации:
b[5..0]
(b5, b4, b3, b2, b1, b0)
b[]
b[log2(256)..1+2-1]
b[2^8..3 mod 1]
b[2*8..8 div 2]