Порт - это вход или выход логической функции. Порт может находится в двух местах:
· Порт, который является входом или выходом текущего файла, объявляется в разделе Subdesign.
· Порт, который является входом или выходом экземпляра примитива или файла разработки более низкого уровня, используется в разделе Logic.
Порты текущего файла
Порт, который является входом или выходом текущего файла объявляется в следующем формате в разделе Subdesign:
<имя порта>: <тип порта> [ = <значение по умолчанию> ]
Доступны следующие типы портов:
INPUT MACHINE INPUT
OUTPUT MACHINE OUTPUT
BIDIR
Когда текстовой файл проекта является старшим в иерархии, имя порта синонимично с именем вывода. Дополнительное значение порта по умолчанию, которое может быть или VCC или GND, можно определить для типов портов INPUT и BIDIR. Это значение используется только если слева порт не подсоединен, когда экземпляр TDF применяется в файле разработки более высокого уровня.
Например:
SUBDESIGN top
(
foo, bar, clk1, clk2, c[4..0][6..0] : INPUT = VCC;
a0, a1, a2, a3, a4 : OUTPUT;
b[7..0] : BIDIR;
)
Вы можете импортировать и экспортировать конечные автоматы между TDF и другими файлами разработки, описывая входы и выходы как MACHINE INPUT или MACHINE OUTPUT в разделе Subdesign. Прототип функции, который представляет файл, должен указывать, какие порты принадлежат конечному автомату. MACHINE INPUT и MACHINE OUTPUT можно использовать только в файлах более низкого уровня в иерархии проекта.
Порты экземпляров
Порт, который является входом или выходом экземпляра логической функции присоединяется в разделе Logic. Для соединения логической функции с другими частями TDF, Вы вставляете экземпляр функции с помощью подставляемой ссылки, объявления Instance или конечного автомата с помощью State Machine и затем используете порты функции в разделе Logic.