Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники / Язык AHDL.DOC
Скачиваний:
56
Добавлен:
13.06.2014
Размер:
995.84 Кб
Скачать
        1. Описание узлов.

AHDL поддерживает два типа узлов : NODE и TRI_STATE_NODE.

Оба типа являются типами переменных общего назначения, используемых для хранения значений сигналов, которые не были описаны ни в разделе Subsection ни в разделе описания переменных. Таким образом, переменные обоих типов могут использоваться как с левой, так и с правой стороны выражения.

И NODE и TRI_STATE_NODE схожи с типами портов INPUT, OUTPUT и BIDIR, описываемых в разделе Subsection, в том, что и те и другие представляют проводники, по которым распространяются сигналы.

  • В файле с расширением .fit для текущего проекта могут иметь место имена, сгенерированные компилятором и имеющие в своем составе знак тильда (~). Если производится обратная аннотация присоединений, осуществленных в файле с расширением .fit, то эти имена появятся в файле установок и конфигурации (.acf). Символ тильды зарезервирован исключительно для имен генерируемых компилятором; использовать их для обозначения выводов, узлов и групп (шин) запрещено.

Следующий пример демонстрирует процедуру определения узла:

SUBDESIGN node_ex

(

a, oe : INPUT;

b : OUTPUT;

c : BIDIR;

)

VARIABLE

b : NODE;

t : TRI_STATE_NODE;

BEGIN

b = a;

out = b % следовательно out = a %

t = TRI(a, oe);

t = c; % t есть шина c и a %

END;

NODE и TRI_STATE_NODE отличаются тем, что многократное присваивание значений этим объектам дает различные результаты:

  • Многократные присваивания узлам типа NODE объединяют сигналы в соответствии с функцией монтажное И или монтажное ИЛИ. Значения переменных по умолчанию, определенные в операторах Default детерминируют поведение: значение по умолчанию VCC предопределяет выполнение функции монтажное И над несколькими значениями, присваиваемыми к данному узлу; соответственно значение по умолчанию GND предопределяет выполнение функции монтажное ИЛИ.

  • Если только одна переменная присвоена узлу типа TRI_STATE_NODE , то он ведет себя также как и узел типа NODE .

Следующие примитивы и сигналы могут быть подключены к узлам типа TRI_STATE_NODE:

  • Примитивы TRI.

  • Порты типа INPUT файла проекта с файлами проекта более высокого уровня иерархии.

  • Порты типа OUTPUT и BIDIR файла проекта с файлом проекта более низкого уровня иерархии.

  • Порты типа BIDIR данного файла проекта.

  • Другие узлы типа TRI_STATE_NODE данного файла проекта.