Ускоренное проектирование печатных плат за счет разделения проекта между несколькими разработчиками
В предыдущих статьях мы говорили о некоторых способах, которые предлагает САПР Cadence Allegro в так называемом параллельном проектировании, когда работу над проектом выполняют несколько инженеров одновременно. Напомню, что речь шла об операции sub-drawing, выполняемой на той или иной стадии проекта, когда происходит «вырезание» области печатной платы (команда Export Sub-drawing). Этой командой можно вычленить фрагмент компоновки или трассировки, а иногда и все вместе, чтобы потом занести данный фрагмент в так называемую «мастер-плату», сохраняя при этом наименования компонентов и сигналов. В некоторых случаях можно внести в плату расположение компонентов из старой версии платы, а потом присвоить новые имена компонентам согласно новой схеме. Данная операция часто достаточно трудоемка, занимает много времени для определения элементов экспорта в файл sub-drawing, да и границы фрагмента в таком случае подчас трудно определить.
Выполнение команды Sub-drawing оправданно, если вы хотите поручить сотруднику выполнить компоновку какого-то независимого фрагмента согласно чертежу (например, BGA и его сопутствующих элементов), а потом внести этот фрагмент на поле «основной» платы. Также эта функция применяется, если вы берете фрагмент из другого проекта с тем, чтобы сохранить выполненную ранее компоновку и трассировку.
Редактор печатных плат Allegro предлагает еще одно весьма эффективное решение для параллельного проектирования — функцию Design Partition (разделения проекта). Design Partition — это встроенная среда в платформе Allegro, которая позволяет инженерам-разработчикам трудиться одновременно над одним проектом независимо друг от друга, опираясь на единую физическую базу данных. При такой работе у каждого инженера есть своя, присвоенная «мастером» (ведущим проекта) часть логической структуры для компоновки и трассировки и единая для всех, неизменяемая база данных по ограничениям физических, электрических и других параметров для всей платы в целом. Использование функции Design Partition возможно только начиная с лицензии Allegro PCB Performance Option (рис. 1).
Работает функция разделения проекта следующим образом. Ведущий инженер проекта (мастер-дизайнер) разделяет проект на несколько фрагментов, используя физические границы для каждого фрагмента. Каждый такой фрагмент выделяется в отдельный файл, и инженер работает в нем независимо. В любой момент времени мастер-дизайнер может обновить каждый из фрагментов и посмотреть прогресс в работе над выделенным фрагментом. В конце работы каждый файл импортируется в печатную плату «мастера», и таким образом происходит объединение всех фрагментов печатной платы.
Границы фрагмента определяют область платы по осям Х и Y, а по оси Z фрагмент ограничения не имеет. Фрагменты не могут пересекаться или быть вложенными один в другой. Для того чтобы создать фрагмент, необходимо в меню редактора выбрать команду Design Partition и затем команду Create Partition (рис. 2).
После этого правой кнопкой мыши вызываем подменю и в нем выбираем необходимую нам опцию определения границы фрагмента. Это может быть либо прямоугольник, либо полигон различной формы (рис. 3).
В результате мы получим один или несколько фрагментов печатной платы с определением границы и имени фрагмента (рис. 4).
Текущее состояние заданных фрагментов отслеживается в таблице Workflow Manager (управление фрагментами) (рис. 4). В таблице можно увидеть параметры заданных фрагментов: их положение в дереве проекта, статус, имя пользователя и т. д. (рис. 5). В пределах границы фрагмента можно задать, в каких слоях «мастер-дизайнер» дает разрешение работать. Это выполняется установкой слоев в колонках Start Layer и Stop Layer.
Для того чтобы экспортировать созданный фрагмент, надо выделить его в таблице управления и нажать на кнопку Export. После завершения выполнения команды статус фрагмента изменится на Exported (рис. 6). Для удобства можно изменять название фрагмента на более подходящее. Папка с созданным фрагментом находится в корневой директории проекта, то есть в том же месте, где наша «мастер-плата». Мастер-дизайнер может также организовать связь с помощником посредством электронной почты и сообщить ему о том, что для него создан фрагмент и что инженер может приступать к работе (кнопка Mail).
Итак, инженер может приступать к работе в созданном фрагменте. Открыв его так же, как и любой проект в редакторе печатных плат Allegro, можно заметить, что он подсвечен более яркими цветами, чем остальное поле платы. Это говорит о том, что вы сможете работать только в пределах выбранного фрагмента (рис. 7).
Напомним, что в пределах фрагмента инженер-конструктор может выполнять те же действия, что в обычном редакторе (двигать компоненты, заниматься трассировкой и т. д.). В момент, когда инженер, например, в процессе компоновки выходит за пределы фрагмента и желает поставить компонент вне заданных границ или попробует проложить там проводники, программа не позволит этого сделать, сообщив об ошибке (рис. 7, 8).
В «мастер-плате» объекты, находящиеся внутри экспортированного фрагмента, недоступны для редактирования до того момента, пока инженер, закончив работу над фрагментом, не сообщит «мастеру» о том, что можно импортировать фрагмент в «мастер-плату».
Импорт производится аналогичным способом. Через команду Design Partition→ Flow Manager вызываем таблицу управления фрагментами, выбираем нужный фрагмент и нажимаем кнопку Import (рис. 9).
Статус фрагмента можно посмотреть, обратившись к отчету по фрагментам через команду Report→ Design Partition Report в меню Тools редактора (рис. 10).
Простота определения нескольких фрагментов для одного проекта, легкость управления экспортом и импортом фрагментов делают процесс параллельного проектирования в редакторе печатных плат Allegro удобным и эффективным для отделов разработки предприятий любого размера. Причем параллельная работа над проектами возможна, даже если некоторые члены команды разработчиков располагаются удаленно от главного офиса.
Показанная в статье функциональность САПР печатных плат «высвечивает» только одну из огромного множества удобнейших функций этого продвинутого пакета проектирования верхнего уровня.