Именование булевых операторов и компараторов
Вы можете именовать булевы операторы и компараторы для облегчения ввода присваивания ресурсов и интерпретации раздела уравнений в файле отчета проекта.
Файл boole3.tdf, приведенный ниже, идентичен с файлом boole1.tdf, но использует именованные операторы. Имя оператора отделяется от оператора знаком двоеточия; имя может содержать до 32 символов.
SUBDESIGN boole3
(
a0, a1, b : INPUT;
out1, out2 : OUTPUT;
)
BEGIN
out1 = a1 tiger:& !a0;
out2 = out1 panther:# b;
END;
Следующие отрывки из файла отчета показывают различие между boole3.rpt и boole1.rpt для первых двух уравнений.
-- boole3.rpt equations:
-- Node name is 'out1' from file "boole3.tdf" line 7, col 2
-- Equation name is 'out1', location is LC3_A1, type is output
out1 = tiger~0;
-- Node name is 'tiger~0' from file "boole3.tdf" line 7, column 18
-- Equation name is 'tiger~0', location is LC2_A1, type is buried
tiger~0 = LCELL( _EQ002);
_EQ002 = !a0 & a1;
-- boole1.rpt equations:
-- Node name is 'out1' from file "boole1.tdf" line 7, col 2
-- Equation name is 'out1', location is LC3_A1, type is output
out1 = _LC2_A1;
-- Node name is ':33' from file "boole1.tdf" line 7, col 12
-- Equation name is '_LC2_A1', type is buried
LC2_A1 = LCELL( _EQ001);
_EQ001 = !a0 & a1;
В зависимости от логики уравнения именованный оператор может представлять несколько имен узлов, однако, все имена относятся к имени оператора и, поэтому, узлы легче распознаются в файле отчета. В файле boole3.rpt единственный узел, tiger~0, создается для первого уравнения. В файле boole1.tdf компилятор связывает цепь ID :33 с тем же самым узлом.
После того, как Вы откомпилировали проект Вы можете использовать имена узлов, приведенные в файле отчета, для введения присваивания ресурса для дальнейшей компиляции, даже если логика проекта изменена. Имена логических ячеек, созданные из именованных операторов, остаются постоянными, если Вы изменили несвязанную с ними логику в файле. Например, Вы можете ввести присваивание для узла tiger~0. В противоположность этому, если операторы неименованы, доступны только ID номера цепей, и эти имена произвольно переназначаются при каждой компиляции.