Система SPECCTRA представляет собой принципиально новый класс систем проектирования печатных плат, в основе алгоритмов которых лежат так называемая бессеточная техника размещения компонентов и трассировки проводников, основанная на хранении и обработки информации о формах объектов (Shape-based technology). Ниже будут подробнее описаны основные идеи, положенные в основу алгоритмов функционирования системы SPECCTRA.Запуск системы SPECCTRA возможен как из меню команды Route/Autorouters или Place/ Autoplacement графического редактора печатных плат P-CAD PCB, так и автономно. Меню запуска системы SPECCTRA с помощью команды Route/Autorouters представлено на рис. 1.
Рис. 1
Запуск системы SPECCTRA из меню команды Route/Autorouters
Особенностью системы SPECCTRA является необходимость составления задания на автоматическое размещение и трассировку с помощью специального управляющего файла, т.н. Do- файла. Следует заметить, написание Do- файла весьма сложный и муторный процесс, который в некоторой степени облегчается наличием в меню Route/Autorouters (Place/ Autoplacement) P-CAD PCB мастера создания управляющего файла Do wizard. Группа кнопок Do File (рис. 1) предназначена для создания и редактирования управляющего файла системы SPECCTRA. Для ручного редактирования Do- файла предназначена кнопка Edit as text, вызывающее окно текстового редактора, показанное на рис. 2.
Рис. 2
Окно редактора управляющего файла.
Следует заметить, что возможности данного редактора крайне ограничены (поддерживаются только стандартные клавиатурные команды Windows), да и ручное редактирование, особенно на этапе освоения системы ведет к появлению массы ошибок в задании для авторазмещения или автотрассирвки, поэтому гораздо удобнее и безопаснее использовать мастер создания управляющего файла DO Wizard, вызов которого выполняется при помощи кнопки DO Wizard. Окно мастера создания управляющего файла представлено на рис. 3.
Рис. 3
Окно мастера создания управляющего файла.
Для начала редактирования управляющего файла удобно создать управляющий файл по умолчанию, а затем отредактировать его в соответствии с имеющимся опытом и задачами проекта.После создания управляющего файла, запускают программу SPECCTRA.
Собственно язык описания задания системы SPECCTRA описан в документации, ниже приведем его основные элементы.При размещении компонентов принята следующая иерархия объектов
При автотрассировке печатной платы иерархия объектов несколько иная
Как видим, самым верхним уровнем иерархии является печатная плата.Иерархическая организация позволяет определить правила размещения и трассировки с высокой степенью детальности с одной стороны, не теряя общих для всего проекта установок.При описании языка используются соглашения нормальной формы Бэкус-Науэра, знак ::= обозначает "определен как", дискрипторы, представляющие собой алфавитные, числовые, или алфавитно-цифровые символьные строки, типа дискрипторов значения, имени файла обозначаются в угловых скобках <>. Фигурные скобки {} указывают, что заключенный в них объект может быть использован несколько раз. Круглые скобки используют для обязательного набора объектов. Квадратные скобки [] используют для обозначения возможного (опционного) множества объектов. Вертикальная черта | - выбор по "ИЛИ".Структура файла задания (Do-файла) приведена ниже. Минимально должны быть включены в файл пять секций: pcb, structure, placement, library, network. Все остальные секции являются необязательными. Структура типичного Do -файла представлена в следующем фрагменте. Помимо обязательных секций присутствуют дополнительные секции. Ниже в алфавитном порядке приводятся элементы языка описания заданий. Правило smd_via_same_net определяется как минимальный зазор между поверхностной контактной площадкой и переходным отверстием, принадлежащих одной цепи, как показано на рис. 4. Рис. 4 Правило via_via_same_net определяется как минимальный зазор между двумя переходными отверстиями, принадлежащими одной цепи и в одном слое. (Рис. 5). Рис. 5 Правило buried_via_gap определяет зазор между глухими межслойными переходными отверстиями. Зазор buried_via_gap может быть определен в файле проекта с использованием правил определения зазоров. Кроме того, правило buried_via_gap может быть определено в файле задания (do-файле) или с использованием среды программы SPECCTRA.Использование правила позволяет предотвратить появление соосных глухих переходных отверстий,, так, как это показано на рис. 6. Рис. 6 Для задания зазоров между переходными отверстиями, расположенными в одном слое, используется правило via_via. (рис. 7) Рис. 7 Опция layer_depth позволяет задать слои, для которых определено правило buried_via_gap (рис.8). Рис. 8 Правило antipad_gap позволяет задать зазоры между вырезами во внутренних слоях металлизации и металлизированным отверстием. Пример определения этого правила:(pcb...(structure...(rule (clearance 0.2 (type antipad_gap)))...)) Правило pad_to_turn_gap позволяет задать минимальное расстояние между контактной площадкой и первым изломом проводника (рис.9) Рис. 9 Правило smd_to_turn_gap определяет минимальное расстояние между поверхностной контактной площадкой и первым изломом проводника(рис.10) Рис. 10 Правило drill_gap определяет зазор между сквозными отверстиями на слое сверления, отверстия естественно должны быть должны круглыми и их диаметры определены. Параметр sequence_number определяет последовательный номер барьера. Приведем пример задания барьера трассировки (keepout (rect s2 0.560 0.909 1.739 0.589))(keepout (rect s1 0.992 1.477 1.319 0.170)) На рис. 11 иллюстрируется этот пример Рис. 11 Возможны сигнальный, питания, смешанный тип и перемычка.На рис. 12 приведен пример слоя смешанного типа. Рис. 12 На рис. 13 приведена зависимость весового коэффициента взаимного влияния параллельных цепей от величины расстояния между ними Рис. 13 На рис.14 показаны компоненты с вертикальной и горизонтальной ориентацией Рис. 14 На рис. 15 приведена зависимость коэффициента влияния от зазора для смежных слоев Рис. 15 На рис. 16 приведены барьеры трассировки, определенные вышеупомянутым способом Рис. 16 При выполненииразмещения компонентов нобходимо выполнить следующие основные действия- установить правила размещения;- разместить критичные компоненты, привязанные к конкретному местту платы;- разместить большие компоненты (Large);- разместить "маленькие" компоненты (Small). На рис. 17. приведен экран системы SPECCTRA в режиме размещения компонентов Рис. 17 Для размещения компонентов используются команды меню Autoplace. Перед выполнением размещения в меню File выбирают режим размещения Placement Mode.Настройка правил размещения выполняется с помощью команды Autoplace/Setup.Меню этой команды приведено на рис.18. Рис. 18 В этом меню можно задать основные правила авторазмещения компонентов., такие как сетка и зазор при размещеннии, скорость размещения, точки привязки при выравнивании, ориентация и т.п.Затем производят предварительное размещение компонентов, имеющих жесткую привязку, таких как соединители, ралиаторы и т.п.Для того, чтобы видеть позиционные обозначения таких компонентов используют команду View/ Labels. Меню этой команды приведено на рис. 19. Рис. 19 С ее помощью включают видимость позиционных обозначений и выбирают сторону платы, на которой они размещены.Затем нажимают правую кнопку мыши и переходят в меню интерактивного размещения компонентов, представленное на рис.20. Рис. 20 Для размещения компонента в заданные координаты используется команда интерактивного меню PlaceComponents / XY Location.Для размещения компонентов в заданном заранее порядке применяют команду PlaceComponents /Place List Mode.Выполнив предварительное размещение критичных компонентов, производят их фиксацию, нажимая пиктограмму Lock Component. Кроме того фиксацию и освобождение компонентов можно выполнить, используя команды Edit/[Un]Lock Components and Edit /[Un]Lock Components Mode.После того, как наиболее критичные компоненты размещены и зафиксированы, выполняют автоматическое азмещение больших компонентов с помощью команд Autoplace/ InitPlace Large Components, Autoplace/ Interchange Components.Меню этих команд приведены на рис. 21 и 22. Рис. 21 Рис. 22 С помощью этих команд выполняют размещение, а затем перестановку выбранных компонентов с заданными условиями ориентации, положения и т.д.Задание областей запрета трассировки производят с помощью команды Define/Keepout.Размещение малых компонентов выполняется связанно с большими компонентами, причем система SPECCTRA "обучается" способам размещения. Для этого вручную размещабт фильтрующую емкость как можно ближе к выводам питания, которые можно увидеть с помощью команды View/Label. Затем выделяют микросхему и конденсатор и применяют команду Autoplace / Small Comp Pattern / Learn. Затем выделяют несколько микросхем и применяют команду Autoplace / Small Comp Pattern / Apply to Selected.Кроме того, команда Autoplace / InitPlace Small Components позволяет выполнить полностью автоматическое размещение малых компонентов. Меню этой команды при размещении всех малых компонентов приведено на рис. 23. Рис. 23 Для выравнивания компонентов может быть использована команда Align Mode меню интерактивного размещения.Правила размещения компонентов удобно задавать с помощью команд меню Rules, либо попытаться описать в файле задания. Наверное наиболее удобным является задание параметров в диалоговом пошаговом режиме с последующим сохранением Did-файла и его редактированием при приобретении опыта.Стоит заметить, что автоматическое размещение компонентов с помощью программы SPECCTRA значительно совершенне, чем в других программах и в принципе, что позволяет использовать этот режим для реальных проектов. Экран системы SPECCTRA в режиме автоматической трассировки компонентов приведен на рис. 24 Рис. 24 Как уже отмечалось, возможности бессеточной технологии позволяют задать детальные правила для трассировки практически всех типов компонентов с учетом большого числа ограничений.Поскольку все объекты на плате имеют определенный уровень иерархии, то возможно задание раздельных правил трассировки одной и той же цепи для разных объектов, тем самым есть возможность трассировки одной цепи сегментами разной ширины.Правила трассировки могут задаваться с помощью языка описания заданий, либо с использованием интерактивных диалоговых команд меню Rules.Собственно автотрассировка выполняется с использованием команд меню Autoroute. Предварительное задание параметров трассировки осуществляют по команде Autoroute / Setup, меню которой приведено на рис.25. Рис. 25 Перед трассировкой всех цепей производят предварительную трассировку ответственных цепей. Команда Autoroute/ Pre Route/ Bus Routing (рис.26) позволяет выполнить предварительную трассировку шин. В меню этой команды выбирается возможная ориентация трассировки, а также ее защита во время выполнения других проходов трассировки Рис. 26 Команда Autoroute/Pre Route/ Fanout (рис.27) позволяет произвести трассировку стрингеров для планарных контиактных площадок. Рис. 27 Предварительное разбиение сегментов с добавлением переходного отверстия производится с помощью команды Autoroute/ Pre Route/ Seed Vias, размещение перемычек и навесных проводников - командой Autoroute /Pre Route/Wirebonds.Трассировка основной массы цепей выполняется с помощью команды Autoroute/Route. На рис. 28 приведено меню этой команды. Рис. 28 В этом меню задается число проходов трассировки, необходимость генерации контрольных точек, работа со стрингерами, сетки переходных отверстий и трассировки, сглаживание углов.Удаление избыточных изломов и переходных отверстий после завершения трассировки выполняют с помощью команды Autoroute /Clean.Оптимизацию трассировки и улучшение внешнего вида и технологичности платы производится чс помощью команд меню Autoroute/Post Route. С помощью этихъ команд возможно удалить лишние изгибы проводников без их разрыва (Critic), Удалить проводники для ликвидации конфликтов (Filter Routing), создать контрольные точки (Testpoints), а также выполнить симметрирование сегментов, раздвинуть проводники при наличии свободного места и т.п. Кроме того, щелчок правой кнопкой мыши в поле проекта вызывает меню интерактивной трассировки, приведенное на рис.29. Рис. 29 Как видим из меню, имеются богатые возможности по заданию ориентации, ширины проводника, вводу переходныхотверстий, спрямлению трас, трассировке парных цепей, копированию и спрямлению проводников и т.п. При проведении начальных этапов трассировки автотрассировщик создает трассировку с большим числом конфликтов, которые разрешаются в процессе трассировки. Конечно, ограниченный объем книги не позволяет дать полное описание методов работы в системе SPECCTRA, однако опытный пользователь в состоянии освоить ее самостоятельно. Источник: ЭлекТрейд-М
Определение зазора между переходным отверстием и планарной контактной площадкой одной цепи smd_via_same_net
Определение зазора между двумя переходными отверстиями одной цепи via_via_same_net
Соосные глухие переходные отверстия.
Правило via_via
Правило buried_via_gap
Правило pad_to_turn_gap.
Правило smd_to_turn_gap.
Барьеры трассировки.
Слой смешанного типа.
Зависимость весового коэффициента взаимного влияния параллельных цепей от величины расстояния между ними
Ориентация компонентов.
Зависимость коэффициента влияния от зазора для смежных слоевРазмещение компонентов в системе SPECCTRA
Экран системы SPECCTRA в режиме размещения компонентов
Меню команды команды Autoplace/Setup
Меню команды View/Labels
Меню интерактивного размещения компонентов.
Меню команды Autoplace/ InitPlace Large Components
Меню командыAutoplace/ Interchange Component.
Меню команды Autoplace / InitPlace Small Components/AllАвтоматическая трассировка плат в системе SPECCTRA
Экран системы SPECCTRA в режиме автоматической трассировки компонентов.
Меню команде Autoroute / Setup.
Меню команды Autoroute / Pre Route/ Bus Routing
Меню команды Autoroute/Pre Route/ Fanout.
Меню команды Autoroute/Route
Меню интерактивной трассировки.