СЕРИЯ СИСТЕМЫ ПРОЕКТИРОВАНИЯ .М. ЕЛШИН
СПРАВОЧНОЕ РУКОВОДСТВО ПО РАБОТЕ С ПОДСИСТЕМОЙ
еат
Т83
lei 183
«.
.ез
Ю. М. Ёлшин
Справочное .
руководство по работе с подсистемой SPECCTRA в PCAD 2ООО/2ОО1
Москва СОЛОН-Р ^ 2002
Ёлшин Ю.М. Справочное руководство по работе с подсистемой SPECCTRA в PCAD 2000. — М.: СОЛОН-Р, 2002. — 272 с.: ил. ISBN 5-93455-154-Х
В настоящем руководстве приведены сведения о структуре и возможностях системы автоматизированного проектирования печатных плат Specctra. Эта система включена в качестве подсистемы для автоматических процедур размещения и трассировки в систему проектирования печатных плат PCAD, 2000 (PCAD-2001), получившую широкое распространение. В книге даны общие сведения о подсистеме Specctra, интерфейсе этой системы при ее запуске из PCAD, приведено описание синтаксиса и семантики команд для размещения и трассировки плат. Книга предназначена для инженерно-технических работников и студентов технических университетов, работающих в области автоматизации проектирования электронной аппаратуры.
Издательство «СОЛОН-Р» 103001, г. Москва, а/я 82 Телефоны: (095) 254-44-10, 252-36-96, 252-25-21 E-mail:
[email protected] Приглашаем к сотрудничеству авторов — специалистов в области компьютерных технологий E-mail:
[email protected] ISBN 5-93455-154-Х
© Макет и верстка СОЛОН-Р, 2002 © Ёлшин Ю.М.
Ввепение В последнее время система PCAD 2000 получила широкое распространение, как доступная и достаточно мощная среда разработки печатных плат различных типов. В продаже появилась соответствующая техническая литература, особенно следует отметить книги В.Д. Разевига «ACCEL EDA 15.0 (P-CAD 2000)», издательства «СОЛОН-Р» и А.С. Уварова «P-CAD 2000 ACCEL EDA Конструирование печатных плат. Учебный курс», издательства «Питер». Приведенные в этих книгах материалы, посвященные системе автоматизированного проектирования, достаточно подробно знакомят с методикой использования этой системы. Вместе с тем, общий объем книг не дал возможности рассмотреть более подробно вопросы автотрассировки печатных плат в этой системе и, в частности, такой важный вопрос как синтаксис и семантика файлов DO подсистемы Specctra. Вместе с тем, именно содержание этих файлов, определяет стратегию работы подсистемы и, следовательно, позволяет эффективно использовать большие возможности, заложенные в программное обеспечение автотрассировщика. Целью данного пособия является как раз устранение данного недостатка. Приведенные ниже данные позволят пользователям системы подробно ознакомиться с командами автоматической трассировки SPECCTRA, с их синтаксисом и семантикой, и таким образом, позволят более успешно применять в практической работе мощные программные средства этой подсистемы. Отметим также, что в системе PCAD 2000 предусмотрена возможность использования подсистемы авторазмещения компонентов на печатной плате, однако в практике конструирования печатных плат эта подсистема используется достаточно редко, в силу различных причин. Вместе с тем, автоматическое размещение позволяет получить весьма полезное начальное размещение, отталкиваясь от которого пользователь может затем произвести необходимые перестановки в интерактивном режиме. Поэтому в рамках данного пособия приведено описание команд авторазмещения, которые могут быть введены в DO-файл на этом этапе заинтересованными пользователями.
•-
3
Глава 1. Общие сведения о системе Specctra j
Specctra — это семейство программ проектирования печатных плат, которое работает на платформах UNIX и Windows. Эту систему можно использовать как в интерактивном, так и в автоматическом режимах на таких этапах проектирования, как размещение компонентов и трассировка сложных, насыщенных плат с планарными и сквозными выводами у компонентов. Весь инструментарий системы Specctra базируется на универсальном графическом пользовательском интерфейсе и самой современной технологии бессеточного проектирования ShapeBased. Планарные контактные площадки (КП), сквозные КП, трассы и другие элементы печатной платы (ПП) моделируются точными геометрическими образами. При этом каждый образ может иметь присвоенные ему правила проектирования, которые представляют собой некоторые проектные ограничения, такие как дистанция между компонентами и их ориентация, ширина трасс и зазоры между ними, характеристики временных задержек в цепях, взаимные шумовые и поперечные наводки в электрических цепях. В таблице ниже поясняются преимущества ShapeBased технологии: Преимущества Точные геометрические модели КП, выводов компонентов, трасс, дополнительных сквоз ных отверстий (ДСО) в бессеточной базе данных вместо занимающей много памяти сеточной модели платы Используются точные размеры образов объектов Поддержка сложных иерархических правил проектирования Бессеточная трассировка или с дискретной сеткой минимального размера для трасс и отверстий (КП)
Что они означают Требования к памяти минимальны Максимальное использование доступного пространства Улучшение технологичности изготовления платы Максимальное использование площади печатной платы для трассировки, в результате возможно уменьшение числа слоев ПП
Поскольку Specctra привязывает правила проектирования к геометрическим образам объектов, нет никакой необходимости задавать эти правила через традиционные сеточные характеристики. Specctra осуществляет размещение и
Общие сведения о системе Specctra трассировку без дискретных сеток или на очень мелких сетках, не требуя больших массивов памяти, как в случае сеточных методов. При этом большинство сеточных трассировщиков пытаются проложить все соединения в каждом проходе трассировки и так до тех пор, пока ПП не будет разведена полностью. Они не терпят наличия конфликтов пересечений и малых зазоров. Specctra использует другой подход, называемый «адаптивной трассировкой». Трассировщик пытается соединить все связи уже на первом проходе, разрешая наличие конфликтов (в области зазоров и пересечений). В каждом последующем, проходе трассировщик уменьшает число конфликтов, используя алгоритм снятия проложенных трасс и повторной их трассировки и алгоритм раздвижки и проталкивания трасс. По окончании каждого прохода Specctra суммирует полученную информацию и «изучает» проблемные области, где конфликты существуют, чтобы устранить их и полностью развести все трассы. Несмотря на возможное большое число проходов трассировки, автотрассировщик обычно достигает хороших результатов достаточно быстро.
Взаимодействие пользовательской САПР с системой Specctra •. .
Specctra работает с вашей САПР как инструмент для трассировки и размещения. После создания базы данных в САПР, они транслируются в формат файла проектирования Specctra. Этот файл содержит всю необходимую физическую информацию, необходимую системе Specctra для решения задач размещения и трассировки. Любые правила проектирования, которые установлены в вашей САПР, переходят в файл проектирования системы Specctra. После окончания работы системы Specctra вы транслируете файл трасс или сессионный файл. Транслятор соединяет трассы сессионного файла с вашей САПР ПП, и тем самым создается законченный проект. Ниже приведена диаграмма обмена данными между системами Specctra и взаимодействующей с ней САПР.
База данных трассировки/ размещения
Файл сессии/ трассировки Specctra
5
Глава 1 Файл проекта системы Specctra — это текстовый файл в кодировке ASCII (American Standart Code Interchange Information), содержащий список цепей, контур платы, запретные зоны и все библиотечные компоненты. Он также содержит все правила и ограничения, установленные в вашей САПР для размещения и трассировки. Отметим, что если выполнять размещение не планируется, то в систему Specctra можно передать данные о размещенных компонентах для выполнения только трассировки.
Проектный файл системы Specctra Этот файл содержит данные, которые включают в себя контур платы, описание цоколевочного вида компонентов (вид КП на плате), позиционные обозначения компонентов, стек описания КП и список цепей. Проектный файл содержит 5 основных разделов: \ • Структура, которая содержит описание слоев, границы ПП, идентификаторы КП в стеке, правила проектирования и определения дискретных сеток. • Размещение компонентов, которое содержит позиции компонентов и позиционные обозначения. • Библиотека, которая содержит образы компонентов (имиджи) и определение стеков КП. • Таблицу связей, которая содержит перечень соединений. • Трассы, которые содержат предварительно проложенные трассы. Этот раздел появляется только в том случае, если трассы были проложены в вызывающей САПР. Дополнительно к основным элементам файл проектирования может содержать другие данные. Структура проектного файла описана в эксплуатационной документации к системе Specctra — Design Language Reference (язык описания проекта).
Взаимодействие между Specctra и пользовательской САПР печатных плат Взаимодействие вашей САПР с системой Specctra осуществляется посредством трансляции проектных данных из одного формата в другой. Все файлы, которые Specctra читает или записывает, являются простыми текстовыми файлами, таблица которых приведена ниже:
Общие сведения о системе Specctra Наименование файлов
Описание
.dsn
Этот файл создается трансляцией проектной информации из исходной САПР. Он содержит данные о контуре платы, определения слоев, определение стека контактных площадок, описания компонентов, список цепей, проложенные трассы и правила проектирования
Файл сессии
.ses
Файл создается системой Specctra. Он содержит указатель на исходный проектный файл, данные о размещении и трассах, информацию о логических секциях и подсекциях компонентов, 'выводах компонентов и др. информацию
Файл результатов трассировки
.rte
Файл создается системой Specctra. Он содержит данные о проложенных трассах, которые могут быть переданы в САПР и считаны системой Specctra
Файл трассы
.w
Файл создается системой Specctra. Он содержит данные трассировки, которые могут быть считаны только системой Specctra ..-. , ••.-
Тип файла
Проектный файл
Некоторые известные САПР ПП нуждаются в промежуточных текстовых файлах для обмена файлами с системой Specctra. Другие системы читают и записывают файлы Specctra непосредственно, без промежуточных файлов. В таблице ниже описаны файлы, которые используются как промежуточные для взаимодействия Specctra и нескольких популярных САПР:
САПР печатных плат Allegro
\
Board Station
Промежуточный файл
Содержание файла
Board (brd) file
Все проектные данные по ПП, включая цепи, свойства, компоненты, стеки КП, предварительно проложенные трассы, контур платы и правила проектирования
Tech.tech
Определения слоев и правила проектирования
Geoms_ascii
Определения корпусов, контур платы, запретные и разрешенные зоны и правила
Nets. nets
Список цепей
Traces. traces (опция)
Предварительно проложенные трассы, информация о заливке областей и спецификации для технологии высокочастотного проектирования
Gates.gates (опция)
Логические части и выводы компонентов для их свопирования (взаимозамены)
Pins. pins (опция)
Свойства выводов компонентов
Testpoints.testpoints (опция)
Информация о контрольных точках
Mfg/neutral_file * (опция)
Координаты выводов
7
Глава 1 САПР печатных плат
Промежуточный файл
Содержание файла
PADS
ASCII output
Все проектные данные о плате
PCAD
PDIF
Все проектные данные о плате
Protel
Текстовый файл Protel
Система записывает проектный файл системы Specctra и читает файлы трасс и сессионный файл системы Specctra
Многие САПР имеют встроенные средства для обмена данными с системой Specctra. Проектный файл Specctra — это текстовый файл, который содержит информацию для выполнения системой Specctra своих задач. Этот файл состоит из пяти разделов или секций: Секция проектного файла
Информация в секции
Structure
Единицы измерения, определения слоев, границы платы, силовые слои, правила для регионов, запретные зоны на плате, идентификаторы переходных отверстий, глобальные правила, определения дискретных сеток.
Placement
Описания корпусов, включая имена корпусов, позиционные обозначения, координаты базовых точек, слои размещения и ориентацию
Library
Описания корпусов, которые включают имена выводов и их координаты, определения выводов компонентов и стеки контактных площадок
Network
Список цепей (имена цепей и список выводов в цепи), определения классов цепей, определения класс — класс, групп, дифференциальных пар, а также правила проектированиядля цепей, классов или групп.
Wiring
Информация о проложенных трассах
Так как проектный файл Specctra является текстовым, его можно просмотреть либо любым текстовым редактором, либо в окне для отчетов в системе Specctra (Report>Design). Отметим попутно, что редактировать проектный файл нельзя. Большинство трансляторов используют проектный файл для пополнения своей базы данных информацией о трассах после работы системы Specctra и поэтому любое изменение этих данных приведет к их рассинхронизации.
8
Общие сведения о системе Specctra
Команды управления системой Specctra Программы системы Specctra управляются командами, которые устанавливают правила проектирования и условия размещения и трассировки. Ввод команд можно осуществлять различными способами, в частности: • использовать мышку для выбора команд из меню и диалоговых боксов; •
печатать команды на клавиатуре;
• запуском DO-файла, который содержит последовательность команд. При изучении правил работы со Specctra и способов конструирования команд полезно применять пользовательский графический интерфейс (graphic user interface — GUI), так как каждая команда из меню генерирует синтаксически корректную команду. Возможен анализ Did-файла или выводного окна, где записаны команды, — т. е. становится доступным корректный синтаксис команды. Дело в том, что в этом файле зафиксированы все команды, использованные в течение сессии. Этот файл можно использовать для создания DO-файла, который как раз и является файлом управления трассировщиком. Именно работа с использованием DO-файла является предпочтительной при трассировке в Specctra. Этот файл позволяет не только выполнять трассировку автоматически, но и служит протоколом примененных в проекте правил проектирования и команд. Ниже приведен базовый DO-файл, который можно успешно использовать для проектирования большинства ПП. Для включения дополнительных специфических требований конкретного проекта этот файл просто необходимо частично отредактировать. Знание сути команд в базовом DO-файле и их понимание позволяет пользователю составлять свои собственные файлы или использовать команду «умной трассировки» — smart_route. Эта команда автоматически выполняет проект и, как правило, выполняет 100-процентную трассировку. При необходимости применения одних и тех же команд для большого числа цепей, классов цепей, групп отрезков цепей можно использовать символы * и ? в их наименованиях (метках). Символ * служит для условной замены любого числа символов в метке, символ ? — для единственного символа. Например, команда protect net sig? служит для защиты цепей с именем sig и всех цепей, имена которых состоят из 4 символов и начинаются с sig. В свою очередь, команда protect net sig* защищает все цепи с меткой sig и все цепи, метки которых начинаются с sig.
9
Глава 1
••'-•:.
: - •-•*>
i
Размещение компонентов Набор команд интерактивного редактирования размещения компонентов (EditPlace) позволяет: • интерактивно размещать и передвигать компоненты; • группировать в кластеры образы компонентов и задавать комнаты (области на плате); • устанавливать правила проектирования для оптимизации производства плат • учитывать при размещении связность компонентов; • перемещать ранее установленные компоненты; • расталкивать, менять местами и выравнивать компоненты; • производить анализ плотностей размещения; •
генерировать отчеты;
• отменять и восстанавливать команды. Инструмент для размещения позволяет производить автоматическое размещение, в частности: • группировать компоненты с учетом связности; • размещать компоненты на двух сторонах ПП, учитывая их размеры (большие или маленькие) и начальное размещение компонентов; • размещать развязывающие конденсаторы в цепях питания; • автоматически менять местами и вращать компоненты для уменьшения манхэттенской длины связей; • интерактивно или автоматически свопировать (менять местами) логически эквивалентные части компонентов и их эквивалентные выводы; • автоматически размещать комнаты. k
Интерактивное редактирование и трассировка Набор команд интерактивной трассировки и редактирования топологии трасс (EditRoute) позволяет: • интерактивно трассировать и перетрассировать связи с применением методов расталкивания и сдвигов, включая использование глухих и внутренних межслойных переходов; • проталкивать и раздвигать трассы и дополнительные переходные отверстия (ДСО);
10
Общие сведения о системе Specctra • трассировать на дискретных сетках или бессеточно; • осуществлять контроль правил проектирования; • копировать трассы на одном или многих слоях; • вырезать сегменты трасс; • удалять цепи, трассы и сегменты трасс; • уменьшать размеры изгибов трасс и выступы на трассах; • отменять и восстанавливать команды. Интерактивная трассировка позволяет также работать с высокочастотными связями, выполняя при этом: • контроль максимальной и минимальной длины трасс; • автоматическое окончание трассировки отдельной цепи; • добавление, смещение, удаление виртуальных КП; • редактирование топологии цепи; • трассировку жгутов (магистралей); • редактирование способа металлизации на слоях.
Автотрассировка Набор команд автоматической трассировки (AutoRoute) производит автоматическую прокладку трасс и ввод ДСО в проекте. Управление трассировкой производится посредством выдачи команд из меню или из командного файла. При этом можно выполнять: / '.. ' • перекладку и повторную прокладку трасс с проталкиванием и обходами с целью получения максимально плотной трассировки; • трассировку на дискретных сетках и бессеточно; • переопределения в процессе трассировки сеток для трасс и ДСО; • формирования стрингеров к выводам компонентов или к ДСО; •
трассировку жгутов;
• трассировку с учетов иерархии правил проектирования; • автоматическое улучшение результатов трассировки для оптимизации изготовления ПП; • диагональную-(угол 45 градусов) прокладку трасс; • контроль размеров стрингеров; • поддержку упорядоченного специального расположения выводов; •
поддержка раздельной обработки силовых и земляных слоев металлизации;
• редактирование команд в Did-файле. 11
Глава 1
'
Автотрассировщик также поддерживает расширенный набор правил проектирования, выход в производство ПП, проектирование гибридных схем и учет временных факторов для высокочастотных цепей.
Расширенный набор правил (ADV) •
Определение сигнальных слоев.
• Привязка ДСО к цепям и классам цепей. • Установка зазоров и ширин трасс на слое. • Привязка цепей и классов цепей к слою. • Привязка к слою факторов времени и длин проводников.
Проектирование с учетом удобства производителя плат (DFM) • Автоматическое равномерное распределение трасс на ПП. •
90- или 45-градусные изгибы трасс.
•
Автоматическая генерация контрольных точек.
• Учет правил проектирования контрольных точек.
Гибридное проектирование (HYB) • Управление введением глухих и межслойных ДСО. • Управление вводом ДСО под пленарными КП. •
Автоматический контроль взаимосвязанных трасс. •• '
•
'
•
• «*
Правила проектирования высокочастотных цепей (FST) • Контроль поперечных наводок при параллельном расположении проводников, тандемные слои и правила суммирования шумов. • Временной контроль на максимум и минимум, сравнение правил для длин и задержек для цепей. •
Автоматическая прокладка дифференциальных пар для цепей.
• Контроль правил и зазоров для областей на плате. • Экранировка цепей.
12
'
•
Общие сведения о системе Specctra • Виртуальный и топологический контроль. •
Закругление изгибов трасс.
• Управление размерами «антенн» для контрольных точек. .
Оценка результатов размещения Оценку результатов размещения можно выполнить с помощью анализа статусного отчета, который содержит данные о сессии и времени, историю всех автоматических операций размещения, список улучшенных манхэттенских длин и затраченное процессорное время на каждую операцию размещения. Статусный отчет можно использовать для обзора процесса размещения компонентов и выявления улучшений, полученных в каждой операции размещения. Например, колонка с заголовком «список манхэттенских расстояний» отражает полученные расстояния после каждой команды размещения. Эти расстояния вычисляются для всех размещаемых компонентов. /• • .•. • . .
Коррекция ошибок размещения Ошибки размещения возникают при размещении компонентов: • вне границы (контура) платы; • если расстояния между компонентами меньше, чем установлено правилами; •
при перекрытии запретных зон;
• при неверной ориентации компонентов; • при размещении компонентов на запрещенной стороне платы; • если в заданной области платы превышены установки по рассеиваемой мощности или по высоте компонентов; • если компоненты размещены в запретной зоне; • если компоненты размещены вне определенной зоны для размещения.
Маркировка нарушений при размещении Если компонент попал в нарушители, Specctra идентифицирует его, помечая каждый угол контура компонента знаком ромба и изменяет толщину линии контура компонента с тонкой на толстую. Все нарушения, за исключением нарушений за границей платы, маркируются таким образом. При интерактивных операциях таким образом маркируются компоненты, имеющие какие-либо нарушения. Рисунок ниже показывает пример маркирования двух компонентов при их наложении.
13
Глава 1 • ••••
/
U8 !
| /; /"пшЗ I\ршг. U9
!
/ TIIIH" Для определения типа нарушений можно просмотреть отчет о конфликтах.
Исправление ошибок размещения Некоторые решения для исправления нарушений определенных типов очевидны. Если компонент помечен как нарушитель и при этом находится вне контура платы, то исправление состоит в перемещении его в пределы контура. Однако другие типы нарушений могут потребовать дополнительного анализа. Самый простой метод анализа нарушений зазоров между компонентами использует режим измерений (Measure mode). Необходимо увеличить нужное место и измерить расстояние между подозрительными местами с помощью указателя. Если оно чуть меньше заданного, то достаточно слегка сдвинуть компонент в нужную сторону или пересмотреть установки. Эти установки (зазоры на плате, разрешенная сторона, разрешенная ориентация) выполняются с помощью меню Rules>PCB. Глобальные установки можно просмотреть в отчете об установленных правилах проектирования. Можно использовать встроенные отчеты для выявления типов нарушений. При генерации отчета о компонентах в него включаются как свойства компонента, так и установленные для него правила. Некоторые из компонентов, следуя правилам размещения, могут остаться вне контура платы. Например, если компонент исключен из одной области платы, а ограничения по мощности или по высоте препятствуют его размещению в других областях платы и нет других альтернатив, то он может остаться за границами платы. Когда ограничения размещения касаются определенных областей на поле платы, они реализуются созданием комнат с присвоением правил для этих комнат. Эти правила можно рассмотреть в отчете о комнатах. Другим способом оценки результатов размещения является трассировка платы и оценка ее результатов. Испытание трассировкой может быть весьма эффективным путем оценки размещения. Прогоните 3 или более проходов трассировки и оцените результаты в статусном файле. Если число конфликтов после первого прохода меньше в пять раз, чем число проложенных соединений, то, вероятнее всего, трассировка будет успешно закончена.
14
Общие сведения о системе Specctra Иногда после трассировки незначительное число нерастрассированных соединений сохраняется из-за неудачного расположения некоторых компонентов. В таком случае можно попытаться создать комнату для не разведенных связей, посредством перестановки этих компонентов и повторного запуска трассировщика. Если же проект очень плотный, то эта стратегия, скорее всего, будет безуспешной. В таком случае лучшей стратегией будет удаление всех трасс, перестановка компонентов и трассировка всего проекта заново.
Анализ результатов размещения / ' Для оценки проблем размещения, которые обнаружены в определенной области платы, необходимо увеличить эту зону и осуществить визуальный осмотр ее. Плохое размещение компонентов характеризуется следующими признаками: • невозможность проложить трассу из-за отсутствия достаточных каналов для них; • пленарные компоненты не имеют возможность получить стрингеры; • чрезмерное число ДСО по причине плохой ориентации компонентов. Для определения возможных проблем размещения можно использовать статусный отчет автотрассировщика. Например, если имеются не разведенные трассы после первых пяти проходов, следует обратить внимание на КП выводов, которые не подключены, так как они находятся в запретной зоне или близко от нее. Если конфликты постоянно сохраняются после 50 проходов трассировки, а дополнительные проходы не улучшают ситуацию, необходимо проинспектировать соединения, включенные в конфликт. В зависимости от количества конфликтов, бывает целесообразным растрассировать их интерактивно. Такой симптом обычно является следствием плохого размещения.
Оценка длин цепей Если в процессе ввода правил проектирования имеются требования к высокочастотным цепям, можно использовать отчет о длинах трасс для оценки времен-, ных задержек в таких цепях. Specctra подсчитывает как проложенные, так и не проложенные гиды (индикаторы заданных соединений) и цепи. Такой отчет можно использовать для оценки полученных длин цепей или задержек для текущего варианта размещения, перед окончательной трассировкой. Отчет о длинах связей информирует обо всех заданных правилах для длин, всех максимумах и минимумах и сравнивает их с заданными. Отчет содержит данные обо всех связях, имеющих ограничения по длинам и задержкам, оценивает общую длину или задержки для каждой цепи и предупреждающие сообщения по каждому потенциальному нарушению.
15
Глава 1
Способы выполнения проектов с повышенными требованиями В этом разделе рассмотрены такие вопросы, как: • размещение компонентов; • управление созданием стрингеров к пленарным КП; • запрещение трассировок на внешних слоях; • оптимизация правил проектирования;
1
• трассировка двухслойных плат. Методы прбектирования, приведенные в этом разделе, должны помочь автоматически трассировать платы с пленарными компонентами. Многие из этих методов заимствованы из опыта пользователей, часто имевших дело со сложными платами. Печатные платы с пленарными компонентами часто более трудны для трассировки, чем платы с компонентами, имеющими сквозные выводы. Одной из таких трудностей является то, что выводы пленарных компонентов располагаются только на одном слое. Для подключения выводов на другом слое требуется использование дополнительных сквозных отверстий (ДСО).
Размещение компонентов Одним из важнейших аспектов успешного проектирования плат с планерными КП является превильный выбор размещения компонентов, которое должно обеспечить необходимое пространство для формирования отводов от пленарных выводов не ДСО (стрингеров). При отсутствии такого простренстве успешнея трессировке цепей пректически невозможне. Не рисунке ниже показено, что недостеточное ресстояние между устеновленными компонентами препятствует формировейию стрингеров.
Это положение особенно важно для пленарных компонентов с большим числом выводов, так как они требуют и больше места для стрингеров. Построить «кирпичную стену» из планерных компонентов, используя их плотное размещение, недопустимо. Рисунок ниже иллюстрирует пример кирпичной стены, в результате чего автотрессировщик не имеет доступа к планерным выведем компонентов из другого слоя с помощью ДСО между компонентеми (здесь явно видно отсутствие месте для дополнительных переходных отверстий). \
16
Общие сведения о системе Specctra No room for vias
Если же планарные компоненты установлены на обеих сторонах платы, их выводы должны располагаться оппозиционно друг другу, как это показано на рисунках ниже. Целью такого размещения является создание потенциальных мест для ДСО. Less room for vias
Ample via cites
DODDD
DDDDD
си '
СИ I
[fflDOD
Mill
I
DODDD
Размещение компонентов на фигуре «б» предоставляет вполне достаточно места для ДСО. На рисунке ниже незакрашенные планарные контактные площадки принадлежат компоненту на первом слое, а закрашенные — на последнем. IIIODDOD сз с
••
••СП • СП
ив
DDDDD DD-Discrete
сз
С С
с
"DDDDD. ~|||||||Г
"шиш"
Одной из проблем трассировки компонентов с планарными КП является формирование стрингеров для них. В этом смысле одним из вариантов является предварительное ручное создание стрингеров в режиме EditRoute, а затем защита их перед автотрассировкой. Вообще, такой вариант предусматривает и создание библиотечных компонентов со стрингерами в своем составе. Однако создание стрингеров возможно и по команде fanout. Этот метод не требует предварительной прокладки трасс, и для автотрабсировщика появляются гибкие возможности для решения проблем стрингеров. Такой метод особенно эффективен при размещении пленарных компонентов на обеих сторонах платы. Решение этой задачи возможно при использовании команды smart_route, которая автоматически генерирует стрингеры и трассирует всю плату. Подключение пленарных КП к
17
Глава 1' ;.-.
- - : ?**• . . • • ' . ' ' • • • •
ДСО возможно с использованием трасс отвода или же при размещении ДСО непосредственно под пленарными КП. Рисунок ниже иллюстрирует оба таких метода.
SMDpad Escape wire
via_at_smd_on
Вместе с тем возможны и такие смешанные варианты, как предварительное формирование части стрингеров, использование для других стрингеров команды fanout, а затем позволение трассировщику обнаруживать отводы для трассировки оставшихся соединений. Отметим также, что команда fanout может быть использована только для ПП с количеством слоев от четырех и более. Для таких многослойных плат эта команда ускоряет работу автотрассировщика и способствует полной трассировке. Если же применить эту команду для плат с числом слоев менее четырех, потенциальное число позиций для ДСО уменьшается. А это может вызвать плохую трассировку платы. Если же, несмотря на все принятые меры, мест для ДСО недостаточно, можно рекомендовать использование нескольких проходов в команде fanout, например Fanout 5. Если и после этого более 5% пленарных КП не получили стрингеров, это может быть проблемой. Стратегия формирования стрингеров, требующая, по крайней мере двух трасс между ДСО, улучшает степень растрассируемости платы. На очень плотных платах можно использовать интерактивные режимы для коррекции любых свойств стрингеров, а затем запустить автотрассировщик. Для просмотра планаров, не имеющих стрингеров, можно использовать команду Highligth no_fanout. На основе инспекции подсвеченных выводов можно рассмотреть несколько возможных улучшений. Можно изменить размещение, сетку ДСО, размер ДСО, установить новые зазоры. После этих изменений можно снова использовать команду fanout, а затем снова подсветить результаты. Обычно этот процесс продолжают до получения хороших результатов. Когда получены полные и хорошие стрингеры, можно запустить автотрассировщик снова. Стрингеры не рекомендуется защищать, так как это препятствует методам адаптивной трассировки, особенно для сложного проекта. Следует также избегать барьеров, образующихся из-за ДСО. Эти барьеры возникают при таком расположении ДСО, которое препятствует проведению трасс между ними. Это приводит к трудной и медленной работе трассировщика и, как следствие, плохим полученным результатам. Слишком мелкая сетка для ДСО может создавать барьеры. Поэтому рекомендуется использовать команду grid smart или задавать такую сетку, при которой возможна прокладка двух
18
Общие сведения о системе Specctra трасс между ДСО. На рисунке ниже первая иллюстрация (а) показывает ДСОбарьер, а вторая (б) — тот же компонент с улучшенным вариантом формирования стрингеров. Conflict
(а)
, Conflict
•• • • • • • Я ЦК
Illllllii
Если же в начале DO-файла установлена команда grid smart, то это позволяет проложить именно 2 трассы между ДСО уже в начальном проходе трассировки. Если же производственные возможности запрещают устанавливать сетку в 1 мил (0,001 дюйма), следует установить более мелкую сетку, которая может быть кратной сетке проводников, но соответствовать производственным требованиям.
Запрет трассировки на внешних слоях Некоторые многослойные проекты запрещают прокладку трасс на внешних слоях, за исключением формирования стрингеров для пленарных КП. Даже если эти слои не входят в перечень разрешенных для трассировки слоев, автотрассировщик тем не менее использует эти слои для создания на них стрингеров, как это показано на рисунке ниже. Escape areas
YE Illll
ппп ]Q ODD ]D
В таком случае автоматически создаются области для стрингеров, которые вдвое превышают заданную длину отвода для стрингера. По умолчанию ее величина 0,25 дюйма (6,35 мм). Однако эту дистанцию можно изменить с помощью команды change. Например, если надо задать эту длину равной 0,125 дюйма, следует ввести команду change smd_escape 0,125.
Оптимизация правил проектирования Трассировщик предлагает значительную гибкость при установке правил для зазоров, таких как зазор между сквозной КП и трассой, пленарной КП и трассой, трассой и ДСО. Возможно задавать зазоры на слоях, между цепями и для конкретного соединения. Если позволяет производство плат, то зазор между планар-
19
Глава 1
,
•
ной КП и трассой следует установить таким, чтобы между двумя планарами проходил один провод, как показано на рисунке ниже.
wire smd rule
Вы должны установить зазоры между трассой — выводами и трассой — ДСО, чтобы позволить проложить 2 трассы между смежными ДСО. На рисунке ниже показан хороший фрагмент платы из-за того, что сделана правильная установка трасса-ДСО.
wire wire rule
г»
wire via rule
Если это возможно, установите сетку проводников в 0 и трассируйте без сетки. В этом случае имеются самые лучшие шансы на успешную трассировку сложных плат. Если же сетка используется, то следует установить самую мелкую из возможных сеток. В таком случае можно рекомендовать сетку 0,001 дюйма (0,0254 мм). Если это невозможно, то следует использовать такой зазор, который позволяет лучший поток трасс между выводами компонентов. На рисунке ниже показана такая ситуация, которую следует всячески избегать.
• • •
•1
КП = на сетке • •
Каналы между КП *-. нельзя использовать -1 • • из-за конфликтов, вызываемых плохим выбором дискретной 1 • • сетки -1 • •
Некоторые особенности подготовки данных для трассировки В практике конструирования многослойных печатных плат с высокой плотностью размещения микросхем с выводами планарного типа их установка производится оппозиционно, т. е. друг против друга на первом и последнем слоях. При этом, ее-
20
Общие сведения о системе Specctra ли не принять специальных мер, формирование стрингеров (т. е. отводов от планаров на дополнительные сквозные отверстия) автоматически (по команде Fanout) затруднено и, как правило, не может быть признано удовлетворительным. В связи с этим, практикуется создание библиотечных элементов двух типов — с заранее введенными стрингерами, при этом первый тип использует стрингеры вне корпуса компонента, а второй тип — под корпусом, как показано на рисунке ниже:
Использование таких компонентов удовлетворяет требованиям плотной упаковки компонентов, однако следует учитывать особенности работы трассировщика, который «не понимает» наличия уже проложенных трасс в составе компонента и может ввести переходное отверстие, не обращая внимания на эти трассы («ножки пауков»). Поэтому эти места следует защищать, посредством введения в соответствующих местах зон запрета для переходных отверстий (Barvia). Второй, достойный внимания момент, состоит в том, что во многих САПР допускается создание компонентов с двумя рядами пленарных контактных площадок, раположенными на первом и последнем слоях (например, разъемы ножевого типа). В соответствии с логикой работы PCAD и системы Specctra, компоненты такого типа не могут быть отнесены к группе компонентов для монтажа на поверхность (SMD), поэтому такие элементы просто игнорируются этими системами. Для корректной работы с компонентами такого типа их следует разделить (расслоить) на два различных компонента — отдельно для внешних слоев, однако на этапе размещения следует аккуратно их совместить, при этом имена выводов (PINs) должны в точности соответствовать их маркировке на разъеме.
Пример компонента такого типа прведен на рисунке выше. Слева показан образ этого разъема для его установке на пе'рвом слое, справа — на последнем слое. От-
21
Глава 1
;?
метим, что образ разъема для последнего слоя не содержит данные для SILKслоя. Следует помнить также, что для целей формирования перечня элементов и спецификации, в библиотеке компонентов такой разъем должен существовать как единый компонент.
Трассировка двухслойных плат Встроенная стратегия автотрассировщика прекрасно приспособлена к двухслойному проекту. Однако лучшие результаты можно получить только при оптимальном размещении, особенно для плат с пленарными компонентами (элементы, монтируемые на поверхность). Команда fanout не должна быть использована для двухслойных плат. Вообще, лучшие результаты можно получить, если позволить автотрассировщику вводить столько переходных отверстий, сколько требуется. При этом надо использовать много проходов трассировщика, если видна тенденция уменьшения конфликтов. 200—300 проходов — это типичное число в таком случае. Немаловажно и то, что каждый проход трассировщика на таких платах занимает мало времени. '
?
•
'
\г\
.
. ••
Fes ° i
•
- • I •'.
>
'•
I
Поперечные наводки и параллельные шумы Specctra управляет поперечными наводками и наведенными шумами с помощью правил двух типов: • параллельный и тамдемный сегмент; • параллельный и тандемный шум. Правила для параллельного и тандемного сегмента контролируют поперечные наводки (нежелательное появление сигнала в соседних проводах) между индивидуальными сегментами трасс цепей. Правила для параллельного и тандемного шума (нерегулярные флуктуации передаваемого сигнала) контролируют кумулятивные шумы между парами цепей. Эти правила можно установить для слоя, класса и цепи. Поперечные наводки на уровне отрезков цепей могут контролироваться только на уровне сегментов. Правила наводок между параллельными сегментами контролируют параллелизм между сегментами трасс на одном и том же слое. Для этого можно задать значения для зазоров и длин, как это показано на рисунке ниже слева:
Максим
Общие сведения о системе Specctra Правила наводок между тандемными сегментами контролируют параллелизм между сегментами трасс на смежных слоях. Это не затрагивает силовых слоев. Для этого можно задать значения зазоров и длин, как это показано на рисунке выше справа.
Многовариантные правила для наводок Вы можете установить различные длины для различных зазоров, используя набор правил. Несколько правил для параллельных и сегментных наводок отражают различные уровни наводок как функцию длин и зазоров параллельных трасс. Правила параллелизма не перекрывают или заменяют предварительно установленные правила, но в процессе трассировки применяются совместно. Ниже приведены правила для параллельных сегментов, аппроксимирующие характеристики поперечных наводок, которые варьируются в зависимости от длины и зазоров для параллельных цепей. Rule pcb (parallel_ segment (limit 25) (gap 10) Rule pcb (parallel. segment (limit 100) (gap 20) Rule pcb (parallel. segment (limit 200) (gap 30) Rule pcb (parallel. segment (limit 400) (gap 40) Rule pcb (parallel. segment (limit 600) (gap 50) Rule pcb (parallel. segment (limit 900) (gap 60)
10 20 30 40 SO 60 Gap
Комбинации параллельных сегментов и зазоров левее кривой являются нарушением.
Контроль наводок типа class-class Правила поперечных наводок типа класс—класс контролируют наводки между различными классами цепей или между цепями одного класса. Фигура ниже показывает, как несколько правил типа класс—класс можно использовать одновременно для аппроксимации характеристик поперечных наводок для нескольких различных технологий.
23
Глава 1
Gap 10 20 30 40 50 60
TTL 25 100 300 500 700 1000
ECL 25 75 150 225 325 800
TTL to ECL 25 25 25 100 200 300
10 20 30 40 50 60 Gap
Контроль наведенных шумов Наведенные (парные) шумы между трассами на ПП могут вызывать вредные функции или нарушения функционирования. Для минимизации и контроля наведенных шумов в процессе автотрассировки необходимо специфицировать максимальный шум, который приемная цепь может выдержать. Чтобы определить, будут ли существовать условия излишнего шума, вклады всех источников шумов суммируются. Если общий шум превосходит специфицированный максимум, то это считается нарушением правила. Некоторые цепи более шумны, чем другие, но, тем не менее, любая цепь является источником шумов. В этом смысле каждая цепь вносит свой вклад в сумму шумов, наводимых на параллельную приемную цепь, как функция от зазора. Specctra позволяет специфицировать эти факторы в глобальных установках правил (на уровне ПП в целом) для класса, цепи и отрезка. Трассировщик может уменьшить или исключить как внутренние, так и внешние наведенные шумы. В следующем выражении отражены соотношения между зазором, длиной трассы, фактором Слоя и общим наведенным шумом: Сумма наведенных шумов в приемной цепи = сумме (L* вес (зазора)* (фактор слоя)), где L — длина цепи, в которой появляются наведенные шумы; вес зазора — фактор пропорциональности шумов, генерируемых передающей цепью на единицу длины в специфицированном зазоре; фактор слоя — внутрислойные или межслойные значения, зависящие 6т характеристики ПП. Это значения можно специфицировать в виде матрицы слоев. Приведенное выражение показывает, как вычисляется шум в приемной цепи от одного или нескольких источников. Specctra вычисляет шумы на приемной цепи 6т соседних трасс. Учитывается каждая трасса посредством умножения веса ее шума на параллельную или тандемную длину. Рисунок ниже иллюстрирует нарушение по наведенным шумам, где суммарный наведенный шум на цепи CKL1 равен 819.6 милливольт, в то время, как правило, max_nouse для цепи равно 600 милливольт.
24
Общие сведения о системе Specctra
Примечание: (1,12,1з — шумы передающих цепей CLR1 — шум на приемной цепи Commands: unit inch rule pcb (paralleLnoise (gap .010) (weight 25)) (paralleLnoise (gap .005) (weight 83)) Compulation:
Noiseo = (li • 25) t- (I2 • 83) + I3 * 83) = (3.9 • 25) + (4.2 • 83) + 4.5 • 83) = 819.6 millivolts
•
Глава 2. Интерфейс трассировщика, SPECCTRA Эта глава описывает, как использовать интерфейс автотрассировщика Specctra. Он работает с существенными отличиями от других автотрассировщиков системы PCAD 2000. Для запуска трассировщика не используется интерактивная настройка параметров, так как Specctra управляется только командным файлом (DO-файлом). Для формирования этого файла используется окно Route Autoroutes. После запуска Specctra система Pcad 2000 выполняет трассировку как отдельный процесс в Windows.
Сохранение вашего проекта Свой проект необходимо сохранить в формате ACCEL ASCII (формат РСВ). Система ACCEL РСВ затем транслирует этот формат в родной формат системы Specctra (формат DSN). После окончания работы автотрассировщика РСВ смешивает начальный РСВ ASCII файл с трассами, сгенерированными трассировщиком. Результирующий файл и есть ваш растрассированный проект. Если после старта трассировщика обнаружен некорректный ACCEL ASCII формат, можно выдать опцию на сохранение проекта в ASCII формате или отказаться от операций трассировки.
Запуск трассировщика После выбора из диалового окна Autoroutes трассировщика Specctra появляется окно Route Autoroutes. Это окно создано для облегчения создания DO-файла, создания классов цепей и спецификации опций командной строки. Specctra использует DO-файл для задания стратегии трассировщика. Запрос на установку стратегии заменен в этом окне на клавишу DO File.
26
Интерфейс трассировщика SPECCTRA
File:;; ГС:\
NetC|as$es J.I
...',3 Command Line
:
Клавиша DO File DO-файл — это ASCII файл, содержащий команды для трассировщика Specctra, которые выполняются последовательно по строкам файла. Здесь находятся все команды, которые нужны трассировщику для разводки платы. Вначале имя файла DQ появляется с тем же именем, что и имя проекта, но с расширением .DO. Это имя установлено по умолчанию.
Клавиша Output PCB File Эта клавиша предназначена для диалога, в котором можно указать имя и место выходного проектного файла после окончания трассировки. Здесь также устанавливается имя по умолчанию. Имени текущего проектного файла здесь предшествует суффикс R. Если же новое имя длиннее восьми символов, то эти символы заменяются точками. Расширение этого файла по умолчанию — .РСВ. Если щелкнуть на этой клавише, можно заменить имя этого файла.
Клавиша Output Log File Кроме выходного файла Specctra генерирует файл отчета в конце сессии трассировки, детализирующий результаты сессии. Имя этого файла также можно изменить, если щелкнуть на этой клавише.
Клавиша Load Клавиша служит для восстановления ранее запомненного DO-файла. После выбора нужного DO-файла щелкните на Load, после чего этот файл будет считан и его можно редактировать как текст или с помощью DO Wizard.
27
Глава 2
Клавиша Save Выбранное имя DO-файла можно сохранить, щелкнув на клавише Save. Отметим, что этот файл запоминается автоматически после старта трассировщика.
Клавиша Set Base Эта клавиша возвращает DO и выходной файл в их значение по умолчанию. Это самый простой путь возврата и нового старта после присвоения именам файлов. Имена файлов по умолчанию извлекаются из имени файла проекта, включая и путь к нему.
DO Wizard Самым легким способом создания и редактирования файла DO является использование клавиши DO Wizard. После щелчка на этой клавише появляется диалоговое окно Do File Wizard, позволяющее создавать и модифицировать DO-файл.
В. ACCELPCB VI5.10.17 Auto-Generated DO File
bestsave on $ status_file $\pragress 8
unit mm grid wire 2. grid via 2.500000 8 rule pcb (width 0.305] В
С помощью этого динамичного диалога можно выбирать DO-команды, модифицировать и удалять команды, или же добавлять новые. При этом такие операции выполняются без обращения непосредственно к текстовому редактору DO-файла. Обычно выбираются команды, близкие по смыслу другим командам трассировщиков PCAD. DO Wizard создает строки команд с корректным синтаксисом. DO Wizard имеет клавишу Auto Create DO File, которая позволяет быстро создать полный DO-файл с текущей дискретной сеткой, шириной линий и выбранными слоями.
28
Интерфейс трассировщика SPECCTRA Редактирование текста Для редактирования DO-файла с помощью текстового редактора необходимо щелкнуть клавишу Edit as Text. После чего этот файл можно редактировать как обычный текст. Пример базового DO-файла для автотрассировки приведен ниже: # ACCEL РСВ V15.10.17 Auto-Generated DO File # Wed Jan 23 12:57:08 2002 # bestsave on $\best.w status_file $\progress.sts # unit mm # grid wire 0.254000 grid via 0.254000 # rule pcb (width 0.305) stop
#
bus diagonal route 50 clean 4 route 50 16 clean 4 filter 5 route 100 16 clean 2 delete conflicts # write wire $\Pla.w spread miter write wire $\Pla.m # write session $\Pla.ses report status $\Pla.sts
,.
Клавиша Classes Net Эта опция позволяет определить группы цепей с общими свойствами. Набор этих групп имеет те же правила, которые определяются для класса цепей. После щелчка на этой клавише появляется диалоговое окно Net Classes. Такой редактор классов позволяет создавать классы цепей, используя предопределенные правила для зазоров или предопределенные в трассировщике Specctra правила для зазоров, присвоенные цепям этого класса (в проектном файле). Однако возможно добавление определенных пользователем атрибутов для собственного проекта.
Глава 2
Модуль контроля платы (РСВ Design Rules Checking) контролирует зазоры и атрибуты, присвоенные классу, в том числе: •
MaxNetLength (максимальную длину трассы);
• MaxVias (максимальное число переходных отверстий); • MinNetLength (минимальную длину трассы); •
ViaStyle (стиль переходных отверстий);
• Width (ширину трасс для класса). Правила зазоров для цепи в дальнейшем можно переопределить, специфицируя зазоры для пар объектов, подобно зазорам между переходными отверстиями или между переходным отверстием и трассой. . Для создания класса с именем необходимо: 1. Задать имя класса в боксе Classes. 2. Щелкнуть ADD. 3. Для включения цепи из области неопределенных цепей (Unassigned Nets) в новый класс, можно использовать любой из следующих методов: •f Выбрать единственную цепь и щелкнуть клавишу ADD. •f Дважды щелкнуть на цепи, чтобы переместить ее из неопределенных в цепи этого класса .(Unassigned Nets в Nets in this Class) и наоборот. •f Собрать несколько цепей в блок либо: 1) нажав и удерживая клавишу Shift во время определения первой и последней цепи в классе, либо: 2) выбрать
30
Интерфейс трассировщика SPECCTRA первую цепь в списке, нажать левую клавишу мышки, переместить курсор , к последней цепи в списке и отпустить клавишу. Затем щелкнуть ADD. •f
Выбрать индивидуальную цепь, нажать и держать клавишу CTRL во время выбора каждой следующей цепи, после чего щелкнуть ADD.
4. Для удаления цепи из области цепей данного класса (Nets in this Class), следует использовать методы, указанные выше, но щелкать на клавише Remove вместо ADD. Примечание. Дополнительно к нормальному процессу выбора можно использовать клавиши Set Nets From Design Selection для быстрого переноса всех текущих выбранных цепей в проект для неопределенных цепей или цепей в данном классе. Если цепи не выбраны, пассивная клавиша Set Nets From Design Selection является серой. Если выбрать цепи в какой-либо области, и щелкнуть на клавише Set Nets From Design Selection, все другие выбранные цепи становятся невыбранными. 5. Для присвоения одного или большего числа атрибутов в новом классе цепей используйте клавишу Edit Attributes.
Клавиша Command Line Если щелкнуть на клавише Command Line, появляется соответствующее диалоговое окно.
d:SMcd«\IO,OLS\SPECeTRMBIH\SPECGIRA.E: i
Глава 2
.
Программа Specctra запускается как отдельный процесс Windows и поэтому должна иметь корректные аргументы в командной строке. Диалоговое окно Specctra Command Line дает вам такую возможность. Установки, показанные на рисунке, являются рекомендуемыми по умолчанию. Отметим, что командная строка DOS может содержать не более 128 символов. Если этот лимит превышен, появляется сообщение об ошибке и трассировщик не запускается. Отредактированная командная строка сохраняется для следующего прогона. Все опции этого окна приведены в руководстве по системе Specctra.
Атрибуты PCAD 2ООО и трассировщик Specctra Многие атрибуты Specctra можно задать непосредственно в PCAD 2000. Просто добавьте атрибут в цепь или класс цепи. Эти атрибуты записываются в проектный файл Specctra автоматически, когда вы щелкаете на клавише Start в диалоге Autoroutes. При этом рекомендуется использовать DO Wizard. При добавлении нескольких атрибутов в ту же цепь они должны быть введены в том же порядке, который определен в DO-файле. Для дополнительной информации о трассировочных атрибутах, определенных для трассировщика Specctra, необходимо использовать описание команд системы Specctra. Там приведены как числовые значения, так и другие доступные характеристики. •
Трассировщик и категории цепей ,
К таким атрибутам относятся:
i
MAXVIAS — ограничения для ДСО; NOAUTOROUTES — фиксированный тип; RIPUP — (если не нужно) — тип защиты; VIASTYLE — используйте USEJVIA; WIDTH — WIDTH.
Категории трассировщика Specctra Полный список таких атрибутов может быть суммирован в несколько групп. В этом разделе приведены описания каждой группы и примеры использования. •
_GAP attributes: Все атрибуты, заканчивающиеся суффиксом _gap, являются атрибутами зазоров. Эти атрибуты требуют цифровых значений, задающих величину зазора в выбранных единицах измерения. PIN_WIRE_GAP=25 задает зазор в 25 единиц между элементами выбранной цепи и элементами другой цепи.
•
_PIN attributes: Для всех атрибутов, заканчивающихся суффиксом _j)in, выводы компонентов должны быть специфицированы в соответствующем боксе, например U1 или Ul(pin3). Это применимо только к сквозным металлизированным выводам.
32
Интерфейс трассировщика SPECCTRA Примечание. Terminator_pin и Sourse_pin должны использоваться вместе с атрибутом REORDER или с командами REORDER или ORDER в DO-файле. •
Parallel и Tandem атрибуты: Атрибуты PARAL_NOUSE, PARAL_SEG, TANDEM_NOUSE и TANDEM_SEG специфицируются следующим образом: Переключите значения _СНЕСК в ON (OFF). Это активирует или дезактивирует проверку атрибутов _THRESH и WEIGTH. Порогу и весу присваиваются действительные цифровые значения.
•
Другие атрибуты: Для разнообразных других атрибутов можно вывести их соответствующее значение, используя их формат, принятый для DO-файла.
Входные значения для PGB является текстом, за которым следуют имя атрибута в DO-файле минус внешние скобки. Смотри примеры ниже: Атрибут
DO файл Specctra
PCAD 2000 значение
REORDER
Rule netclkt ( reorder order_type Dayse (type balanced))
Order_type dayse (type Balanced)
V1A_AT_SMD
Rule class enable (via at smd on (gridon)(fiton))
On (grid on)(fit on)
USE_LAYER
Circuit net 1 (usejayer top bottom)
Top bottom
Процесс трассировки Если в процессе трассировки вернуться в PCAD, вы получите сообщение о том, что работает Specctra трассировщик и что PCAD ожидает окончания его работы. При этом меню трассировщика и диалоговое окно не появляется, так как в этом нет необходимости. Просто PCAD ждет, когда будет конец задачи (трассировки). PCAD знает, что трассировщик работает, и приступает ко второй части процесса трансляции. При этом происходит автоматическое распределение трасс по заданным слоям, для чего нет никаких специальных команд.
Файл протокола (LOG File) Файл LOG — это комбинация выходной информации для транслятора PCAD — Specctra, выходной информации трассировщика Specctra и транслятора Specctra -PCAD. В этом постпроцессе происходит вставка статусного файла, созданного трассировщиком (и специфицированного в DO-файле), в файл LOG, только если имя этого файла предусмотрено ц командной строке System Log File. Таким образом, команда Route View Log предусматривает формирование посттрассировочной информации.
2 Зак. 27
33
Глава 2
Ручная трансляция файла и автотрассировка Интерфейсы PCAD и трассировщика Specctra полностью автоматические. Но возможно направить вывод данных трассировщика вовне, например для прогона его на другой машине. Шаги, которые необходимо предпринять для этого, приведены ниже: 1. Создайте DO-файл и определите классы, как это описано выше. 2. Сохраните нерастрассированный ACCEL проект в ASCII формате (с расширением .РСВ). 3. Откройте бокс Windows DOS и измените установленную для PCAD директорию: cd\ACCEL. 4. Запустите DOS версию транслятора ACCEL-Specctra, используя следующую командную строку с аргументами: ACCEL2SP < DESIGN.РСВ> -о . 5. Полученный на шаге 4 файл — это проектный файл Specctra. Запустите его на автотрассировку в соответствии с DO-файлом, полученном на шаге 1. 6. Трассы, полученные после этого, необходимо объединить с начальным проектным файлом. Полученные трассы, находящиеся в файле , запустите на трансляцию с помощью DOS версии транслятора SPECCTRA-toACCEL в виде командной стоки SP2ACCEL — orig -о R.PCB. 7. Если в командной строке отсутствуют аргументы, транслятор выдаст подсказку. 8. Файл R.PCB есть растрассированный проект, и он может быть загружен в ACCEL РСВ для просмотра.
Выявление и устранение ошибок Этот раздел содержит описание некоторых проблем, которые возникают при использовании интерфейс с системой Specctra и даны способы их разрешения. Router starts but nothing is routed Проверьте наличие непрерывного контура платы в проекте. Убедитесь в том, что все линии формирования контура образуют замкнутый полигон и в вершинах нет разрывов линий. Другие посторонние линии на плате могут вызывать проблемы для трассировки, даже если они вне контура платы. Для выпуска документации необходимо использовать слои для сборок или образмеривания и т, д. The ACCEL Translator completes but the router does not start .34
Интерфейс трассировщика SPECCTRA Проверьте корректность имени для Specctra и путь к трасировщику. По умолчанию это имя SPECCTRA.EXE. Убедитесь, что файл пароля, указанный в Specctra Command Line, имеет корректное имя и путь. По умолчанию имя этого файла SP.PAS. Router routes through line keepouts Запретные зоны, заданные линиями, не поддерживаются трассировщиком Specctra. Необходимо использовать команду формирования "заборов" в Specctra для определения огороженных областей. Но полигонное задание запретных зон для трасс поддерживается. "Unable to write to port AUX" error is displayed when starting the autorouter Убедитесь в существовании \trnp директории на Вашем винчестере и в наличии опции Specctra logfile в командной строке. "Not Enough Virtual Memory..." message is written into the log file when starting the autorouter Убедитесь, что имеющаяся виртуальная память для Windows равна или больше суммы физической памяти в системе. Board does not route. The Specctra Autorouter indicates RouteBase is not enabled Трассируемый проект превосходит ограничения, установленные для текущего трассировщика. Для Roure2 проект должен содержать не более двух сигнальных слоев; для Route4P — не более четырех сигнальных слоев и не более 4000 выводов компонентов. SPECCTRA router indicates a net has many pins and should be a signal of power net Это информационное сообщение из трассировщика, и его можно игнорировать. Однако при наличии цепей земли и питания можно задать слои для них. Можно также использовать одну опцию для последовательности цепей (Net Ordering) для определения стратегии их трассировки (Starburst или daisy chain). Specctra layer colors do not match Accel layer colors Посмотрите документацию на трассировщик Specctra, чтобы выяснить, как добавлять файл цветов, допустимых в Specctra и в ACCEL. The program requires ACTIVATOR to run Убедитсь, что ключ разрешения работы с системой Specctra подключен. Если это не поможет решить проблему, проверьте корректность файла пароля (он либо неверен, либо отсутствует).
35
Глава, 3. томатиче ения компонея тов Общая информация о выборе объектов для размещения В начале сессии Specctra все объекты считаются невыбранными по умолчанию. Вы можете выбрать объекты для использования в определенных операциях автоматического или ручного размещения. После их выбора только эти объекты являются субъектами размещения. Если ни один объект не выбран, то для размещения считаются доступными все объекты. • Сделайте выбор компонентов, имиджей, физических или логических частей, над которыми необходимо произвести операции размещения или другие операции, такие как определение кластеров, присвоение свойств, перемещение компонентов или проверка правил размещения для них. • Сделайте выбор комнат, где планируется размещение компонентов. • Сделайте выбор секций, подсекций или выводов (ножек компонентов), которые планируется использовать в операциях взаимоперестановок (свопирования) или для формирования стрингеров. После выбора компонентов Specctra отображает их позиционные обозначения. Также выбираются присоединенные к компонентам выводы, соединения и гиды (прямолинейные индикаторы связности). При выборе компонента в кластере Specctra выбирает кластер целиком. При выборе выводов компонентов (pins), таких как указанные выводы, терминаторы или выводы в секциях и подсекциях, также происходит выбор соединений и гидов, имеющих связи с такими выводами. Specctra отображает выбранные объекты желтым цветом, если он установлен в карте цветности (color map). Автоматическое управление DO-файлом осуществляется с использованием нескольких команд управления, в том числе: • DO — запускает командный файл; • If — управляет последовательностью выполнения команд в зависимости от того, являются ли результаты вычисления истинными или ложными;
36
Команды автоматического размещения компонентов Setexpr — создает переменную и присваивает ее выражению; While — повторяет управление одной или более команд, пока выражение истинно.
Align Команда align выравнивает компоненты по горизонтали или вертикали относительно какого-либо компонента. | \—>•
Выравнивание одного или более выбранных компонентов производится относительно выбранного компонента. Сначала надо выбрать компоненты для выравнивания, а затем специфицировать компонент, относительно которого они выравниваются. Specctra использует для выравнивания базовые точки компонентов, такой точкой по умолчанию является вывод компонента, ближайший к левому верхнему углу каждого компонента. f
Эту точку можно изменить с помощью команды change align base перед использованием команды выравнивания. В качестве такой точки можно выбрать центр компонента, верхний левый вывод, нижний левый вывод, верхний правый вывод или нижний правый вывод. Выравнивание можно произвести в интерактивном режиме (режим Align Componenet [LB]), подробности см. в команде Mode. Примеры команд Select component U9 U10 Ull Align U12
Apply_small_comp_pattern -^»S
3
q }
^— г-
• — -_
|
Lk
^
-KD-
Эта команда используется для размещения одного или более маленьких компонентов, таких как развязывающие конденсаторы, вокруг больших компонентов, при этом возможно задание плана (образа) такого размещения командой assign small comp pattern.
37 I
Глава 3
Assign_small_comp_pattern Эта команда определяет шаблон размещения одного большого компонента и одного или нескольких маленьких.
ж-* ь/Т) \!/
'
Используйте эту команду для определения шаблона взаимного размещения, которое Specctra может использовать для размещения одного или нескольких маленьких компонентов, таких как развязывающие конденсаторы, по отношению к большому компоненту. Specctra запоминает этот шаблон до определения другого шаблона. Определение нового шаблона ликвидирует старый. Можно либо выбрать заранее, либо специфицировать компоненты в шаблоне. • Используйте опцию selected для определения и запоминания шаблона, образованного из выбранных компонентов. • Используйте опцию component для определения и запоминания шаблона, представленного компонентами, которые специфицированы. Первый идентификатор определяет большой компонент. Другие должны идентифицировать маленькие компоненты. Перед использованием этой команды вы должны описать шаблон, разместив один или несколько маленьких компонентов в районе большого. Только после назначения шаблона можно использовать команду apply_small_comp_pattern для автоматического размещения маленьких компонентов в виде шаблона относительно других больших компонентов. Как большие, так и маленькие компоненты должны иметь идентичные образы, количество выводов и свойства по отношению к компонентам при создании шаблона. См. также: -
Apply_small_comp_pattern Associate Autodisqrete Примеры команд Assign_small_comp_pattern selected Assign_small_comp_pattern (comp U20 C30 R28) Assign_small_comp_pattern (comp U37 D2)
38
Команды автоматического размещения компонентов
Associate Эта команда привязывает один или более маленьких компонентов к одному большому.
t_id> |-r»| \-
Используйте эту команду для определения ассоциации между большим компонентом, таким как микросхема, и одним или более маленькими, такими как резисторы. Вы можете использовать опцию выбора (select) или специфицировать один большой компонент и один или несколько маленьких. • Используйте опцию выбора для ассоциации выбранных компонентов. • Используйте идентификаторы компонентов для ассоциации специфицированных компонентов. Первый из таких компонентов должен быть большой компонент, каждый следующий должен идентифицировать маленький компонент, который должен быть ассоциирован с большим. После определения ассоциации компонентов невозможно использовать компоненты другой ассоциации до роспуска текущей ассоциаций. Для роспуска используйте команду disassociate, которая распускает взаимосвязь между большим компонентом и всеми маленькими в текущей ассоциации. См. также: Associate selected Associate U20 СЗО R28 Associate U37 D2
Autodiscrete Эта команда автоматически размещает маленькие компоненты, такие как конденсаторы в цепях питания, основываясь на текущих правилах размещения и введенных установках. Specctra в процессе размещения берет маленькие компоненты, которые расположены полностью вне контура платы и помещает их в позиции внутри контура. • Используйте опцию type, если Specctra должна размещать только маленькие конденсаторы, маленькие резисторы или маленькие дискретные компоненты. По умолчанию Specctra размещает все маленькие компоненты.
39
Глава 3 • Используйте опцию under_smd, если необходимо разместить маленький компонент под пленарными контактными площадками (в той же позиции на противоположной стороне платы). По умолчанию Specctra пытается разместить маленькие компоненты под планарными. Specctra также всегда помещает маленькие конденсаторы как можно ближе к силовым выводам больших компонентов. • Используйте опцию priority_net при необходимости специфицировать одну или более приоритетных силовых цепей. Specctra размещает маленькие компоненты, входящие в эти цепи, как можно ближе к соответствующим выводам больших компонентов. При спецификации более чем одной цепи эти цепи должны иметь одинаковый приоритет и он должен быть выше, чем у других силовых цепей. Если же опция priority_net не используется, Specctra считает силовце цепи такими же, как и другие при определении порядка размещения компонент. Если перед использованием этой команды выбраны маленькие компоненты, Specctra размещает только выбранные компоненты (специфицированного типа). Если они не выбраны, система размещает все маленькие компоненты специфицированного типа. 1
Specctra учитывает все допустимые правила размещения при своей работе. Кроме того, можно использовать предпочтительное размещение при расстановке маленьких компонентов. Вы можете: • Установить минимальное расстояние между компонентами. • Установить сетку размещения для пленарных компонентов, сквозных или для тех и других. • Ограничивать ориентацию для пленарных, сквозных или тех и других' компонентов. Эти предварительные установки применяются только к текущей ориентации и не перекрывают любые текущие правила размещения, которые были определены в проектном файле или при использовании команды place rule. Specctra не требует матрицы размещения. Если конструкторские или производственные ограничения требуют матрицу, можно также использовать команду grid place для установки сетки размещения или команду site для установки образа участков сеток. Если команда autodiscrete запускается без опций, применяются следующие условия умолчания: • Тип маленькие компоненты (Specctra размещает все маленькие компоненты или все выбранные маленькие компоненты). • Разрешается размещение под планарными КП. •
Размещение разрешается на обоих слоях.
40
_j
Команды автоматического размещения компонентов
• Сторона для компонентов со сквозными выводами фронтальная. • Предопределенная ориентация 0, 90, 180 и 270 градусов. • Компоненты, имеющие связи с силовыми цепями, не имеют приоритета. Если в проекте определены плоские кластеры (floor plan clasters), Specctra размещает, во-первых, маленькие компоненты, принадлежащие кластерам, и не может размещать некластированные компоненты. Если это произойдет, используйте autodiscret повторно, для размещения других маленьких компонентов. Примечание. . Specctra использует таблицу связей, последовательность соединений типа fromto, ограничения по длинам связей и другую проектную информацию для определения позиции компонента. Для лучшего результата рекомендуется привязать силовые цепи к силовым слоям. По умолчанию Specctra пытается разместить любые маленькие компоненты под планарными КП. При желании разместить только развязывающие конденсаторы под планарами можно использовать autodiscret дважды: 1. Размест.ить вначале маленькие конденсаторы, используя type capacitor либо используя выбор только конденсаторов, которые необходимо разместить под планарами. 2.
Затем разместить другие маленькие компоненты, используя under_smd off.
Autodiscret размещает только маленькие компоненты. Для размещения больших (включая большие конденсаторы, резисторы и другие дискретные компо' ненты) используйте команду initplace. Specctra также учитывает некоторые установочные команды для авторазмещения. Перед использованием autodiscret вы можете: • использовать high speed, что позволит учитывать правила для высокочастотных цепей при трассировке; • использовать pic post process, чтобы Specctra автоматически учитывала группирование компонентов. Эти установки продолжают действовать и после окончания операций autodiscret. После размещения маленьких компонентов возможна оптимизация условий для трассировки посредством использования других команд размещения или посредством ручной перестановки для уменьшения манхэттенских длин и минимизации пересечений гидов (индикаторов связнбсти). Для этого можно рекомендовать команды interchange, autorotate, swap.
Примеры команд Первая команда размещает все маленькие компоненты с использованием условий умолчания и предустановок. Autodiscrete
41
Глава 3 Следующая команда размещает маленькие компоненты на задней стороне платы. Autodiscrete (type capacitor) (prefer_side back_only) Следующая команда размещает все маленькие компоненты на фронтальной стороне платы. Компоненты можно вращать на 0 или 180 градусов относительно их ориентации в проектном файле. Autodiscrete (prefer_side back_only) (prefer_orient 0 180) Следующая команда размещает маленькие резисторы с горизонтальной ориентацией. Autodiscrete (type resistor) (prefer_orient horizontal) Следующая команда размещает все маленькие компоненты, при этом развязывающие конденсаторы размещаются к силовым выводам, которые связаны с цепью земля. Autodiscrete (priority_nets GND)
Autorotate Эта команда автоматически вращает размещенные компоненты.
Команда autorotate пытается вращать компоненты для улучшения трассируемости посредством укорочения манхэттенских расстояний и минимизации пересечений гидов. При этом сохраняются только такие ориентации, которые улучшают трассируемость. Текущие направления (горизонтальные или вертикальные) также сохраняются, хотя квадратные компоненты могут быть повернуты. Возможно использование опции type, при желании поворачивать только компоненты специфицированного типа. Можно специфицировать: • все компоненты; • все большие компоненты (large components);
42
Команды автоматического размещения компонентов •
все маленькие компоненты (small components);
• маленькие конденсаторы; •
маленькие резисторы;
•
прочие маленькие компоненты (discretes).
По умолчанию Specctra пытается вращать все компоненты, которые уже размещены в пределах границы платы. Примечание. Specctra вращает компоненты относительно их базовой ориентации, как это задано в проектном файле. Если поворот компонента нарушает правила размещения, Specctra не будет его вращать. Specctra также учитывает некоторые установочные команды для авторазмещения. Перед использованием autorotate вы можете: • Использовать high speed, что позволит учитывать правила для высокочастотных цепей при трассировке. •
Использовать pic post process, чтобы Specctra автоматически учитывала группирование компонентов. ____
Примеры команд
Autorotate Autorotate (type large) Autorotate (type capacitor) Autorotate (type resistor discrete)
Change align_base Эта команда устанавливает точку выравнивания перед командой align.
Для выравнивания можно использовать базовую точку, центр компонента или выводы (верхний.левый, верхний правый, нижний левый или нижний правый) в качестве точки привязки. Базовая точка определяется в проектном файле, и она может отличаться от рабочей точки привязки, заданной командой change
43
Глава 3 work origin. По умолчанию для выравнивания принимается вывод, ближайший к верхнему левому углу компонента. «
Примеры команд Change align_base center Change align_base origin Change align_base pin top right Change align_base pin bottom left
Change compbnent_image Команда change component_image позволяет изменять имидж, присвоенный одному или более компонентам.
Каждый компонент на плате имеет присвоенный ему имидж (образ посадочного места). Он включает в себя геометрический размер и внешний вид, свойства и информацию о выводах (ножках). Спецификатор имиджа — это имя имиджа, которое планируется использовать при размещении компонентов. Новый имидж должен быть задан либо в проектном файле, либо в библиотеке имиджа (image library file (.i)), размещенной в директории, указанной в библиотечной секции проектного файла. ПримерьГгоризонтального и вертикального имиджей приведены на рис. ниже:
Horizontal image
Vertical image
Возможен предварительный выбор или спецификация компонентов непосредственно в команде. •
Используйте опцию selected для присвоения имиджа ранее выбранным компонентам.
44
Команды автоматического размещения компонентов • Используйте идентификатор для присвоения имиджа выбираемым компонентам. Specctra автоматически заменяет выводы компонентов в цепях, если выводы имеют одинаковые имена в обоих определениях имиджа. Если же имиджи имеют выводы с разными именами, можно использовать команду define net pins для их переключения. Примечание. Невозможно заменить имидж, присвоенный компоненту, пока его позиция фиксирована или любые связи его выводов фиксированы или защищены, Примеры команд Change component_image plcc20_new (component Ul U2 p3) Change component_image IC62 (component selected)
Change work_orig-in Эта команда устанавливает рабочую базовую точку компонента (точку привязки), используемую при операциях интерактивного размещения.
Рабочая базовая точка может быть установлена в базовую точку, заданную при создании компонента, или в центр компонента (по умолчанию). Центр компонента — это геометрический центр огибающего прямоугольника в рабочей зоне Specctra. • Примеры команд Первая команда устанавливает базовую точку компонента в центр Change work_origin center Второй пример устанавливает рабочую базовую точку в позицию, определенную для каждого имиджа компонента в проектном файле. Change work_origin origin
Check Команда check проверяет нарушение правил после трассировки или размещения. Эта команда используется для вычисления последствий изменения правил проектирования или для выявления различных нарушений после интерактивных
45
Глава 3 операций размещения и трассировки, при которых проверка этих операций была отключена. Опцию type можно использовать для проверки: • Place — просто правил размещения и пересечения компонентов, если соответствующая команда setup_sheck установлена, или • Route — всех установленных контрольных опций трассировки в setup check команде, или • АИ — всех опций, доступных для заданного типа объектов (type).
Можно использовать слова include и exclude для добавления контролирующих опций, которые были ранее отключены, или для удаления ранее включенных опций. Если использовать команду check без слов type, include, exclude, то проверяются только нарушения трассировки. То есть это эквивалентно команде check (type route). Specctra автоматически проверяет нарушения правил в начале сессии и затем после каждой операции размещения или трассировки. Если вы добавили или изменили правила в течение сессии, вы можете использовать команду check для оценки влияния нового правила. Если же контроль отключен, трассировку можно модифицировать в интерактивном режиме, а затем включить контроль. Этим действием можно проконтролировать возможные нарушения правил проектирования в период отключенного контроля. Контроль размещения работает по-другому. Если контроль включен, то сделать нарушения невозможно, а если он отключен при сдвиге компонента и при этом возникает нарушение, оно немедленно маркируется. Примеры команд Check Check (type route) Check (type place) Check (type all) Check (include miter stub limit_way) (exclude xtalk)
46
Команды автоматического размещения компонентов
Checkmode Команда checkmode контролирует нарушения в процессе интерактивного размещения.
Команда по умолчанию всегда включена (on). При этом Specctra не позволяет размещать или перемещать компоненты в позиции, которые нарушают правила проектирования. Если же эта команда отключена (off), такие нарушения допускаются, но система отображает меткой эти нарушения. Во время предварительного размещения команду можно отключить. Например, можно так разместить компонент, чтобы край контактной площадки выходил за зону размещения, что сделать невозможно при активной команде. Примеры команд Gheckmode off Checkmode on
Component_property Эта команда присваивает физические, электрические и пользовательские свойства компонентам. {component_property)—1
I—| ]^
-W_
\
Команда позволяет присвоить как стандартные, так и пользовательские свойства одному или более компонентам. Стандартные свойства компонента содержат несколько физических свойств и электрические параметры. К физическим относятся тип, высота и рассеиваемая мощность. В основном, свойства содержат ключевые слова <property_name>, которые идентифицируют свойство и значение <property_value>. Значениями могут быть числа, ключевые слова или строки текста, в зависимости от свойства. Возможен предварительный выбор компонентов перед использованием этой команды или можно специфицировать метку для каждого компонента. При отсутствии специфицированных меток Specctra присваивает свойства всем выбранным компонентам.
47
Глава 3 Свойства можно присвоить в Specctra или в проектном файле. Свойства компонентов применимы только к определенным примерам компонентных имиджей. Присвоенные компонентам свойства имеют приоритет перед свойствами компонентных имиджей. Для присвоения свойств имиджам следует использовать команду image property. Команда report генерирует отчет property report, который содержит текущие значения свойств, присвоенные компонентам в проекте. Можно также генерировать отчет о рассеиваемой мощности о плате в целом (power dissipation report). Если вы присвоили или удалили физические или электрические свойства компонентам, Specctra фиксирует эти изменения, когда используется команда write для сохранения файла размещения или сессионного файла. Однако в этих файлах не фиксируются пользовательские свойства и свойства имиджей. Примеры команд В следующих примерах присваиваются свойства именованным компонентам. Component_property C81 (type capacitor) (height 0.0280) Component_property U28 U40 (heigth 0.1800) Component_property Rl R2 R5 (power_dissipation 500) Component_property Ul U2 (value 10k) Следующие примеры присваивают свойства всем компонентам. Component_property (type capacitor) (value 0.5 pf) (power_dissipation 0.5)
Component_pin_property Эта команда присваивает свойства выводам компонента. ^component_pin_property)—1 . >l
Свойства могут быть стандартными и пользовательскими и присваиваться одному или нескольким выводам компонента. Можно указать имя компонента и имя каждого вывода или же можно использовать опцию selected для присвоения свойства всем ранее выбранным выводам. Свойство содержит метку <property_name>, которая идентифицирует свойство и значение . Значением может быть число, ключевое слово или строка символов. Стандартные свойства для выводов компонента включают в себя:
48
Команды автоматического размещения компонентов Force to terminal point Exit direction Свойства можно присвоить в Specctra или в проектном файле, при этом свойства выводов, присвоенные в проектном файле, нельзя изменить или удалить в Specctra. Свойства, присвоенные выводам компонентов, имеют приоритет над свойствами выводов в имиджах. Вы можете использовать команду report для генерации отчета (property report), который содержит текущие значения свойств, присвоенные всем выводам компонента в проекте. Примеры команд Component_pin_property C81 2 (uprop_l 0.02) Component_pin_property 163301 3 5 9 (uprop_2 xyz)
Define cluster Эта команда группирует компоненты в новый кластер или добавляет или удаляет компоненты в существующих кластерах.
49
Глава 3
• ••
-
• - • .• •
Команда define cluster используется для создания или модификации компонентных кластеров в соответствии с требованиями проекта, такими как связность компонентов, связей сигнальных цепей и связей силовых цепей. Например, эту команду можно использовать в начале сессии размещения для создания кластеров для комнат в поэтажном плане.
Определение нового кластера Для создания нового кластера ему необходимо присвоить имя . Это имя не должно дублировать любое существующее имя кластера или позиционное обозначение компонента. При этом можно также: • Использовать опцию сотр для спецификации двух или более позиционных обозначений компонентов (). Если же не указывать компоненты, необходимо выбрать компоненты перед использованием этой команды. • Использовать опцию type для указания типа создаваемого кластера (по умолчанию type plan). После создания кластеров поэтажного плана (floor plan cluster) необходимо определить, как плата разделяется на комнаты для каждой группы кластеров. Для создания новых комнат используется команда define room и команда room rule для привязки кластеров к существующим комнатам. Specctra размещает кластеры компонентов внутри комнат, если имеется для этого достаточно места. Если же поэтажный кластер не привязан к комнате, Specctra пытается разместить компоненты вместе в одной и той же области платы. Размещение и ориентация компонентов, которые образуют суперкластер, основаны на относительном размещении компонентов после создания суперкластера. Кластер рассматривается как отдельный компонент (иногда называемый суперкомпонентом) в процессе операций размещения. Задание правил размещения возможно при определении кластера или суперкластера, но при модификации существующего кластера нельзя присвоить или изменить эти правила. Если кластер был уже образован, то для присвоения или изменения правил размещения следует использовать команду place_rule.
Модификация существующего кластера, Для добавления или исключения компонентов из существующего кластера необходимо специфицировать имя кластера . При этом допустимо: • Применять опцию add_comp для добавления одного или более компонентов в кластер, но эти компоненты не должны принадлежать другому кластеру. • Использовать опцию remove_comp для удаления компонентов из кластера. При этом возможен предварительный выбор (select) или спецификация компонентов в команде. Для роспуска кластера следует использовать команду forget. Вообще, компонент может принадлежать только одному кластеру, и пока кластер не распущен, его использование в других кластерах невозможно.
50
Команды автоматического размещения компонентов Примеры команд Define (cluster Planl (comp U4 U5 U6)) Эта команда объединяет компоненты U4, U5, U6 в поэтажный кластер с именем PLAN1. Пример ниже производит предварительный выбор компонентов с именами U1, U2 и объединяет их в поэтажный кластер clstrl. Select componenet Ul U2 Define (cluster clstrl) Пример ниже выбирает компоненты U3, Rl, R22 и группирует их в суперкластер SR1. Select componenet U3 Rl R22 Define (cluster SRI (type super piggyback)) Примечание. Piggyback является термином Specctra, который определяет кластер, содержащий развязывающие конденсаторы, расположенные под компонентами (на противоположной стороне платы). Этот пример группирует компоненты U9, С35, С36 в суперкластер по имени S1 и задает правила зазоров для кластера. Define (cluster SI (comp U9 C35 C36)(type super) (place_rule (spacing .5))) Этот пример выбирает компоненты R3, R9, R13 и добавляет их в кластер S2. Select component R3 R9 R13 Define (cluster S2 (add_comp selected)) Этот пример удаляет компоненты С14, С23 из кластера с именем piggyS. Define (cluster piggyS (remove_comp C14 C23)) Последний пример добавляет компонент U8 и удаляет компонент U7 в кластере с именем compsl. Define (cluster compsl (add_comp U8) (remove_comp U7)) '.
Define component Эта команда добавляет на плату компоненты, не заданные в проектном файле.
51
Глава 3 Команда позволяет определить новые компоненты и разместить их на плате. Для этого необходимо указать имя имиджа для определяемых компонентов и задать новое уникальное позиционное обозначение для каждого компонента. Имидж должен быть определен либо в проектном файле или в библиотеке имиджей (image library file) , размещенной в одной из директорий библиотечных имиджей и специфицированной в библиотечной секции проектного файла. Для каждого компонента можно использовать различные опции <define_component_option>. Эта опция позволяет разместить и зафиксировать компонент на плате и присвоить ему свойства, правила размещения и идентификатор логической части. Если же позиция компонента не указана, Specctra поместит его вне поля платы (в «кучу»). Присвоенный компоненту имидж можно изменить командой change component image. После определения компонента можно использовать команду define net pins для присоединения вывода к цепи. После определения компонента командой define component уже невозможно свопировать (взаимозаменять) его логические части или выводы. С помощью команды write можно запомнить компоненты, которые были определены в файле размещения или в файле сессии. Для удаления компонента из платы можно использовать команду delete component, но удалить компоненты, заданные в проектном файле или в Specctra, нельзя. Команду define component нельзя использовать для определения существующих компонентов. При этом можно использовать delete component для удаления компонента, define component для переопределения его и define net pins для перепривязки его выводов к цепям.
Примеры команд Define (component IC4 (place U42)) Define (component IC5 (place U44 1.35 2.1 front 90) (place U45 2.51 3.85 front 0)) Define (component IC4 (place U54 8.25 5.43 back 0 (mirror x) (Pn ЗОООа))) Define (component plc526 (place R54 (property (type discrete)))) Define (component plc563 (place C37 (place_rule (permit_side back))))
Define keepout Эта команда определяет запретную зону.
->/ek
шГ)—
Команды автоматического размещения компонентов Команда позволяет задать новые запретные зоны. Запретная зона представляет собой область печатной платы, где запрещены трассировка или размещение. Тип специфицируемой запретной зоны (33) определяется типами запрещенных объектов. При определении 33 необходимо указать ее тип — просто 33 (keepout), зона запрета размещения (placenent keepout), зона запрета прокладки трасс (wire keepout), зона запрета переходных отверстий (via keepout), зона запрета изгиба трасс (wire bend keepout) или зона запрета удлинения проводников (wire elongation keepout), описать форму (прямоугольник, круг или полигон) и местоположение на плате. Specctra рассматривает виды 33 как замкнутые области. Запрещенным объектам не разрешено касаться или .пересекать границы 33. 33 можно присвоить имя (). Если имя не задано, Specctra присваивает его автоматически. По умолчанию эти имена присваиваются последовательно, начиная с keepoutl. 33 можно просто нарисовать в режиме Draw Keepout (см. команду mode для деталей). Но если необходимо задать точные координаты каждой вершины 33, следует использовать команду define keepout. Невозможно присвоить правила для 33, определенных в Specctra, или изменить их для 33 в проектном файле. Для изменения свойств 33 следует использовать команду forget, которая разрушает 33, после чего можно создать новую 33 командой define keepout. Для отображения или гашения 33 на экране можно использовать команды view и vset. . Примеры команд Этот пример определяет прямоугольную запретную зону. Define (keepout (rect signal 1.550 4.890 7.630 9.750)) Эта команда определяет 33 в виде полигона. Define (place_keepout plc_keepl (polygon si 0.1 1.500 4.750 -2.375 4.750 -2.375 3.000 0.250 3.000 0.250 2.000 -2.375 2.000 -2.375 0.500 1.500 1.500 0.500 1.500 4.750))
Define net pins Команда с ключевым слоем add_pins добавляет или изменяет связи выводов компонентов (окраски).
Команда присваивает номер (имя) цепи выводам. Например, можно «окрасить» выводы после создания нового компонента или переокрасить выводы после изменения имиджа компонента. Можно присоединить вывод к существующей це-
53
Глава 3
.
•
пи или определить новую цепь, которой нет в проектном файле. Для привязки вывода к цепи используется опция net для имени цепи и add_pins для идентификации вывода. • Для привязки вывода к существующей цепи специфицируйте имя цепи (), заданной в проектном файле. • Для задания новой цепи и привязки вывода к ней укажите новое имя цепи (). Каждое имя цепи должно быть уникальным. Для указания вывода и привязки его к цепи необходимо предварительно выбрать вывод командой select или назначить имя для каждого вывода. Имя вывода состоит из позиционного обозначения компонента, пробела и имени вывода (pin_reference). Для отсоединения вывода от цепи используют команду forget. Примечание. После изменения окраски вывода нельзя использовать свопинг. Нельзя также привязать вывод к защищенной цепи, нельзя изменять окраски выводов в защищенных трассах, фиксированных трассах или в защищенных цепях.
Примеры команд Select pins Cl-1 Cl-2 C2-1 Define (net sigl (add_pins selected) Define (net sig2 (add_pins C4-1 C4-2))
Define place_boundary Эта команда задает или изменяет область платы, в пределах которой можно размещать компоненты.
Команда определяет границы для размещения компонентов, отличающиеся от границ для трассировки, или модифицирует существующие области размещения. Зона размещения (ЗР) должна быть внутри зоны трассировки. При определении ЗР укажите образ (прямоугольник или путь) и координаты вершин. ЗР может полностью перекрывать зону трассировки, но не может выходить за ее пределы.
Примеры команд Первая команда определяет прямоугольную ЗР. Define (place_boundary (rect signal 1.550 4.890 7.63 9.75))
54
Команды автоматического размещения компонентов Следующий пример определяет ЗР с более сложным контуром. Define(place_boundary (pathsignalO.l 1.5004.750 -2.375 4.750-2.375 3.000 0.250 3.000 0.250 2.000 -2.375 2.000 -2.375 0.500 1.500 1.500 0.500' 1.500 4.750))
Define room Эта команда создает область на плате, которая может быть ассоциирована с компонентами или кластерами в части высоты, рассеиваемой мощности, силовых связей и позиционным обозначением.
Такая команда используется для определения области платы, где необходимо управлять размещением. Например, эту команду можно использовать в начале сессии размещения в разделах платы и привязывать компоненты или кластеры к специфической комнате (room) на основе таких критериев, как связность, высота или рассеиваемая мощность. При задании комнаты ей задается имя (), выбирается образ (прямоугольник или полигон) и специфицируется положение на плате. Комнату можно задать на фронтальной или задней стороне платы или на обеих сторонах. Для присвоения комнатам содержимого и каких-либо ограничений используется дескриптор ^component)-H |— , ^ л
Ч
t <define_component_options> \ — I
"\
Эта команда позволяет удалять компоненты из проекта ПП. Вы можете удалить компоненты, заданные в проектном файле или определенные в Specctra, командой define component. Specctra автоматически удаляет связи компонентов с цепью. .Если же необходимо модифицировать компонент, заданный в проектном файле, можно использовать delete component для ликвидации его текущего определения и define component для его переопределения. В то же время, нельзя удалить компонент, который связан с защищенными трассами, фиксированными трассами или фиксированными цепями. Примеры команд Delete component U21 Delete component R34 vy_compl my_comp3
J Команды автоматического размещения компонентов
Disassociate Команда разрушает связи между компонентами.
Эта команда разрушает связи компонента путем ликвидации связей между большим компонентом и одним или более маленькими компонентами, установленные командой associate_cmd_placement. Можно либо выбрать, либо специфицировать большие компоненты в ассоциациях, которые вы хотите распустить. •
Используйте selected для роспуска всех ассоциаций с большими выбранными компонентами.
• Используйте для роспуска всех ассоциаций с большими компонентами, которые вы специфицировали. Если идентификатор компонента не указан, Specctra распускает все ассоциации для всех выбранных больших компонентов. Для генерации списка всех текущих компонентных ассоциаций и их больших или маленьких членов можно использовать команду report. Примеры команд Disassociate U1 Disassociate selected
•v
.
. - ' • •
для указания позиции области. Отмененная 33 может быть вновь использована для определения новой 33 в любом месте ПП. Для информации о 33 можно использовать команду report. • Используйте forget <property object descriptor^». Каждый такой дескриптор определяет тип объекта (компонент, вывод компонента, имидж, имидж вывода, слой или цепь) и имена объектов, которые лишаются свойств. При этом метка property указывает на удаляемое свойство. Если удаляется тип свойства из компонента или имиджа, Specctra подсчитывает количество выводов для определения — большой это или маленький компонент. Как обычно, для получения данных о свойствах всех стандартных или пользовательских свойств можно использовать команду report.
58
Команды автоматического размещения компонентов Примеры команд Forget cluster ANALOG SYNC Forger room RM3 Forget keepout keepoutl Forget keepout (area 1.550 4.890 7.630 9.750 (layer signal)) Forget pins selected Forget component_property Ul (property my_prop_l) Forget component_property U2 U3 (property type height) •U4 U5 (property height) Forget image_pin_property icl p3 p5 (property prop_2 prop_3) Forget image_pin_property Ic2 p5 p6 (property prop_x) P4 p5 (property prop_y)
Form cluster Команда form_cluster автоматически группирует компоненты в поэтажные кластеры.
Эта команда группирует компоненты в кластеры на основе связности компонентов или соединений. Кластеры можно формировать в соответствии с • Схемной связности всех или выбранных компонентов; • Схемной связности специфического (посеянного) компонента; • Связности сигнальных цепей; • Связности силовых цепей. Например, эту команду можно использовать в начале процедуры размещения для группировки компонентов и определения общих требований к области.
59
Глава 3 Поэтажные кластеры можно использовать для размещения компонентов в непосредственной близости к определенным областям ПП. После формирования кластеров их можно привязать к комнатам (командами rooms или define room). Если этого не сделать, Specctra будет пытаться поместить компоненты в одну и ту же область ПП. Если используется команда Form_cluster с меткой signal, но без имён, Specctra автоматически группирует компоненты в один или более поэтажный кластер на основе связности компонентов. Если же предварительно была использована команда выбора, Specctra группирует выбранные объекты в один кластер. Иначе Specctra группирует все большие и маленькие компоненты проекта в один или несколько кластеров. Если используется команда Form_cluster с именами цепей ()," Specctra группирует компоненты, участвующие в цепи, в единственный кластер. Если же указано несколько цепей, то Specctra создает несколько кластеров. Если используется команда Form_cluster с метками selected component или seed_component, Specctra группирует компоненты, которые имеют сигнальные связи с рассеянными компонентами, в сигнальный кластер. По умолчанию, Specctra группирует все компоненты, которые имеют сигнальные связи с рассеянными компонентами. Можно использовать опцию number_of_components для задания максимального числа компонентов в кластере. Specctra формирует кластер, который содержит не более заданного числа наиболее сильно связанных компонентов, имеющих сигнальные связи с seedкомпонентами. Кластеры можно создавать с помощью команды define cluster. Эту команду целесообразно использовать, если вы хотите создать суперкластеры или piggybackкластеры или же создать поэтажные кластеры, специфицируя индивидуальные компоненты. Примечание. Piggyback является термином Specctra, который определяет кластер, содержащий развязывающие конденсаторы, расположенные под компонентами (на противоположной стороне платы). Компонент может принадлежать только одному кластеру. Команда define cluster позволяет добавлять или удалять компоненты из кластера. Для использования компонента из кластера в другом кластере необходимо распустить кластер по команде forget.
Примеры команд Form_cluster (type signal) Form_cluster (type signal) (net sigl sig2) Form_cluster (type power) ( net AGND)
60
,
Команды автоматического размещения компонентов Select component Ul Form_cluster (type signal) selected component Form_cluster (type signal) (seed_component U2) (number_of_components 5)
Grid place Команда grid place определяет дискретную сетку размещения для пленарных и сквозных компонентов.
Команда позволяет задать одну сетку для всех компонентов, но можно использовать опцию image_type для задания разных сеток для пленарных или сквозных компонентов. При заданной сетке каждая базовая точка компонента помещается в ближайший угол сетки при ручных или автоматических процессах размещения. Для отказа от ранее установленной сетки установите <positive_integer> в 0. Если вы установили сетку размещения для пленарных компонентов (со стеком КП для единственного слоя) и значение этой сетки больше 0, сетка для сквозных компонентов должна быть кратной планарнрй сетке. Иначе, если сетка сквозных компонентов устанавливается в 0. Сетку для планаров необходимо установить раньше.
Примеры команд
Unit mil Grid place 25 Grid place 50 (image_type smd)
High_speed Команда high_speed предписывает Specctra учитывать правила прокладки высокоскоростных трасс при авторазмещении.
Если эта команда включена (on), Specctra учитывает максимальные и минимальные длины соединений, сравнивает длины и временные задержки при операци-
т
Глава 3
;
ях начального размещения (initplace), автоматического выбора дискретов (autodiscrete), авторотации (autorotate), взаимных перестановках (interchange). Эти правила обычно специфицируются в проектном файле, но они могут быть установлены в Specctra с помощью команды автотрассировщика circuit. Для выполнения требований правил размещения Specctra вычисляет манхэттенские расстояния, задает высокий приоритет цепям с ограничением по длине, сравнивает длины и временные задержки. По умолчанию команда включена.
Пример команды High_speed on
Image__property Команда image_property привязывает физические, семейственные и пользовательские свойства к имиджу.
Эта команда позволяет присвоить как стандартные, так и пользовательские свойства к одному или более имиджам компонента. Стандартные свойства имиджа содержат физические свойства и имена семейств. Физические свойства содержат тип, высоту и рассеиваемую мощность. Свойства имеют метки свойств и значения. Перед использовайием этой команды можно произвести выбор имиджей или указать имя для каждого имиджа непосредственно в команде. Если же имена не заданы, Specctra присваивает свойства всем имиджам. Свойства могут быть присвоены в Specctra или в проектном файле. Свойства имиджа применимы ко всем примерам имиджей, но компонентные значения свойств, присвоенные специфическим примерам компонентов, имеют приоритет перед свойством для имиджа компонента. •Физические свойства имиджа идентифицируют тип имиджа, максимальную высоту и максимальную рассеиваимою мощность. Семейные свойства присваиваются или удаляются именам семейств имиджей, используемым для присвоения правил зазоров между телами имиджей и типами КП. Для генерации отчета о свойствах, которые содержат текущие значения свойств, присвоенных всем имиджам в проекте, можно использовать команду report. Можно также генери-
Команды автоматического размещения компонентов ровать отчет о рассеиваемой мощности (power dissipation report) для платы и отчет о семействах имиджей (image family report) для всех семейств имиджей. Если вы присвоите или удалите физические или семейные свойства имиджей, Specctra не фиксирует эти изменения при использовании write-команды при сохранении файла размещения или файла сессии. Примеры команд Следующие примеры присваивают свойства всем именованным имиджам. Image_property C0805 (type capacitor) (height 0.0280) Image_property plcc_20 plcc_28 (height 0.1800-.1200) Image_property SOIC14 (power_dissipation 500) Следующие примеры присваивают свойства всем выбранным имиджам. Select image IC62IC63 Image_property (height -1 0.051) Image property (family fam_l)
Imagie_pin_property Команда image_pin_property присваивает свойства имиджам выводов.
Команда позволяет присваивать как стандартные, так и пользовательские свойства одному или нескольким имиджам выводам .компонента. Для этого необходимо указать метку имиджа и имя вывода компонента. Свойства содержат наименование свойства <prbperty_name>, которое идентифицирует свойство и значение, при этом свойство может содержать числа, метки или строку символов в зависимости от свойства. Стандартные свойства для имиджей выводов включают в себя: • Force to terminal point — значение свойства; • Exit direction — значение. Свойства могут быть присвоены в Specctra или в проектном файле, но свойства, присвоенные выводам в проектном файле, не могут быть изменены в Specctra.
63
Глава 3 Свойства имиджа вывода применимы ко всем примерам имиджей, но свойства вывода компонента, присвоенные конкретному выводу, имеют приоритет перед общим значением свойств для всех выводов. Для генерации отчета о свойствах можно использовать команду report.
Примеры команд
Image_pin_property C81 2 (uprop_l 0.02) Image_pin_property 16301 3 5 9 (uprop_2 xyz) .
Initplace
I
Команда initplace автоматически размещает большие компоненты, создавая образ начального размещения, на основе текущих правил размещения и предварительно установленных правилах. В процессе операции размещения Specctra использует компоненты, которые полностью внутри границ размещения, и размещает их внутри этих границ. Размещение больших компонентов производится в порядке, на основе связности, начиная с наиболее связанных. Specctra определяет позиции элементов используя фактор, который включает позиции уже размещенных компонентов, цепную связность и свойства, правила размещения и предпочтения, а также высокоскоростные ограничения на прокладку трасс (включая правила длин трасс и задержек сигнала). Specctra может разместить определенное число сильно связанных больших компонентов, или выбранных компонентов, или всех больших компонентов. • Значение для опции <no_large_components> специфицирует, сколько сильно связанных компонентов задается для размещения. Если какие-либо компоненты уже размещены, Specctra использует их измеренную связность. • Если опция <no_large_components> не задана, Specctra размещает все выбранные заранее большие компоненты с учетом их связности. • Если вообще не выбраны никакие компоненты, Specctra размещает все большие компоненты, которые находятся полностью вне границ размещения. Specctra учитывает все установленные правила размещения в процессе работы. Кроме того, можно использовать предварительные установки для операций размещения больших компонентов. Возможно: •
установить минимальные значения зазоров между компонентами;
• контролировать, будет ли Specctra сохранять места для маленьких компонентов, находящихся вне границ размещения; • установить значение дискретной сетки размещения для пленарных компонентов, сквозных компонентов или для тех и других;
64
Команды автоматического размещения компонентов • ограничить значения ориентации для различных типов компонентов; • ограничить размещение на одной стороне платы пленарных компонентов, компонентов со сквозными выводами или для обоих. Эти ограничения применимы только к текущим операциям и не перекрывают любые текущие правила размещения, заданные в проектном файле или командой place rule. Specctra не требует матрицы (формы) размещения. Если же проект или производство диктуют такую матрицу, можно использовать команду grid place для установки сетки размещения или команду site для установки сетки для участка имиджа. При запуске размещения без опций выполняются следующие условия умолчания: • Ориентация устанавливается нулевая. •, Для установки пленарных компонентов допустимы два слоя. • Преимущественная сторона для установки компонентов со сквозными выводами — фронтальная. • Specctra не резервирует места для маленьких компонентов на стороне платы, где она размещает большие компоненты. Если в проекте определен поэтажный кластер, Specctra размещает принадлежащие кластерам компоненты первыми и может не разместить другие (не кластированные) компоненты. Если это произошло, используйте initplace снова, чтобы разместить другие большие компоненты. Примечание. ^ Specctra использует список цепей, адресацию связей, правила длин и другую проектную информацию для определения положения компонентов. Для получения лучших результатов необходимо привязать силовые цепи к силовым слоям. Команда initplace размещает только большие компоненты (включая большие конденсаторы, большие резисторы, другие большие дискретные компоненты). Для размещения маленьких компонентов используйте команду autodiscrete. Specctra также учитывает некоторые установочные команды размещения, которые контролируют операции размещения. Перед начальным размещением можно: • использовать контроль высоких частот для подготовки соответствующих условий трассировки; • использовать контроль plc_post_process, который предполагает, что Specctra автоматически регулирует выравнивание компонентов; • использовать вторичные связи (secondary connection) для контроля связей маленьких компонентов, связанных с большими компонентами, в различных цепях. ЗЗак.27
65
Глаза 3
.
Этот контроль сохраняется в действии и после начального размещения. После начального размещения компонентов зачастую во'зможно оптимизировать трассируемость с помощью других команд авторазмещения или посредством ин• терактивного переразмещения компонентов для уменьшения манхэттенской длины трасс и числа пересечений гидов. Примеры команд Первый пример размещает все большие компоненты с применением условий умолчания и предустановок. Initplace Следующий пример размещает 8 сильно связанных больших компонентов. Initplace 8 Следующий пример размещает 2 сильно связанных компонента. Их разрешено разместить на обеих сторонах, но предпочтительно разместить компоненты на фронтальной стороне, если это возможно. Initplace 2 (prefer_side prefer_front) Следующий пример размещает все большие компоненты и требует размещения пленарных компонентов на нижней стороне платы. Initplace (pref er_side back_only (image_type smd)) Следующий пример размещает все большие компоненты и- требует размещения сквозных компонентов на фронтальной стороне платы. Initplace (pref er_side front_only (image_type pin)) Следующий пример размещает все большие компоненты с предварительной установленной ориентацией сквозных компонентов горизонтально. Initplace (prefer_orien horizontal (image_type pin))
Interchange Команда interchange выполняет взаимные перестановки размещенных компонентов в итеративном процессе для уменьшения суммы длин связей. В процессе перестановок Specctra постепенно пытается взаимозаменять размещение компонентов в непосредственной близости и уменьшить манхэттенскую длину. Возможно задать число пассов перемещений, выполняемых Specctra и типы компонентов. • Используйте опцию pass, если вы хотите установить число проходов перестановок. Большое их число обычно приводит к лучшим результатам. Если в процессе перестановок суммарная манхэттенская длина не уменьшается, Specctra прекращает операции перестановок. По умолчанию число проходов перестановок равно 8.
Команды автоматического размещения компонентов • Используйте опцию type для организации перестановок компонентов определенного типа. При этом можно указать: • •f все компоненты; •*• все большие компоненты; •»• все маленькие компоненты; •»• маленькие конденсаторы; + маленькие резисторы; +
маленькие дискретные компоненты.
По умолчанию Specctra пытается переставлять все компоненты, которые размещены в пределах зоны размещения. Если перед использованием этой команды выбраны компоненты, Specctra переставляет только выбранные или выбранные компоненты определенного типа.
Примечание.
^
Вы можете использовать команду show interchange для контроля и отображения процесса перестановок в рабочей зоне. Для генерации отчета о переста.новках можно использовать команду report. Примеры команд
Interchange Interchange 5 Interchange 4 (type large) Interchange (type resistor discrete)
67
Глава 3 i
Keep_selected
Команда keep_selected управляет выбором компонента в процессе интерактивного размещения.
Эта команда определяет сохранение компонентов после ручного размещения. Если keep_selected с опцией off, то компонент исключается из выбранных после ручного размещения. Это значение принимается по умолчанию при отсутствии этой команды вообще. Если применена опция on, компоненты считаются выбранными и после интерактивных операций, таких как перемещение. Пример команды Keep_selected on
Layer_property Команда layer_property присваивает свойства слоям. >\-^ffi)—1—>•
Она позволяет присвоить как стандартные, так и пользовательские свойства одному или более сигнальным или силовым слоям. Свойство состоит из метки (<property_name>) и значения (<property_value>). Как обычно, значение свойства может быть числовым, ключевым словом или строкой символов. Свойства могут быть присвоены в Specctra или в проектном файле, но проектные свойства нельзя отменить или изменить в Specctra. Для генерации отчета о свойствах можно использовать команду report. Примеры команд Layer_property si (uprop_l 0.02) Layer_property si s2 (uprop_2 xyz)
LockXunlock Команды lock и unlock фиксируют и расфиксируют позиции компонентов и привязки цепей к секциям микросхем, цепей к подсекциям и цепей к выводам компонентов.
Команды автоматического размещения компонентов
component )-r+\
Команда lock фиксирует компоненты и препятствует их перемещению или пере' кидке их связей при свопировании. Команда unlock освобождает фиксированные компоненты и позволяет перекидывать связи выводов. Фиксировать или расфиксировать можно, предварительно выбрав компоненты, отдельные или все. Можно также применить опцию type для применения свопирования к определенным объектам. Замороженные объекты получают подсветку контура (компонентов) или выводов. Примеры команд Select component U20 U21 Yl C35 R15 Lock selected (type position) Lock component Ull U12 U13 (type gate) Lock component U10 U30 Unlock all (type position gate pin) Unlock component U20 U21 Yl C35 R15 Select comp U30 U40 Unlock selected (type position gate)
Mode Команда mode устанавливает режим работы левой клавиши мышки.
69
Глава 3 Эта команда устанавливает интерактивный режим левой клавиши [LB]. Вы можете установить режимы для интерактивной трассировки и интерактивного размещения, текущий режим левой клавиши, влияющий на результаты действий после нажатия и удержания левой клавиши мышки в рабочей зоне. Для установки режима используют ключевые слова. Примеры команд Mode measure Mode select component Mode select equivalent pin Mode edit keepout Mode delete keepout Mode edit place_boundary Mode place list Mode place connect Mode place connect no_location Mode move comp Mode flip Mode pivot 90 Mode align
Net_property Команда net_property присваивает свойства цепям.
Эта команда позволяет присвоить как стандартные, так и пользовательские свойства одной или более цепи. Цепь можно выбрать перед использованием команды (select) либо указать имя цепи непосредственно в команде. Если же имена не указаны, Specctra присваивает свойства всем цепям. Свойство состоит из метки свойства (<property_name>) и значения (<property_value>). Текущие свойства могут отличаться от стандартных. Свойства можно присвоить в Specctra или в проектном файле, однако свойства проектного файла нельзя отменить или изменить в Specctra. Для генерации отчета о текущих значениях свойств, присвоенных всем цепям в проекте, можно использовать команду report.
70
Команды автоматического размещения компонентов Примеры команд Net_property sigl (uprop_l 0.02) Net property sig2 sig3 (uprop_2 xyz) Net_property (uprop_3 1.2) .
Place Команда place размещает компоненты или суперкластеры в определенной позиции, на указанной стороне ПП и с использованием указанного угла поворота.
Эта команда размещает индивидуальные компоненты или суперкластеры в соответствии с указанными спецификациями. Для спецификации позиционного обозначения компонента используйте (component_id), а для: кластера — имя кластера (cluster_id). После этого необходимо указать позицию, сторону и угол поворота. Используйте для указания координат точки привязки компонента или суперкластера, <side> для указания стороны платы и для указания угла поворота (от 0 до 360 градусов против часовой стрелки). Результат операций размещения зависит от статуса команды checkmode. Если эта команда имеет опцию on, то результат размещения не может нарушить установленные правила, а если опцию off, то они допустимы, но такие нарушения маркируются на экране. ' - • • . ' • • ' ,•'•'•••
Примеры команд Place U17 1.35 2.1 back 90 Place MEMORY_super 8.25 5.43 front 0 Place R3 3.15 4.3 front 10.25
Place_status_file Команда place_status_file запоминает статусную информацию о размещении в указанном файле. {place_stalus_file)
Н
В процессе авторазмещения Specctra периодически обновляет состояние операций и сохраняет эту информацию в текстовом файле. Имя этого файла необходи-
71
Глава 3 мо специфицировать. Сохранить эту информацию можно посредством использования переключателя place_sts При старте Specctra. Пример команды
Place_status_file plc_l.sts
Push Команда push плавно сдвигает компонент в новую позицию во время расталкивания других нефиксированных компонентов, чтобы освободить место и выполнить требования по зазорам.
Эта команда сдвигает компонент ортогонально и отталкивает стоящие на пути другие компоненты. Если включен контроль правил проектирования, то Specctra сохраняет достаточное место между отталкиваемым компонентом без нарушения правил проектирования. Если на пути находится неперемещаемый объект, сдвиг компонента останавливается. К неперемещаемым объектам относятся запретные зоны, переходные отверстия и трассы. Значения и определяют дистанцию по горизонтали и вертикали соответственно от текущей позиции базовой точки компонента. Specctra сдвигает компонент горизонтально, если dx больше, или вертикально, если dy больше. Примеры команд
Push U10 0.0 0.5 Push U33 0.2 0.0
Place_rule Команда place_rule устанавливает допустимые зазоры, ориентации, сторону платы для размещения компонентов. Эти правила, установленные в Specctra, перекрывают правила из проектного файла. Эти правила отменяют команды, предварительно установленные командами initplace и autodiscrete. Правила проектирования имеют свою иерархию. После установки правил для определенных объектов на одном уровне иерархии они отменяют правила более низкого уровня. Правила размещения можно установить: • глобально для всех компонентов платы или для компонентов установленного имиджа; • индивидуально для имиджа, компонента или суперкластера;
Команды автоматического размещения компонентов • область для всех компонентов или для компонентов с заданным Имиджем в пределах комнаты. В целом: • Правила для имиджа имеют приоритет перед глобальными правилами для всех компонентов платы. • Правила для определенного имиджа или компонента имеют приоритет перед набором имиджей, а правила для компонента имеют приоритет перед правилами для его имиджа. • Правила для суперкластера имеют приоритет перед правилами для его составляющих компонентов. • Правила для комнат имеют приоритет перед правилами для индивидуальных имиджей, компонентами, суперкластерами, а правила для наборов'имиджей в комнате имеют более высокий приоритет перед правилами для комнаты. • Также можно задать правила зазоров между краем КП и телом имиджей или между семействами имиджей. Зазор между имиджами имеет приоритет перед зазорами между семействами имиджей, которые имеют приоритет между всеми другими зазорами. '
*•
Примеры команд Place_rule pcb (spacing .4 (type pin_pin)) (permit_orient 0 180) Place_rule pcb (spacing .25 (type smd_smd) (side back)) Place_rule pcb (opposite_side off (type large_large)) Place_rule image_set large (imagejtype smd) (spacing .5) Place_rule image_set large (image_type pin) (permit_orient horizontal) Place_rule room rml (opposite_side off (type large_small))' Place_rule room rm2 (object_type room_image_set small) (spacing .2) Place_rule room rm3 (object_type room_image_set large (image_type smd)) (spacing .5) t
.
Place_rule image_set small (opposite_side off) Place_rule image SOIC20W (spacing .2 (type smd_smd ) (side front)) Place_rule component U92 (spacing .3 (type pin_smd)) Place_rule family_family (family FAMILY_1) (family_family_spacing .5) Place_rule family_family (family F4 F5) (family_family_spacing .75 (type pad_body) (side back)) Place_rule image_image (image PLC144 HY18) (image_image_spacing .5) Place_rule image_image (image IC4 IC5) (image_image_spacing .75 (type body_body) (side back))
73
Глава 3
•
Rebuild_power_net Команда rebuild_power_net позволяет Specctra перестраивать силовые цепи при интерактивных операциях размещения.
Эта команда позволяет Specctra перестроить силовые цепи при размещении или перемещении компонентов с подсоединенными силовыми связями. Если этот контроль включен в on, Specctra перестраивает силовую цепь для достижения оптимальной ее трассировки. В некоторых случаях имеет смысл включить опцию off, если это улучшит скорость интерактивных операций. По умолчанию значение on. Примеры команд Rebuild_power_net off Rebuild_power_net on
Relocate Команда relocate сдвигает выбранные компоненты или суперкластеры, проталкивает их на противоположную сторону платы или вращает относительно текущей ориентации.
Перед использованием этой команды необходимо выбрать компоненты для перемещения. Все эти операции выполняются относительно исходных позиций, стороны платы и ориентации компонента. Все операции выполняются относительно базовой точки компонента (точки привязки). Значения dx и dy служит для определения дистанции перемещения по осям, dz позволяет перенести компонент на противоположную сторону (значение 1), dr — определяет угол Поворота в градусах против часовой стрелки (от 0 до 360). Если перемещение компонента приводит к нарушению установленных правил проектирования, то результат зависит от опций в командах checkmode и splash. •
Если checkmode установлена в on и splash в off (значение умолчания), то по. пытки перемещения будут неудачными.
• Если checkmode и splash оба включены (on), то Specctra пытается создать комнату, расталкивая в стороны другие компрненты, что вызывает нарушение правил проектирования. Если создать комнату без нарушения таких правил не удается, перемещение останавливается.
74
Команды автоматического размещения компонентов • Если checkmode и splash оба выключены (off), попытки перемещения обычно успешны, но Specctra отображает символы нарушения на соответствующих компонентах и сообщения об ошибках в окне вывода. Вы можете использовать команду edit wires for placement, чтобы Specctra удаляла, расширяла, изменяла связность или отображала гиды присоединенных связей при перемещении одного компонента. Примеры команд Select component U2 Relocate 1.02.0 190 Unselect component U2 • .
Select component U4 U48
'
Relocate 0.0 1.75 0 270 Unselect component U4 U48 Select component U39 Relocate 0.0 0.0 1 0 Unselect component U39 Select component R55 R56 R57 Relocate 0.0 0.0 0 27.25 Unselect component R55 R56 R57
Room_rule Команда room_rule устанавливает содержимое и ограничения для комнаты.
Этой командой можно включить или исключить компоненты или кластеры, установить ограничения по высоте или рассеиваемой мощности или установить приоритет в комнате для силовых цепей. Имя комнаты это имя комнаты, заданное в проектном файле или после команды define room. Примеры команд Room_rule height_2 (height .2 -1) Room_rule ANALOG (power AGND)
75
Глава 3 Room_rule memory (include Ul U2 U16 (type hard) (exclude remain (type hard)) Define (cluster SYNC (comp U20 U21 U23 Cl C2 C3)(type plan)) Room_rule seel (include SYNC (type hard)) (exclude remain (type hard))
Secondary_connection Команда secondary_connection заставляет Specctra рассматривать вторичные связи маленьких компонентов, соединяющие большие компоненты в различных цепях.
fsecondary_connection
При опции команды on Specctra размещает большие компоненты вместе (как если бы они принадлежали одной цепи) в процессе initplace и interchange операций. По умолчанию опция off.
1 Примеры команд Secondary_connection off Secondary__connection on
Sequence Команда sequence задает список компонентов для последовательного размещения при использовании режима интерактивного размещения по списку.
Эта команда создает упорядоченный список компонентов для интерактивного размещения. Для каждого компонента используется метка (component_id) в необходимой последовательности. Этот список необходимо создать предварительно, перед размещением компонентов. В режиме списочного размещения Specctra присоединяет компоненты к указателю раз за разом, обеспечивая размещение последовательно по списку sequence.
Примеры команд Sequence Ul U2 U4 U5 Mode place list
76
1
Команды автоматического размещения компонентов
Site Команда site определяет сетку для участков имиджей для интервала зазоров между имиджами.
W/V\-^/^
imnno
[
^t U-WV)— 1 1 1
\-
L>^( <positive_dimension> \
1
Эту команду используют для установки регулярного образа зазоров- между компонентами одного имиджа. Заданная таким образом сетка вытесняет сетку размещения для указанных имиджей. Для различных имиджей' можно задать различные сетки, но каждый имидж может занимать только один участок платы. Для задания сетки участков имиджей указывают имиджи и .определяют сеточную матрицу. Для задания одного или более имиджей необходимо либо выбрать их заранее (командой select), либо специфицировать в команде. При задании сетки размещения каждое значение положительного размера (positive_dimension) должно быть кратным значению сетки зазоров, присвоенному командой grid place. Начальная точка для сеточной матрицы имиджей совпадает с началом координат платы, определенной в проектном файле. Если задан один размер, то он определяет расстояние между точками сетки по осям X и Y, а если задано два размера, то первый —'это расстояние по X, а второй — по Y. Для удаления матрицы имиджей необходимо установить значение размера в 0. Примеры команд »
Site (image PLCC144) 1.25 Grid place .25 (image_type smd) Site (image ISMD1ISMD2) .50
Splash Команда splash дает право Specctra помещать компонент над другим компонентом, когда включена проверка правил проектирования.
77
Глава 3 Эта команда позволяет перемещать (двигать, ставить на противоположный слой или поворачивать) компоненты в сильно загруженной области платы посредством расталкивания других компонентов с учетом нарушения правил проектирования. При этом можно позволить расталкивать компоненты вертикально (опция vertical), горизонтально (horizontal), ортогонально (в обоих направлениях) или запретить эти операции (опция off). Последняя опция устанавливается по умолчанию. Когда команда splash использует опции вертикально, горизонтально или ортогонально и команда checkmode была установлена в on, Specctra пытается раздвинуть другие компоненты для создания комнаты необходимых размеров. Если сделать это не удается без нарушения правил проектирования, то компоненты не перемещаются. Если же команда splash выключена, a checkmode включена, вы не сможете переместить компоненты, если это вызовет нарушение правил. Если checkmode выключена, команда splash не работает. Specctra перемещает компоненты, но в отчете фиксируется нарушение правил, вместо раздвижки других компонентов. Команда splash воздействует только на команду relocate и относится только к интерактивному режиму.
Примеры команд Splash horizontal Splash orthogonal Splash on
Swap Команда swap автоматически взаимозаменяет секции компонента или связи выводов для уменьшения манхэттенских длин связей в проекте.
Команда позволяет улучшить трассируемость платы посредством взаимоперемещений цепей, связывающих секции, подсекции и выводы компонентов. Specctra свопирует конечные связи посредством переноса «окрасок» (имен) цепей между эквивалентными секциями, которые содержат оконечные выводы (terminator pins). Для этого необходимо указать, какой тип связи свопировать. Specctra итеративно свопирует соединения цепей в попытках уменьшить манхэттенскую длину.
78
Команды автоматического размещения компонентов По умолчанию, Specctra свопирует связи на всей плате. Однако для выбора связей для свопирования можно выбрать секции, подсекции, выводы или терминаторы. •
При выборе более чем двух секций, подсекций, выводов или терминаторов Specctra осуществляет свопинг соединений цепей только на выбранных объектах.
• Если выбрано только две эквивалентные секции (подсекции, выводы или терминаторы) Specctra свопирует связи, даже если это увеличивает манхэттенскую длину. Можно использовать опцию <passes> для задания числа проходов операций свопинга. Specctra продолжает свопинг, пока не выполнит заданное его число или пока не будет результата по уменьшению манхэттенской длины. По умолчанию — один проход. Фиксированные секции, подсекции и выводы не свопируются. Для получения лучшего результата рекомендуется перед свопингом использовать команду interchange. Необходимый пакет информации для свопинга должен быть транслирован из вызывающей САПР и включен в описание компонентов в проектный файл Specctra. Однако свопирование выводов компонентов невозможно, если их имидж был изменен, добавлены связи цепей к выводам или удалены «окраски» выводов. Более подробно по этому вопросу см. в командах change, component_image, define net pins, forget. Примеры команд Swap gates Swap subgates Swap pins Swap terminators 2 Select terminators Ul-2 U3-2 U4-2 U5-2 Swap terminators 1
Trade Команда trade производит парное перемещение позиций компонентов.
tf_/nf>[—Г | |->| ).
. Примеры команд
,
•
'
'
•
Select cluster CLOCK_super Unselect all clusters
Select/unselect component Команды select component и unselect component выбирают или отменяют выбор компонентов для операций размещения или трассировки. Эти команды позволяют выбрать или отменить выбранные указанные компоненты, .все компоненты на одной или обеих сторонах платы, компоненты со специфицированными свойствами или номером секции или компоненты, имеющие указанное число выводов. Для выбора конкретного компонента используется слово component и метка компонента (), для выбора всех компонентов используют слова all components, слово property для выбора компонентов по его свойствам, при этом можно указать электрическое значение (electric value) и одно или более физических свойств (physical properties), слово PN с целью указания номера секции (<part_number>) или число выводов, которое указывает компоненты с конкретным числом выводов или число выводов которых лежит в указанных пределах. ч •
82
Команды автоматического размещения компонентов
При выборах компонентов только они используются в операциях размещения или трассировки.
Примеры команд Select component Ul U2 U3 Select all components (side front) Select component (property (type large)) Select component (property (height 0.15) (power dissipation 500) Select component (property (type capacitor) (value 0.7 pf)) Select component (PN ЗОООа) Select component (number_of_pins 10 14)
Select/unselect family Команды select family, unselect family выбирают или отменяют выбор семейства имиджей для последовательного размещения.
При использовании опции all family происходит выбор примеров всех компонентов со всеми имиджами для семейства со свойствами, перечисленными в проектном файле. . • При использовании опции family с идентификатором семейства () вы выбираете или отменяете выбор только таких компонентов, чьи имиджи присво-
83
Глава 3
•
'
ены определенному семейству. Идентификатор — это имя семейства, которое присвоено имиджу в Specctra (командой image_property) или в проектном файле. После выбора семейства имиджей только компоненты с имиджами этого семейства доступны для операций размещения. •Примеры команд Select family clock_family Unselect all family
Select/unselect gates Команды select gates и unselect gates выбирают или отменяют выбор для операций размещения.
gates ",'r-r-W
Секции (gates) представляют собой группу выводов, которые формируют логическую функцию. Секции должны быть определены в библиотеке САПР и эта информация должна быть включена в проектный файл Specctra. • При использовании опции all gates происходит выбор или его отмена всех секций в проекте. • При использовании опции gates происходит выбор или его отмена только секций с указанными метками выводов (pin_reference), которые состоят из позиционного обозначения компонента и номера вывода, который принадлежит секции. . • При использовании опции equivalent gates происходит выбор или отмена для секций со специфицированными именами выводов и их эквивалентных секций. Эквивалентные выводы — это выводы, которые выполняют одинаковые логические выводы, хотя они могут быть различно поименованы. Когда выбраны одна или более секций, только они подвергаются действию команды. Например, если вы выбрали эквивалентные секции и начали автоматический свопинг секций, только выбранные секции выбираются для свопинга. Примеры команд Select gates U12-20 U15-7 Select all gates Unselect equivalent gates U2-4
84
Команды автоматического размещения компонентов
Select/unselect image Команды select image и unselect image выбирают или отменяют выбор компонентных имиджей для последовательного размещения.
При использовании опции all image происходит выбор или его отмена каждого примера каждого имиджа на плате. При использовании опции image происходит выбор или его отмена всех примеров поименованных имиджей. Метка имиджа (image_id) — это библиотечное имя имиджа как оно указано в библиотечной секции проектного файла Specctra. После выбора имиджа только компоненты с выбранными имиджами подвергаются операциям размещения.
• .
;
'
Примеры команд . Select all image Select image DIP24 Unselect image DIP24
Select/unselect logical_part Команды select logical_part и unselect logical_part выбирают и отменяют ранее выбранные логические части для последовательных операций размещения.
Логическая часть должна быть определена в библиотеке САПР, после чего информация о логической части передается в проектный файл Specctra в процессе трансляции. При использовании опции all logical parts происходит выбор или его отмена каждого примера каждой логической части на плате. При использовании опции logical part происходит выбор или его отмена всех примеров поименованных частей. Метка логической части (logical_part_id) это библиотечное имя логической части, как оно указано в библиотечной секции проектного файла Specctra. После выбора логической части только компоненты с выбранными частями подвергаются операциям размещения.
85
Глава 3 Примеры команд Select all logical_parts Select logical_parts 7465224 Unselect logical_parts 7465224
Select/unselect physieal_part Команды select physical_part и unselect physical _part выбирают и отменяют ранее выбранные физические части для последовательных операций размещения.
Физическая часть должна быть определен^ в библиотеке САПР, после чего информация о физической части передается в проектный файл Specctra в процессе трансляции. При использовании опции all physical parts происходит выбор или его отмена каждого примера каждой физической части на плате. При использовании опции physical part происходит выбор или его отмена всех примеров поименованных частей. Метка физические части (physical _part_id) это библиотечное имя физической части, как оно указано в библиотечной секции проектного файла Specctra. После выбора физические части только компоненты с выбранными частями подвергаются операциям размещения. • '
-
.
•
'
•
"
'
'
Примеры команд Select all physical_parts Select physical _parts MC54HC253 Unselect physical _parts MC54HC253
Select/unselect pin Команды select pin, unselect pin выбирают или отменяют ранее выбранные выводы для размещения или трассировки. При использовании опции all выбираются все выводы в проекте^ Можно использовать опцию layer для выбора всех выводов на одном или нескольких слоях. это имя сигнального или силового слоя в проектном файле. При использовании опции pins обрабатываются только специфицированные выводы, состоящие из позиционного обозначения компонента, дефиса и номера вы-
86
Команды автоматического размещения компонентов вода, принадлежащего компоненту. Можно также использовать опцию <equivalent> для выбора как специфицированных выводов, так и их эквивалентов в любом месте платы.
При выборе выводов только те из связей, которые присоединены к выбранным выводам, доступны для операций свопинга или формирования стрингеров.
Примеры команд " Select pins Ul-5 Ul-6 U2-4 U2-5 Select all pins Select equivalent pins U2-8 U6-3 U23-4.
Select/unselect room Команды select room и unselect room выбирают и отменяют ранее выбранные комнаты для последующих операций размещения.
Идентификатор комнаты это имя комнаты, присвоенное командой define room. При выдаче команды report для получения данных и комнатах в отчет будут включены только выбранные комнаты.
Пример команды
. \
Select room RM1
Select/unselect room_contents Команды select room_contenst и unselect_room_contents выбирают или отменяют ранее выбранные компоненты и кластеры, привязанные к определенной комнате. Для идентификации комнаты используется идентификатор комнаты . Опция contents служит для выбора компонентов и кластеров, которые привязаны к комнате (included) или, наоборот, отсутствуют (excluded). Ис-
87
Глава 3 пользуйте опцию type для выбора (отмены) либо компонентов и кластеров, которые должны быть размещены полностью в комнате или полностью вне ее (hard), ' либо частично внутри или вне ее (soft).
При использовании этой команды без каких-либо опций Specctra выбирает (отменяет выбор) компоненты и кластеры, находящиеся полностью в комнате или полностью вне комнаты. Компоненты и кластеры могут быть включены (исключены) в комнату и соответственно определены командами define room или room rule. При выборе кластеров выбираются все компоненты в кластере. Когда выбраны только компоненты, только они доступны для операций размещения. Более полную информацию об использовании команд select, unselect можно получить с помощью selecting placement objects. Примеры команд Select_room_contents (room RM1) (type hard) Select_room_contents (room selected) (contenst included) (type soft)
Select/unselect subgates Команды select subgates и unselect subgates выбирают или отменяют выбор для операций размещения.
Подсекции (subgates) представляют собой группу выводов, которые формируют логическую функцию. Подсекции должны быть определены в библиотеке САПР, и эта информация должна быть включена в проектный файл Specctra.
__
Команды автоматического размещения компонентов
•
При использовании опции all subgates происходит выбор или его отмена всех подсекций в проекте.
•
При использовании опции subgates происходит выбор или его отмена только подсекций с указанными метками выводов (pin_reference), которые состоят из позиционного обозначения компонента и номера вывода, который принадлежит подсекции.
• При использовании опции equivalent subgates происходит его выбор или отмена для подсекций со специфицированными именами выводов и их эквивалентных подсекций. Эквивалентные выводы — это выводы, которые выполняют одинаковые логические функции, хотя они могут быть различно поименованы. Когда выбраны одна или более подсекций, только они подвергаются действию команды. Например, если вы выбрали эквивалентные подсекции и начали автоматический свопинг секций, только выбранные подсекции выбираются для свопинга. Примеры команд Select subgates U12-20 U15-7 Select all subgates
•
Unselect equivalent subgates U2-4 U2-3 U23-9
Select/unselect terminators Команды select terminators и unselect terminator выбирают (отменяют) последний (terminator) вывод в свопируемой секции.
При использовании опции all terminator происходит выбор (отмена ранее выбранных) выводов в проекте, которым был присвоен атрибут terminator. При использовании опции terminators обрабатываются только терминаторные выводы (pins), которые обозначены в метках выводов (). Метки выводов состоят из позиционных обозначений компонента и номера терминаторного вывода. При использовании опции area terminators выбираются выводы в указанной позиции или в указанной прямоугольной зоне платы. Слово содержит координаты на плате для отдельной точки либо координаты двух противополож-
89
Глава 3 ных углов зоны. Опция toggle используется в случае необходимости отменить все выбранные терминаторы в зоне или выбрать все ранее отмененные терминаторы в зоне. Эта опция недопустима для unselect area terminator. При выборе терминатора только цепи, подсоединенные к секциям, которые содержат терминаторы, доступны для операций свопинга. Можно использовать select terminator для выбора свопируемых терминаторов для команды swap. Терминаторами считаются выводы, которым присвоены свойства терминаторных в проектном файле или непосредственно в Specctra. Подробности этих присвоений приведены в командах assign_pin и define_net. Примеры команд Select terminators Ul-2 U3-2 U4-2 U5-2 Swap terminators 1
90
."'.'•".'.
Глава 4. . ••
•*
Команды автоматической трассировки Обзор команд автотрасировщика включает в себя синтаксические диаграммы, общее описание и примеры команд системы Specctra. Для использования команд необходимо: •
напечатать команду в области ввода команд (вариант 1);
• включить команду в DO-файл (вариант 2). Ввод нескольких команд можно вводить в одной и той же строке, разделяя их символом «точка с запятой». Например, для выполнения 25 проходов трассировки и двух проходов очистки введите: " ' .&'*', Route 25; clean 2 Для ввода команд можно использовать меню системы Specctra и диалоговые боксы. Встроенная система подсказок (online help) содержит информацию по использованию меню и диалоговых боксов. При необходимости установить или модифицировать установленные правила проектирования в течение сессии Specctra можно модифицировать созданный в текущей сессии DID-файл и затем использовать его как DO-файл. Для этого, после окончания сессии, откройте DID-файл с помощью текстового редактора и удалите любую команду, которую вы не хотите использовать в DO-файле. Новому пользователю системы Specctra рекомендуется ознакомиться со списком имен проектируемых объектов (design object names), правилами именования файлов (file naming соцуепМопз) и иерархией правил проектирования (design rule hierarchy) с помощью встроенной системы подсказок.
Правила описания синтаксиса команд Ниже приведены символы и пример, поясняющий использование этих символов в синтаксических диаграммах системы Specctra:
91
Глава 4 Symbol
Function
-HP-
Используется точечный символ Метка, используется точечный текст
—>| <descriptor> [——
Заменить нужным дескриптором Опция, заменить дескриптором
<descriptor>
<descriptor>
Descriptor'
Заменить одним или более дескрипторами
h^
Опция, заменить одним или более дескрипторами
Метка, используется точный текст, выбирается одна альтернатива
Diagram example:
Command example: direction L1 horizontal direction L2 vertical
Ниже приведены описания и примеры команд для трассировщика. Команды даны в алфавитном порядке.
Assign_pin Эта команда присваивает выводам компонента такие признаки, как SOURCE, LOAD, TERMINATOR, EXPOSE. SOURCE — этот признак присваивается выводу компонента при использовании стратегии трассировки daisy-chain routing (последовательно-цепочечное подключение выводов компонентов, входящих в заданную цепь). Вывод с этим признаком будет первым в цепи или «источником». LOAD — этот признак вывода также используется при цепочечной трассировке цепи. Все участвующие в цепи КП являются, по умолчанию, нагрузочными, пока им не присвоены другие признаки, т. е. источник (source) или ограничитель (terminate — оконечный вывод).
92
Команды автоматической трассировки TERMINATOR — этот признак присваивается типологически последней (оконечной) КП в трассируемой цепи.
EXPOSE — этот признак позволяет сформировать отвод от сквозной КП на дополнительное сквозное отверстие (ДСО или VIA) на внешнем слое платы (стрингер). Применяется только для сквозной КП. NOEXPOSE — эта команда удаляет признак EXPOSE, после чего для этой КП стрингер не создается. PINS — этот параметр предшествует списку выводов (pins). Имена выводов в этой команде не должны содержать дефисов. Команда ASSIGN_PIN обеспечивает эффективный способ присвоения большому числу цепей соответствующих признаков в формате source-load-terminator. Отметим, что, специфицируя признак direction (направление) в команде FANOUT (сформировать стрингер), можно вывести стрингер с учетом габарита компонента. Для вывода стрингера под корпус компонента используется признак (IN), вне корпуса компонента (OUT), а если расположение стрингеров не существенно, то (IN_OUT). Данная команда особенно эффективна, когда несколько цепей стартуют как источники на многих элементах и оканчиваются на другом наборе элементов. Ниже приведены примеры использования этой команды: Для спецификации значительного числа последовательно трассируемых цепей в формате «источник, нагрузка, ограничитель»: 1. Присвоить признак «источник (SOURCE)» для большого числа выводов для одного или многих компонентов с помощью команды ASSIGN_PIN SOURCE, например: assign_pin source U27 U28 U29.
93
Глава 4
_____
\
2. Присвоить признак «ограничитель (TERMINATOR)» второй группе выводов с помощью команды ASSIGN_PIN TERMINATOR, например: assignjpin terminator RN27 RN28 RN29. Все выводы, которым не присвоены признаки источника или ограничителя, считаются нагрузками (load) по умолчанию. 3. Упорядочить задействованные выводы для цепочечной трассировки с помощью команды ORDER, например: order daisy net sigl sig2 sig3. Возможно использование команды DEFINE CLASS для определения класса цепей и упорядочения их для Цепочечной трассировки. После такого упорядочения множество источников и ограничителей будут оптимально растрассированы цепочкой. 4. Переопределить компоненты, которые не были упорядочены как цепочка, для выводов типа нагрузка (load) с помощью команды ASSIGN_PIN LOAD, например: assign_pin load U27 U28 U29. Отметим, что аналогичные операции можно выполнить с помощью команды DEFINE NET, которая управляет строгим порядком трассировки выводов в пределах одной цепи. Примеры команд Assign_pin source U200 (pins 2 3 5 7 8 ) Assign_pin load U201 (composite A 2 20 2) Assign_pin terminator R Assign_pin source U200 Assign_pin terminator U400 Order daisy net clock Assign_pin load U200 U400 Assign_pin expose U202 Assign_pin noexpose U202 (pins 4 6)
Assign_jsupply Эта команда определяет выводы компонента или проводники (трассы) как силовую магистраль (тину питания). Команда UNASSIGN_SUPPLY отменяет действие предыдущей команды и возвращает эти выводы и трассы в нормальное состояние. SELECTED — эта опция создает магистраль, в которую войдут все выбранные проводники и выводы компонентов. SELECTED_WIRE — эта опция создает магистраль, в которую войдут только текущие выбранные проводники (трассы).
94
Команды автоматической трассировки PIN — эта опция создает магистраль, в которую будут включены указанные выводы. Определение вывода состоит из имени компонента, дефиса и имени вывода. IMAGE_PIN — эта опция позволяет присвоить всем выводам с именем признак для присоединения к магистрали. WIDE_WIRE — эту опцию следует использовать, когда необходимо включить в магистраль существующие проводники, если их ширина превосходит заданную минимальную.
Рассматриваемая команда определяет выводы компонентов или выбранные проводники, которые должны быть подключены непосредственно к источнику питания. Для этого указывается имя для силовой цепи и выводы и проводники, которые входят в силовую магистраль. Магистраль может содержать один или несколько выводов компонентов, выбранные выводы и проводники или просто выбранные проводники. • Можно использовать опцию selected для создания магистрали со всеми выбранными выводами компонентов и проводников. Вообще, необходимо определить (select) выводы и проводники перед использованием команды ASSIGN_SUPPLY. • Можно использовать опцию selected wires для создания магистрали со всеми текущими выбранными проводниками, т. е. необходимо выбрать проводники перед использованием команды ASSIGN_SUPPLY. • Можно использовать опцию pin для создания магистрали с определенным выводом компоненты. В этом случае определение вывода содержит имя компонента, дефис и номер вывода.
95
Глава 4 • Используйте опцию image_pin для включения определенных типов контактных площадок (КП) в силовую магистраль. • Используйте опцию wide_wire для включения в магистраль тех проводников, чья ширина равна или больше специфицированной ширины. Отметим, что возможно использование правила «тип связи (junction^type)» для управления трассировочной топологией для любых выводов и проводников, входящих в магистраль по команде ASSIGN_SUPPLY. Примеры команд Assign_supply vcc (pin Cl-A) Unassign_supply vcc (pin Cl-A)
, . ...
Assign_supply vcc (selected) Unassign_supply vcc (selected)
-
Assign_supply vcc (selected_wires) Assign_supply vcc (image_pin vcc) Assign_supply vcc (wide_wire (layer Ml (min_width 10))) Assign_supply vcc (wide_ware(layer Ml(min_width 10)) (layer M2 (min_width 20))) *
..
Autosave
'
•
'
*
Эта команда разрешает запоминать все проложенные трассы после каждого прохода трассировщика.
Команда может быть включена или отключена с помощью опций ON или OFF. Если она включена, то трассировщик записывает проложенные трассы в файл после окончания текущего прохода, с перекрытием ранее записанных данных. В конце процесса трассировки или в случае аварийного его прекращения в этом файле сохранятся результаты работы. Эти данные можно использовать повторно. По умолчанию файл сохранения имеет расширение .W. * Возможно использовать вместо этой команды команду WRITE WIRE для сохранения проложенных трасс в конце сессии. Таким образом, можно сохранить полученные результаты от случайного удаления при последующих сессиях трассировщика. Смотри также команду BESTSAVE, которая зачастую предпочтительнее.
96
Команды автоматической трассировки Примеры команд Autosave on Autosave on plata.w
Bestsave Эта команда запоминает проложенные трассы, если на очередном проходе получены лучшие результаты. . f L-»! \—'
Команда имеет опции on и off. Трассировщик вычисляет результаты прохода следующим образом: Оценка прохода = количество «неправильных трасс» + количество нарушений по зазорам + количество перекрывающихся трасс + количество нарушений длин трасс + удвоенное количество не проложенных трасс. Команда bestsave не отменяет команду write wire, которая используется в конце сессии трассировки.
Примеры команды Bestsave on Bestsave on mysave.w
Bus Эта команда позволяет использовать специальный алгоритм трассировки выводов, которые имеют одинаковые координаты по оси X или Y.
Команда предписывает трассировщику прокладывать трассы в виде регулярного массива, обычно используемого для ячеек памяти. Трассировщик выбирает цепи, которые являются кандидатами для шины, и затем прокладывает эти соединения. Допустимые зазоры должны позволять прокладывать такие трассы без конфликтов. Если команда BUS применена без опции diagonal, трассы будут ор43ак. 27
97
Глава 4
'
;
тогональными, однако предпочтительнее использовать диагональные трассы, так как плотность трассировки будет выше.
Примеры команд
Bus Bus diagonal
Cct_cmd Эта команда позволяет вводить команды системы Specctra при установке области ввода команд в режим SKILL (skill_mode). <specctra_command>\-
Эта команда полезна при запуске SKILL DO-файлов. Для ввода нескольких команд Specctra необходимо вводить символ «;» для их разделения. Примеры команд Skill_mode Printf("total componenets = % d\n" totalcomp) For (I 0 5{cct_cmd("z out")}) Cct_mode Skill_mode Cct_cmd("z out 2; repaint")
98
Ч . '
-,
Команды автоматической трассировки
Cct_mode Эта команда устанавливает поле ввода команд Specctra для приема команд. Обычно эта команда используется для завершения режима SKILL. Пример команды Skill_mode Printf("total components=% d\n" totalcomp) Cct_mode
Center
Эта команда просматривает все проложенные трассы, которые расположены между смежными выводами компонентов, и смещает их так, чтобы они были эквидистантны (равноудалены) относительно этих выводов, соблюдая следующие условия: • Новые конфликты не должны появляться. • Только один сегмент трассы может быть проложен между парой выводов. • Для центрирования не используются новые сегменты трасс, только один ранее проложенный сегмент может быть смещен. • Никакие новые изгибы трасс не добавляются. • Если была определена дискретная сетка для трассировки, то смещаемый сегмент будет размещен на сетке, ближайшей к центровой линии между выводами. BEFORE CENTER
AFTER CENTER
Смотри также .команду SPREAD Пример команды Center 4
*
99
Глава 4
Change Команда позволяет изменять длину стрингера (расстояние от пленарной КП до дополнительного сквозного отверстия) на слое размещения планарных КП. Это расстояние может быть не более максимальной длины отвода и не менее длины защищаемого {экранируемого) сегмента трассы (см. команду CIRCUIT SHIELD).
<positive_ dimenslor»
SMD_ESCAPE даже если не указаны слои, на которых будет производиться установка компонентов с планарами (монтаж на поверхность), трассировщик должен тем не менее сформировать стрингеры (отводы от планаров на ДСО). По умолчанию максимальная длина стрингера для автотрассировщика составляет 0,25 дюйма от края планара до центра ДСО. Трассы для отвода и ДСО могут быть переложены в процессе трассировки, как это производится для всех остальных нормальных трасс, при этом ДСО всегда располагаются внутри радиуса, заданного в команде smd_escape. MIN_SHIELD Этот параметр специфицирует минимальную длину связи, которую трассировщик пытается закрыть (экранировать) при использовании команды CIRCUIT SHIELD. По умолчанию минимальное значение 0,125 дюйма. Примеры команды Unit inch Change smd_escape 500 Change min_shield 0.5
Change_width_by_rule Эта команда отменяет ширину трасс, установленных командой изменения ширины проводников.
С change_wldth_by_rule
Она автоматически обновляет ширину всех проводников посредством модификации правила установки ширины трасс. По умолчанию, ширина трасс изменяется, только если не возникает нарушения установленных зазоров. Однако можно применить опцию force, которая произведет все изменения ширин, даже если это приведет к нарушениям (см. также команду Highlight).
100
Команды автоматической трассировки Примеры команд Rule layer s2 (width 1) Rule layer s3 (width 2) Change_width_by_rule force (эта команда изменит ширины проводников, несмотря на возможные последствия).
Check area Эта команда проверяет проект в пределах прямоугольной области и определяет нарушения, установленные как для трассировки, так и для размещения компонентов.
Команда регистрирует нарушения внутри специфицированной области. В то же время, использование команды CHECK позволяет распечатать нарушения в проекте в целом.
Пример команды Check area 1.1 0.2 2.0 0.5
Check Эта команда производит контроль нарушений правил, установленных для процедур размещения и трассировки.
TYPE опция определяет характер проверки. Вариантами являются: Route — проверяет" правила трассировки. Нарушения зазоров маркируются прямоугольником, ошибки пересечения трасс — ромбом, нарушения длины — штриховыми линиями, нарушения размещения (crosstalk нарушения) — прямоугольником с тонкими линиями. АИ — проверяет правила для трассировки, размещения и другие опции, доступные для type.
1О1
Глава 4
• •' ..
Place — проверяет правил а-размещения. Нарушения маркируются прямоугольником (тонкие линии) и маленькими ромбами в каждом углу контура компонента. Include — опция позволяет добавить в список правил и объектов проверки тип проверки. Exlude — опция позволяет исключить тип проверки из списка. определяет типы проверок, которые можно специфицировать с помощью команд setup_check и check. Они приведены ниже: Тип
Значения по умолчанию
Conflict
on (определяет короткие замыкания и нарушение зазоров)
Length
on (определяет установленные длины трасс)
Limit_way
off (проверяет нарушение предельной длины трассы проложенной в запрещенном направлении)
Max_vias
off (проверяет максимально допустимое число ДСО в цепи)
Miter
off (выявляются недопустимые углы поворота трасс)
Order
off (контроль последовательности подключения выводов элементов в проложенной трассе)
Pin
off (проверка зазоров между выводами компонента и другими объектами)
Poligon_wire
off (проверка зазоров между полигоном с электрическими характеристиками и другими объектами)
Protected
off (проверяются зазоры между защищенными проводниками и ДСО и другими объектами)
Same_net_check
off (проверка зазоров между элементами одной цепи, если они распожены слишком близко)
Stagger
off (проверка максимально допустимого разброса длины трассы, проложенной на разных слоях)
Stub
off (проверка длины стрингера)
Usejayer
off (проверка использования только разрешенных слоев)
Use_via
off (проверка использования только разрешенных ДСО)
Xtaik (crosstalk)
on (проверка нарушений правил размещения компонентов)
Команда check позволяет проверить установленные правила проектирования, которые могут возникнуть при интерактивной работе с проектом, при отключенных проверках в этот период. Если использовать check без опций type, include или exlude, то проверяться будут только правила для трассировщика. Specctra автоматически проверяет правила проектирования в начале сессии и после каждой операции трассировки и размещения. Если вы добавите или измените правила во время сессии, то можно использовать команду check для проверки проекта по новым правилам. См. также команды setup_check, place_rule, circuit, rule.
102
Команды автоматической трассировки Примеры команд Check
Check (type route) Check (type place) Check (type all) Check (include miter stub limit_way) (exlude xtalk)
Circuit Эта команда задаёт конструкторские ограничения для цепей, классов цепей, отрезков цепей, соединяющих соседние выводы (от — до), групп направлений и наборов групп.
Net — определяет имя цепи, Class — определяет имя класса цепей, Group — определяет имя группы цепей, Group_set — определяет имя группы цепей, Selected — определяет единственную выбранную цепь. Команда CIRCUIT используется для правил длин, задержек и защиты цепей, приоритетов для трассировщика и слоев для трассировки. Некоторые правила для цепей не касаются всех объектов. В системе SPECCTRA существует правило приоритетов для различных параметров. Такой список называется иерархией правил. Идентификатор selected можно использовать для задания правил проектирования к выбранной цепи. Для установки собственных правил следует использовать опцию . Объекты, которые можно использовать в этой команде, описаны ниже: Объекты
Описание
Net Class
Единственное имя цепи Одна или более одной цепи, которые подчиняются общим правилам проектирования. Для создания класса'цепей используется команда Define class. Набор отрезков цепей (от — до) с общими правилами. Набор групп цепей, имеющих общие правила проектирования. Для создания такого набора используется команда Define group_set. Одна или более цепей, которые отмечены командой select net. В этом случае выбирают полную цепь. Команда не применяется к набору отрезков цепей.
Group Group_set Selected
ЮЗ
Глава 4
*
•
'
При применении этой команды можно управлять максимальной и минимальной длиной проложенных трасс, устанавливать длины трасс для двух или более цепей, устанавливать длины отрезков в цепи, устанавливать единую длину отрезков в наборе групп и автоматически трассировать экранированные цепи. Для установки длин можно использовать: •
действительные размеры;
>
• отношение длин трасс вместо манхэттенской длины; •
значения задержек во времени.
В последнем случае необходимо определить фактор продолжительности времени () в команде Rule. Если этого не сделать, то появится предупреждающее сообщение.
Примеры команды Unit mil Circuit net GND (use_via V100) Define (class Cl sigl sig2 sig3 (circuit (priority 255))) Circuit class Cl (match_net_length on (ratio_tolerance 20)) Circuit selected (use_layer LI L3) Define (group Gl (fromto Ul-3 U3-4) (fromto U6-8 U7-5) (circuit (length 3000 2400))) Circuit group Gl (match_fromto_length on (tolernce 0.10)) Circuit net Jl (length 4.4 3.9 (type ratio)) Circuit net ARO (length -1 2.5) Rule net Jl (length_gap 0.008) Rule net ARO (length_amplitude 0.25) Define (class C2 sigl sig2 sig3 (circuit (max_delay 525) (min_delay 420))) Rule class C2 (time_length_factor .45) Define (group g2 (fromto U4-20 U2-17) (fromto U4-2 U4-8)) Define (group g3 (fromto Ul-6 U3-12) (fromto Ul-16 U3-7)) Define (group g4 (fromto U2-9 U3-20) (fromto U2-7 U3-8)) Define (group_set grpsetl g2 g3 g4) Circuit (group_set grpsetl (mstch_group_length on (ratio_tolerace 15)) Rule group_set grpsetl (time_length_factor 0.8)
1O4
Команды автоматической трассировки Define (group g5 (fromto Ul-13 U3-10) (fromto U3-15 U4-7)) Define (group g6 (fromto Ul-9 U3-16) (fromto U3-14 U4-6)) Define (group_set grpset2 g5 g6) " •_ , Circuit group_set grpset2 (match_group_delay on (tolerance 400)) Rule group_set grpset2 (time_length_factor .45) '
Set crosstalk_model cap_ratio Circuit class classl (switch_window 10 35) Circuit class class2 (sample_window 1 25)
Circuit rules overview Эта команда используется для просмотра: Длин трасс • максимальной и минимальной длины трасс цепи (length of a net); • минимальной и максимальной общей длины трасс для всех цепей в пределах группы (Total routed length); • сравнение длины трасс для каждого сегмента цепи с самым длинным сегментом в цепи или группе; • сравнение длины трасс для всех цепей в заданном классе; • сравнение длины трасс каждой группы в наборе групп. Для задержек • • • • •
,
максимальной и минимальной задержки для цепи; общей задержки для всех цепей в пределах группы; сравнение задержки для каждого сегмента трассы в цепи или в группе; ' сравнение задержки всех цепей в заданном классе; сравнение общей задержки для каждой группы в наборе групп.
Для шумов и наводок • автоматической экранировки при трассировке проводников для цепей, классов, групп или сегментов проводников; • switch window и sample window для цепей или классов цепей, чтобы определить парную связь цепей. Для трассировки вообще
_
• приоритеты трассировки; • ограничение длин трасс на указанных слоях; • типы ДСО для определенных цепей, классов и групп.
1О5
Глава 4 Дескриптор delay (задержка) устанавливает правило для цепи, которое определяет диапазон задержек сигналов в заданной цепи.
Max_delay — определяет максимально допустимую задержку. Проложенная трасса должна быть равна или меньше этого значения. Min_delay — определяет минимально допустимую задержку. Проложенная трасса должна быть равна или больше этого значения. Значение задержки есть вещественное число с тремя десятичными знаками после запятой. При этом необходимо также определить соответствие заданной длины трассы отрезку времени, для чего необходимо использовать спецификатор Time_length_factor в команде Rule. Если этого не сделать, правило задержек не будет срабатывать. Дескриптор length (длина) устанавливает правило, задающее диапазон длин трасс (проложенных проводников).
Length — определяет минимальную и максимальную длину трассы. Первой определяют максимум, затем минимум, а значение длины равное -1 отменяет предварительно установленное максимальное значение. Такие же правила установки приняты для минимума длины. Туре — определяет значения длин как реальное (actual) или как отношение реальной длины к манхэттенской длине (ratio). По умолчанию actual. ' Например, команда: circuit net RX (length 1.25 1.1 (type ratio) задает максимальную длину трасс цепи RX по отношению к манхэттенской длине не более чем 125% и не менее 110%. Match_fromto_delay (выровнять задержки сегментов проводников) — устанавливает правило выравнивания задержек каждого сегмента в цепи или группе.
106
Команды автоматической трассировки Tolerance — устанавливает единые задержки в пределах допуска. По умолчанию допуск задержки равен одному дюйму реального размера. Match_fromto_length — устанавливает длину каждого сегмента проводника равным самому длинному сегменту в цепи или группе.
Ratio_tolerance — устанавливает дл"ины трасс в пределах допуска в процентах от самой длинной манхэттенской длины. Например, если ratio_tolerance равно 0.2, а самая длинная манхэттенская длина трассы равна 1.5, то допуск равен 0.3 единицы. Дескриптор Match_group_delay устанавливает правило, которое сравнивает величину задержки каждой группы в наборе групп.
Правило касается только набора групп. Tolerance — задержка находится в пределах указанных допусков. По умолчанию допуск равен одному дюйму действительного размера. Match_group_length — устанавливает правило, которое сравнивает общую длину трасс каждой группы в наборе групп.
Применим только для ^набора групп. Tolerance — длины трасс находятся в пределах допусков, указанных в команде, или в пределах допуска по умолчанию в один дюйм.
107
Глава 4
.
Ratio_tolerance — длины трасс находятся в пределах допусков, установленных как процент от самой длинной манхэттенской длины. Match_net_delay — сравнивает правила для задержек во всех цепях класса.
Допуск определяется опцией tolerance. Match_net_length — употребляется только для класса цепей.
Происходит сравнение длин трасс всех цепей класса. Tolerance — длины трасс сравниваются с допуском, указанным в команде, или с допуском по умолчанию (один дюйм). Ratio_tolerance — длины проложенных трасс сравниваются с допуском, установленным как процент от самой большой манхеттенской длины. По умолчанию, устанавливается допуск в один дюйм, если опция match_net_length установлена в on, при этом не специфицированы допуск явно или как процент. Если указана опция ratio_tolerance, то она должна выражаться вещественным числом с двумя цифрами после запятой. Дескриптор max_restricted_layer_length устанавливает максимальную длину трассы для индивидуальных цепей или отрезков (от — до) на определенных слоях.
С( Total — употребляется только для групп. Эта опция ограничивает общую длину трасс для сегментов в группе на указанных слоях. Это правило применяется для ограничения трассировок на указанных слоях. Он работает совместно с опцией , который маркирует определенные слои. Например, команда rule layer sigl sig4 (restricted_layer_length_factor 1) выделяет слои sigl и sig4, а затем команда circuit class all_nets (max_restricted_layer_length 50)
108
Команды автоматической трассировки ограничивает каждую цепь в классе all_nets до максимальной длины в 50 мил на слоях sigl и sig4. Дескриптор Priority (приоритет) относится к выделенным для трассировки цепям, классам или сегментам трасс.
Приоритет принимает значения от 1 до 255. Если он не специфицирован, то принимается значение 10. Дескриптор sample_window (образец окна) устанавливает схемное правило, которое определяет одну или более порцию временного цикла, в течение которого образец специфицированного сигнала может появиться.
Образец окна задается парой целых чисел, определяющих начальные и конечные точки окна, принимая во внимание полный главный временной цикл. То есть образец показывает часть полного цикла, в течение которого цепь чувствительна к шумам переключения в соседней цепи. Значение -1, введенное сразу после sample_window, удаляет целиком образец окна и делает его неопределенным. Shield — устанавливает правило для цепи, которое заставляет трассировщик применить экранировку к проводам в процессе трассировки.
Туре — специфицирует три типа экранов: Parallel — эта опция позволяет выполнять параллельную экранировку трасс для цепи на одном и том же слое. Tandem — эта опция позволяет выполнять параллельную экранировку трасс для цепи на слоях выше и ниже. Coax — эта опция комбинирует оба приведенных выше способа экранировки. По умолчанию — parallel.
1О9
Глава 4
'
Use_net — с указанием имени цепи специфицирует экранирующую цепь (обычно это цепь «земля»). Этот дескриптор можно применять для автоматической экранировки цепей, классов, групп или сегментов. Относительно тандемной экранировки см. опцию . Дескриптор Switch_window устанавливает правило трассировки электрических цепей, которое определяет одну или более порций временных циклов, в течение которых происходит переключение специфицированных сигналов.
<start_switch> |—Hi <stop_switch> \-
Этот дескриптор указывает часть главного временного цикла, в течение которого цепь может передавать шумы переключения в соседние цепи. Значение -1, введенное сразу после switch_window, удаляет целиком определение окна переключения и оставляет его неопределенным. Дескриптор total_delay вводит установки, которые определяют диапазон общих задержек для группы.
Эта установка касается только групп. Max_total_delay — общая максимальная задержка для группы. Min_total_delay — общая минимальная задержка для группы. Значение задержек задается вещественным числом с тремя цифрами после запятой. Суммарная задержка для сегментных трасс в группе должна быть равна или меньше максимальной общей задержке и равна или больше минимальной общей задержке. При установке правил задержек необходимо определить величины задержек применительно к каждой единице длины с помощью команды RULE и опции Time_length_factor. Правило задержек не будет работать, пока не установлен временной фактор первый раз.
<positive_ dimension**-
Max_total_length — устанавливает правило, которое определяет максимум общих длин трасс для сегментов в группе.
НО
Команды автоматической трассировки Min_total_length — устанавливает правило, которое определяет минимум общих длин трасс для сегментов в группе. Дескриптор Use_layer присваивает один или более трассировочных слоев для цепей, классов, групп, наборов групп или сегментов.
Указывается имя слоя, на котором цепи или сегменты могут быть помещены. • Use_via — присваивает одно или более ДСО или массив ДСО для цепей, классов, групп, сегментов или для выбранных цепей. <padstack_ld>Y
*2
Если выбрано более одного типа ДСО, трассировщик выбирает наименьший ДСО, которое удовлетворяет требованиям слоя.
Clean
'
Эта команда инициирует специальные процедуры, которые улучшают результаты трассировки, посредством минимизации количества ДСО и точек изгиба трасс.
Всегда предлагается 4 прохода оптимизации после окончания всех проходов трассировки. Если же использовать эту команду без указания числа проходов, то трассировщик выполнит один проход оптимизации (очистки). Отметим, что эта команда не должна стоять после команды Miter.
Примеры команд Clean Clean 4
111
Глава 4
Component_pin_property Эта команда присваивает определенные свойства выводам компонентов.
^component_pin_property ->|\-r^\
Команда содержит наименование свойства и его значение. Значением могут быть спецификаторы, числа или строка символов, в зависимости от того, какие требуются свойства. Команда дает возможность присваивать как стандартные свойства, так и пользовательские для одного или более выводов компонента. При этом необходимо указать имя компонента и имя каждого вывода или же использовать опцию selected для присвоения свойств ранее выбранным выводам. Каждое свойство имеет имя и значение. Значение свойства может быть числом, идентификатором, строкой символов. Стандартные свойства для выводов состоят из: Force_to_terminal_point Exit_direction Свойство можно присвоить в системе Specctra или в файле проекта, но если оно присвоено в файлег то его нельзя изменить или удалить в системе Specctra. Свойства присваиваются только индивидуальным выводам конкретного компонента. Эти свойства имеют приоритет перед свойствами для образа вывода (image pin). Примеры команд
Component_pin_property C81 2 (uprp_l 0.02) Component_pin_property 116301 3 5 9 (uprop_2 xyz)
Component_property Эта команда присваивает физические, электрические и другие свойства компонентам. {component_propertx)—1
I—| \^
112
\<property_value>\
^^П—
Команды автоматической трассировки Она позволяет присваивать стандартные или пользовательские свойства компонентам. Стандартные свойства содержат несколько физических свойств и электрических параметров. К физическим свойствам относятся тип, высота, рассеиваемая мощность. Как правило, свойства содержат идентификатор свойства и значение. Возможно выбрать компоненты перед использованием этой команды или указать идентификатор компонента. С помощью команды report (отчет) можно получить информацию о свойствах, присвоенных всем компонентам в проекте. Возможно также получение данных о рассеиваемой мощности для всей платы. При присвоении или удалении свойств компонентов система Specctra фиксирует эти изменения при использовании команды write, чтобы запомнить файл размещения или сессионный файл. Однако в этих файлах не фиксируются свойства компонентов, заданные командой Image_property. См. также: Autodiscrete Autorotate
1
Define room Initplace Interchange
I
Place_rule Room_rule Select component
.
.
'
.:•
•
,
Unplace
\ Примеры команд Примеры ниже присваивают свойства поименованным компонентам. Component jproperty C81 (type capacitor) (heigth 0.0280) Component_property U28 U40 (heigth 0.1800) Component_property Rl R2 R5 (power_dissipation 500) Component_property Ul U2 (value 10k) Примеры ниже присваивают свойства всем выбранным компонентам. Component_property (type capacitor) (value 0.5pf) (power_dissipation 0.5) Componentjproperty (heigth 0.05) Дескриптор физических характеристик присваивает тип, высоту, вес и мощность рассеивания для свойств или образов компонентов.
113
Глава 4
Type — определяет, какие маленькие компоненты выбираются для автоматического размещения. Маленькими компонентами считаются компоненты с тремя или менее выводами, в том числе: Capacitor, сюда относятся только маленькие конденсаторы (которым присвоены соответствующие свойства и те конденсаторы, которые имеют выводы, подключенные к цепям земли или питания, и которым не присвоены резистивные или дискретные свойства). / ' Discrete, к которым относятся компоненты с малыми размерами. Resistor, к которым относятся только маленькие резисторы. Small, к которым относятся все маленькие компоненты. Large, к которым относятся все большие компоненты. По умолчанию применяется тип Small. Heigth — определяет диапазон высот компонента. Значение -1 означает, что высота не определена. Это значение присваивается компоненте по умолчанию. Power_dissipation — присваивается максимальная мощность рассеивания для подсчета общей мощности рассеивания всех компонентов в комнате. Значение -1 установлено по умолчанию и означает отсутствие этой информации. См. также команды define room и room_rule для дополнительной информации об ограничениях при размещении в комнатах. ' Дескриптор электрических характеристик компонентов определяет электрические свойства индивидуальным компонентам.
Эти свойства не имеют функциональной важности для системы Specctra, но могут быть необходимы для других целей в основной системе проектирования.
114
Команды автоматической трассировки
Cost Эта команда устанавливает цены трасс и перекрывает внутреннюю ценовую таблицу трассировщика.
Way — стоимость прокладки трассы в неправильном направлении. Например, стоимость прокладки горизонтального сегмента трассы на слое для вертикальных трасс. • •' ' • \ -•'' •'" • • ' ' • • ' г-'--Cross — стоимость конфликта пересечения трасс. !
Via — стоимость использования ДСО. Off_grid — стоимость трассировки вне дискретной сетки. OFF_center — стоимость подключения вывода к проводнику вне центра вывода. Side_exit — стоимость подключения трассы к выводу на длинной стороне. Squeeze — стоимость создания нарушения зазора между трассой и ДСО. Значение стоимости устанавливается с помощью дескриптора стоимости. Он может иметь идентификатор или числовое значение: Идентификатор стоимости
Численное значение
Forbidden
100
Heigth
50
Medium
25
Low
8
Free
О
Layer — стоимость использования именованного слоя для трассировки, при этом задаются значения типа (Туре), который может быть length или way.
115
Глава 4
:
'.
.'•:••;.
.-••••'•.
Length — стоимость любой трассы на слое. Way — стоимость неверного направления трассы на слое. Вы можете перекрыть внутренние установки стоимости и ввести их фиксированные значения с помощью этой команды, хотя это не рекомендуется. Для того чтобы вернуться к предопределенным значениям стоимости, можно ввести команду cost way -1. Для запрета использования ДСО можно .выдать команду cost via forbidden, хотя более эффективный путь запрета ДСО — команда Unselect all vias. Команда cost off_grid_forbidden игнорируется, если центр пленарной КП лежит вне дискретной сетки. Примеры команд Cost way_f orbidden Cost via low Cost layer LI forbidden Cost layer L2 higth (type way)
Critic Эта команда помогает улучшить качество трассировки без перекладки трасс. Она проверяет наличие ступенек и удаляет выступы.
Команда подобна команде clean, но отличается одним существенным аспектом. Команда clean полностью перекладывает каждый провод, а команда critic пытается осуществить локальные улучшения топологии проводников, при этом она выполняется значительно быстрее.
Пример команды Critic
116
Notch and bend point removal
is changed to
Stairstep removal
is changed to
Команды автоматической трассировки
Define commands Эти команды создают классы, группы, наборы групп, дифференциальные пары, таблицы и регионы. Они также используются для задания ранжировки цепей, отношений классов, факторов шумов для попарных слоев. Индивидуальные команды define рассматриваются в соответствующих разделах, примеры этих команд приведены ниже: -..'
Define bundle Define class Define class_class Define group Define group_set Define layer_noise_weight Define net Define padstack
•
Define pair Define region Примечание. • Информация по заданию зон запрета приведена в команде define keepout.
Define bundle Эта команда привязывает цепи к именованным жгутам (набору проводов) для дальнейшей трассировки с сохранением для всех трасс подобной топологии. Cb—-
Bundle — эта опция создает или редактирует жгут, который включает информацию о заданных расстояниях и слоях.
117
Глава 4 Gap — опция специфицирует заданные расстояния между проводниками, которые трассируются как жгут. Эта опция может затрагивать один или более слоев, поэтому можно специфицировать многократные зазоры. Layer — идентифицируются слои, для которых заданы зазоры. Nets — указывает цепи посредством идентификатора цепи или использует выбранные (selected) цепи. Add_net — добавляет один или несколько цепей в существующий жгут. Эта опция может не содержать информации о зазорах. Remove_net — удаляет цепь или цепи из заданного ранее жгута. Вообще, возможно удаление всех цепей из жгута, после чего в пустой жгут можно просто добавить цепи. Эту команду удобно использовать для идентичной топологии трасс для двух или более цепей. Порядок размещения идентификаторов цепей в жгуте не влияет на порядок их трассировки, поскольку этот порядок определяется физическим размещением КП жгута. Примеры команд Define (bundle addr_bundle (gap 10 (layer ml m2)(nets addrl addr2 addr3)) Define (bundle addr_bundle (add_net addr4)) Define (bundle addr_bundle (remove_net addrl))
Define class Эта команда присваивает имя группе цепей. Как вариант, возможно присвоение правил для определяемого класса. Class — группа цепей, которой присвоено имя. .
.
.
1
Rule — присваивает одно или более правил в текущей команде. *
1
Circuit — присваивает правила для цепей в текущей команде. Дескрипторы Rule и Circuit можно использовать для задания зазоров, прокладки трасс, временных характеристик, наводок и шумов. Имя класса должно быть уникальным. Цепь может состоять в более чем одном классе, но если классы конфликтуют, то применяется правило из последнего определенного класса. Определение класса. Формирование класса удобно для присвоения различных правил, применяемых ко всем цепям в классе, в соответствии с иерархией классов. Опции Add_net и add_selected_net позволяют добавить цепь в класс. При этом существующие цепи в классе сохраняются, а существующие для них правила
118
Команды автоматической трассировки применяются к вновь добавленным цепям. Для удаления цепи из класса используются опции remove_net и remove_selected_net. Для расформирования класса применяется команда disband. I^^^^^^^^^^^^^J
Примеры команд Define (class C2 sig2 sig3 sig4) — эта команда создаст класс С2, содержащий 3 цепи. Define (class СЗ sig5 sig6 (circuit (use_via v25))) — эта команда создаст класс СЗ и присвоит правило использования для этогрй«лаеса ДСО типа v25. Define (class С4 sig5 sig6 (rule(width 0.01)(clearance 0.008))) — команда создаст класс С4 и присвоит ширину трасс и зазор. Дескриптор цепей определяет цепи в классе.
Composite — определяет список имен цепей, которые можно представить параметрами
Имя виртуального вывода задается в файле проекта или присваивается в системе Specctra. Виртуальное имя вывода можно использовать в нескольких цепях. Position — определяет местоположение вывода. Radius — определяет расстояние от виртуального вывода, на которое можно сдвинуть подключение вывода для исключения нарушения правил проектирования. По умолчанию оно равно 0,5 дюйма.
131
Глава 4
Def key Эта команда отображает существующие ключи программирования и позволяет привязать команды Specctra к клавишам.
Имя ключа — это любая алфавитно-цифровая клавиша, включая функциональные. Эта опция используется при желании запрограммировать или перепрограммировать клавишу. В зависимости от используемого в системе менеджера, некоторые ключи не могут быть программируемыми в вашей системе. В таком случае система, как правило, выдает предупреждающее сообщение. Shift — добавляется ключ shift к имени ключа. Ctrl — добавляется ключ ctrl к имени ключа. Опция — это команда Specctra, в точности повторяющая команду в DO-файле или в линейке команд. Команда defkey программирует неиспользованные ключи (клавиши) для выдачи команд. Некоторые ключи предопределены в системе Specctra. Если ввести эту команду без опций, можно получить список всех (предопределенных и вновь определенных) ключей. Программировать можно как стандартные клавиши, так и функциональные ключи. Как правило, для выдачи переопределенной команды указатель помещают в рабочую зону и нажимают ключ (или ключи). Следует отметить, что в системе Specctra ключ F1 определен для доступа к системе подсказок (online help). Примеры команд
Defkey Defkey (f3 ctrl) x Defkey (f5 shift) (undo)
Delete Команда позволяет удалять ранее определенные объекты из окружения автотрассировщика. All wires — опция удаляет все проложенные трассы, за исключением защищенных и фиксированных.
132
Команды автоматической трассировки
All_poly_wires — удаляет полигоны, если они не защищены. All region — удаляет все регионы. Selected — удаляет все выбранные трассы. Selected poly_wires — удаляет все полигонные трассы. Conflicts — удаляет все пересечения трасс и места нарушений зазоров. -segment — позволяет трассировщику снять конфликт посредством удаления отдельных сегментов и создания гидов (индикаторов связности в виде прямых линий) от одного сегмента к другому. При значительном количестве конфликтов вводить команду удаления конфликтов не рекомендуется. Лучше использовать команду filter для их удаления. Include fast — удаляет трассы, которые создают нарушения, связанные с длинами трасс или задержками прохождения сигнала. Net — удаляет все трассы, принадлежащие указанным цепям. Region — удаляет идентифицированные зоны и все связанные с этой зоной установки (правила проектирования). Wirebond — удаляет все трассы и КП интегральных микросхем, к которым подведены проводники при использовании гибридной технологии.
133
Глава 4 Fence — удаляет все барьеры (разрешенные для трассировки зоны со специальными свойствами). Incomplete_wires — удаляет некомплектные (недоразведенные) трассы. Incomplete_wires net — удаляет некомплектные трассы для указанных цепей. Testpoints — удаляет все контрольные точки. Все операции удаления записываются в таблицу истории трассировки в статусе отчета, поскольку эти действия могут изменить информацию о конфликтах и не разведенных связях. Примеры команд Delete all wires Delete incomplete_wires (net SYNC1) Delete incomplete_wires Delete poly_wires Delete selected ч
Delete selected poly_wires Delete fence Delete net GND Delete conflicts Delete all regions Delete region region 1 Delete testpoints
Did_file Эта команда дает возможность системе автоматически записывать команды в Did-файл.
Off — опция прекращает запись данных в файл и не регистрирует последующие команды.
134
Команды автоматической трассировки On — открывает файл с заданным именем и закрывает ранее открытый файл. Suspend — приостанавливает запись данных в файл. Resume — продолжает запись данных в ранее приостановленный файл. Обычное расширение этого файла .did.
Примеры команд Did_file off Did_file on myfile.did Did_file suspend Did_file resume
Direction Эта команда определяет направление трасс на заданном слое.
Опции данной команды позволяют задать: • преимущественное горизонтальное направление трасс и устанавливают низкую стоимость для таких трасс (horizontal); •
преимущественное вертикальное направление (vertical);
•
ортогональные направления (ortogonal);
• положительное диагональное направление (снизу—слева, вверх—вправо и обратно) (positive_diagonal) или отрицательное диагональное (negative_diagonal). Off — эта опция делает указанный слой недоступным для трасс вообще. По умолчанию, система присваивает направления трасс так: • слой 1 — горизонтально • слой 2 — вертикально
135
Глава 4 •
___
слой 3 — горизонтально
• слой 4 — вертикально и т. д. Примеры команд Direction LI vertical Direction S3 ortogonal Direction S5 positive_diagonal
DO Команда читает DO-файл и управляется им.
Трассировщик читает команды из специфицированного файла. В этом файле могут присутствовать любые команды автотрассировщика. Команды DO-файл а могут выдаваться следующими способами: • вводом с клавиатуры, для ввода команд непосредственно находясь в системе Specctra; • с помощью меню, посредством указания строки Execuite DO File в меню File; • вложенным DO-файлом, когда трассировщик последовательно считывает команды управления из каждого DO-файла так, как они появляются. В основной файл можно вложить до 20 дополнительных, например: Командная последовательность Do file I
Размещение команд ввод командной строкой
Grid via 10
DO-файл 1 строка 1
Do file 2
DO-файл 1 строка 2
Bus diagonal
DO-файл 2 строка 1
Fanout
do-файл 2 строка 2
(pin_type signal) grid via 5 route write wire myfile
136
DO-файл 1 строка 3 lOdo-файл 1 строка 4 DO-файл 1 строка 5
Команды автоматической трассировки При запуске трассировщика можно использовать переключатель -do в качестве четвертого способа управления DO-файлом. Если исходный файл DO инициализирован с этим переключателем, строка do (имя файла) рассматривается как первая команда управления после загрузки проектного файла. Если же вложенный DO-файл не обнаружен, будет выдано тревожное сообщение, но трассировщик продолжит выполнение следующей команды из активного DO-файла. Возможно использование опции dofile_auto_repaint команды set для перерисовки рабочей области после операций, выполненных по командам из DO-файла.
Пример команды Do myrules.do
Evaluate Эта команда производит немедленное вычисление выражения и записывает результат в систему.
Выражение может быть простой переменной или сложным выражением. Результат может быть строкой символов, вещественным или целым числом. См. также команду setexpr.
Примеры команд Evaluate (6.334/2.54) — здесь просто вычисление. Evaluate (conflict_wire) — здесь используется метка системной переменной для отображения текущего конфликтного значения. •
Fanout
'
-
Эта команда формирует короткие отводы от КП к ДСО для планарных или сквозных выводов компонентов (стрингеры). За этой командой сразу следует число проходов для формирования стрингеров, обычно для этого рекомендуется 5 проходов, однако при отсутствии числа выполняется'один проход. . > Direction — опция заставляет трассировщик выводить стрингеры внутри выводов компонента (in), снаружи (out) или любым способом (in_out). Location — заставляет трассировщик выводить стрингеры внутри контура компонента, вне контура или как подучится (inside, outside, anywhere).
137
Глава 4
138
Команды автоматической трассировки Pin_share — разрешает формировать стрингеры для сквозных КП. По умолчанию применяется выражение pin_share off, которое формирует ДСО для каждого вывода компонента. Когда задано pin_share on, трассировщик выводит стрингеры с ДСО к цепям одного потенциала, если эта стоимость меньше стоимости использования ДСО и соседний вывод находится не далее max_len. Smd_share — опция похожа на предыдущую, но относится к планарным выводам. Via_share — позволяет трассировщику при формировании стрингеров совместно владеть одним ДСО для одинаковых цепей. Условия умолчания (via_share off) состоит в том, что трассировщик использует отдельное ДСО для каждого планарного вывода компонента. Share_len — устанавливает максимальное расстояние от вывода до ДСО. Расстояние по умолчанию составляет 200 мил. Via_grid — опция устанавливает временную дискретную сетку только на этап формирования стрингеров. Временная сетка должна быть кратна сетке на плате, что, кстати, является условием умолчания. Direction — специфицируется сетка по осям. Без этой опции сетка одинакова по обеим осям. Offset — задает смещение для сеток по осям. Smart_via_grid — разрешает трассировщику автоматически определять начальную сетку для ДСО, которая позволяет прокладывать одну или две трассы между смежными ДСО. Если выбран дескриптор one_wire_between, то проводится одна трасса, а при two_wire_between две трассы. Depth — опция управляет числом слоев «глухих» и «захороненных» (не сквозных) дополнительных отверстий (ДО), используемых для формирования стрингеров и направлений трасс. Эту опцию можно использовать для более плотной трассировки многослойной печатной платы (МПП) по методу межслойных переходов. Примечание. «Глухими» считаются ДО, просверленные для межслойных переходов, включая первый или последний слои, «захороненными» считаются ДО, просверленные во внутренних слоях МПП для создания межслойного перехода. Opposite — опция вводит стрингер на противоположной стороне платы. КП стрингера на первом слое располагаются оппозиционно (навстречу) к КП на последнем слое, а КП последнего слоя оппозиционно к КП на первом слое. КП для стрингера на внутренних слоях вводятся аналогично по отношению к ближайшему слою. .* Up — устанавливает КП стрингера навстречу стрингеру первого слоя. Значение О для этой команды не ограничивает глубины отверстия.
139
Глава 4 Down — устанавливает КП стрингера навстречу стрингеру последнего слоя. Мах_1еп — ограничивает расстояние от вывода компонента до ДСО. Это расстояние отсчитывается от центра вывода до центра ДСО. Pin_type — определяет тип КП, для которого формируется стрингер. Active — все сигнальные КП, которые связаны с одним или более другими КП, и все цепи питания. Это есть значение по умолчанию, если не использован другой тип КП. Signal — все КП сигнальных цепей, связанные с другими КП. Power — все КП силовых цепей. Unused — все КП, как сквозные, так и пленарные, не входящие в какую-либо цепь. Все такие КП объединяются в цепь с именем «Unused_pins». Exlude_through_pin — исключает неиспользованные сквозные КП из числа тех, для которых формируются'стрингеры. АН — использовать все КП компонента, включая активные и неиспользованные. Single — все сигнальные цепи с единственной КП. Если команда fanout используется без опций, то это эквивалентно набору команд: Fanout I (direction in_out) (location anywhere) (pin_share off) (smd_share off) (via_share off) (pin_type active) Если компоненты, выводы или цепи не выбраны, то стрингеры создаются для всех активных планарных компонентов. Для формирования стрингеров можно выбрать компоненты, выводы, цепи и сегменты цепей, при этом в активные не могут входить одновыводные цепи.
Если выбраны
Тогда
Компоненты
Только выбранные компоненты получают стрингеры
Цепи
Стрингеры формируются только для КП, входящих в цепи.
Компоненты и цепи
Стрингеры создаются для планарных компонентов, принадлежащих указанным цепям, а также для выбранных компонентов.
14О
Команды автоматической трассировки Выводы
Стрингеры создаются только для выбранных планарных КП, а не указанные выводы тех'же цепей стрингеров не получают.
Сегменты
Только планерные КП, входящие в сегмент, получают стрингеры.
Возможно использовать отдельные команды fanout для подключения стрингеров к различным типам выводов дифференциально, при этом возможно специфицировать тип КП более одного раза в одной команде для обработки специальных ситуаций, например: Fanout (direction in)(pin_type power) Fanout (direction out)(pin_type signal)(pin_type unused) Результат этих команд таков, что КП силовых цепей получат стрингеры внутри цоколевки компонента, а сигнальные и не подключенные (не окрашенные) КП будут иметь стрингеры за пределами цоколевки. Команда установки правил проектирования rule также влияет на подключение стрингеров, что иллюстрируется ниже: Правило smd_to_turn_gap устанавливает минимальное расстояние между первой точкой изгиба трассы и пленарной КП. Правило smd_via_same_net устанавливает минимальное расстояние от планарной КП до первого ДСО на трассе. Правило power_fanout предусматривает управление последовательностью трассировки между силовыми выводами, ДСО и конденсаторами в цепях питания. Перед использованием команды fanout следует учитывать следующие соображения: • Стрингеры целесообразно применять в многослойных печатных платах, и их обычно не используют для ДПП. • Дискретную сетку для стрингеров необходимо задавать только на период работы по их введению, после чего следует вернуться к сетке для платы в целом. • Вместо того чтобы прилагать усилия для формирования стрингеров ко всем пленарным выводам компонента, лучше присвоить контрольные точки к сигнальным цепям после окончания трассировки с помощью команды testpoint (контрольная точка). Трассировщик попытается сдвинуть существующие ДСО на тестовую дискретную сетку, если она задана для контрольных точек, перед тем как создавать новое место для контрольных точек. • Команду bus diagonal рекомендуется использовать перед командой ввода стрингеров, так как эта команда выполняется быстро, и ее результаты могут быть пересмотрены перед выполнением других команд.
141
Глава 4 • Если нет желания создавать стрингеры для всех выводов компонента, то можно использовать команды select pins или select area pins для выбора конкретных КП. После этого стрингеры будут только у выбранных КП. • Команда вида fanout (pin_type all) формирует стрингеры для всех КП, включая и не присоединенные к цепям (без окрасок). • Цепи с одной КП, как правило, стрингеров не получают, пока не будет получена команда fanout (pin_type all) или fanout (pin_type single). Проблемы формирования стрингеров затрагиваются в таких командах, как highligth, protect, smart_route. Примеры команд Fanout Select component U254 Fanout (pin_type all) Fanout (depth opposite 2) (share_len .5) Fanout 5 (pin_type signal)(via_share on (maximum_connections 2)) Fanout (smart_via_grid two_wire_between) Fanout (smart_via_grid one_wire_between preferred) Grid via. 100 V25 Fanout (via_grid .025) Fanout (pin_type unused (exclude_through_pin) Fanout (direction out)(location outside)
142
Команды автоматической трассировки Микро стрингеры под планарными KIT Глухие (внешние) и захороненные (внутренние) дополнительные микроотверстия (при реализации плат способом межслойных переходов) могут быть подключены к пленарным КП без отводов, с помощью команды fanout. Когда включена опция Micro Via, команда fanout пытается создать дополнительное отверстие (ДО) под планарной КП, даже если они располагаются оппозиционно на противоположной стороне ПП. Для этого программа пытается, во-первых, сдвинуть ДО от центра КП, но в пределах ее контура, чтобы избежать конфликта с планарной КП на другой стороне ПП. Во-вторых, можно использовать несквозные микроотверстия при правильном применении правил задания слоев в опции depth.
Fence Эта команда позволяет создать одну или более разрешенных для трассировки зон для разделения аналоговых и цифровых сигналов.
Можно задать прямоугольную зону для разводки только связей внутри этой зоны (жесткое разделение) или разрешить аналоговым и цифровым сигналам трассироваться в различных зонах (мягкое разделение). Такая зона задается координатами диагональных углов прямоугольника. Можно определить несколько таких зон. При перекрытии зон вычисляется суммарная зона. Для удаления зон применяется команда delete fence. В одном проекте не должно быть одновременно мягких и жестких зон. Более подробная информация о создании таких зон приведена в разделе set soft_fence. •f
Примеры команд Fence 0.6 1.35 1.0 0.85 Fence 1.05 1.38 1.73 0.8
Filter Эта команда удаляет финальные конфликты трассировки посредством запуска такого прохода трассировщика, который увеличивает стоимость конфликта и, как следствие, минимизирует число не разведенных цепей.
143
Глава 4
•
•
Если после большого числа проходов трассировщика осталось некоторое число конфликтов и закончен проход clean, можно использовать проходы с командой filter, чтобы обеспечить бесконфликтную трассировку. Когда запускается эта операция с числом проходов больше единицы, на каждом проходе прогрессивно увеличивается штраф за конфликт. На последнем таком проходе штраф принимает максимальное значение, и любые оставшиеся конфликты после этого прохода считаются неразрешимыми для трассировщика. Максимальное число проходов фильтрации равно пяти. Примеры команд Filter Filter 5
Fix/unfix Эта команда препятствует трассировке или перетрассировке цепей.
Selected — эта опция фиксирует только выбранные цепи. При этом фиксируется вся цепь, включая любые частично разведенные цепи. Net — фиксирует все терминалы и проложенные трассы для специфицированной цепи. Class — фиксирует все цепи специфицированного класса. Эта команда гарантирует, что выбранные или специфицированные цепи не затрагиваются трассировщиком во всех последующих операциях. Такое возможно только для цепей, упомянутых в команде unfix. Трассы фиксированных цепей рассматриваются как запретные и не могут быть вовлечены в конфликты. Команда unfix возвращает нормальный статус фиксированным цепям по команде fix, однако эта команда не действует на цепи, помеченные в командном файле как type fix или как type route. Статус этих цепей можно изменить, только редактируя командный файл. Команды фиксации и расфиксации относятся только к цепям или отрезкам цепей (в том числе к группам отрезков). Для управления перетрассировкой проводников служат команды protect/unprotect.
144
Команды автоматической трассировки Примеры команд Fix selected Unfix selected Fix selected group Unfix selected group Fix group groupl Fix group group2 groupS Unfix group groupl group2 groupS
Fix net elk Unfix net elk Fix class critical Unfix class critical
Forget Эта команда удаляет или расформировывает наборы объектов, зоны и свойства объектов.
145
Глава 4
. '
Class — эта опция расформировывает классы и удаляет все правила для всех class и class-class для цепей в этих классах. Net — удаляет все правила, присвоенные к именованным цепям и ликвидирует любые определения для отрезков этих цепей. Order_only — удаляет только отрезки перечисленных Цепей, оставляя все другие правила без изменения. Удаляются отрезки и виртуальные КП, созданные по команде define net. Group — распускаются одна или более созданных групп сегментов и присвоенные им правила проектирования. Group_set — распускаются одна или более наборов групп и правила зазоров, ширин трасс и установки времени. Pair — удаляются парные ассоциации между одной или более пар цепей. При использовании дескриптора fromto удаляются отрезки цепей (связи вывод-вывод или от — до). Keepout — расформировываются одна или более запретных зон. Удалить можно как индивидуальную зону (по ее метке), так и зоны внутри области (с дескриптором area). Property — опция идентифицирует удаляемое свойство. Каждое стандартное или пользовательское свойство содержит метку (property_name) и значение (property_value). Именно эти данные необходимы для удаляемых свойств. Следует отметить, что возможно удаление свойств, присвоенных в системе Specctra, но не в исходном проектном файле. /
Bundle — удаляет определения жгутов, заданные командой define bundle (здесь под жгутом понимаются наборы цепей, которые должны иметь одинаковую топологию). Отметим, что по команде report возможна распечатка отчета о всех предопределенных цепях и правилах. Возможна генерация отчетов о всех текущих классах, группах, наборах групп, парных цепях, жгутах, запретных зонах или свойствах, при этом расформированные объекты в отчеты не включаются. Свойство «распустить» упоминается также в командах: Define bundle Define class Define group Define group_set Define keepout Define pair
146
Команды автоматической трассировки И в режимах: Component_property Component_pin_property Image_property Image_pin_property Layer_property Net_property Примеры команд Forget class thin
s
Forget group gl Forget pair (nets sig!6 sig 17) Forget group_set grpsetl Forget pair (nets A?+ A?-) Forget pair (nets *) Forget keepout keepoutl keepout2 •
'
N
Forget keepout (area 1.550 4.890 7.630 9.750) (layer signal)) forget component_property Ul (property my_prop-l) forget component_property U2 US (property type heigth) U4 U5 (property heigth) Forget image_pin_property Ic2 p5 p6 (property prop_x) P4 p5 (property prop_y)
' \ Дескриптор area описывает расположение или область, где планируется распустить запретные зоны.
При этом возможны опции: Layer — определяет единственный или все сигнальные слои в проекте (signal).
147
Глава 4
'
_
Type — распускает только указанные Типы запретных зон внутри заданной области (area). Такими типами могут быть: place — распустить запретную зону слоя размещения, wire — распустить запретную зону для проводников, via — отменяет запретную зону для ДСО или ДО, bend — что отменяет запретную зону для изгибов трасс, elongate — отменяет запрет пролонгации трасс, all — отменяет всякие запретные зоны, которые препятствуют всем'трассируемым и размещаемым объектам.
По умолчанию тиц зоны all. Чтобы удалить запретную зону в определенной позиции, необходимо указать координаты вершин на ПП, а для прямоугольника — координаты противоположных вершин. По умолчанию Specctra удаляет все запретные зоны внутри указанной области. Дескриптор свойств объектов <property_object_descriptor> идентифицирует тип объекта и один или более примеров объектов. Ниже приведены возможные варианты свойств объектов: Component_pin_property — специфицирует одну или более выводов указанного компонента. Имена выводов присваиваются образу компонента в файле проекта или в библиотечном файле. Информация о способах присвоения свойств выводам компонента приведена в команде component_pin_property. Component_property — специфицирует одну или более меток компонентов. Как придать свойства компоненту, описано в команде component_jproperty. Image_pin_property — указывает один или более выводов указанного образа. Идентификатор метки образа есть его имя в файле проекта или в библиотечном файле в разделе библиотеки. Информация о свойствах образа вывода приведена в команде image_pin_property. Image_property — специфицирует один или более меток образа. Эта метка есть имя, присвоенное в файле проекта или в библиотечной секции. Более подробная информация об этом приведена в команде image_property.
148
Команды автоматической трассировки Layer_property — указывает один или более слоев. Более подробно об этом описано в команде layer_property. Net_property — указывает одну или более цепей. Это метка сигнальной или силовой цепи, определенная в файле проекта. Более подробно об этом описано в команде net_property.
Grid-route_major_factor Эта команда задает дополнительную дискретную сетку для каждой сетки проводов.
При задании этой команды указывается значение в целочисленном формате для установки дополнительной дискретной сетки для основной сетки проводов. Значение определяет число вторичных точек сетки между точками основной сетки трассировки. Например, если специфицировано 5 для дополнительной сетки, а сетка проводов имеет шаг 0.2, то на экране будет отображена каждая вспомогательная сетка с шагом 0.1 единицы измерения. Для задания цвета дополнительной сетки можно использовать команду define_color palette. Дополнительная сетка никак не влияет на эффект трассировки. Дополнительная информация приведена в командах grid wire и view grid. Пример команды Grid route_major_factor 5
Gridjsmart Эта команда устанавливает минимальные сетки для ДСО и трасс, вычисляет начальную сетку для ДСО, которая используется, пока трассировщик не закончит 3 прохода или не выполнит разводку трасс на 50%. Сетка ДСО затем уменьшается до минимального значения для всех оставшихся проходов трассировки.
149
Глава 4
.
Wire — специфицирует минимальную сетку для трасс. Via — специфицирует минимальную сетку для ДСО. Direction — специфицирует шаг сетки по осям координат X или Y. Если этот параметр не установлен, сетка будет иметь шаги по обеим осям. Offset — специфицирует смещение (положительный размерности) для сеток относительно начала координат платы. Команда установки «умной» сетки заменяет команды установки grid wire и grid via. Сетка трасс получает свое значение после ввода команды и сохраняет это значение до конца трассировки, если не была перекрыта командой grid wire. Сетка для ДСО вычисляется программно (начальное значение) по формуле: Сетка ДСО = диаметр ДСО + 2х (ширина трассы + зазор трасса — ДСО) + зазор трасса—трасса. Опция offset устанавливает сетку только по одной из осей координат. Она задает смещение первой точки сетки из начала координат платы. Если доступен более чем один тип ДСО, трассировщик использует для вычисления шага сетки ДСО с минимальным диаметром. Целью команды grid smart является трассировка начального прохода на самой большой сетке ДСО, чтобы исключить препятствия размещению ДСО. Меньшая сетка ДСО мешает трассировщику на более поздних проходах. Как правило, команда позволяет проложить 2 провода Между ДСО, за несколько проходов трассировки, а затем перейти к прокладке одного провода для лучшей сходимости процесса.
Примеры команд Grid smart (wire 0.001)(via 0.025)
Grid smart (wire 0.05)(via 0.15)(offset 0.025)
Grid snap Эта команда определяет указатель захвата дискретных точек для интерактивного редактирования областей, таких как комната, запретная зона, или граница. Direction — опция определяет шаг сетки в направлении X или Y. Если эта опция не установлена, то шаг сетки принимается одинаковым в обеих направлениях. Offset — определяет значение смещения сетки относительно начала координат сетки (это всегда положительное целое).
15О
Команды автоматической трассировки Команда grid snap заставляет указатель позиции принимать значения, кратные дискретной сетке, что необходимо при интерактивном размещении и трассировке. Более детально этот параметр рассматривается в команде mode. При автоматических процедурах этот параметр не используется. Для отключения захвата указателя в команду необходимо ввести параметр —1. Этот параметр обсуждается также в команде set show_snap_grid_cursor.
Пример команды Grid snap O.I
Grid via Эта команда определяет сетку для ДСО. rid via )—H<posrf/ye_d/mans/on>|
Direction — эта опция задает сетку по осям X или Y. Offset — задает смещение сетки относительно начала координат платы. Эта команда перекрывает сетку, вычисленную по команде grid smart. Примеры команд Unit toil Grid via 100 v_40 Grid via 100 (offset -0.05)
151
Глава 4
Grid via_keepout Эта команда разрешает автотрассировщику использовать определенные позиции сетки ДСО. grid via_keepout
)
>| <posnive_dimension>\
Опции direction и offset выполняют функции, описанные выше. Примеры команд Grid via_keepout 100 Grid via_keepout 0 Grid via_keepout 0.5 (direction x) Л
Grid wire Эта команда определяет сетку трассировки. | <positive_dimension>
Опции direction и offset выполняют функции, описанные выше. Примеры команд Grid wire 25 Grid wire 20 layer 1 Grid wire 25 sigl (direction y)
152
Команды автоматической трассировки
Highlight Эта команда графически выделяет определенные проектные объекты или условия трассировки для легкой идентификации.
-t\
>|
cfuridant_wires
J-
shield
testpoint_antennas И
J-
testpoint_violations
>$тшЯ
Bend — опция выделяет все изгибы трасс на 45 или 90 градусов. Component — все выводы именованного компонента.
153
Глава 4 Color <eolor_name> — специфицирует цвет подсветки. Net — подсвечивает всю трассу определенной цепи. No_fanout — подсвечиваются все пленарные сигнальные КП, для которых предусмотрено формирование стрингеров по команде fanout. Если была команда fanout (pin_type power) то подсвечиваются только силовые КП, не содержащие стрингеры. No_testpoint — подсвечиваются все цепи без контрольных точек. Off_grid — подсвечиваются КП, трассы и ДСО, которые находятся вне дискретной сетки и участвуют в цепи. Неподключенные КП не выделяются. Дополнительная опция all выделяет все не дискретные объекты. Incomplete_wires — подсвечиваются некомплектные печатные проводники. К ним относятся: • Трассы вывод-вывод с отсутствующими отрезками. Здесь «отсутствующими» могут быть или не быть направления к другим отрезкам цепей. • Отрезки цепей, которые связаны с трассой вывод-вывод, но цепь в целом не разведена или заканчивается ответвлением к другому отрезку. • Отрезки, которые начинаются на КП вывода, а заканчиваются без подключения куда-либо. •
Висящие трассы, после выполнения команды Delete conf lict_segment.
Reduntant_wires — подсвечиваются излишние сегменты и ДСО цепей. Shield — подсвечиваются все экранированные проводники, включая экранированные землей и привязанные к ДСО. No_shield — подсвечиваются все проводники, которые предполагалось экранировать, но этого сделать не удалось из-за отсутствия места для экранирующих трасс. Wrong_width — индицируются трассы, ширина которых не была изменена после выдачи команды change_width_by_rule. Off — отменяет все подсветки. Testpoint_antennas — подсвечиваются все отводы на контрольные точки. Эти трассы должны быть заданы как контрольные и подсоединены к нужной цепи единственной трассой. Testpoint_violation — подсвечиваются все контрольные точки (КТ), имеющие нарушения правил их формирования, в том числе: КТ на неверной стороне платы, КТ лежит вне заданной дискретной сетки, имеется КТ, хотя они не были заданы, для КТ применен ошибочный тип ДСО, КТ сформирована на расстоянии больше допустимого.
154
Команды автоматической трассировки Power_fanout_order_violation — подсвечиваются все связи с нарушением правил power_fanout. Это правило определяет последовательность соединений между силовыми КП, ДСО и развязывающими конденсаторами. Order_violation — подсвечиваются все конечные точки цепи, для которых нарушена последовательность подключения. Такой точкой может быть вывод компонента, ДСО с тремя или более подключенными трассами или т-образное подключение. Stack_via — подсвечиваются все ДСО, которые полностью или частично перекрывают ДСО на других слоях. Shield_tie_down_interval_overrun — подсвечиваются все нарушения правил, заданные правилом shield_tie_down_interval, которое устанавливает максимальное расстояние между отводящими проводниками для подсоединения к экрану на земляном слое. Команду подсветки полезно использовать для визуализации расположения объектов или заданных условий на ПП. Для контроля размещения трасс можно подсветить компоненты, сигнальные цепи и различные условия трассировки, такие как изгибы проводников и не растрассированные проводники. При визуализации компонентов или сигнальных цепей Specctra также подсвечивает КП выводов, трассы, и другие элементы цепей, подключенных к компоненту. То же относится и к цепям. Цвет индикации задается интерактивной командой задания цвета (View — Color palette). Способ подсветки не влияет на процессы размещения и трассировки. • ' ., •• . • г Примеры команд Highlight bend 90 Highlight net +5V HighLight net (color yellow) +5V Highlight no_testpoint HighLight shield
If Эта команда выполняет одну из двух групп команд автотрассировщика, основываясь на вычислении выражений.
У^ду ""
^t**wjiiimaiiv_yivu "~ \
^ У / У ~ 1 ~ ~
]
^Q)—
155
Глава 4 Если значение выражения не нулевое, то выполняется первая группа команд. Если же значение выражения равно нулю, то выполняется группа команд, следующая за ключевым словом else. Целью команды if является выполнение альтернативных команд в процессе автотрассировки. Выражение может включать системные переменные, определенные в руководстве Design Language Reference.
Примеры команд Первая команда инициирует 25 проходов трассировки, затем 2 прохода очистки. Затем проверяется количество конфликтов. Если это количество меньше пяти, то запускаются дополнительные 2 прохода очистки, иначе запускается 50 дополнительных проходов трассировки и 4 прохода очистки. После if-блока трассировщик выполняет команду report status. Route 25 Clean 2 If (conflict_wire < 5) Then (clean 2) Else (route 50 16; clean 4) Report status route.sts. Общая информация относительно генерации отчетов дана при описании команды Report Commands. В следующем примере использована системная переменная, проверяющая наличие в проекте планарных компонентов, а также неиспользование слоев Тор, Bottom или обеих. Если да, то выполняется проход формирования стрингеров, иначе трассировщик выполняет 25 проходов. If (smd_pins &&! (top_layer_sel && bottom_layer_sel) Then (f anout 5) Route 25 If (conflict_wire идентифицирует стандартные или пользовательские свойства. Каждое присваиваемое свойство должно содержать имя свойства (метку) и значение. Значением может быть дескриптор, число или строка символов, в зависимости от назначения свойства.
156
Команды автоматической трассировки image_pin_property
i
CD~^M
ШИН
При присвоении свойств необходимо специфицировать имя образа () и имя каждого вывода (). Свойство содержит (<property_value>).
метку
свойства
(<property_name>)
и
значение
К Стандартным свойствам образа вывода относятся: Force_to_ternunal_point <property_value> Exit_direction <property_value> Свойства можно присвоить в системе Specctra или в файле проекта. Просмотреть свойства можно с помощью отчета (property report) в команде report. Этот отчет содержит текущие значения свойств, присвоенных всем образам выводов в проекте. Свойства образов выводов относятся ко всем примененным образам, но свойства выводов, присвоенные специфическим компонентам, имеют приоритет перед свойством простой КП. Примеры команд Image_pin_property C81 2 (uprop_l 0.02)
• -
Image_pin-property 11631 3 5 9 (uprop_2 xyz)
Image_property Эта команда присваивает физические свойства, свойства общности и пользовательские свойства корпусам объектов.
Команда присваивает одному или нескольким корпусам стандартные или пользовательские свойства. Стандартные свойства корпуса содержат физические свойства и имена семейств корпусов. К физическим свойствам относятся тип, высота и рассеиваемая мощность. Как правило, свойства содержат метку свойства (идентификатор) и значение свойства. Значением могут быть числа, дес-
Глава 4 крипторы (ключевые, зарезервированные в системе слова) или просто строка текста (см. команду image properties) с перечнем свойств, которые можно присвоить образам. Физические свойства идентифицируются типом корпуса (type), максимальной высотой (heigth) и максимальной рассеиваемой мощностью (power dissipation). Свойства общности (family properties) присваиваются именам семейства корпусов при задании правил f amily-to-f amily для КП и границ тела корпуса для размещения. При необходимости можно генерировать общий отчет о рассеиваемой мощности печатной платой (power dissipation report) и отчет о всем семействе корпусов (image famile report). Если вы присваиваете или удаляете физические и другие свойства корпусам, Specctra не регистрирует эти изменения (при использовании команды Write), чтобы сохранить файл размещения или файл сессии. Однако физические свойства, присвоенные индивидуальным компонентам, в этих файлах регистрируются. Эти проблемы упоминаются также в командах autodiscret, autorotate, define room, iniplace, interchange, placejrule, room_rule, select component, select family, select image, unplace. .
Примеры команд Следующие примеры присваивают свойства именованным корпусам. Image_property — C0805 (type capacitor) (heigth 0.0280) Image_property — plcc_20 plcc_28 (heigth 0.1800 — .1200) Image_property — SOIC14 (power_dissipation 500) Следующие примеры присваивают свойства всем выбранным корпусам. Select image IC62 IC63 Image_properties (heigth -10.051) Image_properties (family f am_l) Дескриптор определяет семейство корпусов.
Свойство семейства есть метка, которая присваивается идентификатору корпуса как метка общности. Можно присвоить один и тот же корпус одному или более семействам, а семейство может содержать один или более корпусов. После введения корпуса в семейство можно применить правила размещения (place_rule) к телу КП и их корпусам в других семействах. Для удаления корпусов из семейства можно применить команду reset family.
158
Команды автоматической трассировки Дескриптор физических свойств (physical_property) используют для задания типов, высоты и мощности компонентам или корпусам.
В этом случае опция type служит для обработки маленьких компонентов в процессе автоматического размещения. Маленькими компонентами считаются компоненты с тремя или менее КП. Выбираются: Capacitor — включают только маленькие конденсаторы и маленькие компоненты, все КП которых подключены только к силовым цепям, однако такое свойство не применимо к резисторам и дискретным элементам. Discrete — включают в себя только маленькие дискретные компоненты (это свойство присваивается такому маленькому компоненту, который необходимо размещать отдельно от остальных). Resistor — включают только маленькие резисторы (с типом свойства маленький резистор). Small — включают в себя все маленькие компоненты (это значение по умолчанию). Опция высоты (height) присваивает минимальную и максимальную высоту для комнаты. Значение -1 означает отсутствие ограничений по высоте (значение по умолчанию). Опция рассеиваемой мощности присваивает значение максимальной мощности для определения суммарной мощности всех компонентов в комнате. Значение -1 означает отсутствие этих данных (это значение принято по умолчанию). Опция type используется, когда необходимо классифицировать компоненты в соответствии с правилами размещения или для особой обработки платы при операциях авторазмещения. Опция height используется, когда предполагаются ограничения по высоте компонентов при их авторазмещении в комнате.
159
Глава
4
_
Опция power_dissipation используется, когда предполагаются ограничения по выделяемой компонентами мощности для комнаты. Система Specctra распознает следующие компоненты и типы образов: • большой (lagre); • маленький (small); • конденсатор (capacitor); • резистор (resistor); • дискретный компонент (discret) — это маленький компонент, который должен размещаться отдельно от остальных. По умолчанию большой компонент содержит 3 или более выводов, а маленький — 3 или менее. Они взаимно исключительны. Возможно присвоить свойство «большой» компоненту или образу с числом выводов 3 и менее, но нельзя присвоить свойство «маленький» компоненту с числом выводов более трех. В то же время свойство типа «резистор», «конденсатор» или «дискретный элемент» можно присвоить большому или маленькому компоненту или образу. Они также взаимоисключающи. Если компонент имеет три или менее выводов, подключенных к силовой цепи, и при этом ему не присвоено какое-либо допустимое свойство, система автоматически считает такой компонент конденсатором. В процессе авторазмещения Specctra различает большие и маленькие компоненты. Правила размещения можно присвоить каждому типу на ПП с помощью команды image set. ' Более подробно вопросы ограничений для авторазмещения рассмотрены в командах define room и room_rule. Дескриптор <user_property_name> идентифицирует пользовательские свойства. Каждое такое свойство должно содержать имя и значение. В системе Specctra пользовательские свойства рассматриваются как метки, которые обрабатываются в другой системе проектирования или с помощью специальных пользовательских процедур или программ.
Layerjproperty Команда присваивает свойства слоям. flayer_property
>~H
Имя свойства определяет стандартные или пользовательские свойства. Как обычно, каждое свойство должно иметь имя (метку) и значение. Значение может быть либо другой меткой, либо числом или строкой текста. Команда позволяет присвоить как стандартные свойства (standartjproperties), так и пользователь-
16О
Команды автоматической трассировки ские (user properties) для одного или нескольких сигнальных или силовых слоев. Для каждого слоя можно присвоить свой идентификатор (метку). Для визуализации свойств слоев можно использовать команду report, которая генерирует перечень текущих свойств, присвоенных всем слоям в проекте.
Примеры команд Layer_property si (uprop_l 0.02) Layer_property si s2 (uprop_2 xyz) В этих примерах слоям присвоены пользовательские правила uprop_l и uprop_2 со значениями 0.02 и xyz.
License usage Эта команда используется для проверки доступных и используемых лицензий (вспомогательных программ). licence usage )-
Команда создает отчет, в котором перечислены доступные и используемые лицензии. Этот отчет можно записать в файл, если указать имя файла вместо дескриптора window. Если не указать ничего, то отчет будет записан в текущую директорию с именем license.rpt.
Пример команды License usage window.
Limit Эта команда устанавливает абсолютный контроль над каждой связью, проверяя число пересекающихся проводников, число ДСО, число изгибов и максимальное расстояние для неверно проложенных трасс. Cross — эта опция задает максимальное число допустимых конфликтов для печатных соединений. Via — максимальное число ДСО, допустимое при трассировке соединения. Bend — максимально допустимое число изгибов трасс. Way — максимальное значение нарушений расстояний в цепи. %
• '
бак. 27
161 - ' -
. . •
Глава 4
Команда limit позволяет специфицировать глобальный контроль трассировки, применительно ко всем связям вывод-вывод. Значения лимита лежит в пределах 0—255. Установить значение лимита можно после выполнения нескольких проходов трассировки, а затем установить это значение по умолчанию, равное -1.
Примеры команд
Limit via 3 Limit way 300 Limit way -1 4
Miter
Эта команда изменяет 90-градусные изгибы проводников на 135 градусов, задавая определенное сглаживание топологии трасс.
162
Команды автоматической трассировки Опция pin специфицирует ввод фаски или дуги в КП (включая пленарные), если расстояние между КП и изгибом трассы равно или больше чем ортогональный размер фаски (ОРФ (setback)). Дистанция ОРФ измеряется от центра вывода до поворота трассы. Опция slant заменяет неверно ориентированный сегмент на сегмент под углом 135 градусов или на дугу, когда длина неверного сегмента равна или больше чем ОРФ. Опция tjunction заменяет Т-образное соединение на соединение под углом 135 градусов, где ОРФ есть расстояние от Т-образного соединения до начала фаски. По умолчанию значение miter tjunction равно 0,5 дюйма. Опция bend специфицирует фаску или закругление (дугу) вместо изгиба трассы. Параметр start_OPФ указывает начальное ОРФ-расстояние, которое принимается как попытка. Когда все попытки неудачны в течение начальной итерации, тогда значение ОРФ делится на 2 и производятся попытки применить это новое значение ко всем 90-градусным изгибам трасс. Если результат опять неудачен, то ОРФ значение снова делится пополам и используется новое значение. Наконец, если результат деления на 2 стал меньше чем £та!_ОРФ, то это последнее значение применяется ко всем закруглениям, пока все попытки решить проблему не станут неудачными и процесс останавливается. Если же установлен только start_OPФ, то £ша!_ОРФ по умолчанию приравнивается к минимально допустимой ширине трассы. Опция style задает стиль закругления, в том числе diagonal — который заменяет углы поворота 90 на 135 градусов, или round — который заменяет угол дугой и тем скругляет поворот. Если стиль закругления — дуга, то значение ОРФ применяется ко всем углам. Если же ОРФ не задан, то по умолчанию miter round setback приводится к линейной единице, которая вычисляется как: Линейная единица = ширина трассы + зазор между трассами. Эта единица вычисляется для определенного слоя. Layer Эта опция позволяет применить операцию сглаживания к заданному слою. При задании нескольких слоев их имена необходимо писать через пробел. Команда Miter подобна команде recorner, но с расширенными возможностями. При опции diagonal углы трасс в 90 градусов заменяются на углы 135 градусов. Если эту команду применить без опций, то операция применяется ко всем типам сглаживания, а по умолчанию производится диагональное сглаживание. Например, команда miter аналогична команде: Miter (pin) (slant) (bend) (tjunction) (style diagonal) Если выдать команду сглаживания без указания типа, то параметр ОРФ принимает значение по умолчанию. В этом случае значение для вывода и уклона принимается равным одному дюйму. 6
*
163
Глава 4
' •
•
В течение операции сглаживания трассировщик выявляет все 90-градусные углы и пытается заменить их на 135-градусные или на дуги, используя значения ОРФ, как оно задано, или по умолчанию. Если по крайней мере одна попытка применить сглаживание успешна в течение прохода, трассировщик повторяет операцию с установленным значением ОРФ по отношению к оставшимся углам 90 градусов. Если необходимо произвести технические изменения или повторить трассировку, можно использовать команду unmiter для удаления всех 135-градусных углов трасс. Трассировщик работает более эффективно, когда перетрассирует ортогональные проводники. Типы закруглений определяются следующим образом: • Pin <setback> специфицирует наклонный отрезок трассы (фаску) или дугу, начинающиеся в центре КП (включая планарные КП), если расстояние от КП до изгиба трассы равно или больше, чем setback. Собственно, величина setback для сглаживания трассы от КП до ортогонального изгиба трассы измеряется от центра КП до точки изгиба.
setback
•
is changed to
Slant <setback> — опция заменяет сегмент трассы запрещенного направления на 135-градусный сегмент или на дугу, если длина этого сегмента равна или больше установленного значения для setback.
setback is changed to
setback
setback
Bend <start_setback> специфицирует фаску или дугу вместо ортогонального изгиба трассы. Стартовое значение setback определяет начальный ортогональный размер фаски для первой попытки сглаживания. Затем это значение изменяется, как это описано выше, и процесс повторяется до достижения финального значения ортогонального размера фаски.
setback is changed to '
164
Команды автоматической трассировки • Tjunction <setback> специфицирует изменение ортогонального Т-подключения трассы на 135-градусное, где ОРФ есть расстояние от точки подключения до начала фаски. Значение по умолчанию 0,5 дюйма. •
Layer — управляет операцией сглаживания на указанных слоях. Для этого надо ввести названия слоев, разделенных пробелом.
Имеются несколько способов закругления: •
Diagonal —•* заменяет 90 градусов на 135.
• Round — заменяет угол трассы в 90 градусов на радиальное закругление. При этой опции значение setback используется для всех углов. Если же этот параметр не специфицирован, то он приравнивается одной линейной единице, где: Линейная единица = ширине трассы + зазор между трассами. setback
Н
h-
setback
Примеры команд
Miter Miter (pin 50) (slant 100) (bend (1000 50) (style diagonal)
Mode Эта команда устанавливает режим для левой клавиши мышки.
Interactive routing mode Для отображения описания режимов интерактивной трассировки необходимо выбрать режим option в составе команд трассировщика. 'Ниже приведен список ключевых слов, используемых в этом режиме: Change_connectivity Change_poligon Change_yia
165
Глава 4 Change_wire Check_area Copying Copy poligon
Cut Cut_poligon Режим удаления Delete keepout Delete net Delete poly_wire Delete segment Delete wire Режим редактирования Edit Edit fence Edit keepout Edit poligon Edit region Edit ruler Режим редактирования топологии
Pic net Pin attribute Add virtual pin Delete virtual pin Move virtual pin Reorder guides Fix/unfix pin Set fromto rules Highlight Measure Merge poly_wire Merge keepout 166
Команды автоматической трассировки Repair net
v
Rotate_via (доступно только с лицензией RouteMVia) Режим выбора Select comp Select guide Select net Select pin Select poly_wire Select wire '
"
•
• ' " . ' * *
slide Change^conn — нажмите левую клавишу мышки (ЛК) для изменения цепи, в которой есть провода или электрические полигоны, на цепь, которая выбирается из списка существующих цепей в диалоговом боксе. Change_poligon — нажмите ЛК для замены слоя или цепи для полигона. Change_via — нажмите ЛК для выполнения операций: •
заменить один тип ДСО на другой;
•
изменить атрибуты КП для контрольной точки;
•
изменить атрибуты КП для стрингера;
•
заменить количество столбцов или строк в массиве ДСО.
Change_wire — нажмите ЛК для изменения ширины индивидуальных сегментов проложенных трасс. Change_area — нажмите ЛК для обнаружения и отметки нарушений правил размещения и трассировки в пределах прямоугольника. Задание прямоугольной зоны производится мышкой вручную. Copying — нажмите ЛК для создания копий трасс и ДСО. При этом возможно создание копии трассы по длине и топологии. Можно копировать стрингеры с их атрибутами, компонент с сохранением образа. Отметим невозможность копирования трасс, принадлежащих силовым цепям. Copy poligon — нажмите ЛК для копирования индивидуальных объектов или объектов в пределах прямоугольной области. Возможно копирование электрического полигона (металлизированного полигона, соединенного с цепью) и запретной зоны. Critic wire — нажмите ЛК для удаления лишних изгибов трасс в пределах указанной прямоугольной области платы.
167
Глава 4 Cut — нажмите ЛК для разбивки сегмента цепи на два сегмента (сегмент цепи — это отрезок трассы в виде прямой линии). Однократное нажатие клавиши разрывает сегмент в указанной точке. Двукратное нажатие клавиши в различных позициях разрывает все сегменты трасс, которые пересекают нарисованную линию между двумя позициями. Cut_poligon — нажмите ЛК для разрезания прямоугольной области на два полигона. Разрезание происходит следующим образом: • Если имеется два или более перекрывающихся полигонов, то разрезан будет только верхний.. • Разрезаются только ортогональные или 45-градусные полигоны. • С помощью этой команды полигоны нельзя разрезать на куски. • При разрезании полигона его связность рассчитывается заново. • При разрезании запретной зоны высокого уровня, определенного в проектном файле, все изменения будут занесены в файл сессии. Delete — нажмите ЛК для удаления сегментов, трасс, цепей или запретных зон. Опциями являются: • Delete segment, который помечается нажатием ЛК для удаления одиночного сегмента. • Delete wire, который помечается нажатием ЛК для удаления всех сегментов между двумя терминальными точками. К таким точкам относятся выводы, ДСО или Т-подключения. • Delete keepout, который помечается нажатием Л К для удаления запретных зон. Однако нельзя удалить запретную зону, заданную как обра» (образ компонента, типовой корпус, который включает в себя уникальное имя и определение выводов). Кроме того, образ компонента может включать изображение габаритных размеров компонента, сторону установки компонента на плате, его ориентацию и связанные с компонентом барьеры трассировки. • Delete poly_wire, который помечается нажатием ЛК для удаления металлизированного полигона. • Delete net, который помечается нажатием ЛК для удаления всех принадлежащих цепи трасс и ДСО. Однако цепь не удаляется. Edit — нажмите ЛК для прокладки или редактирования трассы или металлизированного полигона, запретных зон или регионов. Опциями являются: • Edit — позволяет прокладывать новые или редактировать существующие трассы. • Edit poligon — позволяет рисовать металлизированный полигон. • Edit fence — позволяет рисовать специальную область для трассировки.
168
Команды автоматической трассировки • Edit keepout — позволяет рисовать области запрета для размещения или трассировки. Тип такой зоны определяется запрещаемыми объектами. • Edit region — позволяет рисовать области запрещения действия определенных правил проектирования. • Edit ruler — позволяет рисовать калиброванную линейку где-либо в рабочей области. Edit topology — нажмите Л К для задания одного из режимов редактирования. Опциями являются: • Pick_net — выбирается цепь для топологического редактирования. • Pin_attrb — позволяет присвоить атрибуты для выводов-источников, нагрузки и ограничителя, атрибуты стрингеров для сквозных выводов компонентов для редактируемой цепи. • Add_virtual_pin — позволяет добавить виртуальные выводы для редактируемой топологии цепи. • Remove_virtual_pin — удаляет виртуальные выводы из цепи. • Move_virtual_pin — перемещает виртуальные выводы. •
.
Reorder (reorder_by_comp) — позволяет изменить последовательность или связность редактируемой цепи. Возможна спецификация таких стратегий трассировки, как starburst, daisy, mid-driven daisy, balanced daisy.
• Fix_pin — разрешает или запрещает трассировку выводов редактируемой цепи. • Set_rules — позволяет установить правила проектирования для индивидуальных отрезков редактируемой цепи. Возможна установка зазоров, направлений трасс, временных факторов, экранировок, перекрестных наводок и шумов. •
Forget_fromto — позволяет удалить установленные для отрезков правила проектирования редактируемой цепи.
Highlight — нажмите ЛК для интерактивной подсветки цепей. Measure — нажмите ЛК для установления режима измерения. Это позволяет измерять расстояния между двумя точками или выбирать информацию о трассируемых объектах, нарушениях правил проектирования в специфицированных координатах. При этом Specctra отображает результаты измерений в выводном окне, области вывода сообщений и координатной области. Merge keepout — нажмите ЛК для установки режима слияния зон. Возможно слияние перекрывающихся полигонов одного типа, а также можно занимать одинаковые слои и вводить одинаковые правила проектирования в пределах области посредством быстрого перемещения указателя поперек области. \ Merge poly_wire — нажмите ЛК для установки режима слияния металлизированных зон.
169
Глава 4 Repair net — нажмите ЛК для удаления сегментов трасс, которые нарушают установленный порядок прокладки отрезков трасс для цепи. Rotate_via — нажмите ЛК для вращения ДСО через 90 градусов. Select — нажмите ЛК для выбора объектов в операциях трассировки или отмените выбор для ранее выбранных объектов. Типами таких объектов являются: Component, Net, Wire, Guide, Pin, Poly_wire. Slide — нажмите ЛК для перемещения индивидуальных объектов или объектов в пределах области. Можно перемещать сегменты трасс, ДСО, изгибы трасс, полигоны (металлизированные полигоны и зоны запрета) и границы полигонов.
Draw modes Для установки этого режима (режима рисования) нажмите ЛК после команды mode edit. После этого возможно: • рисовать разрешенные зоны (барьеры) в режиме Draw Fence; •
рисовать запретные зоны в режиме Draw Keepout;
• рисовать регионы в режиме Draw Region; •
рисовать линейки в режиме Edit ruler.
Рисование барьеров (разрешенных зон) Барьеры определяют разрешенные для трассировки области, представляющие собой многоугольники (вершины, соединенные линиями). Для их рисования необходимо ввести указателем каждый угол, a Specctra рисует линии между этими точками. Если положение последней точки не совпадает с первой, система автоматически замыкает контур. Разрешенную зону можно поместить на единственном слое или на всех сигнальных слоях. Система трассирует соединения внутри разрешенной зоны в зависимости от типа такой зоны — жесткой (по умолчанию) или мягкой (см. команду set soft fence для дополнительной информации). При необходимости задавать точные координаты такой зоны следует использовать команду fence. При необходимости изменить образ зоны или расположение существующей зоны, ее необходимо удалить и затем переопределить. Для удаления следует использовать команду delete fence. Отметим, что жесткие и мягкие разрешенные зоны не могут сосуществовать одновременно, т. е. все такие зоны в проекте могут быть либо жесткими, либо мягкими.
Рисование запретных зон Запретные зоны определяют запрещенные для трассировки области, представляющие собой многоугольники (вершины, соединенные линиями). Для их рисования необходимо ввести указателем каждый угол, a Specctra рисует линии
17О
Команды автоматической трассировки между этими точками. Если положение последней точки не совпадает с первой, система автоматически замыкает контур. Запретную зону можно поместить на единственном слое или на всех сигнальных слоях. Запрещенные объекты не могут касаться или пересекать контур зоны. При необходимости задавать точные координаты такой зоны следует использовать команду define keepout. При необходимости изменить образ зоны или расположение существующей зоны, ее необходимо распустить и затем переопределить. Для роспуска следует использовать команду forget. Зону, если она определена в системе Specctra, можно распустить, но если она задана в проектном файле в секции образов, ее удалить невозможно. Рисование региона Регион определяет область действия правил проектирования трассировки, представляющей собой многоугольники (вершины, соединенные линиями). Для их рисования необходимо ввести указателем каждый угол, a Specctra рисует линии между этими точками. Если положение последней точки не совпадает с первой, система автоматически замыкает контур. Запретную зону можно поместить на единственном слое или на всех сигнальных слоях. При необходимости задавать точные координаты такой зоны следует использовать команду define region. По умолчанию правила для региона применяются ко всем цепям региона. Как вариант можно задать такой регион, в котором правила относятся только к определенной цепи, к определенному классу цепей или между двумя классами. Для этого необходимо использовать команду rule. При необходимости изменить образ региона или расположение существующего региона, его необходимо распустить и затем переопределить. Для роспуска следует использовать команду forget. Рисование линейки Линейка представляет собой градуированную шкалу, нарисованную между двумя точками в рабочей области. Каждые 5 рисок оцифровываются значениями расстояний. Линейка может быть вертикальной, горизонтальной или диагональной под 45 градусов.
Net_property Эта команда присваивает свойства цепи.
171
Глава 4 Дескриптор <property_name> специфицирует стандартные или пользовательские свойства. Каждое свойство должно иметь метку <property_name> и значение <property_value>. Значение может быть другим дескриптором, числом или строкой текста. Команда позволяет присвоить свойства одной или нескольким цепям. Возможно выбрать цепи перед обращением к этой команде или указать имя каждой цепи . Если имена цепей не указаны, Specctra присваивает свойства всем выбранным цепям. Для визуализации свойств цепей можно использовать команду report для генерации соответствующего отчета (property report). Примеры команд
Net_property sigl (uprop_l 0.02) Net_property sig2 sig3 (uprop_2 xyz) Net_property (uprop_3 1.2)
Order Эта команда задает топологию цепей в смысле последовательной или звездообразной трассировки.
Sturburst — опция разрешает метод трассировки цепей, использующий трассировку в виде звезды для каждого вывода. Daisy — разрешает только один вход и единственный выход в цепи для каждой КП и не разрешает Т-подключение. Другими словами, это правило трассировки типа «ромашка» (звезда), при котором цепь имеет единственный вывод-источник и несколько выводов-приемников. Этот вариант называется простой цепочкой. Можно задать разновидности такой топологии трассировки с помощью опции type. Туре — вариантами топологии являются: 172
Команды автоматической трассировки • mid_dfaven — когда терминатор размещается в конце каждой цепи, а нагрузка присоединяется опять к источнику. Если в цепи более одного источника, то они сцепляются вместе с первым источником перед обработкой оставшейся цепи. Другими словами, это такой способ трассировки цепей, при котором источники (Source), соединенные в цепочку, находятся в центре цепи, а два приемника (Terminator) — на ее концах. • balanced — когда сегменты сцепляются цепочкой и нагрузка распределяется одинаково между КП-источниками и КП-терминаторами. Если найден больше чем один КП-источник, КП-терминаторы и КП-нагрузки подсоединяются как ветви к ближайшему КП-источнику, а остальные КПисточники подключаются в виде простой цепочки. Другими словами, это . такой способ трассировки цепей, при котором каждая цепь имеет по меньшей мере один стартовый вывод или источник и два или более оконечных выводов или приемников. При этом источники (в случае, если их больше одного) соединяются в единую цепь цепочкой, которая затем разветвляется на несколько ветвей, идущих к приемникам, в отличие от техники daisy chain, при которой минимизируется суммарная длина проводников, соеди-' няющих пары выводов, и каждый вывод не может принадлежать более чем двум сегментам цепи. Такая топология позволяет сбалансировать нагрузку на выводы источника и облегчить трассировку цепей, сочетая преимущества топологий «ромашка» и «цепочка». Как правило, источником являются выводы микросхем, а приемниками их входы. Selected •— упорядочиваются только выбранные цепи. All_net — любые цепи, которые не отмечены как упорядоченные. Net — определяет порядок трассировки поименованных цепей. Когда Specctra читает файл проекта, он разделяет множество КП-цепей на 2 терминальных соединений. Способ такого разделения зависит от того, имеется ли какое-либо упорядочение в этом файле. Если ничего такого нет в проектном файле, Specctra принимает режим звездообразной трассировки. Команда order изменяет начальную последовательность трассировки. Поэтому необходимо решить, нужно ли реорганизовывать все цепи или установить тот или иной порядок трассировки для нескольких важных цепей. Такой выбор можно сделать с помощью мышки или непосредственным вводом команды. При выборе команды order необходимо задать тип упорядочения, при этом упорядочение относится только к нерастрассированным цепям. Наилучший результат трассировщик получит при трассировке по методу starburst. Если в цепях файла проекта определены КП как источник, нагрузка или терминатор, но не задана команда на их упорядочение, необходимо выдать команду order daisy для разводки их в цепочечном режиме от источника к нагрузке и терминатору. После команды assign_pin необходимо выдать команду order daisy
173
Глава 4 чтобы упорядочить КП в соответствии с присвоенными им свойствами. Если же в файле проекта перечислены упорядоченные сегменты проводников, необходимо ввести команду forget net, перед использованием команды order для упорядочения этих сегментов. Следует при этом помнить, что команда forget net отменяет все правила для цепей.
Примеры команд
Order daysi (type mid_driven) ^terminator!
[terminator |
order daysi (type balanced)
terrninator^J
Protect/unprotect Эта команда запрещает автотрассировщику делать проходы перетрассировки существующих трасс и ДСО. Команда unprotect снимает запрет. АН — опция касается таких объектов как: Testpoints, который включает все контрольные точки; Vias, который включает все ДСО. All poly_wires — эту опцию используют для запрета полигонов с электрическими характеристиками (металлизированных). Она не влияет на проводники. All wires — касается проводников. Selected_wires — касается только выбранных текущих трасс. Layer_wires — касается всех проложенных трасс на указанных слоях, причем можно задать несколько слоев. Class — касается всех проложенных цепей 1 включенных в класс. 174
Команды автоматической трассировки
Net — то же для всех именованных цепей. Selected_poly_wires — запрещает только полигоны из проводников, которые ранее выбраны. Attr — касается только таких ДСО, которые имеют атрибуты. Если объекту присвоено несколько атрибутов, то можно запретить такой объект, используя любой из этих атрибутов. Например, можно использовать опцию fanout для запрета проводников, растрассированных с помощью этой команды. То же относится к команде bus. Type_soft — запрещает/отменяет запрет всех проводников и ДСО, которые автотрассировщик мог стирать или вводить при необходимости трассировать другие проводники. Type_route_mode — опция позволяет отменить запреты для трасс и ДСО, заданных в файле проекта, при использовании последовательно команд unprotect для отмены защиты этих объектов: • Использование unprotect type_route_mode означает, что трассы, определенные как type_route, могут быть переведены в незащищенные с помощью последовательности команд. • Использование protect type_route_mode означает, что трассы, определенные как type_route, не могут быть переведены в незащищенные с помощью последовательности команд.
175
Глава 4
.
Команду protect рекомендуется использовать для защиты растрассированных и других объектов, которые необходимо предохранить от изменения. Эту команду можно применить к стрингерам и жгутам, которые необходимо сохранить без изменения, а также для сохранения трасс, считанных из внешнего файла (например из PDIF-файла). Отметим, что рассмотренная команда применима только к проложенным трассам. См. команды fix и unfix для управления трассировкой цепей. Примеры команд Protect all wires Protect all wires (attr f anout) Protect all wires (attr bus) Unprotect all wires (attr bus) Unprotect selected wires Protect net CLK1 Unprotect net CLK1 Protect layer_wires s2 s3 Unprotect layer_wires L2 L3 Protect all vias (attr f anout) Unprotect all vias Protect all testpoints Unprotect all testpoints
Quit Эта команда позволяет выйти из системы Specctra.
Команда quit прекращает операции Specctra. Если вы не сохранили изменения в проекте, Specctra напомнит о необходимости запоминания файла сессии и предложит опцию для удаления текущего DID-файла. Эту команду можно ввести интерактивно или из DO-файла. При использовании этой команды в виде —quit при запуске Specctra, операция немедленно прекращается после последней выполненной в DO-файле команды.
176
Команды автоматической трассировки Пример команды Quit
Read colormap Эта команда загружает файл цветовой карты (файл определения цветов различных объектов).
Colormap — опция загружает ранее сохраненную в файле цветовую карту. Дополнительная опция form загружает цветовую карту в текущей палитре, вместо установленной в сессии, и отображает диалоговый бокс цветовой карты для интерактивной корректировки цветов или выбора палитры. При использовании этой команды, Specctra читает поименованный файл цветовой карты. Этот файл содержит данные, которые определяют дисплейные цвета и образы для проектных объектов, и графические характеристики в рабочих зонах. См. также команду write colormap. Пример команды Read colormap colorl.std
Read keepout Эта команда загружает запретные зоны из файла сессии.
Keepout — опция загружает высокоуровневые запретные зоны из файла сессии, который содержит данные из предварительной сессии трассировки. В этом файле сохранены только те запретные зоны, которые были добавлены, модифицированы или удалены. Высокоуровневые запретные зоны — это зоны, определенные в секции структур в файле проекта или в файле сессии.
Пример команды Read keepout design.ses
177
Глава 4
•• •
:
Read routes Эта команда загружает файл трасс.
Routes '— опция загружает файл трасс, который содержит все растрассированные проводники и ДСО плюс дополнительную информацию для трансляции данных трассировки обратно в главную САПР. Ignore_net — опция делает недоступными имена цепей, зафиксированные в секции Net-out файла трасс, но дает возможность системе Specctra определить имена цепей на основе КП, трасс и ДСО проекта. Туре — выбирает тип проводников из файла трасс с признаком protect или unprotect. Эта команда читает файлы, созданные по команде write routes. При этом любые существующие проводники заменяются проводниками из файла трасс. Если Вы не хотите соединять трассы из файла трасс с существующими трассами, используйте команду delete all wires перед командой read routes. При использовании команды write session и новом запуске Specctra с помощью файла сессии читать файл трасс как выполнение отдельной операции нет необходимости. При изменении списка цепей в САПР можно применить операции ЕСО для трассировщика, загрузив файл проекта с трассами или файл трасс. Можно использовать команду read routes с опцией ignore_net для загрузки файла трасс для процесса ЕСО. Примечание. Механизм ЕСО (Engineering Change Order) позволяет записывать в файл все изменения, выполненные в графическом редакторе, и передавать их для внесения изменений в электрическую схему, при этом возможна прямая и обратная корректировка. Примеры команд Read routes rev_c.rte Read routes (ignore_net) rev_d.rte
178
|
Команды автоматической трассировки
Read_wire Эта команда загружает файл проводников.
Wire — опция загружает файл проводников, который содержит данные о всех растрассированных проводниках и ДСО. Туре — выбирает тип проводников из файла трасс с признаком protect или unprot^ct. Вы можете считать файл из внешнего файла или добавить данные из файла к существующим трассам. При этом происходит замещение существующих трасс трассами из файла. Если это нежелательно, то необходимо использовать команду delete all wires перед считыванием.
Пример команды Read wire rev a.w
Recorner Эта команда заменяет 90-градусные изгибы трасс на 135-градусные. Более мощная команда для этих целей — команда Miter.
Pin — изменяет угол отрезка трассы от КП и ДСО до изгиба трассы на 135 градусов, если угол изгиба размещен далее чем установленное значение setback (т. е. ортогонального размера фаски — ОРФ). Из этой операции исключены прямоугольные КП. Slant — заменяет два 90-градусных изгиба двумя 135-градусными.
179
Глава 4 Bend — заменяет 90-градусный угол изгиба трассы на 135-градусный (сглаживает угол фаской). Round — заменяет угол 90 градусов на дугу. Diagonal — выполняет операцию сглаживания для всех подходящих случаев — для pin, slant, bend, при этом учитываются соответствующие размеры фасок. По умолчанию значения setback равны соответственно: для pin и slant — 1 дюйм, для bend — 0,5 дюйма, для round — сумма ширины трассы и зазора трасса-трасса. Целью сглаживания изгибов является улучшение технологичности изготовления ПП. Ввод дуги, сглаживающей квадратные углы, доступен только при наличии лицензии fast circuit. Каждый угол проверяется на допустимость, чтобы не создать новые конфликты. Команда recorner diagonal выполняет операции сглаживания для всех КП (pin), сдвигов трасс (slant) и изгибов (bend) одновременно. При проведении технических доработок или перетрассировки проекта необходимо использовать команду unmiter для ликвидации сглаженных углов, так как трассировщик работает эффективнее с ортогональными трассами. Для дуги размер скругления может быть уменьшен против заданного, чтобы корректно вписать закругляющую дугу в топологию трассы. Как правило, команда сглаживания запускается на последнем этапе трассировки, перед передачей трассировки в основную САПР ПП. Примеры команд Recorner bend 0.250 Recorner diagonal 0.5 0.5 0.5
Undo/redo Эти команды отменяют и возвращают результаты интерактивных операций редактирования, трассировки и размещения.
Единственную интерактивную операцию, можно отменить вводом команды undo или используя [f3] или [undo].on на клавиатуре. Несколько операций можно отменить вводом .нескольких таких команд. При этом можно немедленно реверсировать команду undo вводом команды redo. Эту команду можно ввести как [Shift] [f3] или [shift] [undo]. Интерактивными операциями трассировки и редактирования, которые можно взаимно исключать командами undo и redo, являются:
18О
Команды автоматической трассировки Add/Edit Poligon Change Connectivity Change Poligon Change Via Change Wire Copy Poligon Copy Rout Critic Route Cut Segment
\
Cutout Poligon Delete (все режимы, за исключением Repair Net) Edit Route Merge Wiring Polygon Move Select/Unselect (за исключением КП)
Если в памяти системы нет никакой команды для отмены, то появляется информационный бокс с сообщением: Noting (more) to undo. С помощью команд взаимоотмены нельзя выполнить такие операции как: Repair Net, Edit Topology, Select/Unselect gate, subgate, pin и операции terminator. Примеры команд Unplace on Undo Redo
Reduce_padstack Эта команда разрешает уменьшение размеров и, возможно, формы сквозных КП на слоях ПП. reduce_padstack J
181
Глава 4
-:.-.•--:'
On — команда с этой опцией предписывает трассировщику немедленно установить альтернативные КП, независимо от статуса конфликта. После этого восстановить прежние размеры и форму возможно только при повторном запуске системы Specctra. Auto — команда с этой опцией может быть применена, если у трассировщика могут возникнуть трудности с выполнением 100-процентного результата. Трассировщик продолжает процесс и устанавливает меньшие размеры КП, если снижение конфликтных ситуаций происходит слишком медленно. Off — команда с такой опцией отключает ранее выданную команду с функцией auto. Эта команда эффективна только если ранее было проведена редукция КП. Это значение команды принято по умолчанию. Команда reduce_padstack освобождает критическое для прокладки трасс пространство на плотных ПП. После принятия этой команды трассировщик устанавливает альтернативные малоразмерные образы контактных площадок на определенных слоях. Такая переустановка размеров может быть применена только к сквозным КП, а КП альтернативных размеров должны быть включены в файл проекта. Примеры команд Reduce_padstack on Reduce_padstack auto Reduce_padstack off
Release license Эта команда проверяет наличие лицензий в списке доступных лицензий для всех пользователей Specctra. release license
j
^
Эту команду можно использовать для получения описаний доступных лицензий во время сессии Specctra без прерывания сессии. Полученные таким образом сведения становятся доступными для других пользователей. Выводимый список показывает корректные названия лицензий в стандартном формате или в формате RPP. Используйте соответствующий стиль для или используйте аббревиатуру. Используйте команду license_usage для получения списка лицензий, не существующих в вашей сессии Specctra. Если использовать вместо названия лицензии слово АИ, проверяются все лицензии, за исключением ViewBase. ViewBase — это минимальный набор лицензий для сохранения результатов прогона сессии.
182
Команды автоматической трассировки Пример команды Release license RouteADV
Repaint Эта команда индицирует часть рабочей области окна Specctra.
После ввода этой команды все видимые слои перерисовываются в порядке их перечисления на панели слоев, от нижнего к верхнему. Если вы проводите интерактивную трассировку и имеете набор активных и альтернативных слоев, эти слои выводятся сверху. Совет: остановить обновление экрана, если указатель мыши находится в рабочей зоне, можно нажатием клавиши [ESC]. Возможно использовать опцию repaint в команде set, чтобы разрешить или запретить все операции обновления экрана или разрешить обновления, только когда явно закончена операция визуализации (такие как окно, панорама, перерисовать). По умолчанию доступны все варианты перерисовки.
i
Возможно использование опции dofile_auto_repaint в команде set, для того чтобы разрешить перерисовку рабочей зоны после операций, заданных в командном файле. , ;
Пример команды Repaint
Report
• •
•
'
\ •
Эта команда формирует отчет о трассировке или размещении. Возможно создать следующие специфические отчеты: Class Class-class Component (идентификатор компонента) Corners
-
'
"
••
\ '
у
Crosstalk
Eel Group Group_set
183
Глава 4 Keepouts Layer (имя слоя) Length Net bundles Net (имя цепи) No_fanout Order_violention (no_stubs) Padstack Pairs
.
Power_fanout_order_violantion Property (объект) Regions Stack_via_depth Status Testpoint Unconnect Vias
File — опция отображает все специфицированные файлы в окне отчета, но необходимо специфицировать также имя существующего текстового файла. Design — отображает текущий проектный файл в окне отчета. Невозможно сохранить проект в новом файле и нельзя прогнать отчет о проекте из файла do. Invocation — генерируются все ошибки и предупреждающие сообщения после старта Specctra.
184
Команды автоматической трассировки Selected_objects — опция распечатывает информацию о выбранных объектах. Вы должны выбрать одну или более цепей, компонентов, образов, сегментов трасс, проводов и КП, о который надо получить информацию. Информация о цепи состоит из имени, числа КП, ДСО, проводов, Т-подключений для каждой цепи и длины трасс. Информация о компоненте состоит из имени, ориентации, слое размещения, координат точки привязки, имени корпуса и типа. Информация об образе состоит из имени и числа выводов для каждого образа и позиционного обозначения для каждого компонента. Информация о сегментах трасс включает данные сегмента, манхеттенскую длину неразведенных связей и действительную длину протрассированной части незаконченной связи для каждого сегмента. Информация о проводе состоит из сегментных данных, идентифицированных позиционным обозначением и номером вывода или типом объекта, координатами размещения для каждого сегмента трассы и слоя, на котором растрассированы сегменты проводника. / Информация о выводе компонента состоит из позиционного обозначения и номера вывода или типе объекта, координат расположения, описания каждого вывода (padstack) и слоя, на которых каждый вывод подсоединен. По умолчанию имя файла отчета — selobj.rpt. Детальное содержание информации в этом отчете приведено в selected object report. Для генерации отчета возможно использовать window для отображения отчета в окне отчета. Можно также указать имя файла , чтобы сохранить отчет в указанной директории с нужным именем. Каждый имеет имя файла по умолчанию. Если же не указать имя файла или дескриптор window, Specctra использует имя файла по умолчанию и запомнит его в директории проекта. См. file naming conventions для дополнительной информации.
Примеры команд Report class
'
;
.
'
Report file boardS.do Report net siglS siglS.rpt Report selected_objects Ниже приведены типы отчетов: Class — составляется список всех предопределенных классов и цепей, входящих в эти классы. По умолчанию имя файла отчета classes.rpt. Для включения в список правил для классов, используйте команду report rules.
185
Глава 4 Class-class — составляется список всех предопределенных пар класс-класс. По умолчанию имя файла отчета clscls.rpt. Для включения в список правил для текущих пар классов используется команда report rules. Component — составляется список типов, имен образов, сторон платы, размеров, ориентации и координат компонентов. Для этого можно задать выбор компонента или указать его позиционное обозначение. В отчет будут включены все правила размещения, относящиеся к компоненту, включая присвоенные образы и свойства компонентов. В отчет включаются данные о каждом выводе компонента, их позиции, имена цепей, стек КП, имя цепи, присвоенные образы КП и их свойства. По умолчанию имя файла отчета comp.rpt. Corners — суммируется статус всех углов трасс, в список вносятся все углы в 90 и 135 градусов, дуги и другие углы. Указывается, сколько осталось изгибов в 90 градусов после работы команд recorner и miter. По умолчанию имя файла отчета corners.rpt. Crosstalk — составляется список заданных правил для параллельных и тандемных наводок и шумовых ограничений, включая нарушения правил и т.п. Информация о нарушениях правил состоит из имен цепей, соединений вывод—вывод, и задействованных сигнальных слоев. При генерации этого отчета Specctra также фиксирует графически перекрестные наводки с помощью белого прямоугольника, между сегментами-нарушителями правил. Длинная сторона этой метки пропорциональна величине нарушения. По умолчанию имя файла отчета xtalk.rpt. Eel — составляется список нарушений в цепях, имеющих логику эмиттерных связей с именами выводов и длин трасс между КП-источниками и КП-терминаторами. По умолчанию имя файла отчета net_ecl.tmp. Group — составляется список всех текущих групп сегментов (направлений). По каждой группе содержится информация об именах групп, имена цепей и связей вывод-вывод. По умолчанию имя файла отчета group.rpt. Group_set — составляется список заданных наборов групп, в том числе имена групп в каждом наборе. По умолчанию имя файла отчета grpset.rpt. Keepouts — составляется список запретных зон, их типов, образов, слоев и координатной информации. По умолчанию имя файла отчета keepouts.rpt. Layer — составляется список свойств и их значений, принадлежащих слою. По умолчанию имя файла отчета layer.rpt. Length — составляется список всех цепей, имеющих правила длин или задержек, значения этих правил, реальная длина трасс и задержек или временные задержки в каждой цепи, общие нарушения и сообщения об ошибках для каждой цепи или сегмента. По умолчанию имя файла отчета length.rpt.
186
Команды автоматической трассировки Net — приводятся данные о цепи, включая имя, присвоенный фиксированный статус, класс цепей, число КП, ДСО, проводников, Т-подключений и данные о длине трасс для специфицированной цепи. По умолчанию имя файла отчета net.rpt. .
-N,
Net_bundles — приводятся данные о каждой цепи или сегменте, входящих в жгут, и их взаимные зазоры на слое (здесь под жгутом понимаются наборы цепей, которые должны иметь одинаковую топологию). Если же зазоры не специфицированы, Specctra использует правило для самого большого зазора для цепей в жгуте и выводит строку: No Bundles Gap Specified. По умолчанию имя файла отчета bundles.rpt. No_fanout — составляется список всех выводов компонентов, которые не получили стрингеров после прогона последней команды fanout. Информация о выводах состоит из имени вывода, координат, стека КП и имени цепи, с которой вывод связан. В отчет включаются только такие КП, которые были указаны в последней опции pin_type в команде fanout. Этот отчет показывает наличие КП, к которым трассировщик не сумел подключить стрингеры. Отсюда можно сделать вывод, были ли такие КП блокированы или не смогли подключиться из-за установленных параметров. По умолчанию имя файла отчета nofanout.rpt. Order_violention — составляется список нарушений правил проектирования при использовании опции no_stab, с помощью идентификатора имен цепей и координат обнаруженных нарушений. По умолчанию имя файла отчета voils.tmp. Padstack — формируется список ДСО, КП и стека пленарных КП из библиотечной секции файла проекта. По умолчанию имя файла padstack.rpt. Pairs — составляется список цепей или сегментов сформированных дифференциальных пар и зазоров между ними. Если этот зазор не специфицирован как дифференциальная пара, Specctra использует зазор трасса-трасса и отмечает этот факт выводом сообщения: No Pair Gap Specified. По умолчанию имя файла отчета pairs.rpt. Power_fanout_violation — формируется список всех неподключенных КП, которые нарушали правила проектирования для стрингеров силовых цепей, и регистрируется общее число нарушений. По умолчанию имя файла отчета pwr_f an_order_viol. rpt. Property — формируется список свойств и их текущие значения. Фиксируется список имен объектов, свойства типов (системных или пользовательских), имен свойств и значений свойств. Необходимо специфицировать один или более типов объектов <property_objects> для включения в отчет. Можно выбрать: Component — список свойств каждого компонента в проекте. Component_pins — список свойств каждого вывода компонента в проекте.
187
Глава 4 Image — список свойств каждого корпуса в проекте. Image_pin — список свойств образа каждого вывода в проекте. Regions — составляется список всех заданных регионов, в том числе типов (регион, цепной регион, класс региона или класс-класс региона), образ, имя слоя, координаты каждого региона. По умолчанию имя файла отчета region.rpt. Stack_via_depth — формируется список нарушений правил проектирования для стека несквозных дополнительных отверстий. Status — составляется список данных трассировки, в том числе: • статус трассировки; •
история трассировки;
• статистика трасс; .
• суммарная статистика для слоев. Дополнительно к этому отчету автотрассировщик создает упрощенную статистику трассировки, отображает их в выводном окне и в конце каждого прохода трассировки запоминает их в файле по умолчанию monitor.sis. Specctra автоматически обновляет статусный файл после трассировки каждой сотни проводников. По умолчанию имя файла status.rpt. Testpoint — составляется суммарная информация о числе цепей, не имеющих контрольных точек, о числе контрольных точек на каждой стороне ПП, размере дискретной сетки для КТ, расстоянии между КТ и правилах для зазоров. В этом отчете содержится также информация о каждой КТ, в том числе координаты, тип, слой, имя стека КП, имя вывода или ДСО и имя цепи. Также содержатся единицы измерения. По умолчанию имя файла отчета tstpt.rpt. Для индикации нарушений правил проектирования КТ следует использовать команду highlight testpoint_violation. Unconnect — составляется список всех неподключенных отрезков (от-до) с именем цепи. В список входят позиционные обозначения, номера выводов и координаты для каждой КП в отрезке. По умолчанию имя файла отчета unconn.rpt. Vias — составляется список всех ДСО в проектном файле, сформированных в течение интерактивной и автоматической трассировки. По каждому ДСО выдается следующая информация: • слои, на которых они размещены; •
были ли ДСО выбраны для трассировки;
•
размеры огибающей рамки для ДСО;
•
форма ДСО на каждом слое.
. ' • . . • По умолчанию имя файла отчета vias.rpt.
188
Команды автоматической трассировки
Report conflict Эта команда генерирует отчет о текущих конфликтах в проекте.
Conflict — составляется список конфликтов по зазорам и пересечениям и заданные правила. Трассировщик проверяет все проложенные трассы и отображает конфликты в графическом виде. Ромбом отображаются конфликты пересечений, а прямоугольником — конфликты зазоров. Туре — опция идентифицирует все типы конфликтов для включения в отчет. Можно выбрать: • place — для вывода данных о компонентах, которые нарушили правила размещения и суммирования типов нарушений; • route — для вывода данных о конфликтах трасс; • all — для вывода данных о всех конфликтах. Эта команда отображает отчет о конфликтах в окне отчета и запоминает его в виде текстового файла. По умолчанию имя файла отчета conflict.rpt. Примеры команд
Report conflict Report conflict conflicts.rpt Report conflict (type route)
Report network Эта команда создает отчет, который содержит список цепей. Network — создает список имен цепей, число КП, ДСО, трасс, Т-подключений в каждой цепи и манхэттенскую длину трасс для каждой Цепи (включая одноконтактные цепи). По умолчанию имя файла отчета network.rpt. -Name — опция сортирует информацию в алфавитном порядке по именам цепей.
189
Глава 4
-Length — опция сортирует информацию о цепях по длине трасс от самой длинной к самой короткой. -Ratio — сортирует информацию о цепях по величине отношения действительной длины трасс, деленной на манхэттенскую длину. -Extra — сортирует информацию о цепях по разнице между действительной и манхэттенской длиной. По умолчанию производится сортировка по наименованию цепей. Если в команду не включены имя файла или дескриптор window, Specctra использует имя файла отчета по умолчанию network.rpt и запоминает отчет в текущей директории. Примеры команд Report network Report network -length Report network brdl.rpt Report network brd2.rpt -ratio Report network window -extra
Report rules Эта команда создает отчет, который содержит установленные текущие правила проектирования. Rules — формируется список текущих правил проектирования. Правила для зазоров выдаются отдельно для каждой установки объект—объект. В отчет входят имя файла проектирования, число сигнальных и силовых слоев и размеры ДСО и декретной сетки для трасс. По умолчанию имя файла отчета rules.rpt. Include — специфицируются правила, которые должны быть включены в отчет. При этом, возможно получить все правила (all) или только выбранные —pcb, layer, class, group, Group_set, net, fromto, class-class или padstack, region для приоритетных уровней вашего проекта. Если в команду не включены имя файла или дескриптор window, Specctra использует имя файла отчета по умолчанию rules.rpt и запоминает отчет в текущей директории.
190
Команды автоматической трассировки
Примеры команд Report rules Report rules newrules.rpt Report rules (include class)
;
Report rules (include net group)
Route Эта команда запускает автотрассировщик.
191
Глава 4 Параметр <passes> специфицирует число проходов трассировщика. Обычно рекомендуется 25 проходов. Параметр <start_pass> устанавливает точку в таблице штрафов, которую трассировщик использует в начале серии проходов. Типичными значениями являются: I — это значение является начальной стоимостью в начале трассировки. 6 — это значение стоимости после первых пяти проходов. Здесь штрафы являются относительно низкими. -
'
•'**:
II — значение стоимости после первых десяти проходов. Здесь штрафы являются относительно умеренными. 16 — значение стоимости после первых 15 проходов. Здесь штрафы являются относительно высокими. Параметр <start_pass> не рекомендуется использовать неопытным пользователям. Remote — опция удаляет трассы, когда трассировщик пытается переложить трассы и не будет восстанавливать трассы в первоначальной позиции. Эту опцию рекомендуется использовать, если число неудачных попыток проложить трассу больше 100 и при этом имеются сотни или тысячи конфликтов после десяти или более проходов. Эта опция выполняется автоматически, если трассировщик обнаружил плохую сходимость процесса и более 50 попыток. Цепи с уровнем приоритета 200 или выше не перекладываются и не удаляются. Команду route можно использовать в любое время, но не в режиме паузы. Возможна команда без указания числа проходов для единственного прохода. Specctra использует количество заданных проходов, пока имеются конфликты или непроложенные трассы. После достижения 100% разводки, без пересечений трасс и нарушений зазоров неиспользованное количество проходов аннулируется. Индикатор процесса трассировки показывает последовательность проходов с помощью иконки в виде светофора. Если указать на него, то можно получить детальную информацию в диалоговом боксе. Если выбраны одна или более связей, то трассироваться будут только они. Если же никакого выбора не сделано, трассировщик пытается обработать все связи, за исключением фиксированных и защищенных. Как связи трассируются и как они перекладываются и перетрассируются, зависит от числа заложенных проходов и от того, используется ли параметр <start_pass>. Трассы, проложенные в первых пяти проходах, затем могут быть проложены заново, если они не защищены и не фиксированы и мешают дальнейшей прокладке трасс. Трассировщик по умолчанию производит прокладку ортогональных трасс, за исключением тех зон, которые включают поворачивающиеся КП, где можно использовать диагональные трассы. Однако с помощью специальной установки опции <set
192
Команды автоматической трассировки diagonal_mode> можно разрешить трассировщику использовать диагональную трассировку. Дополнительная информация о режимах трассировки приведена в командах bus, fanout, smart_route. Примеры команд Route 25 Route 50 16 Route 5 (remove) .
Rule Эта команда устанавливает правила с наличными приоритетами в иерархии правил.
Pcb — опция задает правила проектирования для проекта, в том числе для зазоров, ширин проводников, временных задержек, взаимных наводок и шумов. Layer — задает правила проектирования для указанных слоев. Дескрипторами для этого являются pcb, signal, power. Для слоя можно задать зазоры, ширины проводников, временные факторы, взаимные наводки, шумы, веса шумов и штрафы. Class — правила для специфицированных классов, определенных в системе Specctra или проектном файле. Возможно задание зазоров, ширин трасс, направлений трасс, задержки, экранировки, взаимных наводок и шумов. 7 Зак. 27
193
Глава 4
'
-
Group_set — правила для наборов групп. Возможно задание зазоров, ширин и времен. Net — правила для цепей. Возможно задание зазоров, ширин трасс, направлений трасс, задержки, экранировки, взаимных наводок и шумов. Group — правила для групп. Возможно задание зазоров, ширин трасс, направлений трасс, задержки, экранировки, взаимных наводок и шумов. Class-class — правила трассировки для указанных классов. Можно задать зазоры, взаимные наводки и шумы. Directional — этот дескриптор определяет, какой класс является источником и какой приемником шумов. Опция используется только совместно с дескрипторами параллельных и тандемных шумов. При этом нужно указать пары классов в нужной последовательности. Нельзя использовать directional, когда заданы правила взаимных наводок между проводниками единственного класса. Padstack — применяются правила к указанным стекам КП. Применить можно только правила зазоров. Region — правила для указанного региона. Задать можно зазоры и ширину трасс. Selected — применяется только к выбранным цепям. Установленные правила в Specctra перекрывают правила в файле проекта. Ниже приведена последовательность иерархий, которые зафиксированы в Specctra и они не могут быть отменены: Imagejmage
Устанавливает правила между имиджами (посадочными местами компонента). Это высочайший уровень иерархии
Family_family
Устанавливает правила между семействами. Семейством является группа имиджей „
Room_image_set
Устанавливает правила для набора имиджей, присоединенных к комнате
Room
Устанавливает. правила для комнаты, которая является областью платы, в которой Specctra размещает специфицированные компоненты
Super cluster
Устанавливает правила для суперкластера, т. е. для группы компонентов, которые рассматриваются как единый компонент
Component
Устанавливает правила для компонента, который является примером имиджа
Image
Устанавливает правила для имиджа, который определяет посадочное место (footprint — «отпечаток ноги»)
lmage_set
Устанавливает правила для имиджей с одинаковыми типами свойств. Тип свойства это определения — большой, маленький, конденсатор или другой дискретный элемент
Pcb
Устанавливает глобальные правила для всех компонентов в проекте. Это самый низкий уровень иерархии
194
Команды автоматической трассировки Объектные дескрипторы определяют уровни приоритетов для правил. Список типов правил, относящихся к каждому уровню приоритета правил, указан в разделе routing rule hierarchy. Для установки своих правил необходимо использовать . Для установки правил для выбранных цепей, но не сегментов, можно использовать опцию selected. Чтобы добавить или изменить правила для сегментов, используются команды define net или define group. Для правил класс-класс необходимо указать по крайней мере 2 идентификатора объектов. Возможно: • Задать отношения между классами, где все классы должны быть парными друг с другом. • Задать правила между указанными классами только для двух парных классов. Возможно, ввести один и тот же класс дважды для применения правил между цепями в классе. • Задать правила для параллельных и тандемных шумов между двумя классами, которые являются парными. Правила для регионов с одинаковыми координатами и слоями как существующими регионами суммируются (сливаются). Перекрытие регионов допускается, но если обнаружен конфликт правил, то используются самые последние правила для регионов. См. также команды define class-class и define_region. Вообще, задавать правила можно с помощью команд define или rule, например: Rule class classl (width 600) Define (class classl (sigl sig 2 sig 3 )(rule (width 600))) Примеры команд Нажатие клавиши () в каждом примере ниже приводит к детальному описанию команды и выводу синтаксической диаграммы. Установить предельное число ДСО для каждой цепи в проекте:
]
Rule pcb (limit_vias 3) Установить зазоры для слоя: Rule layer SI (clearance 50 (type smd_to_turn_gap)) Установить правило параллельных сегментов для класса: Rule class critical (parallel_segment (gap 25) (limit 150)) Установить правило параллельных сегментов для группы: Rule group gl (parallel_segment (gap 25) (limit 150)) Установить лимит пути для выбранной цепи: 7
*
195
Глава 4
.
Rule selected (limit_way 5) Установить общие правила для планарных КП: Rule pcb (via_at_smd on (grid on)(fit on)) Установить шумовые правила для класса: Rule class clock (max_nouse 400) Rule class clock (parallel_nouse (gap 5) (threshold 50)(weigth .04)) Rule class clock (tandem_nouse (gap 12)(threshold 50)(wigth .01)) • Установить правила задержек для класса: Rule class clock (time_length_factor .51) Rule class clock (min_total_delay 1.2) Rule class clock (max_total_delay 1.5) Установить ширину трасс для региона: Rule region region 1 (width 10) Установить разрешение Т-образного соединения трасс для набора групп: Rule group_set grpsetl (junction_type term_only) Установить зазоры для стеков КП: Rule padstack V25 (clearance 20 (type via-via)) Rule padstack V35 (clearance 25 (type via-via)) Установить ленточную ширину для цепи: Rule net wr7 (pin_width_taper up_down) Установить правила для контрольных точек всем цепям проекта: Rule pcb (testpoint (insert on)(grid 100)) Установить правило межслойных зазоров между классами: Rule class_class Cl C2 (inter_layer_clear 3 (type wire_wire wire_pin) (layer_depth 2)) Установить правила экранировок для цепи: Rule net wr9 (shield_gap 10) . Rule net wr9 (shield_width 12) Rule net wr9 (shield_loop open) Установить правило создания силовых стрингеров для всех силовых цепей в проекте. Эта команда будет пытаться соединить развязывающие конденсаторы перед отводами к ДСО: Rule pcb (power_f anout (pin_cap_via) 196
Команды автоматической трассировки Команду rule можно использовать для: •
установки зазоров;
•
установки межслоиных зазоров;
:
; ••' *-
• установки ширины проводника; • управления шириной сегмента трассы, входящей или покидающей КП; • установки фактора преобразования времени для задержки сигналов в трассе; • установки фактора для вычисления эффективной длины трассы на слое и эффективной длины ДСО; • установки максимальной длины трассы на слое;
•,
» установки правила, которое маркирует слой как запрещенный для трассировки; • установки максимальной амплитуды и длины пробела в соответствии с образом трассы (в виде последовательности меандров); • установки порядка цепей для звездообразной и цепочечной трассировки; • управления использования Т-подключения для звездообразной трассировки; • установки максимума длины стрингера и использования Т-подключения для цепочечной трассировки; • управления типом Т-подключения для разных дисциплин трассировки; • установки максимального числа изгибов в соединении; • установки максимального числа допустимых конфликтов пересечений в соединении; . . » установки максимального числа ДСО в соединении и в цепи; • установки максимально допустимого расстояния для трассы в запрещенном направлении в соединении; • разрешения интерактивного создания излишних проводов для цепи; • установки максимального шума допустимого в цепи; • управления вычислением параллельных и тандемных наводок; • управления параллельными и тандемными сегментами для расчета поперечных наводок; • установки минимальной длины, свыше которой эффект шумовой насыщенности становится фактором в вычислении шумов; • управления зазорами экранов, шириной экранирующих трасс и петля какого типа сформирована; • управления шириной экранирующих трасс, которая позволяет тандемному экрану превзойти ширину экранируемой трассы; •
управления дистанцией между отрезками экранируемых трасс;
• управления вводом контрольных точек в процессе трассировки;
197
Глава 4 • управления последовательностью стрингеров силовых КП развязывающих конденсаторов; • управления использованием ДСО под пленарными КП; • установки «рисунка» многочисленных вводимых ДСО (via) для многочипового модульного проекта в виде спирали, наклонной линии или ступенек. Дескриптор устанавливает правила, которые позволяют или запрещают избыточные трассы для цепи в процессе интерактивной трассировки.
[allow_redundant_wifing
Когда это правило разрешено, то интерактивный трассировщик может позволить создавать и оставлять петли из трасс. По умолчанию это запрещено. i Дескриптор устанавливает зазоры между трассируемыми объектами в проекте.
198
Команды автоматической трассировки Туре — указывает объекты, для которых задаются правила зазоров. Можно использовать специальные дескрипторы для спецификации зазоров между объектами, такими как ДСО в одной и той же цепи (via_via_same_net). Можно применить специальные дескрипторы для спецификации зазоров между двумя типами объектов. Такими объектами являются сквозные КП (pin), планарные КП (smd), ДСО (via), сегменты проложенных трасс (wire), запретные зоны или контур платы (area) и контрольные точки (testpoint). Можно использовать любую комбинацию из двух таких ключевых слов с подчеркиванием между ними. Например: (type pin_pin) (type pin_wire) Если же тип не указать, то правила зазоров относят на все типы объектов. Smd_via_same_net — планарные КП и ДСО в той же цепи. Via_via_same_net — ДСО в одной и той же цепи. Antipad_gap — КП и окружающий медный экран.
Pad_to_turn_gap
край сквозной КП и первый поворот или изгиб сегмента
трасс. Smd_to_turn_gap — край пленарной КП и первый поворот или изгиб сегмента трасс. Buried_via_gap — зазор между глухими дополнительными межслойными переходами на различных слоях. Можно использовать опцию layer_depth для контроля, сколько смежных слоев надо проверить для глухих дополнительных отверстий. Layer_depth — для задания количества проверяемых смежных слоев (положительное целое число), рассматриваемых, когда автотрассировщик проверяет зазоры между глухими ДО. Если число слоев между ДО больше, чем указанное положительное число, то правило зазоров не применяется. Значение 0 при задании значения зазоров позволяет объектам касаться краями, значение -1 означает отсутствие спецификации правила. Дескриптор эффективной длины переходного отверстия <effective_via_length> устанавливает правила для контроля величины, которая добавляется к вычисленной длине проводника за счет сквозного ДО.
<positive_dimension>
X -1
199
Глава 4 Дескриптор межслойных зазоров устанавливает правила зазоров между объектами на различных слоях.
\
Н
<positive_integer>
->G)
Туре — опция идентифицирует объекты, которым можно присвоить межслойные зазоры. Возможно, использовать ключевые слова объект—объект для задания допустимых зазоров между двумя типами объектов. К ним относятся сквозные КП (pin), планарные КП (smd), переходные (со слой на слой) КП (via), проложенные сегменты трасс (wire), запретные зоны и внешний контур платы (area). Возможно задание любой такой пары с помощью ключевых слов, разделенных символом подчеркивания. Если же тип не указан, то установленный зазор будет относиться ко всем типам объектов. Layer_pair — опция задает пару слоев, для которых задаются допустимые зазоры. Layer_depth — опция задает количество смежных слоев, которые рассматриваются трассировщиком при применении правил межслойных зазоров, к объектам одного или другого класса. Эта опция применима только к объектам класс— класс в иерархии правил. Это правило задает минимальное расстояние между объектами на разных слоях. В общем случае правила межслойных расстояний используется для защиты цифровых цепей от пересечения (на разных слоях) с аналоговыми цепями. Для этого необходимо определить классы аналоговых цепей и классы цифровых цепей и присвоить зазор типа класс-класс с дескриптором layer_depth, например: Rule class_class Cl C2 (inter_layer_clear (type wire_wire wire_pin) (layer_depth 2) Дескриптор типа Т-подсоединения <junction_type> правила такого подключения применительно к КП и сегментам трасс.
200
Команды автоматической трассировки
Дескриптор junction_type позволяет задать такой тип с помощью опций: Term_only — которая разрешает Т-образное подключение к любым КП и ДСО; Supply_only — который разрешает такое подключение только к КП-источникам; АИ — который разрешает такое подключение ко всем КП и сегментам трасс. В случае задания звездообразной трассировки правило t-iunction должно быть задано перед заданием типа подключения. Для цепочечной трассировки перед установкой типа подключения необходимо задать правило максимальной длины отвода подключения (max_stub) со значением больше 0. Отметим, что индивидуальные КП, проводники и полигоны-проводники могут быть заданы как КП-источники с помощью команды assign_supply. Дескриптор описания амплитудной характеристики трассы задает правила формирования трассы в образе, принятом для определения амплитуды сигналов (в виде прямоугольных меандров или «аккордеона»). flenght_amplitude) ^|
\—^| . [ J '
1
Это тот случай, когда трассировщику необходимо выполнить^ заданное ранее правило минимальной длины трассы (min_length). Значение максимума и минимума амплитуды задается как диапазон размеров амплитуды в высоту. Если же минимум не задан, то он принимается по умолчанию — как величина большая чем 3 ширины трассы или ширина трассы, плюс зазор между трассами. Значение мах_атр препятствует формированию амплитудных трасс и предписывает лабиринтную трассировку для выполнения требования минимальной длины. Значение —1 для max_amp разрешает амплитудный образ трасс, а значение —1 для min_amp возвращает минимальную высоту амплитуд к значению по умолчанию. На рисунке ниже показан фрагмент трассы в виде «аккордеона».
„ J
amplitude
Accordion patten
\I\ _г Gap
2O1
Глава 4
-
Дескриптор фактора длины определяет правило, которое определяет фактор для вычисления эффективной длинм трассы на слое. ЁЭ|^
^G)
• ^^ lenght_factor )
bf~
| ^^—~^~
Этот дескриптор устанавливает коэффициент (вещественное число) для вычисления эффективной (полезной) длины трассы на слое. 'Значение должно быть равным или больше 0, а значение -1 отменяет задание этого правила. Фактор длины упорядочивает вычисление длины провода на слое. Реальная длина умножается на этот коэффициент для получения действительной длины трассы на слое. Дескриптор зазора устанавливает зазор, разрешенный между смежными меандрами при формировании трасс с целью удовлетворения требований минимальной длины. lenght_gap
3
^l<positive_dimension>\
Если величина такого зазора равна или меньше допустимого зазора между сегментами трасс, этот параметр игнорируется. Дескриптор лимита изгибов устанавливает максимальное количество изгибов трассы.
<positive_integer> \-
Значение этого параметра от 0 до 255. Дескриптор лимита пересечений определяет максимальное число конфликтов пересечений при трассировке соединения. Значение этого параметра от 0 до 255. Дескриптор лимита ДСО определяет максимальное количество ДСО при трассировке соединения.
Значение этого параметра от 0 до 255. Это правило задает число ДСО для сегментов трасс (from to). См. также правило max_total_vias для данных об управлении числом ДСО в цепи. Дескриптор лимита длины отрезков трасс неверного направления для трассируемого соединения.
202
Команды автоматической трассировки
Значение 0 не допускает наличия таких трасс, значение -1 отменяет это ограничение. Неверное направление означает прокладку горизонтального отрезка трассы на слое с преимущественными вертикальными трассами и наоборот. Отметим, что значение 0 для этого правила может значительно увеличить общее число ДСО в проекте. . Дескриптор максимального шума <max_nouse> определяет максимально допустимый шум, накопленный в цепи.
-н:
Значение этого правила есть вещественное число. Когда обнаруживается нарушение заданного значения, трассы, для которых производились вычисления, перекладываются заново для уменьшения шума ниже минимального значения. См. также правила parallel_nouse и tandem_nouse. Дескриптор максимального разброса длины трассы <max_stagger> без учета направлений сегментов трасс задает этот разброс длины на смешанных (одновременно используемых) слоях.
Значение -1 отменяет это ограничение, в результате чего соединение может быть оттрассировано без ограничений на его длину на смешанном слое. Смешанным считается силовой слой, на котором могут находиться сигнальные связи. Дескриптор максимального ответвления <max_stub> определяет максимально допустимую длину ответвления отрезка трассы при подключении объекта к цепочке.
max_stub
<positive_dimension>
Т
2ОЗ
Глава 4 Длина ответвления, это расстояние между КП или ДСО и точкой Т-соединения. Длина такого «пня» измеряется от центра КП до центра точки подключения. Значение этого параметра, равное 0, не разрешает ввод таких ответвлений, значение больше 0 разрешает, а значение -1 отменяет установку. Опция типа подключения junction_type позволяет задать такое подключение только для трасс или для КП и ДСО. Дескриптор максимального числа ДСО (дополнительных переходных со слоя на слой отверстий) задает это число для трасс цепи.
—*—> <posltive_integer>
Это правило можно установить для цепи, отрезка (от — до) в группе или для цепи в классе. При применении этого правила к классу, ограничение будет касаться каждой цепи в классе, но не суммарному числу ДСО в классе. См. также правило limit_vias для информации об управлении числом ДСО в трассах от • — до (отрезках трасс). Дескриптор параллельных шумов задает вычисление параллельных наведенных шумов для параллельно проложенных трасс на заданном слое.
^| <positive_dimensiorr>
Опциями в этом случае могут быть: Off — задает отказ от вычислений шумов. Gap — восстанавливает такие вычисления и устанавливает значения зазоров (gap), интенсивности наводок (weight) и порогового значения (threshold) для вычисления параллельных наведенных шумов. Зазоры — это расстояние от края до края объектов, для которых вычисляются наведенные шумы. Такие шумы вычисляются, если зазоры между параллельными проводниками равны или меньше заданных, а трассы являются параллельными на дистанции, которая превосходит пороговое значение. Отрицательное значение подразумевает перекрытие трасс. Если пороговое значение параллельных отрезков не установлено, то по умолчанию используется значение зазоров.
204
Команды автоматической трассировки Интенсивность или вес наводок — это наведенный шум от цепи на единицу длины трассы. Такой параметр используется в cctl crosstalk модели. Значение его должно быть выражено в виде вещественного числа в электрических единицах измерения, согласованными с установленными в системе линейными единицами измерения. Например, если наводка между параллельными проводами равна 2 милливольта на мм, то вес равен 2 (при установке в Specctra единиц измерения — мм). Наведенный шум вычисляется умножением параллельных длин на установленное весовое значение для излучающей цепи. Наведенные суммарные шумы вычисляются как линейная или среднеквадратичная сумма наведенных шумов (линейная принята по умолчанию). На рисунке ниже приведен пример соотношения между зазорами и наведенными шумами.
.010 .020 .030 .040 .050 .060 Зазор (дюймы)
Дескриптор параллельного сегмента <parallel_segment> определяет необходимость учета наводок при параллельно проложенных проводниках на одном слое.
Опции gap и limit для этого параметра аналогичны описанным выше. Дескриптор ширины трассы подключения КП к трассе устанавливает ширину трассы для подключения сегмента трассы для входа или выхода к КП. Дескриптор ширины трассы подключения к КП (конусная трасса) задает ширину сегмента трассы, подходящей или отходящей от КП, в зависимости от того, равна или не равна ширина КП ширине трасс, установленных для ПП в целом.
205
Глава 4 yj—
-^жрп
эег*
—
\~m~~~~MmS
"*
устанавливает последовательность трассировки стрингеров между силовыми КП, ДСО и развязывающими конденсаторами.'
@
»<power_fanout)
>ф
>С
order
Pin_cap_via —• эта опция позволяет проложить трассу прямо к конденсатору, перед ДСО. Pin_via_cap — опция позволяет проложить трассу к ДСО перед подключением к конденсатору. None — отменяет ранее установленное правило для силовых стрингеров.
206
Команды автоматической трассировки Это правило применимо только к компонентам, входящим в категорию больших, или к развязывающим конденсаторам, которые подсоединяются одним выводом в цепь питания, а другим заземляются и имеют свойство «конденсатор». Эта тема затрагивается также в разделах для команд high_ligth и report, Дескриптор изменения стратегии трассировки .
Starburst — эта опция позволяет устанавливать многочисленные входы и выходы для выводов. Daisy — разрешает только один вход и один выход при подключении КП к цепи и не разрешает Т-подсоединения. Такая стратегия трассировки называется простой цепью. С помощью опции типа можно задать некоторые разновидности этой стратегии. Туре — опция устанавливает разновидности организации цепочки для трасс, в том числе: Mid_driven — когда КП-терминатор размещается в каждом конце цепи, а КПнагрузки добавляются в разные стороны от источника. Если имеется более одного источника, то они выстраиваются в цепочку перед соединением с нагрузкой. Balanced — когда связи от — до являются цепочечными и входят в нагрузку между КП-источниками и КП-терминаторами. Если определено более одного источника, то ветви для них подсоединяются обратно к ближайшим КП-источникам, а оставшиеся КП-источники упорядочиваются в простую цепочку. При выборе опции mid_driven в цепи должно быть точно два КП-терминатора и один или более КП-источников, а при выборе стратегии balanced КП-нагрузки равномерно распределяются между КП-источником и КП-терминатором. Дескриптор фактора ограничения длин объектов на слое задает правила для слоя, класса на слое или цепи на слое с приоритетным уровнем для ограничения трасс на указанных слоях для всех цепей, цепей в заданном классе или для индивидуальных специфических цепей.
frestrictedjayer_length_factor
2О7
Глава 4
'•
Правила действуют как переключатели для идентификации слоев с ограничениями. Значение 1 маркирует слой с ограничениями. Значение 0 снимает ограничения, значение -1 вообще отменяет все спецификации ограничений. По умолчанию все слои имеют фактор ограничения длины на слое равными 0. Например! Rule layer sigl sig4 (restricted_layer_length_factor 1) — маркирует слои sigl и sig4, как слои с ограничениями. Только цепи с правилами для слоев с ограничениями будут трассироваться на этих слоях. Define (class restricted (selected)(layer_rule sigl sig4 (rule / (restricted_layer_length_factor 1))) — маркирует слои как имеющие ограничения на уровне класс-слой, что означает, что ограничения трассировки применяются к цепям в классе «restricted» на этих слоях. Дескриптор длины насыщения <saturation_length> устанавливает минимальную длину, выше которой влияние шумового насыщения становится фактором в вычислении шумов. ^р
i
>^ saturation_length )
^j<positive_dimension>\—>^ .
>•
Когда общая параллельная длина пары жертвы и агрессора — превосходит длину насыщения, вычисленный шум масштабирует общий шум с помощью отношения длины насыщения к общей параллельной длине. Это правило применяется к вычислению параллельных и тандемных шумов для уровней иерархии правил в отношении платы, класса и цепи, при использовании модели типа Ctla crosstalk. Эта модель используется в Specctra по умолчанию. Для использования эта модель должна быть установлена в системе. Она может присутствовать в следующих двух случаях: В составе файла проекта с использованием ключевого слова crosstalk_model в или с помощью команды set crosstalk_model cctla. Дескриптор экранного зазора shield_gap задает расстояние от края до края или зазор, допустимый между экранирующей и экранируемой трассами.
+\ <positive_dimension> |—
Указанный зазор имеет приоритет перед существующими значениями зазоров между трассами. Установка значения зазора в -1 снимает правило, после чего зазор определяется по правилам, установленным для сигнальных цепей.
208
Команды автоматической трассировки Дескриптор экранной петли <shield_loop> задает правило, которое проверяет возможность замыкания концов экранирующего провода в процессе экранировки.
ф
К
shieldjoop
При этом опциями являются: Closed, которая означает, что Specctra трассирует экранирующие трассы, замыкая петлю или Open — которая означает, что петля не замыкается. При этом трассировщик обычно добавляет ДСО к каждому экранирующему проводу для их подсоединения к силовым слоям. По умолчанию установлена замкнутая петля. Дескриптор <shield_tie_down_interval> устанавливает расстояние между ответвлением на экране для его подключения к «земле». ф
>{shieldjie_down_intervar)
Н <positive_dimension>\
Значение -1 отменяет эту установку. Дескриптор <shield_width> задает установку ширины экранирующей трассы.
-Н <posltive_dimension>\—
Значение -1 отменяет установку, после чего ширина этой трассы принимает значение экранируемой. Дескриптор <spiral_via> устанавливает правила введения трассировщиком ДСО для установки крепежных винтов (обычно это неметаллизированные сквозные отверстия).
Опция vin_gap устанавливает минимальное горизонтальное расстояние между ДСО одинакового вида на смежных слоях. Используйте дескриптор крепежных ДСО совместно с командой rule чтобы задать правила для ПП, слоя, класса, цепи, группы, набора групп и сегментов. По
2О9
Глава 4 умолчанию такая установка отсутствует (off). Когда правило получает значение on, правило минимального расстояния контролирует дистанцию между последовательными ДСО. Если же min_gap не установлен, то придерживаются правила для самой большой дистанции между ДСО на всех слоях для такого вида. Трассировщик соединяет каждое ДСО в образе в направлении правого угла относительно первичного ДСО, в результате получается образ ДСО и связей в виде квадрата, если смотреть сверху.. Дескриптор стека дополнительного переходного отверстия <stack_via_depth> задает размер глухих и захороненных отверстий. stack_via_depth
\ - ^^ - ^
Это правило применяется только на уровне платы в иерархии правил и работает вместе с правилом задания стека <stack_via>. Например, чтобы вернуть размеры стеков и позволить слою соединиться с тремя слоями, необходимо ввести следующие команды: Rule pcb (stack_via on) Rule pcb (stack_via_depth 3) Дескриптор стека ДСО <stack_via> имеет опцию on, которая подразумевает, что два ДСО могут быть помещены в стек, если терминальные точки двух ДСО являются одинаковыми, что приводит в результате к центрированному стеку.
При опции off рассмотренные ДСО не помещаются в стек. Правило stack_via применяется к ПП и слоям по уровням приоритетов в rule hierarchy. Например, чтобы позволить перекрываться ДСО в проекте, нужно выдать команду: Rule pcb (stack_via on). Дескриптор <staggered_via> устанавливает правило, которое управляет вводом ДСО в виде, приблизительно соответствующем зигзагу.
L-fr^p-fr^JTi ix_gap_)-»(<positive_dimension>|-»iT)
210
Команды автоматической трассировки Трассировщик соединяет каждое ДСО, для реализации заданного образа смещая каждое следующее ДСО на 180 градусов относительно предыдущего, что создает образ из отверстий и связей в виде прямой линии, которая делает петлю после подключения каждого отверстия. Min_gap — устанавливает минимальное горизонтальное расстояние между ДСО одного вида на смежных слоях. Max_gap — устанавливает максимальное горизонтальное расстояние между ДСО одного вида на смежных слоях. Используйте рассматриваемый дескриптор совместно с командой rule для установки правил на уррвне ПП, слоя, цепи, класса, группы, наборов групп и отрезков от — до. По умолчанию применяется правило off. Дескриптор <staired_via> устанавливает правила, которые управляют трассировщиком при вводе ДСО в виде ступенек.
Опции min_gap,, max_gap аналогичны рассмотренным выше. Трассировщик располагает их в одном направлении, чтобы подсоединить каждое отверстие так, что создается образ ДСО, лежащих на одной прямой линии. Дескриптор задает правило расчета шумов между параллельными трассами на смежных слоях.
Опция off отменяет подсчет шумовка опция gap восстанавливает правило подсчета и задает значения gap, weight, threshold для вариантов подсчета параллельно наведенных шумов.
211
Глава 4
•
'
_______
Gap устанавливает зазор для вычислений шумов. Наведенный шум вычисляется для параллельных или тандемных трасс с зазором, который равен или меньше заданному, и трасса является параллельной на дистанции, которая превосходит значение порога (threshold). Если порог не установлен, для этого используется значение зазора. Опция weigth задает удельное значение наведенных шумов, т. е. количество милливольт на линейную единицу длины в системе.. Дескриптор тандемного сегмента (tandem_segment) специфицирует сегментные наводки между цепями на смежных сигнальных слоях.
Для такого сегмента задаются значения зазора и минимальной длины (gap, limit). Если трассы паралелльны на дистанции, превосходящей или равной заданному лимиту, а расстояние между ними равно или меньше заданного зазора, трассировщик перетрассирует эти трассы в течение последовательных проходов. Информация об управлении сегментами и шумами между трассами на одном слое приведена при описании правил parallel_cegment и parallel_nouse. Дескриптор устанавливает дополнение к ширине экранирующих трасс для цепей при их экранировке. ф
^jtandem_shield_overhang)
Н <positive_dimension>\
>^)
>•
Этот дескриптор используется для спецификации дополнений к ширине на каждой стороне экранирующей трассы. Общая ширина экранирующей трассы представляет собой удвоенное значение Tandem_shield_overhang плюс ширина экранируемой трассы. По умолчанию значение такого дескриптора равно ширине экранируемой трассы, что в результате устанавливает ширину экранирующей трассы, в 3 раза превышающую экранируемую. Дескриптор устанавливает правила ввода контрольных точек в процессе трассировки. Insert — опция разрешает добавлять контрольные точки к трассируемой сигнальной цепи (on) или отменять такую функцию (off). Grid — устанавливает единую или различную дискретную сетку для контрольных точек по осям координат. По умолчанию сетка равна сетке, установленной для ДСО.
212
Команды автоматической трассировки
Direction — устанавливает сетку по одной из осей координат. Offset — устанавливает смещение для сеток. Side — задается сторона платы как front для первого слоя, как back для последнего слоя или как both для обеих слоев. По умолчанию — back. Use_via — идентифицирует один или более стеков КП для контрольных точек. Если стек не задан, трассировщик использует самый маленький размер сквозной КП, разрешенный для трассировки.
213
Глава 4 Center_center — задает минимальное расстояние между центрами двух КТ. Если значение этой опции не задано, контроль межцентровых расстояний не производится. Comp_edge_center — задает минимальное расстояние между центром КТ и границей компонента. Если значение этой опции не задано, проверка не производится. Image_outline_clearence — задает минимальный зазор между КТ и границей компонента. Allow_antenna — разрешает вводить антенну (ответвление от трассы типа стрингера) для КТ. Pin_allow — разрешает вводить сквозную КП для КТ. В этом случае можно дополнительно задать список компонентов со сквозными КП для их использования в качестве КТ. Если компонент не задан, будут использованы сквозные КП, удовлетворяющие требованиям дискретной сетки и зазорам. Мах_1еп — ограничивает длину трассы для антенны КТ. Длина измеряется от точки привязки КП до центра ДСО КТ. Правило задания контрольных точек используется для улучшения тестируемости печатной платы посредством введения контрольных точек на трассируемые сигнальные цепи. КТ можно присвоить цепи, классу или всей плате. Контрольная точка может использовать сквозные или пленарные КП. Если произведено изменение правила для КТ, и трассировщик производит после этого дополнительные проходы, производится переопределение всех КТ на основе вновь введенных правил. Например, если КТ введена на первый слой, а затем правило для КТ установило последний слой, Specctra удалит КТ с первого слоя и попытается установить КТ на последний слой после прохода route или clean. Обычно добавление КТ производится после 100% разводки трасс. На этой стадии для КТ используются преимущественно существующие ДСО. Общая методология использования КТ с командой трассировки в файле do приведена ниже: • устанавливают все правила проектирования за исключением КТ; • задают от 25 до 50 проходов; •
устанавливают правила ввода КТ;
/
• задают проход очистки; • задают, при необходимости, дополнительные проходы трассировки; •
задают проходы трассировки.
Например, для добавления КТ во все цепи, используя сетку с шагом 100 мил, введите команду: Unit mil Rule pcb (testpoint (insert on)(grid 100)
214
Команды автоматической трассировки Чтобы добавить КТ для всех цепей, используя сетку 100 мил, которая смещена на 25 мил, введите: Unit mil Rule pcb (testpoint (insert on)(grid 100 (offset 25))) Чтобы добавить КТ на каждую цепь, за исключением цепей sigl, sig2, sig3 с сеткой 100 мил, введите: , Unit mil Rule pcb (testpoint (insert on)(grid 100)) Define (class cl sigl sig2 sig 3)
•
Rule class cl (testpiont (insert off)) Чтобы добавить КТ для цепей sigl sig2 sig3 на нижнем слое на сетке 100 мил, для цепей sig4, sig5 и sig6 на первом слое с сеткой 200 мил, для цепи sig7 с использованием текущей сетки для ДСО и размещением КТ на любой стороне и для цепи sig8 на сетке 75 мил для ДСО со стеком ТР1, введите: Unit mil Rule pcb (testpoint (insert off)) Define (class back sigl sig2 sig3) Rule class back (testpoint (insert on)(side back)(grid 100) Define (class front sig4 sig5 sig6) Rule class front (testpoint (insert on)(side front )(grid 200)) Rule net sig? (testpoint (insert on)(side both)) Rule net sig8 (testpoint (insert on)(grid 75)(use_via TP1)) Команда smart_route не производит ввод КТ, пока трассировка не осуществится на 80% . Вы специфицируете соответствующие установки правил для tesatpoint и затем запускаете smart_route с опцией testpoint. Команда report testpoint генерирует суммарную информацию по контрольным точкам. В отчет входит список цепей, не имеющих правил для КТ и цепей, для которых не удалось найти места для КТ. Так как КТ не предусмотрены для дифференциальных пар, список таких КТ также включается в отчет. С помощью команды select net можно добавить КТ в указанные цепи и проводники. Дескриптор фактора продолжительности времени используется для установки коэффициента преобразования времени для длин трасс. timejengthjactor
215
Глава 4 Этот фактор есть отношение отрезка времени к единице длины и используется как множитель при вычислении действия длины трассы на временные задержки сигналов. Вычисленный коэффициент основан на текущих единицах измерения, таких как мм или дюймы и которые должны совпадать с единицами измерения времени в проекте. Установка правил для временных задержек рассмотрена при описании команды circuit. . i Дескриптор Т-подключения трасс разрешает производить такие подключения в трассировке типа «звезда».
Опции on позволяют, a off запрещают эти действия. Если Т-подключение разрешено, то с помощью дескриптора типа подключения junction_type они могут появляться на сегментах трасс или только на выводах компонентов, на простых КП, на ДСО или на КП, соединенных с силовыми цепями. Дескриптор разрешает формировать переходное отверстие (ПО) под планарной КП.
Соответствующие опции on или off разрешают или запрещают это. Grid — опция, которая вводит ПО в точку привязки КП (off) или в точку дискретной сетки, ближайшую к ней (on). Значение по умолчанию off. Fit — опция предписывает размещение ПО полностью внутри границ планарной КП, при соответствующем разрешении ввода (on). При таком вводе необходимо использовать рассматриваемый дескриптор перед выдачей команды fanout. Например, вместо строки fanout (pin_type signal)(direction out) рекомендуется использовать строки: Rule pcb (via_at_smd on (grid on)(f it on)) . Fanout (pin_type signal)
216
Команды автоматической трассировки Различие между результатами, полученными с использованием стрингеров вне КП и под ними, показано на рисунке ниже:
-•пи. _D 8 8
fanout (pintype signal) (direction out)
via_at_smd on(frt_on) fanout (pintype signal)
DO Дескриптор ширины трассы <width> позволяет задать ширину трассы. I <positive_dimenslon> \
Seed via Эта команда разрывает единую диагональную трассу на две коротких с помощью ввода ДСО.
-force — добавляет переходное отверстие под пленарные КП компонента для ДПП. Команда контролирует максимальную длину проводника для диагональных трасс. Specctra разрывает соединение между двумя КП, если оно длиннее в направлении X и Y, чем специфицированное. По крайней мере, одно сквозное ПО должно быть определено для всех сигнальных слоев перед использованием команды seed via. По умолчанию расстояние равно 1 дюйму. Как правило, рассматриваемая команда используется для больших многослойных плат. Так как число ДСО может при этом существенно возрасти, в зависимости от заданного в команде расстояния, то рекомендуется для таких плат задавать 2 дюйма.
217
Глава 4
Select/unselect Эти команды задают доступные трассировщику связи, ДСО и слои.
Р omplete_wireS)shielding '
Select all length_rule -,
Select all unroutes
•
Select all pins (layer si s2) Unselect all nets Unselect all vias Unselect all layers
Select/unselect all Эти команды применимы ко всем трассируемым объектам, размещаемым объектам или к тем и другим.
Objects — относится ко всем объектам для трассировки и размещения. Placement — относится только к объектам для размещения. Routing — относится только к таким объектам, как все компоненты, КП выводов, висящие проводники и ДСО в составе трасс.
222
Команды автоматической трассировки Примеры команд
.
Select all placement Select all objects
Select/unselect area Эта команда касается выбора или отмены ранее выбранных объектов в определенном месте или зон.
Net — касается объектов, полностью или частично находящихся в определенной зоне. Ими являются все КП выводов компонентов, провода и висящие (недотрассированные) трассы в составе указанной цепи. Wire — трассы полностью или частично в зонах. Poly_wire — электрические полигоны (металлизированные полигоны с «окраской»), полностью или частично в зонах. Guide — гиды (индикаторы связности) в указанных зонах. Гидами являются нерастрассированные соединения типа вывод—вывод. ' Pin — все КП выводов компонентов внутри зоны Component — компоненты в пределах зоны. Specctra индицирует их позиционные обозначения. Туре — определяются присоединенные к компонентам объекты по типам. Ими могут быть провода (wire) или цепи (net). По умолчанию это провода. ' Toggle — эта опция является переключателем, т. е. все ранее выбранные объекты становятся невыбранными и наоборот. Он не затрагивает объекты неопределенного типа.
223
Глава 4 Примеры команд Select area net 1.325 4.350 Select area net 8.855 5.440 11.75 2.63 toggle Select area componenet 8.345 5.550 Select area component 0.600 0.225 1.025 0.600 (type net) Select area pin 2.25 3.50 3.75 4.25 Unselect area wire 8.855 5.440 11.75 2.63 Unselect area guide 3.35 .650 1.375 1.9
Select/unselect f romto Эта команда затрагивает отрезки трасс типа от — до (имея в виду соединение вывод-вывод).
\+j
|—
Degree — касается отрезков, расположенных в специфицированных углах, измеряемых против часовой стрелки, в диапазоне 0—360 градусов. Area — касается отрезков для каждого вывода, расположенного в зоне, заданной двумя противоположными углами. \ Length — касается отрезков, если длина его диагонали не превосходит указанной длины. Cross — касается отрезков, которые пересекают зону, заданную двумя противоположными углами. Примеры команд Select fromto Select fromto (degree 80 100) Select fromto (area 30 65 170 -25)(degree 170 190) Select fromto (length 75 125) Select fromto (cross -100 -72 -20 -72)
224
Команды автоматической трассировки Unselect fromto Unselect fromto (degree 80 100)
Select/unselect pins Эта команда выбирает или отменяет выбор КП выводов компонентов в операциях размещения или трассировки.
All pins — опция касается всех КП выводов компонентов в проекте (по умолчанию) на одном или более указанных слоях. Layer — касается всех КП на выбранных слоях (сигнальных или силовых). Pins — касается одного или более выводов компонентов. Можно также выбрать выводы, к которым подсоединены проводники и висящие проводники. Equivalent — касается специфицированных выводов компонентов и их эквивалентов где-либо в проекте. Выводы компонентов являются эквивалентными, если они выполняют те же логические функции, даже если они имеют одинаковые или различные имена. Примерьт команд Select pins Ul-5 Ul-6 U2-4 U2-5 Select all pins Select equivalent pins U2-8 U6-3 U23-4
Set Эта команда управляет отображением слоев, интервалом обновления статусного файла и некоторыми опциями трассировщика.
При использовании этой команды имеются различные условия, которые можно контролировать. Можно установить, как слои должны отображаться на экране, интервал обновления файла состояния системы, опции для трассировщика, 8 Зак. 27
225
Глава 4 включая туда модель поперечных наводок и опции отчета о наводках. HBKQTOрые из таких установок требуют переключателей, некоторые требуют значений или своих опций. Для установки условий используется значение . Specctra обновляет статусный файл после трассировки каждых 100 соединений. При уменьшении этого интервала время трассировки увеличится. Когда Specctra загружает файл проекта, все слои накладываются, и на экране отображается их композиция. В качестве альтернативы можно предложить: • отображать от 1 до 8 слоев. Если задать больше или ввести значение меньше 1 система войдет в режим умолчания и выведет один слой (режим graphing). • только выбранные для просмотра слои будут выведены на экран. • если выбрано для просмотра более 8 слоев, то дополнительные слои будут наложены на первые 8. • когда выбран многооконный режим и установлены 3, 5 или 7 окон, экран разделяется на 4, 6 или 8 зс™ соответственно, хотя не все окна будут в работе. • ' операция zoom не работает, если число окон задано меньше 1. При выполнении проверок некоторых ограничений для цепей, если возникает чрезвычайная ситуация, Specctra может выставить флаг наличия нарушений в цепи при их фактическом отсутствии. В таком случае рекомендуется для определенности сделать специальный просмотр нарушений. Установка мягкой границы разрешенной для трассировки зоны полезна для разделения аналоговой и цифровой части платы. При установке жесткой и мягкой границы помните, что они не могут сосуществовать. Подробности см. в команде fence. По умолчанию ввод трапециевидной ширины трассы является заботой постпроцессора. Для ввода такой трассы в процессе трассировки, перед использованием команды трассировки сделайте установку set search_tapering on. Дополнительная информация об этом приведена в правиле pin_width_taper. Более подробная информация об анализе плотности приведена в описании команды density analysis. По умолчанию Specctra рассматривает один смежный сигнальный слой для вычислений танДемных шумов и сегментных поперечных наводок. Можно задать опцию tandem_depth для контроля количества рассматриваемых сигнальных слоев, но, как правило, это значение не превышает 2. Более высокие значения глубины для межслойных переходов замедляет трассировку.
Примеры команд Set update_interval 200 Set gather_wires off Set graphing 4 *
226
Команды автоматической трассировки Set nouse_accumulation RSS Set sof t_f ence on . Set same_net_checking on Set force_to_terminal_point on Set routability_colors 15 Set diagonal_mode on Set tandem_depth 2 Set dynamic_zoom off Set min_selection on Рассмотрим значения для условий : Auto_merge_poligon — опция автоматического слияния полигонов при интерактивной трассировке. Эти условия позволяют слияния перекрывающихся полигонов с одинаковыми свойствами в процессе интерактивного их перемещения. Полигоны с электрическими свойствами сливаются только при условии их принадлежности одной и той же цепи и одинаковому слою. Полигоны для запретных зон сливаются, только если они принадлежат к одному типу на одних и тех же слоях и для них установлены единые правила проектирования. Значение условия off означает, что полигоны не должны сливаться (это вариант умолчания), . а значение on — что они могут сливаться при указанных выше условиях, например: set auto_merge_poligon on. Average_pair_lengths — опция определяет способ вычисления средней длины парных цепей при проверке правил проектирования для временных характеристик (длины и задержек). Средняя длина вычисляется посредством сложения индивидуальных длин двух трасс в паре и деления их на 2. Условие on означает проверку средней длины пары цепей при проверке временных нарушений, а условие off — проверку каждой цепи независимо, например: set average_pair_lengths off. Bbv_ctr2ctr — определяет способ измерения зазоров и расстояние между ступеньками для глухих и внутренних переходных отверстий (межслойных переходов). Условие on означает проверку между центрами отверстий, а значение off — между краями, например: set bbv_ctr2ctr on. Правила, влияющие на эти условия, включают правила clearance с опцией type buried_via_gap. Crosstalk_model — с указанием имени модели служит для выбора нужной модели для проверки трассировки и заданных правил. Можно использовать модели: Cctl — которая использует правила для параллельных и тандемных шумов при контроле трассировки и формировании отчета о кумулятивных шумовых нарушениях на растрассированных цепях. 8*
227
Глава 4 Cctla — которая использует те же правила с учетом фактора шумового насыщения (см. правило <saturation_length_descriptor> для детальной информации). По умолчанию используется модель cctl, например: set crosstalk_model cctla. Diagonal_mode — для управления использованием трассировщиком диагонального режима трассировки. При этом возможны варианты: On — означающий, что трассировщик может использовать диагонали при необходимости трассировки типа «память», при формировании массива КП в виде ступенек и около существующих диагональных трасс. Как правило, эта опция не производит большого числа диагональных трасс. Always — означающий, что трассировщик всегда прокладывает трассы с длинными диагоналями, в зависимости от доступного пространства. Эта опция приводит к большому числу диагональных трасс. Off — означающий, что трассировщик никогда не использует диагональные трассы и трассирует только ортогонально. По умолчанию установлен режим on. Пример команды: set diagonal_mode always. Диагональная трассировка в основном протекает медленнее ортогональной. Особенно падает производительность при использовании команды set diagonal_mode always. С этой опцией, вероятно, нельзя получить плотный, жесткий проект. L)ofile_auto_repaint — для задания перерисовки экрана, если команды выдаются из файла DO. Возможны опция on, которая разрешает такую перерисовку (это условие умолчания), и off, которая запрещает, например: set dofile_auto_repaint. Выключение dofile_auto_repaint влияет только на операции из DO-файла. При необходимости выключения этой команды, но желании производить перерисовку экрана после какой-то определенной операции, можно просто включить команду repaint в DO-файл, например: Clean 2 Repaint Dynamic_pinswap — для выполнения перестановки местами КП в составе цепи в процессе операций трассировки, например: set dynamic_pinswap on. Перестановка (свопинг) КП выводов компонентов в цепи может быть полезен в платах с компонентами типа DIE, BGA. После каждого прохода трассировщик просматривает пересекающиеся трассы и пытается исключить такие пересечения посредством свопинга КП цепи и перекладки трасс. Необходимая для свопинга информация должна быть транслирована из пользовательской САПР и включена в определение компонентов в проектный файл Specctra. Трассировщик не сможет свопировать КП в соединении, если был изменен их образ, в соединение добавлены новые выводы компонентов или удалены «окраски» цепей из КП соединения.
228
Команды автоматической трассировки Для детальной информации см. команды change_component_image и define net pin. Соединения из фиксированных выводов не свопируются (см. команду lock). Dynamic_zoom — для операций панорамирования или увеличительного стекла в рабочей зоне. Опция on разрешает эти операции, опция off запрещает динамические операции с экраном, но статические остаются доступными. Условия умолчания зависят от установок в файле Specctra.ini или определяются скоростью работы компьютера. Если с помощью секции [GUI] в этом файле установлено "AllowDynamicZoom=l", начальное состояние есть on. Если "AllowDynamicZoom=0", то off. Edit_abort_uses_undo — позволяет интерактивному трасировщику отменять помещенные в стек памяти трассы или ДСО, когда оператор прерывает редактирование трасс. Опция on позволяет восстановить из стека в их предыдущую позицию после прерывания редактирования и новом запуске редактора, опция off позволяет сохранить данные в стеке после прерывания редактирования. По умолчанию значение off. Пример команды: set_edit_abort_uses_undo on. Force_to_terminal_point — определяет способ подключения трассы к КП. При установке опции on подключение производится к точке позиционирования (базовой) КП, опция off разрешает подключение к любому месту образа КП. Например: set_force_to_terminal_point on. Gather_wires — определяет способ объединения трасс в дифференциальные пары или в жгут с исключением дополнительных изгибов (стягивание параллельных проводников на минимально допустимое расстояние). Опция off разрешает оставлять дополнительные изгибы, опция on — удаляет их (это условие умолчания), например: set gather_wires on. Graphing — разрешает отображать данные на экране в виде окон для различных слоев или в виде композиции слоев. Для первого варианта необходимо указать число слоев для их раздельного просмотра вводом целого положительного числа от 1 до 8, например: set graphing 4. Include_pins_in_crosstalk — позволяет учитывать или не учитывать КП при вычислениях шумов, которые используют правила для параллельных или тандемных шумов, например: set include_pins in_crosstalk on. По умолчанию опция off. Microvia — управляет возможностью использования характеристик Micro Via в строке команды и в графическом пользовательском интерфейсе. Этот набор команд требует специальной лицензии. Этот набор предполагает: • Ввод усовершенствованных стрингеров, для размещения их под прямо противоположными планарами на другой стороне платы, что отмечено в замечаниях к команде fanout. • Установку глухих и внутренних межслойных переходов на различных слоях с одинаковыми координатами и расширенную поддержку контроля заглублений.
229
Глава 4
.
• Позволяет задавать данные для массивов отверстий в файле проекта, который учитывает правила для схем с целью создания таких массивов автоматически в течение трассировки. Дополнительные характеристики позволяют интерактивное редактирование и модификацию массивов КП. См. также команды: Use_via_circuit rule Change via mode Rotate via mode. Min_selection — управляет выбором зоны для вырезания сегментов трасс. Это условие управляет поведением команды select area wire, которая позволяет выбрать удаляемые сегменты трассы. Опциями являются: On — которая ограничивает выбор сегментов до первого встретившегося псевдовывода для разветвления трассы, ДСО, Т-подключения или вывода (КП) в обоих направлениях вдоль трассы. Тем самым запрещается вырезание сегмента, когда он ограничен псевдовыводом. Off — который ограничивает выбор сегментов до первого встретившегося псевдовывода для разветвления трассы, ДСО, Т-подключения или вывода (КП) в обоих направлениях вдоль трассы от выбранной точки. Это условие умолчания и нормального поведения команды select area'wire. Отметим, что псевдовывод разветвления трассы (на два направления) существует в том случае, если сегмент трассы разрезан (режим cut segment) с помощью команды set и опции cut_mode_splits_wires, которая доступна в меню Cut Segment Mode (правая клавиша мышки). Nouse_accomulation — устанавливает методику, вычислений общего уровня наведенных шумов в цепи. Опциями могут быть: Linear — которая означает суммирование шумов на приемной цепи как шумовых добавок от индивидуальной цепи — источнике шумов (агрессора). RSS — которая означает квадратичное суммирование шумов на приемной цепи (квадратный корень из суммы квадратов шумов от агрессора), например: set_accumulation RSS. По умолчанию — линейное суммирование. Nouse_calculation — позволяет контролировать шумовую интерполяцию из указанной пользователем таблицы шумов. Возможны опции: Stairstep — при этом интерполяционные значения вычисляются для фиксированных рядов имеющихся значений (значение по умолчанию). Linear_interpolation — при этом интерполяционные значения вычисляются в точных точках между заданными значениями, например: set_nouse_calculation linear_interpolation.
230
Команды автоматической трассировки Repaint — задает условия для перерисовки экрана. Опция on позволяет все операции перерисовки (по умолчанию), опция off запрещает перерисовки, опция manual разрешает перерисовки, только когда используется команда repaint или выполняются операции визуализации, такие как zoom или pan, например: set repaint manual. Reroup_order_viols — позволяет трассировщику делать попытки перекладки трасс в зависимости от нарушений заданной последовательности трассировки. Такие нарушения правил проектирования могут появляться в процессе трассировки или когда считаны routes file или wire file, которые содержат некорректно проложенные трассы. Можно использовать команду set reroute_order_viols off, если необходимо запретить перекладку цепей. По умолчанию опция on. Rotate_jamper_via — разрешает системе поворачивать несимметричные переключательные КП. Опциями являются on и off (по умолчанию). Поворот на 90 градусов иногда необходим трассировщику. Roundoff_rotation — определяет методику расчета поворота не круглых КП на угол, не кратный 90 градусов. Опция on означает, что трассировщик поворачивает КП и не привязывает ее к ближайшей координате, а опция off при вычислении положения КП после поворота отсекает десятичную часть полученных координат (это условие умолчания). Routability_colors — задает цветовую плотность отображения данных на дисплее. Значение плотности должно лежать исключительно в пределах от 2 до 20. См. также команду density analysis. Пример команды: set routability_colors. Same_net_checking — разрешает системе Specctra проверять нарушение зазоров между объектами одной и той же цепи. Это тот случай, когда сегменты трасс, ДСО или КП расположены слишком близко. Опциями являются on — которая позволяет такие проверки, или off — которая запрещает (значение умолчания). Пример команды: set same_net_checking on. Правила via_via и via_via_same_net проверяются всегда и не затрагиваются указанным выше контролем. Search_tapering — разрешает автоматическое формирование специального способа подключения КП к трассе в виде усеченного конуса в процессе трассировки (опция on) или на этапе постпроцессирования (опция off). Пример команды: set search_tapering on (это значение по умолчанию). Shadow_mode — определяет, как отображаются выбранные цепи и компоненты, т. е. в виде специально выбранного цвета (желтый в цветовой карте по умолчанию) или в виде приглушенных цветов для невыбранных объектов. Опциями являются on для отображения выбранных объектов в выбранном цвете, а остальных объектов в цветах слоя, и off для отображения выбранных объектов в цвете слоя и невыбранных в приглушенных цветах. Условие умолчания — off. Пример команды: set shadow_mode on.
231
Глава 4 Show_snap_grid_cursor — для отображения курсора в позициях ближайшего узла дискретной сетки в интерактивном режиме работы с помощью левой клавиши мышки (опция on) и для курсора без привязки к сетке (опция off). Например: set show_snap_grid_cursor off. Цвет захваченного курсора определяется цветом подсветки, который является по умолчанию белым. Soft_fence — задает мягкий (on) или жесткий (off) барь'ер для трассировки (разрешенную зону). Мягкий барьер позволяет трассировщику: • трассировать все соединения внутри барьера, касаясь границ барьера; • трассировать все связи вне мягкого барьера, не касаясь его границ и не пересекая их; • игнорировать барьеры всеми соединениями, которые пересекают мягкие барьеры. Жесткие барьеры заставляют трассировщик прокладывать только такие соединения, которые полностью находятся внутри барьеров (это значение по умолчанию). Пример команды: set soft_fence on. Stub_viols_costs — определяет штраф за прокладку'стрингера с длиной отвода к ДСО превышающую допустимую по правилу max_stub. По умолчанию опция on, которая допускает ряд нарушений длины отвода, установленного внутри трассировщика. Можно использовать положительное целое для увеличения этого числа, что улучшает условия полной растрассировки. Если же это нежелательно, то используют опцию off. Примеры команд: Set stab_viols_costs 2 Set stub_viols_costs off Отчет о состоянии трассировщика распечатывает число нарушений длин отводов в каждом проходе трассировки. Его можно использовать для анализа. Чтобы увидеть нарушения,'используйте установку setup_check и запустите команду check. Можно также использовать команду highligth для тех же целей. Swap_fanouts — позволяет трассировщику проводить попытки свопинга (взаимозамены) стрингеровских соединений к КП в течение проходов трассировки и очистки. Опция on разрешает свопинг, опция off запрещает свопинг во время проходов трассировки (это условие умолчания). Пример: set swap_fanouts on. Соединения с заблокированными КП не свопируются (см. команду lock). Необходимая упакованная информация по свопингу должна быть транслирована из исходной САПР ПП и включена в определения компонентов в проектный файл Specctra. Трассировщик не может свопировать КП компонентов после изменения их образов, добавления КП новых соединений или удаления из цепи КП. См. команды change component_image и define net pins для дополнительной информации.
232
Команды автоматической трассировки Tandem_depth — позволяет управлять числом смежных сигнальных слоев (глубиной), учитываемых при вычислении тандемных шумов и сегментных наводок. Эти установки определены в правилах tandem_nouse и tandem_segment. Значение по умолчанию равно 1. При значениях меньше или равном 0 принимается 1. Пример условия: set tandem_depth 2. Отметим, что смежные слои, разделенные силовым слоем (экраном земли или питания), не рассматриваются, даже если они попадают в заданный диапазон глубины. Unknown_user_property_warning — дает возможность системе Specctra выдавать (опция on) или не выдавать (опция off) предупреждения, если вы определили пользовательские свойства и присвоили им метки (имена), которые Specctra не распознала. Значение on — условие умолчания. Пример условия: set unknown_user_property_warning off. Update_interval — определяет частоту обновления статусного файла при работе трассировщика. Для этого надо определить число проложенных связей перед обновлением файла (по умолчанию число таких связей 100), например: set update_interval 200. Via_to_layer_pattern — дает возможность использовать на заданном слое залитые (заполненные цветом) образы отверстий при отображении их на экране. Опция on означает заполнение цветом слоя, опция off — заполнение специфицированным для заполнения ДСО цветом в установленной цветовой карте (значение по умолчанию). ' Пример условия: set via_to_layer_pattern on. I
Write_permission (group[read | noread] [write | nowrite])(public[read | noread] [write | nowrite]) — разрешает читать или писать файл при сохранении информации о размещении или трассировки. Опциями являются: Read или noread, которая позволяет или запрещает другим просматривать или загружать файл в систему Specctra. Write или nowrite, которая разрешает или позволяет другим сохранять файл. Рассматриваемая команда недоступна в Windows-версии Specctra.
Set condition overview Вы можете использовать команду set, чтобы установить условия, которые управляют: ' •
автотрассировщиком;
• трассировкой с ДСО; • проверкой установленных правил проектирования;
233 ч
Глава 4
•
• вычислениями шумов и наводок; • интерактивной трассировкой; • характеристиками графического дисплея; • другими свойствами. Эти категории упомянуты здесь только для удобства. Например, некоторые условия автоматической трассировки применимы к ручной и наоборот. Для автотрассировщика можно устанавливать условия: • обновления интервала создания статусного файла; • подключения трассы к базовой точке КП вывода компонента; •
объединения трасс дифференциальных пар или жгутов перед их подключением трасс к КП вывода;
• динамического свопирования КП выводов в цепи для выводов, разрешенных к свопированию; • свопирования стрингеров для выводов, разрешенных к свопированию; • изменения ширины трассы при подключении к выводу для выравнивания ее ширины по отношению к КП вывода, если это предпочтительнее, чем выполнение этой операции на этапе постпроцессирования; • жестких или мягких границ зоны трассировки; • разрешения перетрассировки при нарушениях стратегии трассировки цепей; • установки штрафов при нарушениях длин стрингеров; • установки разрешения диагональной трассировки в различных ситуациях и для вразличных объектов; • разрешения округления при вычислении координат КП. Для трассировки с ДСО можно установить условия: • разрешения поворачивать несимметричные КП для переключателей; • измерения зазоров и расстояний между трассами для глухих и межслойных отверстий. Для правил проектирования можно установить условия: • необходимости контроля зазоров между элементами одной и той же цепи; • необходимости контроля средней длины дифференциальных пар. Для вычисления шумов и перекрестных наводок: •
вид модели, используемой для отчета о перекрестных наводках;
• метод вычисления общих шумов, аккумулированных на приемной цепи; • метод вычисления шумов (метод интерполяции);
234
Команды автоматической трассировки • необходимость учитывать образ КП вывода при вычислении параллельных или тандемных шумов; • учет смежных сигнальных слоев при вычислении тандемных шумов и перекрестных наводок. Для интерактивной трассировки: • критерии выбора для разрезания сегментов трассы; • разрешение интерактивному трассировщику автоматически объединять полигоны в режиме сдвига; • разрешение интерактивному трассировщику отображать курсор в режиме привязки к сетке в режимах редактирования и рисования; • разрешение интерактивному трассировщику отменять проталкивание трассы (между соседними, ранее проложенными) в режиме редактирования трасс. Для характеристик графического отображения: • как отображать слои; . • сколько цветовых градаций можно использовать при анализе цветовой плотности на экране; • доступность динамического панорамирования и увеличения на экране; • доступность режима теней для отображения выбранных объектов;
,
• доступность отображения заполнения образа КП в сравнении с заполнением слоя; • разрешения или запрещения перерисовки всех рабочих областей или только после явных операций визуализации (таких Как панорама, увеличение или перерисовка); • разрешения выполнять автоматическую перерисовку экрана после операций, выполненных по командам Do-файла. Другие условия: •
разрешить системе выдавать предупреждения о выданных пользовательских свойствах, если они не распознаются;
• какие разрешения установлены для файлов, сохраняемых после работы Spectra (только для операционной системы UNIX); • имеются ли лицензии для Micro Via, доступные в командной строке или в меню.
Setexpr Эта команда вычисляет выражение и запоминает результат в переменной.
\
>ф
Н
<expression>
[—>ф—>
235
Глава 4 Любые созданные переменные можно использовать в последовательности setexрг выражений и в командах evaluate, if и while. Возможно переопределение переменных посредством того же имени в команде setexpr. Только созданные пользователям переменные могут быть изменены с помощью этой команды. Системные переменные изменяются только автотрассировщиком. Примеры команд Setexpr count (о) Setexpr count (count+1)
Set_f ocus Эта команда управляет командными функциями, присвоенными единичным символам на клавиатуре (ключам).
Опциями являются: Window — выполняет присвоенные ключам команды при перемещении указателя в рабочей зоне и нажатии ключа. Command — выполняет присвоенные ключам команды при перемещении указателя в зоне ввода команд и нажатии ключа. Toggle — переключает действие ключа между рабочей и командной зонами. Для отображения списка текущих определений ключей можно использовать команду defkey или диалоговый бокс определения команд в графическом интерфейсе Specctra. Для переключения зоны действия ключа можно использовать клавишу табуляции. Примеры команд Set_f ocus window Set_focus command Set_f ocus toggle
236
Команды автоматической трассировки
Setup_cheek Эта команда задает опции контроля для сессии трассировки.
getup_check)-r->^T)
H
Типами контроля, которые можно задать с помощью команд setup_check и check, являются: Тип
Значения по умолчанию
Length
on on
Limlt_way
off
Max_vias
off
Miter
off
Order
off
Pin
off
Polygon_wire
off
Protected
off
Same_net_check
off
Stagger
off
Stub
off
Use_layer
.off ,
Use_via
off
Xtalk (crosstalk)
on
Conflict
По.умолчанию программа контроля трассировщика выявляет конфликты и нарушения правил поперечных наводок и длин. После установки значений опций необходимо установить команду cheqk для организации проверок этих правил. Установленные значения опций будут сохранены в течение сессии и переустановлены по умолчанию в начале каждой новой сессии. Заметим, что команда check позволяет переустановить эти опции без setup_check. Примеры команд Setup_check (miter on)(polygon_wire off) Setup_check (use_layer on)(use_via on)(limit_way on)(same_net_check on)
237
Глава 4 Типы контроля: Conflict — нарушения зазоров. Length — нарушения заданных правил длин. Limit_way — нарушения длин трасс. *
*
Max_vias — нарушения максимума отверстий для цепей, трупп, классов, отрезков (от — до). Miter — нарушения углов трасс. Order — нарушения последовательности трассировки цепей. Pin — нарушения зазоров между КП и другими объектами. Polygon_wire — нарушения зазоров между полигоном с именем цепи и другими объектами. Protected — нарушения зазоров между защищенными трассами или ДСО и другими объектами. Same_net_sheck — нарушения зазоров между объектами одной и той же цепи. Stagger — нарушения правила для максимально допустимого разброса длин трасс на смешанных слоях. Stub — нарушения максимальной длины «пня» (отвода от КП для стрингера). Use_layer — нарушения правил использования слоя. Use_via — нарушения правил использования ДСО. Xtalk — нарушения правил для наводок.
Sh Эта команда запускает команды системного уровня внутри пользовательского графического интерфейса системы Specctra (GUI). •&\ <sheff_command> \-\
J^G i_command>\
Команда позволяет использовать командную оболочку в DOS или UNIX и исполняемые файлы WINDOWS посредством их ввода в область ввода команд в Specctra. Для ввода набора командных оболочек их необходимо разделить символом (;). Если заключить командные оболочки в скобки, то можно вводить команды Specctra в ту же строку. Если команда запускает другое приложение, необходимо закрыть прикладное окно, перед тем как запустить систему Specctra. Если отдельное окно не открыто, результаты команды будут переданы в окно вывода.
238
Команды автоматической трассировки В системе Windows NT команда shell является командой, которую можно ввести в ответ на приглашение. с. ' "•'• • ' . • • • • " ' • ' • Примеры команд Sh calc Sh ls-|4.w Sh more monitor.sts
Sh ps -aux Sh date > routing.note ; vi routing.note Sh uncompress revb.wir.Z (sh telnet); route 5; clean 2
Shield Эта команда автоматически прокладывает экран вокруг неэкранированной'трассы, указанной в правилах проектирования.
Эта команда особенно полезна, если необходимо экранировать трассы, имеющие Т-подключение. Перед использованием этой команды необходимо убедиться, что около экранируемой трассы имеется достаточно места для прокладки экранируемых трасс. Это можно сделать, увеличивая зазоры для таких цепей перед их трассировкой. После прокладки таких трасс с увеличенными зазорами необходимо восстановить предварительные зазоры для этих цепей и ввести команду shield для трассировки экранов. Команда заставляет трассировщик прокладывать экранирующие трассы для всех цепей, имеющих право на экраны, но не имеющих их. Команда shield не выполняет контроль зазоров. Поэтому нужно сразу перед трассировкой экранируемых в дальнейшем соединений задать увеличенные зазоры. Пример команды В примере прокладываются экраны для четырех цепей, которые после трассировки имеют Т-подключения. Для того чтобы убедиться в адекватных зазорах для экранирующих трасс, необходимо их увеличить перед трассировкой. Затем запускают трассировку. Так как 4 цепи имеют Т-подключения, экраны не трассируются, даже при наличии соответствующих установок для них. Наконец цепи выбираются снова, их зазоры восстанавливаются и запускается команда экранировки.
239
Глава 4 Select net netl net2 net3 net4 Rule selected (clearance 10) Unselect on Route 25 Select netl net2 netS net4 Rule selected (clearance 5) Shield
Show_component_labels Эта команда определяет тип идентификаторов компонентов для просмотра. ^show_component_labels) —
]
l-K(>->£
rnf Hn/
•£ imagejd 3 — — >•( logical_part_id ) — — ^•^physical_part_id) — — >•£ compjpinjd ) — — ^£ pinjd ) — 1
— ^-£ virtual_pin_id ) — '
Type — опция типа имеет значения: Ref_des — для отображения позиционных обозначений. Cluster_id — для индикации имен кластеров для каждого компонента. Image_id — индицирует имя корпуса (образа). Logical_part_id — индицирует имя логической секции для компонентов, занесенных в файл проекта как дескриптор .логической части . Phisical_part_id — индицирует имя физической секции для компонентов, занесенных в файл проекта как дескриптор физической части . Comp_pin_id — отображает позиционное обозначение и имя вывода. \ Pin_id — отображает только имена выводов. Virtual_pin_id — отображает виртуальные имена выводов. \
24О
Команды автоматической трассировки •
Side — разрешает применение текущих операций только на первом слое (front), последнем (back) или на обоих (both).
Команда vset позволяет отображать или не отображать метки. Метки компонентов по умолчанию невидимы. Команда show component_labels автоматического обновления экрана не производит. Для этого следует ввести команду repaint. •
,
.'
Примеры команд Vset component_labels on Show component_labels (type ref_des)
"
Repaint Show component_labels (type image_des) Repaint Show component_labels (type comp_pin_id) (side back) Repaint Show component_labels (type phisical_part_id) (side front) Repaint
Show unroutes Эта команда разрешает отображение индикаторов связности или гидов (иногда их называют не разведенным соединением). {show unroutes}-i—>/
all .'placed last front , back
Jbetween selected. highlighted
у
All — все неразведенные связи. Placed — отображает те гиды, которые идентифицируют неразведенные соединения к компонентам внутри границы размещения. 9 Зак. 27
241
Глава 4 Last — отображает гиды, которые идентифицируют неразведенные соединения к последним автоматически размещенным компонентам. Front — отображает только те гиды, которые отображают связи компонентов на первом слое платы. Back — то же для последнего слоя платы. Between — отображает гиды связей между выводами на первом и последнем слое платы. Selected — отображает только выбранные гиды или гиды связей для выбранных компонентов, проводов, цепей или выводов. . \ Highlighted — отображает только те гиды, которые являются в этот момент подсвеченными. Гиды могут скрывать другие объекты в насыщенных проектах. Эта команда позволяет делать выбор нужных объектов и уменьшить сложность отображаемой картины. В начале сессии Specctra отображаются все гиды.* Примеры команд Vset unroutes on Show unroutes placed Repaint Show unroutes highlight repaint Show unroutes front Repaint Show unroutes selected repaint
Skill_cmd Эта команда позволяет выдать команду SKILL из области ввода команд Specctra без специального перехода в режим SKILL (см. skill_mode).
Примеры команд Skill_cmd (print("total componenets=% d\n" totalcomp)) Skill_cmd(load("~design_macros/sum_comps.il")) См. также skill_mode, cct_mode
242
Команды автоматической трассировки
SkiU_mode Эта команда устанавливает область ввода команд Specctra для приема команд языка программирования SKILL (режим SKILL). Предварительно необходимо выдать команду cct_mode. После ввода рассматриваемой команды появляется возможность печатать команды SKILL в области ввода команд. Возможно также использование SKILLкоманды load запуска файла со SKILL-командами. !.
Примеры команд Skill_mode Prinft("total components=%d\n" totalcomp) Cct_mode Skill_mode Load"-design_macros/sum_comps.il" Cct_mode Skill_mode For(I 0 5{cct_cmd("z out")}) Get mode
System variables Ниже перечислены доступные системные переменные: Имя переменной
Тип
Описание
Bottom_layer_sel
Целое
1, если выбран слой bottom, иначе О
Complete_wire
Количество
Процент полноты трассировки в %
Conflict_clearance
Целое
Количество нарушений зазоров
Conflict_crossing
Целое
Количество конфликтов пересечений
Conflict_wire
Целое
Кол-во конфликтов зазоров и пересечений
Conflict_xtalk
Целое
Кол-во нарушений по наводкам
Connections
Целое
Кол-во связей слоя трассировки
Locked_comp
Целое
Кол-во фиксированных компонентов
Partial_selection
Целое
Значение равно 0; если выбраны все цепи или ни одной, равно 1, если выбрана одна или больше цепей, но меньше, чем все
Placedcomp
Целое
Кол-во размещенных компонентов
9*
243
Глава 4 Power_layers
Целое
Кол-во силовых слоев
Reduction_ratio
Целое
Коэф. уменьшения конфликтов относительно последнего прохода трассировки
Reroute_wire
Целое
Количество переложенных трасс и сегментов трасс в текущем проходе
Rou'te_pass
Целое
Текущий или последний проход трассировки
Sel_comps_list
Строка
Имена выбранных компонентов
Sel_nets_list
Строка
Имена всех выбранных цепей
Sel_signal_layers
Целое
Кол-во выбранных сигнальных слоев
Selectedcomp
Целое
Кол-во выбранных компонентов
Selectednet
Целое
Кол-во выбранных цепей
Signal_layers
Целое
Кол-во сигнальных слоев
Smd_pins
Целое
Кол-во пленарных выводов
Thru_pins
Целое
Кол-во сквозных выводов
Top_layer_sel
Целое
1, если выбран первый слой, иначе 0 Кол-во проходов для текущей команды
Total_pass
. Строка
Total_pins
Целое
Общее число выводов
Total_vias
Целое
Общее число ДСО
Totalcomp
Целое
Общее число компонентов на плате
Unconnect_wire
Строка
Неподключенные соединения
Units
Строка
Пользовательская единица измерения
Unplaced_comp
Целое
Число неразмещенных компонентов вне границ размещения
Unplaced_large
Целое
Кол-во больших компонентов вне границ размещения
Unplaced_small
Целое
Кол-во маленьких компонентов вне границ размещения
Smart_route Эта команда трассирует плату на основе хорошей сходимости процесса Min_via_grid — устанавливает минимальные значения дискретной сетки по осям координат для ДСО. При этом, возможно специфицировать значение только по одной из осей (direction), или одинаковое по обеим осям (offset). Min_wire_grid — дискретная сетка для трасс. 244
Команды автоматической трассировки
->^auto_farioul_smd_share)—
offset
y+\<positive_dimension>\
Direction — устанавливает сетку по одной из осей координат. Auto_fanout — разрешает трассировщику предварительную' трассировку стрингеров. Auto_fanout_via_share — контролирует использование при трассировке стрингеров одной и той же цепи одного общего переходного отверстия для двух или более пленарных выводов компонента. Опция on разрешает этот вариант, опция off разрешает использовать для каждого планарного вывода уникальное переходное отверстие.
245
Глава 4 Auto_fanout_pin_share — контролирует подключение планарного вывода компонента к переходному отверстию, когда формируются стрингеры. Опциями являются: on —т которая означает, что планарная КП может быть подключена к сквозному переходному отверстию, если стоимость этого ниже, чем стоимость использования ДСО (это условие умолчания), или off — которая означает, что пленарный вывод компонента подключается безусловно. Auto_fanout_smd_share — контролирует прокладку трасс между ближайшими пленарными КП одной цепи так, что они совместно используют отводящую трассу и вывод или переходное отверстие при формировании стрингеров. Опциями являются: on — которая означает, что соединения межДу пленарными выводами прокладываются так, что они совместно используют один и тот же отвод от вывода, если эта стоимость ниже, чем стоимость формирования отдельного стрингера для каждого планарного вывода, или off — котораяЪзначает, что каждый пленарный вывод компонента получает стрингер (это условие умолчания). Auto_miter — контролирует выполнение трассировщиком операций сглаживания топологии трасс после окончания проходов трассировки, формирования контрольных точек и очистки. При не 100-процентной трассировке сглаживание не выполняется. Опциями являются: on — которая включает сглаживание, т. е. трассировщик заменяет углы изгибе тресс с 90 на 135 градусов, или off — которая выключает сглаживение, т. е. трассировщик не изменяет углы изгибов трасс {это условие умолчания). Auto_testpoint — контролирует выполнение трассировщиком ввода дополнительных контрольных точек (КТ). Опциями являются: On — включает ввод КТ, т. е. трассировщик добавляет КТ для проложенных трасс сигнальных цепей с использовением установок side и grid. Off — отключает ввод КТ, т. е. трассировщик не добавляет КТ (это условие умолчания). Установка side определяет, на кеком слое должны быть сформировены КТ — не первом, последнем или не обоих (front, back, both). КТ, установленные на слое контроля, представляют собой контрольные ДСО, не перекрываемые корпусом компонента. Значение по умолчанию — back. Установке grid устенавливает дискретные сетки, одинаковые по осям координат или разные, а также смещенные относительно нуля координат платы. Опция direction зедеет сетку по осям X или Y, опция offset зедеет смещение, при отсутствии опций шаг сетки одинаков по обеим осям. По умолчанию для КТ используется текущая сетка. Сетка для КТ определяется в зависимости от шага пробника, применяемого для контроля платы тестера. С помощью коменды «умной» трассировки (smart_route) можно трессировать только выбранные цепи командой select. Умная трассировке евтометически создает файл трасс с именем по умолчанию bestsave.w.
246
Команды автоматической трассировки Примеры команд Smart_route Smart_route (min_via_grid l)(min_wire_grid 1) Smart_route (min_via_grid 5(direction x)) (min_wire_grid l(offset 5)) Smart_route (auto_fanout off) Smart_route (auto_miter on) Smart_route (autp_testpoint on(side back)(grid 25))
Sort
\
Эта команда контролирует последовательность прокладки трасс для соединений при трассировке.
Smart — опция сортирует непроложенные отрезки трасс (от — до) по приоритетной схеме, установленной из ведущей САПР ПП. Random — опция сортирует непроложенные сегменты в случайном порядке. Length — опция сортирует непроложенные сегменты в соответствии с их манхэттенскими длинами (Dx+Dy). Порядок сортировки может быть от коротких к длинным (up) или от длинных к коротким (down). Условие умолчания — от коротких к длинным. Area — опция сортирует не проложенные сегменты по размеру области, занимаемой сегментами. Порядок сортировки может быть от маленькой к большой (up — это условие умолчания) или от большой к маленькой (down). Specctra производит сортировку непроложенных сегментов для каждого прохода трассировки. Если метод сортировки не задан, то будет использован метод, использованный в smart-трассировке. Когда на плате просматривается большое количество длинных диагональных сегментов, можно заставить трассировщик проложить их первыми, используя сортировку по длинам с опцией down перед запуском любой команды route. » Примеры команд Sort length down Sort area up
247
Глава 4
Spread Эта команда пытается увеличить расстояние между трассами и между трассами и выводами компонентов.
Extra — добавляет максимально возможный зазор между объектами. Для этого необходимо задать начальный самый большой зазор . Как вариант можно задать и последний минимальный зазор , при этом функция раздвижки будет работать в цикле. Туре — опция задает тип отношения объект-объект, который применяется к зазору. К ним относятся: wire_pin — т. е. трассы и сквозные КП выводов, wire_wire — т. е. смежные трассы, wire_smd — т. е. трассы и пленарные КП выводов. Keep_notch — опция задает для зазора U-образный тип зарубки, за которой следует значение ее величины, по умолчанию это значение равно зазору менсду трассами. Рассмотренную команду рекомендуется использовать после окончания всех проходов трассировки и очистки и перед использованием команд сглаживания и изменения углов (miter и recorner). Отметим, что команда раздвижки не подчиняется правилам FST (проектирования высокочастотных цепей). Примеры команд Spread Spread (extra 3 (type wire_wire wire_pin)) Spread (extra .1) Spread (extra 40 5) Spread (extra 5 (type wire_wire))(extra 6(type wire_smd)) (extra 8 2(type wire_pin)) Spread (keep_notch 12)
248
Команды автоматической трассировки
Status_file Эта команда переадресует информационный статусный файл трассировки из файла по умолчанию monitor.sts в другой специфицированный файл.
В процессе операций трассировки Specctra автоматически запоминает статусную информацию в файле monitor.sts в той же директории, что и проектный файл. Рассматриваемая команда позволяет переадресовать данные для этого файла в другой файл и директорию. Такая переадресация возможна также с помощью переключателя -s в момент запуска Specctra.
Пример команды
Status_file grid 1. sts
Stop Эта команда задает паузу в операциях трассировки и размещения.
Эта команда после задания паузы переводит систему в режим ожидания. Например, после начала прохода трассировки можно напечатать stop для остановки прохода и возврата в режим ожидания команд. Это аналогично выдаче команды Pause, затем Stop с помощью мышки и графического интерфейса GUI. Когда команда размещения или трассировки выдаются из файла DO, можно ввести Stop и все последующие команды DO-файла будут игнорированы. Команда останова может быть выдана в таких операциях трассировки как clean, critic, fanout, filter, miter, route, smart_route, spread, а также в таких операциях размещения как autodiscrete, autorotate, form_claster, initplace, interchange, swap.
Tax Эта команда задает фактор стоимостей (штрафов) для трассировщика. Way — цена прокладки трассы в запрещенном направлении. Cross — цена конфликта пересечений. Via — цена использования ДСО.
г
Off_grid — цена размещения входных или выходных КП вне сетки.
249
Глава 4 Off_center — цена размещения входных или выходных КП не по центру. Side_exit — цена подключения выходной КП на длинной стороне. Squeese — цена нарушения зазора трасса—ДСО. Layer — цена использования указанного слоя для прокладки трасс.
По умолчанию фактор стоимости равен 1. Установленное значение фактора умножается на 1, причем переустановка возможна в любое время. Опции squesee и layer оказывают влияние на число конфликтов и число неразведенных трасс. Если они установлены менее 1, трассировщик создает больше конфликтов и меньше неразведенных соединений. Соответственно, если эти параметры больше 1, трассировщик порождает меньше конфликтов и потенциально больше неразведенных соединений. Значение фактора не должно превосходить 11. Примеры команд
Tax cross .9 Tax via .8 Tax layer SI 1.1
Testpoint Эта команда контролирует ввод контрольных точек. Grid — опция определяет дискретную сетку по одной из оси, по обеим осям или со смещением. Direction — указывается направление сетки по осям координат Offset — смещение сетки относительно начала координат платы
25О
Команды автоматической трассировки
_oulline_clearance)-^|<pos/f)Ve_c//mensi'ofi>
Side — сторона платы для контрольных точек — первая, последняя и обе (front, back, both). По умолчанию — последняя. Use_via — идентифицирует один или более стеков КП в качестве КТ. Center_center — контролирует минимальное расстояние между центрами двух КТ. Comp_edge_center — контролирует минимальное расстояние между центром КТ и границей компонента. Image_outline_clearance — контролирует минимальное расстояние между границей КТ и границей, компонента Allow_antenna — контролирует разрешение антенны (отвода) при вводе КТ.
251
Глава 4 Pin_allow — управляет разрешением использования сквозных отверстий в качестве КТ. Когда есть разрешение, можно использовать имя компонента для идентификации списка компонентов со сквозными КП для использования их в качестве КТ. При отсутствии такого списка используются все сквозные КП, удовлетворяющие требованиям сетки и зазоров. Мах_1еп — ограничивает длину трассы для антенны КТ. Эта длина измеряется от точки привязки КП до центра КТ. Use_rule — указывает на использование при вводе КТ установленных правил проектирования на уровне РСВ (платы в целом). Команда ввода КТ должна использоваться после окончания всех трассировок, но перед очисткой, раздвижкой и сглаживанием. В этой стадии преимущества получают ДСО. ,. Общий метод для достижения хорошей тестируемости — формирование стрингеров для планарных КП, а затем защита соединений между КП и ДСО, что гарантирует доступность для тестирования всех планарных выводов компонентов. Такой метод можно использовать при трассировке многослойных ПП, но он может оказаться расточительным в сравнении с методом формирования КТ. Рассмотрим следующие факторы: • Для этих стрингеров может потребоваться-много дополнительных ДСО, которые с другой стороны могут подсоединяться непосредственно к планарам. • Если ДСО являются защищенными, то уменьшение их числа на этапах перетрассировки также является проблемой. • Возможность трассировать на слоях установки компонентов всегда ограничена ранее проложенными и защищенными трассами. • В цепи из пяти выводов появляются 5 защищенных ДСО, в то время как только одна КТ требуется для КТ. Примечание автора: В практике разработки отечественных печатных плат значительное внимание уделяется такому понятию, как ремонтопригодность платы, которое подразумевает возможность физического отсоединения вывода компонента от цепи, которой он ранее принадлежал. Обычно это выполняется подрезкой стрингеров и прокладкой навесных проводников для реализации новых топологий соединений. С этой точки зрения применение КТ не находит широкого применения как антитезис формирования стрингеров для каждого вывода компонента. Примеры команд Testpoints Testpoints (side both) Testpomt (grid o.lOO)(use_via Vl_9 V9)(pin_allow on)
252
Команды автоматической трассировки Testpoint (center_center 0.100) Testpoint (image_outline_clearance 0.050) Если вы хотите установить КТ на разных сторонах платы, необходимо использовать раздельные команды testpoint, например: Testpoint (side front)(use_via Vl-6 Vl-1) Testpoint (side back)(use_via Vl-6 V6-6)
Unit Эта команда устанавливает рабочие единицы намерения.
Эти единицы можно установить в любое время сессии автотрассировки. Ввод команд, вывод файлов отчета и вывод на дисплей производится в этих единицах измерения. Ими могут быть сантиметр, дюйм, мил (тысячная дюйма), миллиметр, микрон (cm, inch, mil, mm, um). Пример Unit mil
команды
' ' •. •'.
Unmiter Эта команда удаляет 135-градусные повороты трасс.
Если эту команду необходимо1 применить к определенному слою, то можно указать опцию layer и его идентификатор. Вместе с тем эта команда не удаляет закругленные углы трасс.
253
Глава 4
.
'
Примеры команд
Unmiter Unmiter layer LI
View Эта команда управляет отображением слоев в рабочей зоне системы Specctra. <signaljayerjd> <sistem_layer>':
Идентификатор <signal_layer> задает имя сигнального слоя. Идентификатор <system_layer> задает имя системного слоя в системе Specctra. Каждый системный слой обеспечивает визуальные характеристики, такие как гиды (индикаторы связности цепей) или метки компонентов. В единственной команде view можно указать одно или более ключевых слов, разделенных пробелами. После использования одной или нескольких команд включения или отключения визуализации сигнальных или системных слоев, экран автоматически обновляется. Ниже приведен список системных слоев, которые можно использовать для просмотра трассировки и размещения: Component_labels, error, grid, keepout, origin, pin, power > power_pins, region, site, unroute, via, via_grid, wire. При желании отобразить с помощью этой команды метки компонентов или гиды для трассировки (не трассировки) можно использовать команду show для управления отображением типа метки или гида. При этом возможно: •
Использовать команду show_component_labels для отображения имен компонентов (позиционных обозначений), идентификаторов выводов, имен кластеров компонентов, имен образов (корпусов компонентов), метки логических или физических частей компонентов или метки виртуальных'выводов.
• Использовать команду show unroutes для отображения гидов для неразведенных соединений, гидов для сигнальных цепей, соединенных с размещенными или выбранными компонентами или гидов для неразведенных силовых цепей. Приведем дополнительные ключевые слова этапа размещения, которые представляют системные слои для отображения: Place_error Place_back
254
Команды автоматической трассировки Place_front Place_grid С помощью использования ключевых слов density, histogram, force_vector с командой view можно управлять этими характеристиками так же, как с помощью .меню авторазмещения (Autoplace menu). См. также view grid, vset. Примеры команд View L2 L3 off ViewL2L3on View via on Команда show имеет следующие опции: Component_labels — отображает или подавляет отображение меток, которые идентифицируют компоненты, выводы, виртуальные выводы, образы к'орпусов, логические части компонентов, физические части компонентов, кластеры компонентов, в зависимости от типа, выбранного в команде show_component_labels. Error — отображает или подавляет отображение нарушений правил трассировки и символов нарушений для всех видимых сигнальных слоев. Grid — отображает или подавляет отображение дискретной сетки, если она задана. Возможно использовать команду view grid для представления сетки в виде точек или линий. Keepout — отображает или подавляет отображение запретных зон на всех сигнальных слоях. Origin — отображает или нет базовые точки компонентов (когда видимы контуры компонентов) на всех видимых сигнальных слоях. . i Pin — отображает или нет выводы компонентов на всех видимых сигнальных слоях. Power — отображает или нет гиды (линии полетов), которые показывают неразведенные связи силовых цепей. Power_pins — отображает или нет метки питания (Р) или земли (G) на силовых выводах при видимых контурах компонентов. Region — отображает или нет границы регионов на всех видимых сигнальных слоях. • Site — отображает или нет расположение выбранных корпусов компонентов. Unroute — отображает или нет гиды, показывающие неразведенные соединения вывод—вывод.
255
Глава 4
•
Via — отображает или нет ДСО на всех видимых сигнальных слоях. Via_grid ;— отображает или нет сетку ДСО, если она задана. Wire — отображает или нет проложенные трассы на всех видимых сигнальных слоях.
View grid Эта команда отображает способ визуализации сетки для трасс и размещения.
Имеется 2 варианта — линия (lines — по умолчанию) или точки (dots), например: view dots
Vset Эта команда в значительной мере идентична команде view. vset
<signal_layer_id> V<sistem_layei>
While Эта команда вычисляет выражение <expression> для вычисления команд внутри цикла.
Вычисление выражения повторяется, пока результат не будет равен 0. Необходимо обеспечить при этом обязательное окончание цикла. Примеры команд Route 25 Setexpr count(5) While (count > 0 && conflict_wire >10)
256
Команды автоматической трассировки (route 10 16 clean 2 setexpr count (count -1) clean 2 write wires wires.w
Wildcard Эта команда определяет альтерйативные символы для замены символа звездочки (*) для использования в качестве команды после подстановки нужного символа.
Эта команда используется, когда звездочка появляется в проектном файле как часть имени файла, таких как имя цепи, идентификатор компонента, имя образа, имя файла или имя стека контактных площадок. . Необходимо заменить тем символом, какой вы хотите использовать вместо звездочки. Если при этом указать символ, какой уже используется в проекте, выпадающий диалоговый бокс отобразит предупреждающее сообщение и список символов, которые можно использовать. Применение буквенных или цифровых символов исключается, поскольку они обычно используются в проекте. Кроме того, нельзя ставить скобки и нельзя использовать символ кавычек, определенный командой string_quote в проекте. Символ по умолчанию — это апостроф (•).
Примеры команд Wildcard $ Wildcard %
Wirebond Эта команда размещает КП и трассы для связи каждой контактной площадки с выводами интегральных микросхем, установленных на плате.
<padstack_id> \
H <max_length> H->^T)
>"
257
Глава 4
•
Bond — размещает КП для подключения отдельной трассы для каждого вывода микросхемы. При этом необходимо: • Идентифицировать имя стека КП специального вида (обычно это планарная контактная площадка прямоугольного вида). • Указать максимальное расстояние между выводом микросхемы и размещением этих КП <max_length>. Максимальная длина должна выражаться положительным вещественным числом. В течение этой операции специального вида, Specctra автоматически размещает КП, основываясь на выбранном стеке КП (описании КП на слое) и специфицированной максимальной длине связи в виде прямолинейного отрезка трассы. После этого производится прокладка всех межсоединений, указанных в таблице цепей. Примеры команд Wirebond U4 (bond Р70 100 Р55 150) Wirebond Ul (bond site 3.175 site 4.175 site 5.275 site 6.275)
Write Yoa eii aiaa ni66afyao aafifla oaeouaai Y6iae6a a aeaa oaemTaiai баёёа. Session — опция создает текстовый файл, который содержит имя файла проекта, историю предварительных сессионных файлов, данные по размещению компонентов, послойные данные и трассы. Возможно: • Использовать опцию comment для добавления информации в файл сессии в конце секции истории. • Использовать опцию include для добавления информации о размещении, даже если изменения.размещения компонентов не производилось. Routes — создается текстовый файл, который содержит данные о всех проложенных трассах и ДСО плюс дополнительные данные для трансляции данных трассировки обратно в САПР пользователя. С помощью опции include можно добавить информацию о гидах и КТ в;файл трассировки. Эта же опция позволяет перенести в текстовый файл информацию о виртуальных КП. Опция type служит для включения защищенных, незащищенных и выбранных трасс для сохранения составных коллинеарных трасс как единственной спрямленной трассы. Имя файла по умолчанию design.rte. Wire — опция в основном аналогична предыдущей (без данных для обратной трансляции в САПР), по умолчанию имя файла design.w. Include — опция служит для включения информации о гидах и КТ в файл трасс и проводов. Дополнительный дескриптор guides позволяет добавить гиды, поэтому пользовательская САПР может определить топологию не разведенных в Specctra соединений. Дескриптор testpoint добавляет секцию КТ в конце файла.
258
Команды автоматической трассировки
Exclude — служит для дополнительной информации о виртуальных КП. Туре — служит для дополнительной информации о защищенных, незащищенных и выбранных проводах. . , 1
Network — создает текстовый файл, который содержит сеть линий связи, использованных в проектном файле, имя этого файла по умолчанию design.net. Padstacks — создает текстовый файл с описанием использованных КП, имя этого файла по умолчанию design.pad. Conflict — создает текстовый файл с описанием конфликтов пересечений и зазоров. Имя этого файла по умолчанию design.cnf. Corner — создает текстовый файл, содержащий список всех углов и дуг в массиве трасс. Имя такого файла по умолчанию design.crn. Файл сессии не содержит какие-либо определения или правила проектирования, установленные или измененные в течение сессии. Для получения таких данных необходимо создать файл did, отредактировать его и запустить его как файл DO при повторном прогоне сессии.
259 /
Глава 4 Примеры команд Writes wires final.w Write routes (include testpoint) Write routes (type protect) Write session (comment new bypass caps added) Write session (permission (group read write)(public read nowrite)) Опция
Session file Когда достигнуты удовлетворительные результаты размещения и трассировки, целесообразно сохранить информацию о сессионном файле перед выходом из системы Specctra. Эти данные могут быть использованы для повторного запуска сессии в более позднее время, а также для трансляции данных в САПР пользователя. Файл сессии содержит файл проектирования, список предшествующих файлов сессий, список других созданных файлов в течение сессии и текущий статус. Для данных размещения список свопингов отображает список цепей с новыми данными о соединениях, если эта операция выполнялась. Поэтажная информация содержит список определений кластеров и комнат. При использовании этого файла для повторного запуска сессии Specctra читает этот файл, загружает указанный в файле сессии файл проекта, загружает результаты размещения, этажные планы и данные трассировки и применяет содержащиеся в файле сессии данные свопинга.
Routes file Данные трассировки в файле трассировки содержат трассы и ДСО. Здесь имеется также информация для обратной трансляции трассировочных данных в исходную САПР. Он может содержать данные о гидах и КТ, если соответствующие операции имели место.
Wire file Информация о трассировке в этом файле включает в себя данные о трассах и ДСО.
Write colormap Эта команда сохраняет в текстовом файле информацию о цветовой карте. Colormap — эта опция создает текстовый файл, содержащий данные о присвоенных расцветках объектам и графическим элементам.
260
Команды автоматической трассировки
Form — опция специфицирует палитру используемых цветов для графических элементов, отличных от текущих установок, и использует ее для цветовой карты. Примеры команд Write colormap Write colormap (form) Write colormap colorS.std (permission public nowrite)
Write environment Команда сохраняет текущую цветовую карту, определения ключей или то и другое в директории .cct.
Environment — опция создает текстовый файл в .cct-директории, который содержит переменные окружения в текущей сессии. Опция colors запоминает именно цветовую карту, а опция keys именно определения ключей. По умолчанию сохраняются оба эти определения. В системе UNIX можно использовать опцию для получения разрешения читать и писать в этот файл. Формируемые файлы размещаются в директории .cct. Если эта директория не создана, Specctra создает ее автоматически. Расположение директории в системах Windows зависит от установленных переменных окружения: • В системе Windows NT директория .cct размещается в директории определенной переменными окружения %homedrave% и %homepath% , например: HOMEDRAVE=D HOMEPATH=\users\myname Specctra запоминает файлы расцветок и ключей в D:\users\myname\. cct
261
Глава 4 • В системе Windows 95 директория .cct помещается в директории Windows (декларированной в переменной окружения WINDIR), например: WINDIR=C:\wm95 Specctra запоминает файлы расцветок и ключей в C:\win95\..cct. Сохранить цветовую карту можно в другом файле или директории с помощью команды write colormap, а загрузить ее оттуда с помощью команды read colormap. Сохранить файл определения ключей можно в другом файле с помощью команды write keys, а загрузить их оттуда с помощью команды defkey.
Примеры команд Write environment
»
Write environment (colors) Write environment (permission (group read nowtite))(keys)
Write keys Эта команда запоминает информацию о ключах в текстовом файле. 1
i k —^
{
->l ^+\ \ — '
Keys — запоминает определения ключей в текстовом файле, который содержит серию команд defkey. По умолчанию имя файла defkey.std. Для доступа к файлам чтения и записи в системе UNIX их необходимо сохранить с помощью команды write и опции . Примеры команд Write keys Write keys (permission public nowrite)
262
Заключение Использование DO-файлов для автоматического выполнения процедур размещения и трассировки из среды PCAD 2000 отнюдь не препятствует переходу к интерактивной работе непосредственно в подсистеме Specctra. При этом возможно остановить выполнение DO- файла, произвести оценку полученных результатов, при необходимости оптимизировать их вручную, после чего продолжить работу DO-файла. Для остановки работы этого файла достаточно ввести отдельной строкой в его состав команду STOP. Specctra прекращает автоматическое выполнение команд из DO-файла, при этом в строке статуса появляется сообщение IDLE, после чего пользователь может производить любые интерактивные операции непосредственно в системе Specctra. Для продолжения работы достаточно выдать команду AutoRoute/Route. В появившемся окне AutoRoute'(cM. рисунок ниже) можно установить (при необходимости) новые значения параметров трассировки, после чего нажать клавишу ОК. Трассировщик продолжит свою работу.
Minimum Via Grid: f? Minimum Wire Gri J7 FanoutifAppropri Via Sharing Pin Sharing
:
:;;- : ':,,
enerate-Testpoints
Следует отметить, что в случае выбора режима работы трассировщика Smart может появится сообщение, помещенное на рисунке ниже:
:: Route: Layet reduction may be possible on this board, tji deleting all wires, unselecting one horizontal and one vertical layer, and then restart smart_route.
OK
I
263
Заключение Подпрограмма Smart Route сообщает, что для данцой платы число заданных слоев избыточно и его можно уменьшить. Для этого рекомендуется попытаться удалить все проложенные трассы, переустановить направление трасс на оставшихся слоях и затем перезапустить Smart Route. Такое сообщение может быть выдано трассировщиком в процессе его работы и без прерывания, если трассировщик обнаружит явный избыток заданных для платы слоевуВообще прервать работу системы Specctra можно в любое время путем выдачи команды File/Quit, после чего появляется окно прерывания:
Save And Quit
Quit (No Save)
Cancel
Help
Для прекращения трассировки и полного отказа от ее результатов следует пометить «галочкой» строку Delete Did File и щелкнуть Quit (No Save). Для сохранения промежуточных результатов следует только щелкнуть на Save And Quit. Отметим также, что в случае прерывания выполнения файла DO имеется возможность сохранить в текущем каталоге проектный файл системы Specctra (*.DSN). Этот файл имеет кодировку ASCII, т. е. является текстовым и может быть использован как альтернативный вариант интерфейса к взаимодействующей САПР. Фрагмент файла в формате DSN приведен ниже:
(РСВ C:\TESTS\TT10\RPla.pcb (parser (host_cad ACCEL) (host_version 15.00) (string_quote ' ) (constant Top 1) (constant intl 12) (constant int2 13) (constant int3 14) (constant int4 15) '(constant Bottom 2) ) (resolution MM 1000) (structure (rule (clearance 0.3048)) (boundary (rect pcb 13.3994 12.8993 277.412 186.908)
264 _?'•;
. '
Заключение (boundary (path signal'0 262.411 24.8999 28.4002 24.8999 28.4002 24.8999 25.4 27.9001 25.4 27.9001 25.4 174.907 25.4 174.907 265.412 174.907 • 265.412 174.907 265.412 27.9001 265.412 27.9001 262.411 24.8999) (layer "Top (type signal) (rule (clearance (rule (clearance (rule (clearance (rule (clearance (rule (clearance (rule (clearance
0.3 0.3 0 .3 0.3 0 .3 0 .3
(type (type (type (type (type (type
pin_pin pin_smd smd_smd))) pin_wire smd_wire))) wire wire) ) ) smd via pin via) ) ) via wire) ) ) via via) ) )
•
(layer (type (rule (rule