Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: orcad ренумерация refdes из схематика
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Cadence
krux
Коллеги, подскажите.

после загрузки нетлиста из capture в pcb editor возможно ли перенумеровать элементы в схематике, с сохранением трассировки pcb-шника?
или ренумерация возможна только в pcb editor, с последующим back-annotation?
суть проблемы: если после ренумерации в capture я пытаюсь загрузить нетлист в плату - получаю улетевшие компоненты на тех местах, где были старые refdes-ы.


зы. вообщето я нашёл вариант с place replicate create, который по DeviceType находит нужные refdes-ы, но мне это кажется сликом.... через задницу
Uree
Я не придумал, как нормально в связке Оркад-Аллегро сделать ренумерацию. В связке DE HDL - Allegro PCB нет проблем, а тут... непонятно.
Может у кого есть решение вопроса? Мне бы тоже пригодилось.
Alexander E
В Capture в меню Tools - Create netlist оставляете только птичку Create PCB Editor netlist. А в PCB Editor выполняете File - Import - Logic. Проверте, стоит ли опция Place Changed Component - Always.
Uree
И что в итоге? Просто генерится package и втягивается в РСВ. А где собственно _ренумерация_ схемы? Причем такая, чтобы компоненты остались на своих местах, а изменились бы только их рефдезы. Собственно речь-то именно об этом идет...
Alexander E
Юрий, нумерация через меню Tools - Annotate. Повторная нумерация и повторная передача нетлиста на плату не приведут к исчезновению компонентов на плате. По крайней мере у меня ничего не исчезает. А изменяются только рефдезы. Поставте последний хотфикс 25 на всякий случай.
Uree
Александр, спасибо, об аннотации я знаю. Другое дело, что не так просто и радужно все, как Вы пишете.
Если при перенумерации рефдезы не изменились - все остается на своих местах.
Если компонент получил новый рефдез(был С456, а получил С22), а такой рефдез уже был на плате раньше(где-то уже этот С22 стоит), то этот компонент(С456) окажется на месте, где раньше был этот рефдез(на месте С22).
Если компонент был на плате, а после ренумерации получил номер, которого на плате до этого не было - он вылетит с платы вообще и его придется размещать еще раз.

Все это не смертельно, пока такие изменения единичны или трассировки еще нет. А когда таким образом была перенумерована схема около 3000 компонентов(плата уже готова была!) и содержимое 12 идентичных модулей перемешалось между собой, тут и вылезла эта проблема в полный рост...
manunya
А я нашла другой способ. Не знаю насколько страшен и тернист мой пусть, но работает по крайней мере с неиерархическими проектами.
1. Копирую в табличку существующие рефдесы.
2. Делаю ренумерацию в схеме.
3. В Екселе формирую файл rename_file.txt с двумя столбцами был рефдес - стал рефдес (кажется, по координатам можно сортировать - они же не меняются).
4. В аллегро использую утилитку SPB_16.5\tools\pcb\bin\reftxt.exe. Или командной строкой:
>> reftxt rename_file design_name output_design_name
или можно файл запустить из папки проекта.
5. Для синхронизации схемы и платы в оркаде запускаю Create netlist.
leom
Цитата(manunya @ Jul 18 2012, 14:23) *
Не знаю насколько страшен и тернист мой пусть

Скорее всего, он лучший.
SSerge
Цитата(manunya @ Jul 18 2012, 17:23) *
А я нашла другой способ.

Цитата(leom @ Jul 18 2012, 22:22) *
Скорее всего, он лучший.

Я бы даже сказал "идеологически правильный".
У других САПР есть такая вещь, как уникальный идентификатор, по которому можно сопоставить компоненты на плате и в схеме даже при не совпадающих рефдез. Из-за их отсутствия и возникает такая проблема.

На третьем шаге предложенного метода в качестве такого идентификатора фактически предлагается использовать координаты, которые тоже (почти) наверняка уникальны.
Вот только хорошо бы этот процесс тоже автоматизировать. Например, сделать "Export properties" до и после аннотации и потом скриптом из этих двух файлов сделать rename_file.txt.

С тех пор как Capture научили исполнять tcl-скрипты стало возможно многое. Например, у каждого компонента создать ещё одно свойство (properties), сохранить в нём текущий рефдез, потом сделать аннотацию и другим скриптом достать из свойств пару новый/старый рефдез. Или просто опять-же выгрузить свойства в файл и в Екселе достать оттуда два интересующих нас столбца.
Old1
Вот моя вариация на обсуждаемую тему:
-Открываем плату в PCB Editore и загружаем и запускаем на выполнение skill-программку pickdata_custom.il (подробности смотрим в шапке файла), в результате в папке allegro появится файл [designname].swp;
затем в Capture открываем проект и выполняем: Tools -> Backannotate-> выбираем закладку "Layout" !!!! -> указываем путь к файлу [designname].swp -> жмем OK.
Смысл данной процедуры в извлечении refdes-ов и (другой информации) назначенных компонентам на плате и импорт в схему (в Capture). В схеме refdes-ы из платы пропишутся компонентам в виде пользовательского свойства "PCB refdes".
(Файл pickdata_custom.il получился в результате правки pickdata.il в оригинальном файле вместо свойства PCB refdes присутствовало свойство PCB Footprint, надеюсь автор не обидится).
-в Capture перенумеровываем компоненты, в результате для каждого компонента в свойстве "Reference" имеем новый refdes, а в свойстве "PCB refdes" - "старый" refdes который этот же компонент имеет на плате;
-создаем файл rename_file.txt для утилиты reftxt.exe : в capture выполнить Tools -> Bill of Materials... -> в строку "Combined property string" вписываем {PCB refdes}\t{Reference} , ставим галку "Place each part entry on separate line", ставим галку Report "View Output", вводим имя файла, например rename_file.txt-> OK;
-если все сделано верно в текстовом редакторе откроется файл rename_file.txt с шапкой и двумя столбцами refdes-ов, шапку удаляем, сохраняем файл и подсовываем его утилите reftxt.
Это работает и с иерархическими дизайнами.Нажмите для просмотра прикрепленного файла
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.