Язык AHDL

       

Объявление узлов


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

Объявления узлов особенно полезны, когда булево выражение используется повторно. Булево выражение можно заменить дескриптивным именем узла, которое легче читается.

Файл boole2.tdf,  приведенный ниже, содержит ту же самую логику что и файл boole1.tdf, но имеет только один выход.

SUBDESIGN boole2

(

   a0, a1, b   : INPUT;

   out         : OUTPUT;

)

VARIABLE

   a_equals_2  : NODE;

BEGIN

   a_equals_2 = a1 & !a0;

   out = a_equals_2 # b;

END;

Этот файл объявляет узел a_equals_2 и связывает его с выражением a1 & !a0. При использовании узлов можно сохранять ресурсы устройства, когда узел используется в нескольких выражениях.

Можно использовать как обычные узлы (NODE), так и тристабильные узлы (TRI_STATE_NODE). NODE и TRI_STATE_NODE различаются в том, что несколько присваиваний на них дают различные результаты.

Присваивания на узлы типа NODE связывают сигналы вместе с помощью функций ПРОВОДНОЕ-И или ПРОВОДНОЕ-ИЛИ. Значения по умолчанию, объявленные в операторах Defaults, определяют поведение: VCC представляет функцию ПРОВОДНОЕ-И, а GND представляет функцию ПРОВОДНОЕ-ИЛИ.

Присваивания на TRI_STATE_NODE привязывают сигналы к одному и тому же узлу.

Если только одной  переменной назначается тип TRI_STATE_NODE, то она трактуется как NODE.



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