|
Не получается использовать module, design reuse |
|
|
|
Mar 3 2011, 11:30
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Есть схема с иерархическими блоками (в менторовском DxD). Генерится нетлист. Импортируется в аллегро. Появляются Module Instances. Все хорошо, но при установке этого самого Instance на плату не происходит привязка компонента из нетлиста к символу из module (пробовал несколько вариантов, сейчас мучаю модуль из одного резистора и двух иерархический пинов, для простоты). Возникает ошибка Код Component not found for symbol <имя корпуса> И далее, как следствие Код Logic syncronization failed. Continuig. В результате работать невозможно (не подгружается нетлист модуля). Встает вопрос. Как аллегро ищет соотвествие между символами в модулях и реальными компонентами в схеме? По-идее, написано, что это делается через свойства REUSE_NAME и REUSE_ID. Проверял нетлист вручную, для каждого instance в нем правильно прописаны эти свойства и их значения. Т.е. для двух разных instance резисторов есть одинаковые ID и NAME, отличаются они только Refdes-ом. Обновлял символы. Та же ошибка, только в окошке лога. Как быть?
|
|
|
|
|
 |
Ответов
|
Mar 3 2011, 14:26
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Old1 @ Mar 3 2011, 17:15)  REUSE_ID - у instance-в должны быть разные. Как же так? Вот цитата: Цитата REUSE_ID The REUSE_ID property, automatically attached to a component, allows for the correct assignment of logic within a module instance. The REUSE_ID property is a number that uniquely identifies each symbol and component within a module. It is used to reconnect reference designators when a module is used in a design, thus allowing for the correct assignment of logic within a module instance. The property is stored within the module file and the Allegro PCB Editor or Allegro Package Designer design file that represents the module information, and is backannotated to the schematic that represents the module's logic.
Note: Because this property is for Cadence internal use only, you must not edit it.
REUSE_INSTANCE The REUSE_INSTANCE property, assigned on the reuse block when instantiating it in Allegro Design Entry HDL, uniquely identifies the instance of the reuse block. The PCB Editor uses the REUSE_INSTANCE property to differentiate among multiple instances of a reuse module. Unlike other schematic properties, the REUSE_INSTANCE property, defined on the topmost block, wins in the case of nested blocks Reuse_id мне создает сам pcb editor, когда я выполняю команду create module. Далее делается backannotate, и reuse_id без изменений попадает в схему. Там я назначаю вручную на каждую instance своё instance_name и снова отправляю в плату. Получаю столько instance, сколько и указал, с теми же именами. Но без компонентов (при установке появляются только символы). Более того, компоненты тоже есть, и их моно выставить вручную, и они даже помечены буквой M на иконках. И если их выставить рядом с модулем, а потом сделать show element, поставив галочку groups, то выделяется весь модуль (с "пустым" символом) и этот компонент (!). Какой-то бред... Вы не могли бы привести кусок нетлиста, в котором точно работают модули?
|
|
|
|
|
Mar 3 2011, 15:03
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(vitan @ Mar 3 2011, 16:26)  Как же так? Вот цитата:
Reuse_id мне создает сам pcb editor, когда я выполняю команду create module. Далее делается backannotate, и reuse_id без изменений попадает в схему. Там я назначаю вручную на каждую instance своё instance_name и снова отправляю в плату. Получаю столько instance, сколько и указал, с теми же именами. Но без компонентов (при установке появляются только символы). Более того, компоненты тоже есть, и их моно выставить вручную, и они даже помечены буквой M на иконках. И если их выставить рядом с модулем, а потом сделать show element, поставив галочку groups, то выделяется весь модуль (с "пустым" символом) и этот компонент (!). Какой-то бред...
Вы не могли бы привести кусок нетлиста, в котором точно работают модули? По поводу теории Design reusa точно сразу не отвечу, уже подзабыл, нужно почитать. Но на практике для каждого instance схемный редактор (при аннотации и создании нетлиста) помимо прочих свойств генерит свойства REUSE_ID и REUSE_PID. REUSE_PID у всех "потомков" одинаковый -такой как REUSE_ID у родителя . REUSE_ID "потомков" все разные, если они пересекаются, то начинаются косяки... Прилагаю один из файлов нетлиста который генерит Capture, и скриншот редактора свойств, где видны REUSE_ID instanse. Крайний справа столбец (R2) это "родитель", остальные -"потомки" -
pstxprt.rar ( 2.93 килобайт )
Кол-во скачиваний: 83
|
|
|
|
Сообщений в этой теме
vitan Не получается использовать module Mar 3 2011, 11:30   vitan Спасибо за наводку. Компоненты встали. Только как-... Mar 4 2011, 07:58    Old1 Цитата(vitan @ Mar 4 2011, 09:58) Спасибо... Mar 4 2011, 09:48 vitan И?
Вот Ваши же слова.
Цитата(Old1 @ Mar 3 20... Mar 4 2011, 10:37 Old1 Цитата(vitan @ Mar 4 2011, 12:37) У Вас э... Mar 4 2011, 15:03  vitan Цитата(Old1 @ Mar 4 2011, 18:03) Для чист... Mar 4 2011, 15:12   Old1 Цитата(vitan @ Mar 4 2011, 17:12) Вот... Mar 4 2011, 16:47    vitan Цитата(Old1 @ Mar 4 2011, 19:47) Я особых... Mar 4 2011, 21:09     Old1 Цитата(vitan @ Mar 4 2011, 23:09) Я тоже.... Mar 5 2011, 14:26
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|