Раздел Subdesign
Раздел Subdesign определяет входные, выходные и двунаправленные порты данного проекта.
Следующий пример демонстрирует использование раздела Subdesign:
SUBDESIGN top
(
foo, bar, clk1, clk2 : INPUT = VCC;
a0, a1, a2, a3, a4 : OUTPUT;
b[7..0] : BIDIR;
)
Раздел Subdesign имеет следующие характеристики:
¨ За ключевым словом SUBDESIGN следует имя подпроекта. Имя подпроекта должно совпадать с именем текстового файла проекта. В данном примере подпроект имеет имя top.
¨ Список сигналов заключается в круглые скобки.
¨ Сигналы представляются символическими именами с определением их типа (например, INPUT)
¨ Имена сигналов отделяются друг от друга запятыми .За именами следует двоеточие, далее тип сигналов и символ (;).
¨ Возможными типами портов являются : INPUT, OUTPUT, BIDIR, MACHINE INPUT или MACHINE OUTPUT.В примере, показанном выше, сигналы foo, bar, clk1 и clk2, а сигналы a0, a1, a2, a3 и a4 являются выходами. Шина b[7..0] является двунаправленной.
¨ Ключевые слова MACHINE INPUT и MACHINE OUTPUT используются для импорта и экспорта конечных автоматов между текстовыми файлами проектов и другими файлами проектов. Однако типы портов MACHINE INPUT и MACHINE OUTPUT не могут использоваться в текстовых файлах проектов верхнего уровня.
¨ После указания типа порта в необязательном порядке можно указать значение по умолчанию GND или VCC (в противном случае значений по умолчанию не предусматривается).В примере приведенном выше VCC является значением, присвоенным по умолчанию для входных сигналов в том случае, если они не используются в файле более высокого уровня иерархии (присвоения, осуществляемые в файле более высокого уровня иерархии, имеют больший приоритет)
В файле высшего уровня иерархии порты, имеющие тип INPUT, OUTPUT или BIDIR являются выводами устройства. В файлах более низких уровней иерархии все типы портов являются точками входа и выхода данного файла, но не устройства в целом.