Язык AHDL

       

Шины


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

Шина, которая может содержать до 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]



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