Печатные платы, передаваемые в программу SPECCTRA для размещения компонентов, должны иметь замкнутый непрерывный контур Board Outline. На ПП должны быть произвольным образом предварительно помещены все компоненты внутри или вне этого контура с указанием электрических связей. Часть компонентов, например разъемы, могут быть зафиксированы. Предварительно проложенные и не зафиксированные трассы в результате автоматического размещения компонентов в программе SPECCTRA уничтожаются.
Дальнейшее размещение компонентов выполняется в ручном или интерактивном режиме, задавая последовательность команд с помощью меню (см. табл. 7.3) или пиктограмм панели инструментов, перечисленных в табл. 7.4.
Таблица 7.4. Пиктограммы команд режима размещения компонентов
Команда |
||
Режим размещения компонентов (File>Placement Mode) |
||
Режим трассировки проводников (File>Routing Mode) |
||
Перечерчивание экрана (View>Repaint) |
||
Масштабирование изображения на полный экран (View>All) |
||
Список слоев (View>Layers) |
||
Отчет о плате (Report>Place Status) |
||
Режим измерения расстояний (Measure Mode) |
||
Режим выбора компонентов (Select Component Mode) |
||
Переключение режимов фиксации/освобождения компонентов (Edit>[Un]Lock Components Mode) |
||
Режим перемещения компонентов (Move Comp Mode) |
||
Эквивалентная команда |
||
Режим проталкивания компонентов (Push Mode Comp) |
||
Режим поворота компонентов (Pivot Comp Mode) |
||
Режим переноса компонента на другую сторону платы (Flip Comp Mode) |
||
Режим перестановки двух любых компонентов (Trade Comp Mode) |
||
Режим выравнивания двух или более компонентов (Align Comp Mode) |
||
Сценарий автоматического размещения записывается в так называемый Do-файл. Его составление в ручном режиме процедура довольно утомительная. Легко сделать много ошибок. Удобнее запустить программу SPECCTRA с простейшим Do-файлом и затем перейти к пошаговому выполнению команд размещения компонентов, задавая их с помощью управляющей оболочки SPECCTRA и заполняя стандартные формы. Приведем пример простейшего Do-файла размещения компонентов:
# Wed Feb 09 00:38:25 (Дата создания)
# Initialize units and grid (Инициализация системы единиц и сетки размещения) unit mil
grid place 50.0
place rule pcb (spacing 50.0) (Задание зазоров размещения)
# Use component origins (not centroids) (Использование точек привязки компонентов) change work_origin origin (Изменение начала койдинат)
# Place the large components (Размещение больших компонентов) initplace
# Place the small components (Размещение малых компонентов) autodiscrete (type small)
# Reduce distances (interchange/rotate) (Уменьшение расстояний между компонентами) interchange 10 (type all)
autorotate (type all)
# Create placement data file and status report (Создание файлов результатов размещения и отчета о размещении) write session $\ASP.ses report place_status $\ASP.sts
В данном примере установлена сетка размещения 50 мил и минимальное расстояние между компонентами также 50 мил. При необходимости все данные этого файла можно отредактировать.
Если в командной строке запуска SPECCTRA включена опция Quit After Do File, то после завершения выполнения команд Do-файла сеанс SPECCTRA автоматически завершается. Если же эту опцию выключить, то можно продолжить размещение или трассировку вручную или, скорректировав Do-файл, снова в автоматическом режиме.
Протокол команд размещения компонентов заносится в Did-файл, пример которого приведен ниже:
# Cadence Design Systems, Inc.
# SPECCTRA ShapeBased Automation Software V9.0.3 made 2000/03/24 at 16:48:18
# Command Line Parameters #
# Design File Name : E:\SPECCTRA\TUTORIAL\Asp.dsn
# Initialization options:
# -do E:\ SPECCTRA\TUTORIAL\Asp.do
# Colormap File Name: color.std
# Status File Name: E:\ SPECCTRA\TUTORIAL\monitor.sts
# Wires File Name : design.w unit mil
grid place 50.0
place_rule pcb (spacing 50.0)
change work_origin origin
initplace
autodiscrete (type small)
interchange 10 (type all)
autorotate (type all)
write session $\ASP.ses
report place_status $\ASP.sts
help Contents (file place) (no_confirm)
Редактируя файл протокола, из него можно сделать Do-файл для следующего сеанса работы, загрузив его по команде File>Execute Do File.
Основная сложность процедуры автоматического размещения компонентов переносится на задание правил размещения. Компоненты в автоматическом режиме размещаются на одной или на двух сторонах ПП. Программа AutoPlace распознает шины и размещает компоненты с учетом удобства их трассировки. Возможно также автоматическое группирование компонентов в кластеры с учетом их электрических связей. Кластеры автоматически размещаются в соответствующие комнаты. Возможно также создание кластеров на основе расщепления слоев питания: компоненты, подключенные к «аналоговой земле» относят к одному кластеру и размещаются в одну комнату, расположенную над соответствующим слоем металлизации, а подключенные к «цифровой земле» — в другую (кластеры и комнаты определяются пользователем). Для уменьшения общей длины проводников производится автоматическая перестановка логически эквивалентных выводов и секций компонентов. Задание жесткого взаимного расположения больших и малых компонентов позволяет автоматически размещать разделительные конденсаторы и нагрузочные резисторы вместе с соответствующими интегральными схемами. Предусматривается расположение планарных компонентов друг под другом на противоположных сторонах ПП.
Автоматическое размещение компонентов используется в основном при разработке цифровых устройств, состоящих из большого количества однотипных компонентов (ячейки памяти, счетчики, сдвигающие регистры и т.п.). В остальных проектах используется интерактивное или ручное размещение. При этом возможности программы SPECCTRA больше, чем у OrCAD Layout, и работать с ней удобнее.