Здравствуйте.
В моем проекте многоуровневая иерархия модулей:
top_level
--kanal0
----counter
----accumulator
----и т.д.
--kanal1
--kanal2
--и т д
Для самых нижних (счетчиков и аккумуляторов) созданы RPM в виде ngc-файлов. При создании RPM указано с помощью RLOC, как размещать элементы.
В конце пишу строку типа
INST "/*/" HU_SET = "counter";
Хочу, чтобы средний уровень (канал) тоже был в виде RPM. Написала для него kanal.ucf. Задала область размещения в виде
INST "/*/" AREA_GROUP = "AG_KANAL" ;
AREA_GROUP "AG_KANAL" RANGE = SLICE_X4Y20:SLICE_X31Y0 ;
еще указала строки типа
INST xcounter HU_SET = "counter1";
Образовавшиеся после размещения и трассировки "канала" констрейны сохранила в kanalrpm.ucf в виде RLOC. Про размещение счетчиков и аккумуляторов там тоже указано. В конце файла тоже
INST "/*/" HU_SET = "kanal";
Сделала из этого файл kanalrpm.ngc.
Теперь размещаю самый верхний уровень, в top_level.ucf файле пишу
INST "XKANAL0" HU_SET = "KANAL_0";
INST "XKANAL1" HU_SET = "KANAL_1";
После размещения и трассировки получается, что примитивы расположены, где надо, а RPMы низкого уровня разбросаны по кристаллу.
Как мне их собрать в выбранную область?