Система Specctra —
практический опыт работы
Юрий ЕЛШИН
support@orcada.ru
Трассировщик Cadence Specctra Expert занимает сегодня лидирующие позиции на рынке решений для автоматических и интерактивных трассировок печатных плат и сложных интегральных схем. Он разработан для печатных плат высокой плотности, которые требуют сложных правил проектирования. Трассировщик использует мощный бессеточный алгоритм, позволяющий эффективно использовать пространство для прокладки трасс. В результате увеличивается производительность и сокращается цикл проектирования.
Specctra Expert является составной частью систем Allegro PCB (проектирование интегральных микросхем) и подсистемы контроля целостности сигналов (SpecctraQuest signal integrity). Specctra также интегрирована во многие наиболее популярные системы PCB CAD, включая серию продуктов Cadence OrCAD Layout.
В таблице 1 перечислены свойства лицензий платформы Allegro PCB. Для каждого продукта первые перечисленные строки свойства являются групповыми (User/Host/Display) лицензиями, а оставшиеся являются инструментальными (рабочими) лицензиями.
Specctra — это семейство инструментов для автоматизации проектирования печатных плат (PCB). Инструменты Specctra можно использовать для автоматического и интерактивного проектирования сложных печатных плат с компонентами для по-
верхностного монтажа ^МБ) и монтажа в отверстия (РТН).
Инструментарий Specctra включает графический пользовательский интерфейс ^Ш) и адаптивную ShapeBased технологию. Планарные контактные площадки (КП), сквозные КП, трассы и другие схемные элементы моделируются как базисные графические образы. Каждый образ имеет ассоциированные с ним правила, такие как зазоры между компонентами и их ориентацию, ширину трасс, тайминг (временные правила), электрические шумы и поперечные электрические наводки. Преимущества технологии ShapeBased:
• Точное моделирование КП, выводов и ПО.
• Используются точные размеры образов посредством максимизации доступного пространства и приспособления набора образов, выводов и размеров компонентов.
• Поддержка сложных иерархических правил проектирования позволяет ускорить процесс производства изделий.
• Бессеточная трассировка или минимальная сетка для трасс и ПО позволяет уменьшить число сигнальных слоев.
Так как Specctra привязывает проектные правила к геометрическим образам, нет необходимости управлять и применять правила по традиционной сеточной технологии. Многие сеточно-ориентированные трассировщики пытаются соединить все проводники в каждом проходе трассировки, до полного ее окончания. Эти трассировщики не допускают конфликтов пересечений и зазоров.
Трассировщик Specctra использует другой подход, называемый адаптивной трассировкой. Трассировщик пытается соединить все связи в первом проходе трассировки, допуская наличие конфликтов зазоров и пересечений. В каждом дополнительном проходе трассировщик уменьшает число конфлик-
тов, используя алгоритмы расталкивания и повторной прокладки.
С каждым проходом Specctra собирает информацию и изучает проблемные области, для их исключения и завершения трассировки.
Хотя для этого иногда используется большое количество проходов, трассировщик обычно достигает высоких результатов за короткое время, поскольку он использует конфликтную информацию из каждого прохода для поиска окончательного решения.
Перед началом работы с системой Specctra необходимо загрузить данные ПП, созданные в основной САПР или в предыдущих сессиях Specctra. Эти проектные данные состоят из одного или нескольких файлов (таблица 2).
Вы можете использовать пакетный режим для прогона нескольких сессий Specctra. В начале каждой сессии Specctra читает проектный файл и файл Do. Для запуска пакетных сессий Specctra необходимы следующие файлы:
• проектный файл для каждой сессии;
• файл Do для каждой сессии;
• пакетный файл.
Пакетный файл управляет каждой сессией с помощью команды specctra, которая включает проектный файл, файл Do и любой из используемых переключателей.
Для создания пакетного файла используется текстовый редактор. Пакетный файл содержит серию команд specctra. Каждая строка пакетного файла начинает новую сессию.
Переключатель -do специфицирует файл Do, который содержит команды для управления сессией.
Переключатель -quit включается в каждую команду specctra для окончания этой сессии после последней команды в файле Do. Поместите переключатель -quit в конец каждой командной строки для окончания этой сессии и запуска следующей.
Таблица 1. Свойства лицензий
Номер продукта Наименование продукта Строка свойств
PS3000 PCB design studio with Concept® HDL PCB design studio SPECCTRA_PCB SPECCTRA_autoroute (optional) SPECCTRA_performance (optional)
PS3010 PCB design studio with OrCAD Capture® CIS PCB_design_studio SPECCTRA_PCB SPECCTRA_autoroute (optional) SPECCTRA_performance (optional)
PS3000, PS3010, PS3100 PCB design studio with Allegro® Performance option PCB_design_studio SPECCTRA_PCB SPECCTRA_HP SPECCTRA_autoroute (optional) SPECCTRA_performance (optional)
PX3100 SPECCTRAQuest™ SI expert SPECCTRAQuest_SI_expert SPECCTRA_expert
PX3700 PCB design expert with Concept® HDL PCB_design_expert SPECCTRA_expert
PX3710 PCB design expert with OrCAD Capture®CIS PCB_design_expert SPECCTRA_expert
PX3900 PCB designer with Concept® HDL PCB_designer SPECCTRA_expert
PX3910 PCB designer with OrCAD Capture® CIS PCB_designer SPECCTRA_expert
PX4000 Advanced package engineer expert adv_package_engineer_expert SPECCTRA_expert
PX4100 Advanced package designer expert adv_package_designer_expert SPECCTRA_expert
Таблица 2. Таблица файлов проектных данных
Входные файлы Описание Читаются в процессе...
Проектный файл Проектный файл (.dsn) содержит данные, созданные в ведущей САПР. Он включает в себя полную информацию о компонентах, связях (netlist) и проектных ограничениях. Проектный файл — это отправная точка для всех работ в Specctra. Запуск (Startup)
Файл этажного плана Этот файл (Floor Plan File, .pln) содержит проектные данные, созданные Specctra. ОН содержит информацию о том, как компоненты должны быть сгруппированы вместе для оптимального размещения. Для создания данных о плане расположения необходимо сначала считать файл, созданный САПР. Сессия (Session)
Файл размещения Файл размещения (Placement File, .plc) содержит проектные данные, созданные Specctra, то есть информацию о размещении компонентов, такие как координаты, угол поворота, слои расположения и т. п. Для создания этого файла необходимо сохранить в проектный файл данные из САПР. Startup -или- Session
Файл трассировки Файл трассировки (Routes File, .rte) содержит проектные данные, созданные в Specctra, то есть информацию о трассах, которые были созданы в Specctra. Для создания этого файла вы должны считать в проектный файл данные из вашей САПР. Startup -or- Session
Сессионный файл Файл сессии (Session File, .ses) содержит данные, созданные Specctra. Он включает почти все полные записи всех команд и действий, которые были выполнены в процессе проектной сессии. Startup
Файл трасс Файл трасс (Wires File, .w) содержит информацию о трассах и ПО, которые были сохранены в предыдущей сессии Specctra. Startup -or- Session
Примечание: можно также загрузить файл Do для управления последовательностью команд или файл Did, который был использован для автоматической регистрации командв предыдущей сессии SPECCTRA. Однако вы не сможете выполнить полезные проектные работы до тех пор, пока не загрузите связанные с ними проектные файлы.
Основные свойства Specctra Expert
• Система доступна на платформах Windows NT и Unix с лицензией, которая допускает работу на любой из платформ.
• Поддержка правил обработки высокоскоростных сигналов и ограничений для задержек, поперечных наводок, контроль полных сопротивлений (импеданс), дифференциальных пар (параллельно прокладываемых цепей различных потенциалов), планирование топологии трасс, включая виртуальные контакты компонентов.
• Трассировка выбранных цепей в реальном времени с учетом свойств задержек, поперечных наводок, импеданса и дифференциальных пар.
• Автоматическое распределение цепей с автоматическим подключением дополнительных переходных отверстий (ПО).
• 45-градусная или ортогональная трассировка.
• Полная поддержка структуры Microvia.
• Рекурсивное средство введения фасок и получения результатов, близких к результатам при ручной трассировке.
• Планирование интерактивной трассировки и автоматического размещения компонентов.
• Автоматическое размещение компонентов на слое.
• Прямая интеграция с Allegro, APD, Specctra-Quest.
Высокоскоростная управляемая трассировка
Система Specctra Expert предлагает широкие возможности для управления трассируемыми цепями, таймингом, вычисления поперечных наводок и задания специальных требований к топологии высокочастотных цепей. Задания требований к топологии це-
пей определяют последовательность трассировки выводов компонентов и ввод промежуточных точек подключения при Т-образной трассировке. Эти задания позволяют разработчику применять ограничения к каждому сегменту цепи для очень точного контроля связей, даже для цепей с дискретными компонентами, такими как ограничивающие резисторы. В каждой топологически зависимой цепи можно управлять длиной проводников, используя либо задержки, либо задавая длину явно. Можно задать минимальную или максимальную задержку или длину проводника и тем самым обеспечить поступление сигнала к приемнику в заданный отрезок времени.
Поперечные наводки ограничиваются заданием правил геометрии и параллелизма. После определения допустимых зазоров и длин трассировщик автоматически разведет параллельные линии, соблюдая заданную дистанцию. Можно задать таблицу зазоров или длин для более точной модели поперечных наводок. Такие наводки уменьшаются методами точного расчета геометрии или топологии проводников и свойствами сигналов в таких проводниках. Рассчитываемые шумы связаны с проводниками на одном и том же слое или на смежных слоях. Суммарные шумовые поперечные наводки контролируются объединением шумовых правил, которые введены в электрические свойства проекта. Необходимо задать максимально допустимый суммарный шум поперечных наводок в милливольтах для каждого класса цепей. В процессе работы трассировщик автоматически вычислит максимальный кумулятивный шум поперечных наводок путем суммирования наводок от всех параллельных и тандемных (размещенных на смежных слоях) проводников.
Для трассировки дифференциальных пар пользователь задает зазор между двумя проводниками, и трассировщик делает все ос-
тальное. Он располагает трассы вокруг дополнительных переходных отверстий (ПО) и автоматически выполняет требования к минимальной длине трасс. Автоматическая раскладка цепей предназначена для уменьшения наведенных шумов на чувствительных цепях. Более того, различные правила проектирования можно применять к различным областям проекта. Например, можно специфицировать жесткие правила зазоров в зоне проводников и менее жесткие в остальных зонах проекта. В высокочастотных проектах использование экранировок цепей является общим правилом в САПР. Для корректного выполнения экранировок они должны подключаться к экранам земли регулярно, чтобы эффективно поглощать случайные шумы. Specctra не только автоматически генерирует экраны вокруг цепи, но и автоматически привязывает экранирующую трассу к выбранному экрану с помощью автоматического введения переходных отверстий на указанных расстояниях.
Дополнительные физические правила проектирования
Расширенный набор правил в Specctra Expert обеспечивает возможность контроля электрических свойств, отчетов о наводках, нарушениях правил задания длин трасс, что соответствует требованиям к современным большим проектам. Контроль электрических параметров включает присвоение специальных правил каждому элементу проекта. Определение правил проектирования необходимо для класса электрических характеристик, уникальных для каждого слоя, типа ПО, толщин проводников или набора соединений. При использовании этих свойств более крупные ПО используются для поддержки увеличения текущей емкости, требуемой проводниками земли и питания. Это сохраняет пространство проекта, так как только указанные сигналы используют крупные ПО. Кроме того, можно улучшить сравнительный импеданс сигналов, присваивая различные толщины трассам и величины зазоров на различных слоях. В основном внешние слои имеют более высокий импеданс и требуют трасс большей толщины. Внутренние слои, как правило, имеют более низкий импеданс и требуют более узких трасс, чем внешние слои. Подгонка импеданса может быть улучшена с помощью управления трассировкой цепей на определенных слоях или парных слоях. Отчеты включают в себя наведенный шум, подсчитанный на основе геометрии проводников и электрических свойств сигналов. Рассматриваются шумы, связанные с сигналами на одном и том же слое и на смежных слоях. В отчеты включаются возможные проблемы тайминга, они отображаются в виде нарушений минимальных и максимальных длин трасс. Вся эта информация передается в файл и представляется графически.
Правила для Microvia
C появлением плотных многослойных проектов многие компании правильно оценивают преимущества многослойных технологий. Эти технологии базируются на новых производственных методах получения малоразмерных плат, числе слоев и увеличении величин сигналов. Одно из главных требований для этих новых технологий — поддержка сложных структур ПО. Опция Specctra Expert's Microvia была разработана совместно с Matsushita для поддержки передовой индустриальной ALIVH-технологии этой фирмы. Эта опция включает в себя поддержку множества ПО (то есть группы или массива), что увеличивает текущую емкость широких трасс. Стековое размещение ПО позволяет глухим и замурованным ПО располагаться в той же X-Y позиции на различных слоях платы. Разработан способ формирования ПО непосредственно под планарными КП, даже если эти КП расположены друг под другом на разных сторонах платы.
Расширенные правила для подложек
Specctra Expert позволяет манипулировать глухими и замурованными КП, взаимосвязанными трассами, ПО под планарными КП — основой для создания керамических печатных плат и микросхем.
Замурованные и глухие ПО автоматически применяются при необходимости перехода со слоя на слой. Возможен контроль зазоров между ПО на одном слое или на смежных слоях. Возможно размещение ПО под планарной КП или в ближайшем сеточном узле. Контролируется полное или частичное размещение ПО под планарной КП. Если же границы ПО выходят за пределы КП, то ПО не размещается. Поддержка правила для «пучка трасс (шин)» обеспечивает пользователя автоматическим управлением устройствами. Для этого необходимо определить тип и расположение шины и максимально допустимую дистанцию между выводами компонента и местоположением шины.
Учет характеристик проекта
для оптимизации условий
производства
Характеристики системы позволяют значительно облегчить получение производственного продукта. Команда spread автоматически увеличивает расстояние между проводниками там, где это возможно. Система также создает фаски и вводит контрольные точки автоматически после окончания трассировки. Автоматическое увеличение зазоров, необходимых для производства ПП, достигается перекладкой трасс на другие позиции относительно ПО, КП и собственно соседних трасс. При создании фасок их размеры тоже могут задаваться пользователем. Их можно вводить как на всех, так и на отдельных слоях. Размеры фасок могут иметь единственное значение или принимать ряд таких значений.
Система позволяет автоматически использовать оптимальный размер фасок внутри указанного ряда, от самого большого до самого малого.
Ввод контрольных точек Процедура ввода контрольных точек автоматически добавляет тестируемые ПО или КП в качестве таких тестовых точек. Тестовые ПО могут располагаться на первом, последнем или на обоих этих слоях печатной платы, что позволяет использовать односторонние или более сложные тестеры. Система обеспечивает пользователя достаточной гибкостью процессов ввода при установке требуемых производством контрольных точек. Точки могут быть фиксированными, что необходимо для работы некоторых недорогих тестеров. Ограничения на ввод контрольных точек включают в себя поверхность, размер ПО, сетку ПО и минимальное допустимое расстояние между центрами точек.
Авторазмещение
Программа бессеточного автоматического размещения (ShapeBased) в Specctra Expert позволяет иметь в проекте до 256 слоев для трасс и неограниченное число выводов у компонентов. Эта программа позволяет размещать компоненты в бессеточном режиме, без увеличения размеров разногабаритных компонентов. При этом режиме можно размещать некоторые компоненты интерактивно, а остальные — в автоматическом режиме. Можно также задавать комнаты для раздельного питания, ограничений по высоте компонентов, рассеиваемой мощности или разделения аналоговых элементов, процессоров, памяти, цепей TTL или ECL. Программа размещает компоненты на обеих сторонах платы одновременно с выравниванием планарных компонентов на разных сторонах платы.
Основные свойства системы:
• Конкурентная трассировка до 256 сигнальных слоев.
• Реальная геометрическая трассировка.
• Трассировка на базе геометрических фигур или на базе сеточных структур.
• Стрингеры (отводы) от планарных компонентов к ПО.
• Трассировка с 45-градусными трассами.
• Трассировка в стиле «память» для планарных или штыревых компонентов.
• Многопроходное рекурсивное образование наклонных трасс и фасок.
• Задание типа переходного отверстия (ПО) для цепи, класса цепей.
• Задание свойств проводников и зазоров на слое.
• Задание свойств цепям на слое.
• Мягкие и жесткие ограждения для зон.
• Автоматическая раздвижка трасс.
• Автоматическая генерация контрольных точек.
• Задание глухих, замурованных и микро-ПО.
• ПО под планарными КП.
• Прокладка пучков трасс (шин) в автоматическом режиме.
• Автоматический своппинг для логических частей и выводов компонентов.
• Управление прокладкой параллельных трасс.
• Контроль суммарных наведенных шумов.
• Управление минимальными и максимальными задержками прохождения сигнала и контроль длины трассы.
• Управляемая пользователем методология удлинения трасс.
• Автоматическая прокладка трасс как дифференциальных пар.
• Задание правил работы и зазоров в выделенной зоне.
• Экранирование цепей.
• Виртуальные выводы компонентов для контроля топологии.
Привязка Specctra к системе P-CAD
Привязка программных продуктов линейки PSD 15.x компании Cadence Design System к P-CAD 200x.
1. Для этого требуется внести изменения в файл Pcb.ini, который находится в папке с установленными файлами P-CAD. По умолчанию это путь C:\Program Files\P-CAD200x.
2. Откройте этот файл для редактирования и найдите в нем с помощью поиска по слову specctra раздел [CCTRoute].
3. Подмените пути в строках, начинающихся с команд RouterParams и RouterExe, на новые, соответствующие расположению програмных продуктов Cadence.
4. В результате, если продукты Cadence были установлены в папки по умолчанию, команды должны выглядеть следующим образом:
- RouterParams=-o C:\Cadence\PSD_15.0\ tools\specctra\bin\sp.log -noclean -ii -quit
- RouterExe=C:\Cadence\PSD_15.0\tools\ specctra\bin\specctra.exe
Общие сведения о системе Specctra
Specctra — это семейство программ проектирования печатных плат, которое работает на платформах UNIX и Windows. Эту систему можно использовать как в интерактивном, так и в автоматическом режимах работы на таких этапах проектирования, как размещение компонентов и трассировка сложных, насыщенных плат с планарными и сквозными выводами у компонентов.
Весь инструментарий системы Specctra базируется на универсальном графическом пользовательском интерфейсе и современной технологии бессеточного проектирования ShapeBased. Планарные контактные площадки (КП), сквозные КП, трассы и другие элементы печатной платы (ПП) моделируются точными геометрическими образами. При этом каждый образ может иметь присво-
Таблица 3. Преимущества технологии ShapeBased
Преимущества Пояснения
Точные геометрические модели КП, выводов компонентов, трасс, дополнительных сквозных переходных отверстий в бессеточной базе данных (вместо занимающей много памяти сеточной модели платы) Требования к памяти минимальны
Используются точные размеры образов объектов Максимальное использование доступного пространства
Поддержка сложных иерархических правил проектирования Улучшение технологичности изготовления платы
Трассировка: бессеточная или сдискретной сеткой минимального размера для трасс и отверстий (КП) Максимальное использование площади печатной платы для трассировки, в результате чего возможно уменьшение числа слоев ПП.
енные ему правила проектирования, которые представляют собой некоторые проектные ограничения, такие как дистанция между компонентами и их ориентация, ширина трасс и зазоры между ними, характеристики временных задержек в цепях, взаимные шумовые и поперечные наводки в электрических цепях. В таблице 3 поясняются преимущества технологии ЗЬареВазеА
Поскольку 8ресйга привязывает правила проектирования к геометрическим образам объектов, нет никакой необходимости задавать эти правила через традиционные сеточные характеристики. 8ресС:га осуществляет размещение и трассировку без дискретных сеток не требуя больших массивов памяти. При этом большинство сеточных трассировщиков пытаются проложить все соединения в каждом проходе трассировки, и так до тех пор, пока ПП не будет разведена полностью. Они не терпят наличия конфликтов пересечений и малых зазоров.
ЗресСта использует другой подход, называемый «адаптивной трассировкой». Трассировщик пытается соединить все связи уже на первом проходе, при этом допускается наличие конфликтов (в области зазоров и пересечений). В каждом последующем проходе трассировщик уменьшает число конфликтов, используя алгоритм снятия проложенных трасс и повторной их трассировки и алгоритм раздвижки и проталкивания трасс. По окончании каждого прохода Зресйга суммирует полученную информацию и «изучает» проблемные области, где конфликты существуют, чтобы устранить их и полностью развести все трассы. Несмотря на возможное большое число проходов трассировки, автотрассировщик обычно достигает хороших результатов достаточно быстро.
Взаимодействие пользовательской САПР с системой Specctra
ЗресСта работает с САПР как инструмент для трассировки и размещения. После создания базы данных в САПР они транслируются в формат файла проектирования Зресйга. Этот файл содержит всю необходимую фи-
зическую информацию, необходимую систе- • ме Specctra для решения задач размещения и трассировки. Любые правила проектирования, которые установлены в САПР, копируются в файл проектирования системы Specctra.
После окончания работы системы Specctra транслируется файл трасс или сессионный файл. Транслятор соединяет трассы сессионного файла с САПР ПП, в результате чего создается законченный проект. На рис. 1 приведена диаграмма обмена данными между системами Specctra и взаимодействующей с ней САПР.
Файл проекта системы Specctra — это текстовый файл в кодировке ASCII (American Standart Code Interchange Information), содержащий список цепей, контур платы, запретные зоны и все библиотечные компоненты.
Он также содержит все правила и ограничения, установленные в САПР для размещения и трассировки. Отметим, что если выполнять размещение не планируется, то в систему Specctra можно передать данные о размещенных компонентах для выполнения одной только трассировки.
Проектный файл системы Specctra
Этот файл содержит данные о контуре платы, описание цоколевочного вида компонентов (вид КП на плате), позиционные обозначения компонентов, стек описания КП и список цепей. Проектный файл содержит 5 основных разделов:
• Структура, которая содержит описание слоев, границы ПП, идентификаторы КП в стеке, правила проектирования и определения дискретных сеток.
Размещение компонентов, которое содержит позиции компонентов и позиционные обозначения.
• Библиотека, которая содержит образы компонентов (имиджи) и определение стеков КП.
• Таблица связей, которая содержит перечень соединений.
• Трассы, которые содержат предварительно проложенные соединения. Этот раздел появляется только в том случае, если трассы были проложены в вызывающей САПР. Дополнительно к основным элементам,
файл проектирования может содержать другие данные. Структура проектного файла описана в эксплуатационной документации к системе Specctra — Design Language Reference (язык описания проекта).
Взаимодействие между Specctra и пользовательской САПР
Взаимодействие САПР с системой Specctra осуществляется путем трансляции проектных данных из одного формата в другой. Все файлы, которые Specctra читает или записывает, являются простыми текстовыми файлами (табл. 4).
Некоторые известные САПР печатных плат нуждаются в промежуточных текстовых файлах для обмена данными с системой Specctra. Другие системы читают и записывают файлы Specctra непосредственно, без промежуточных файлов. В таблице 5 описаны файлы, которые используются как промежуточные для взаимодействия Specctra и нескольких популярных САПР.
Многие САПР имеют встроенные средства для обмена данными с системой Specctra.
Таблица 4. Описание текстовых файлов
Тип файла Наименование файлов Описание
Проектный файл <filename>.dsn Этот файл создается путем трансляции проектной информации из исходной САПР. Он содержит данные о контуре платы, определения слоев и стеков контактных площадок, описания компонентов, список цепей, проложенные трассы и правила проектирования.
Файл сессии <filename>.ses Файл создается системой Specctra. Он содержит указатель на исходный проектный файл, данные о размещении и трассах, информацию о логических секциях и подсекциях компонентов, их выводах и др.
Файл результатов трассировки <filename>.rte Файл создается системой Specctra. Он содержит данные о проложенных трассах, которые могут быть переданы в САПР и считаны системой Specctra.
Файл трасс <filename>.w Файл создается системой Specctra. Он содержит данные трассировки, которые могут быть считаны только системой Specctra.
Таблица 5. Описание промежуточных файлов
САПР печатных плат Промежуточный файл Содержание файла
Allegro Board (brd) file Все проектные данные по ПП, включая цепи, свойства, компоненты, стеки КП, предварительно проложенные трассы, контур платы и правила проектирования.
Board Station Tech.tech Определения слоев и правила проектирования
Geoms_ascii Определения корпусов, контур платы, запретные и разрешенные зоны и правила
Nets.nets Список цепей
Traces.traces (опция) Предварительно проложенные трассы, информация о заливке областей и спецификации для технологии высокочастотного проектирования
Gates.gates (опция) Секции и выводы вентилей (логических секций) для их своппирования (взаимозамены)
Pins.pins (опция) Свойства пинов компонентов
Testpoints.testpoints (опция) Информация о контрольных точках
Mfg/neutral_file (опция) Координаты выводов
PADS ASCII output Все проектные данные о плате
PCAD Текстовый файл в формате pcb (ASCII-файл) Все проектные данные о плате
Protel Текстовый файл Protel Система записывает проектный файл и читает файлы трасс и сессионный файл
Таблица 6. Описание проектного файла
Секция проектного файла Информация в секции
Structure Единицы измерения, определения слоев, границы платы, силовые слои, правила для регионов, запретные зоны на плате, идентификаторы переходных отверстий, глобальные правила проектирования (установки), определения дискретных сеток.
Placement Описания корпусов компонентов, включая имена корпусов, позиционные обозначения, координаты базовых точек, слои размещения и ориентацию.
Library Описания компонентов, которые включают имена выводов и их координаты, определения выводов компонентов и стеки контактных площадок.
Network Список цепей (имена цепей и список выводов в цепи), определения классов цепей, определения класс-класс, групп, дифференциальных пар, а также правила проектирования для цепей, классов или групп.
Wiring Информация о проложенных трассах.
Проектный файл Specctra — это текстовый файл, который содержит информацию для выполнения системой Specctra своих задач. Этот файл состоит из 5 разделов или секций (табл. 6).
Так как проектный файл Specctra является текстовым, его можно просмотреть либо любым текстовым редактором, либо в окне для отчетов в системе Specctra (Report/Design). Отметим попутно, что редактировать проектный файл не рекомендуется. Большинство трансляторов используют проектный файл для пополнения своей базы данных информацией о трассах после работы системы 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.
Автотрассировка
Набор команд автоматической трассировки (AutoRoute) производит автоматическую прокладку трасс и ввод ПО в проекте. Управление трассировкой производится путем вызова команд из меню или из командного файла. При этом можно выполнять:
• Перекладку и повторную прокладку трасс с проталкиванием и обходами с целью получения максимально плотной трассировки.
• Трассировку на дискретных сетках и бес-сеточно.
• Переопределения в процессе трассировки сеток для трасс и ПО.
• Формирования стрингеров к выводам компонентов или к ПО.
• Трассировку жгутов.
• Трассировку с учетов иерархии правил проектирования.
• Автоматическое улучшение результатов трассировки для оптимизации изготовления ПП.
• Диагональную (угол 45°) прокладку трасс.
• Контроль размеров стрингеров.
• Поддержку упорядоченного специального расположения выводов.
• Поддержку раздельной обработки силовых и земляных слоев металлизации.
• Редактирование команд в Did-файле. Автотрассировщик также поддерживает
расширенный набор правил проектирования, выход в производство ПП, проектирование гибридных схем и учет временных факторов для высокочастотных цепей.
Расширенный набор правил (ADV):
• Определение сигнальных слоев.
• Привязка ПО к цепям и классам цепей.
• Установка зазоров и ширины трасс на слое.
• Привязка цепей и классов цепей к слою.
• Привязка к слою факторов времени и длин проводников.
Проектирование с учетом удобства производителя плат (DFM):
• Автоматическое равномерное распределение трасс на ПП.
• 90-градусные или 45-градусные изгибы трасс.
• Автоматическая генерация контрольных точек.
• Учет правил проектирования контрольных точек.
Гибридное проектирование (HYB):
• Управление введением глухих и межслой-ных ПО.
• Управление вводом ПО под планарными КП.
• Автоматический контроль взаимосвязанных трасс.
Правила проектирования высокочастотных цепей (FST):
• Контроль поперечных наводок при параллельном расположении проводников, тандемные слои и правила суммирования шумов.
Рис.2
• Временной контроль на максимум и минимум, сравнение правил для длин и задержек цепей.
• Автоматическая прокладка дифференциальных пар для цепей.
• Контроль правил и зазоров для областей на плате.
• Экранировка цепей.
• Виртуальный и топологический контроль.
• Закругление изгибов трасс.
• Управление размерами «антенн» для контрольных точек.
Оценка результатов размещения
Оценку результатов размещения можно выполнить с помощью анализа статусного отчета, который содержит данные о сессии и времени, историю всех автоматических операций размещения, список улучшенных манхэттенских длин и затраченное процессорное время на каждую операцию размещения.
Статусный отчет можно использовать для исследования процесса размещения компонентов и выявления улучшений, полученных в каждой операции размещения. Например, колонка с заголовком «список манхэттенских расстояний» отражает полученные расстояния после каждой команды размещения. Эти расстояния вычисляются для всех размещаемых компонентов.
Коррекция ошибок размещения
Ошибки размещения возникают при размещении компонентов:
• вне границы (контура) платы;
• если расстояния между компонентами меньше, чем установлено правилами;
• при перекрытии запретных зон;
• при неверной ориентации компонентов;
• при размещении компонентов на запрещенной стороне платы;
• если в заданной области платы превышены установки по рассеиваемой мощности или по высоте компонентов;
• если компоненты размещены в запретной зоне;
• если компоненты размещены вне определенной зоны для размещения.
Трассировка двухслойных плат
Встроенная стратегия автотрассировщика прекрасно приспособлена к двухслойному проекту. Однако лучшие результаты можно получить только при оптимальном размещении, особенно для плат с планарными компонентами (SMD). Команда fanout не должна быть использована для двухслойных плат. Вообще, лучшие результаты можно получить, если позволить автотрассировщику вводить столько переходных отверстий, сколько требуется. При этом надо использовать много проходов трассировщика, если видна тенденция уменьшения конфликтов. 200-300 проходов — это типичное число проходов в таком случае. Немаловажно и то, что каждый проход трассировщика на таких платах занимает мало времени.
Поперечные наводки и параллельные шумы
Specctra управляет поперечными наводками и наведенными шумами с помощью правил двух типов:
• параллельный и тандемный сегмент;
• параллельный и тандемный шум.
Правила для параллельного и тандемного
сегмента контролируют поперечные наводки (нежелательное появление сигнала в соседних проводах) между отдельными сегментами трасс цепей. Правила для параллельного и тандемного шума (нерегулярные флуктуации передаваемого сигнала) контролируют кумулятивные шумы между парами цепей. Эти правила можно установить для слоя, класса и цепи. Поперечные наводки на уровне отрезков цепей могут контролироваться только на уровне сегментов. Правила наводок между параллельными сегментами контролируют параллелизм между сегментами трасс на одном и том же слое. Для этого можно задать значения для зазоров и длин, как это показано на рис. 2.
Правила наводок между тандемными сегментами контролируют параллелизм между сегментами трасс на смежных слоях. Это не затрагивает силовых слоев. Для этого можно задать значения зазоров и длин (рис. 3).
Контроль наведенных шумов
Наведенные (парные) шумы между трассами на ПП могут вызывать вредные функции или нарушения функционирования. Для минимизации и контроля наведенных шумов в процессе автотрассировки необходимо специфицировать максимальный шум, который приемная цепь может выдержать. Чтобы определить, будут ли существовать излишние шумы, вклады всех источников шумов суммируются. Если общий шум превосходит специфицированный максимум, то это считается нарушением правила.
Некоторые цепи более шумны, чем другие, но, тем не менее, любая цепь является источником шумов. В этом смысле каждая цепь вносит свой вклад в сумму шумов, наводимых на параллельную приемную цепь, как функция от зазора. Зресйга позволяет специфицировать эти факторы в глобальных установках правил (на уровне ПП в целом) для класса, цепи и отрезка. Трассировщик может уменьшить или исключить как внутренние, так и внешние наведенные шумы. В следующем выражении отражены соотношения между зазором, длиной трассы, фактором слоя и общим наведенным шумом:
Сумма наведенных шумов в приемной цепи =
= сумме (Ьхвес (зазора)х(фактор слоя)),
где Ь — длина цепи, где появляются наведенные шумы; вес зазора = фактор пропорциональности шумов, генерируемых передающей цепью на единицу длины в специфицированном зазоре; фактор слоя — внутрислойные или межслойные значения, зависящие от характеристики ПП. Эти значения можно задать в виде матрицы слоев.
Приведенное выражение показывает, как вычисляется шум в приемной цепи от одного или нескольких источников. Зресйга вычисляет шумы в цепи от соседних трасс. Учитывается каждая трасса посредством умножения веса ее шума на параллельную или тандемную длину. На рис. 4 иллюстровано нарушение по наведенным шумам, где суммарный наведенный шум в цепи СКЬ1 равен
Примечание:
11,12,13 — наведенные шумы
(ХК1 — максимальный шум в приемной цепи
Команды: unit inch
rule pcb (parallel_noise (gap .010) (weight 25)) (parallel_noise (gap .005) (weight 83)) Расчет:
NoiseR = (I(x25)+(l2x83)+l3x83)
= (3,9x25)+(4,2x83)+4,5x83)
= 819,6 millivolts
Рис. 4
Следует отметить, что в случае выбора режима работы трассировщика Smart может появиться сообщение, изображенное на рис. 6.
Подпрограмма Smart Route сообщает, что для данной платы число заданных слоев избыточно и его можно уменьшить. Для этого рекомендуется попытаться удалить все проложенные трассы, переустановить направление трасс на оставшихся слоях и затем перезапустить Smart Route. Такое сообщение может быть выдано в процессе работы и без прерывания, если трассировщик обнаружит явный избыток заданных для платы слоев.
819,6 мВ, в то время как параметр max_noise для цепи установлен в 600 мВ.
Трассировка дифференциальных пар
Трассировка дифференциальных пар является одной из наиболее сложных задач при проектировании топологий:
• поддержка стрингеров (Fanout).
• Комплектование различных цепей (Gathering the nets together).
• Управление длинами цепей (Controlling uncoupled length).
• Управление фазовыми несоответствиями (Controlling phase mismatches).
Крайне редко случается так, что выводы располагаются точно на одной линии, где они параллельны и не требуют согласования подводящих трасс. Обычно же кроме согласования необходима и фазовая компенсация.
• Прохождение через другие выводы (Getting through other pins).
Это происходит, когда геометрия платы не позволяет паре трасс сохранять взаимное расположение на всем пути, и они должны либо разойтись, обойдя препятствие, либо продолжиться на различных слоях.
• Выход из затруднительных ситуаций (Turning corners differentially).
Это происходит, когда трассы должны сменить слои и использовать для этого ПО различного вида.
Завершение трассировки
Использование Do-файлов для автоматического выполнения процедур размещения и трассировки из среды PCAD 2000 отнюдь не препятствует переходу к интерактивной работе непосредственно в подсистеме Specctra. При этом можно остановить выполнение
Do-файла, произвести оценку полученных результатов, при необходимости оптимизировать их вручную, после чего продолжить работу Do-файла. Для остановки работы этого файла достаточно ввести в нем отдельной строкой команду STOP. Specctra прекращает автоматическое выполнение команд из Do-файла, при этом в строке статуса появляется сообщение IDLE, после чего пользователь может производить любые интерактивные операции непосредственно в системе Specctra. Для продолжения работы достаточно выполнить команду AutoRoute/ Route. В появившемся окне AutoRoute (рис. 5) можно установить (при необходимости) новые значения параметров трассировки, после чего нажать клавишу OK. Трассировщик продолжит свою работу.
Рис. 5
Вообще прервать работу системы 8ресйга можно в любое время командой File/Quit, после чего появляется окно прерывания (рис. 7).
Примеры йо-файлов трассировки и размещения
Команда автотрассировки Команды трассировки и оптимизации (очистки):
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса
# Эти команды устанавливают условия работы (окружение) status_file route.sts
unit mil
# Здесь размещены команды предтрассировочных установок: rule net NETA (width 12) (clearance 10)
define class C1 (CLK1 CLK2 CLK3 CLK4) rule class C1 (width 12) (clearance 8)
#Стандартные команды трассировки
route 25
clean 2
route 50 16
clean 4
Пример «умной трассировки»:
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса status file route.sts
# Здесь размещены команды предтрассировочных установок: unit mil
rule net NETX (width 15)(clearance 12) rule layer s1 s4 (width 8)(clearance 7) define class C1 (sig1 sig2 sig3 sig4) rule class C1 (width 12) (clearance 8)
# Стандартные команды трассировки smart_route
Команда задания правил Пример задания класса:
Рис. 6
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса
# Эти команды устанавливают условия работы (окружение): status_file route.sts
unit mil
# Эти команды устанавливают условия работы: define (class CLK clka clkb clkc clkd)
rule class CLK (clearance 12 (type wire_wire)) circuit class CLK (priority 255)
# Стандартные команды трассировки smart_route
Пример задания дифференциальной пары:
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса
# Эти команды устанавливают условия работы: status_file route.sts
unit mi
# Здесь размещены команды предтрассировочных установок: define (pair (nets CLK1 CLK 2 (gap 5)))
define (pair (nets CLK4 CLK5 (gap 7)))
# Стандартные команды трассировки smart_route
Пример задания дифференциальных пар и экранировки землей:
bestsave on bestsave.w status_file status.sts
#
unit mil
#
grid smart (wire 1) (via 1)
#
rule pcb (clear 8) (width 8)
#
define (pair (nets dp1a dp1b)) define (pair (nets dp2a dp2b (gap 10))) define (pair (nets dp3a dp3b (gap 6))) define (pair (nets dp4a dp4b (gap 12))) define (pair (nets dp5a dp5b))
#
define (class CLOCK clocka clockb clockc clockd) circuit class CLOCK (shield on (use_net GND))
#
bus diag
#
route 25 1 clean 2 route 50 16 clean 4
#
write wires final.w write route final.rte report status final.sts
Команды создания стрингеров (fanout) Пример стрингера с указанием типа пина:
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса status file route.sts
unit mil
# Здесь размещены команды предтрассировочных установок: define (class CLK clka clkb clkc clkd)
rule class CLK (clearance 12 (type wire_wire)) circuit class CLK (priority 255)
# Стандартные команды трассировки fanout (pin_type power)(direction in) smart_route
Стрингеры максимальной длины:
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса status file route.sts
unit mil
# Здесь размещены команды предтрассировочных установок: define (class CLK clka clkb clkc clkd)
rule class CLK (clearance 12 (type wire_wire)) circuit class CLK (priority 255)
# Стандартные команды трассировки
fanout 5 (max_len 200)(pin_type power)(direction in_out) smart_route
Пример коротких трасс отвода:
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса
status file route.sts
# Здесь размещены команды предтрассировочных установок: unit mil
define (class CLK clka clkb clkc clkd)
rule class CLK (clearance 12 (type wire_wire))
circuit class CLK (priority 2ЗЗ)
# Стандартные команды трассировки fanout (direction out) smart_route
Пример установки отвода максимальной длины:
#Строки, начинающиеся знаком '#', являются комментарием
# Do файл общего назначения
# Команды инициализации процесса status file route.sts
unit mil
# Здесь размещены команды предтрассировочных установок: define (class CLK clka clkb clkc clkd)
rule class CLK (clearance 12 (type wire_wire)) circuit class CLK (priority 255)
# Стандартные команды трассировки
fanout 5 (max_len 200)(pin_type power)(direction in_out) smart_route
Пример контроля параллельных шумовых наводок:
bestsave on bestsave.w status_file status.sts
#
unit mil
#
grid wire 1 grid via 1
#
rule pcb (max_noise 700)
#
rule pcb (parallel_noise (gap 6) (weight .175)) rule pcb (parallel_noise (gap 8) (weight .125)) rule pcb (parallel_noise (gap 12) (weight .08 ))
#
rule pcb (tandem_noise (gap 0) (weight .2 )) rule pcb (tandem_noise (gap 2) (weight .13)) rule pcb (tandem_noise (gap 4) (weight .07))
#
define (class ECL ecl1 ecl2 ecl3 ecl4 ecl5 ecl6 ecl7 ecl8) rule class ECL (max_noise 600) rule class ECL (parallel_noise (gap 6) (weight .23)) rule class ECL (parallel_noise (gap 8) (weight .14 )) rule class ECL (parallel_noise (gap 12) (weight .9 )) rule class ECL (reorder daisy)
#
define (class TTL ttl1 ttl2 ttl3 ttl4 ttl5 ttl6 ttl7 ttl8) rule class TTL (max_noise 550) rule class TTL (parallel_noise (gap 6) (weight .21)) rule class TTL (parallel_noise (gap 8) (weight .13)) rule class TTL (parallel_noise (gap 12) (weight .8)) rule class TTL (reorder daisy)
#
define (class_class (classes ECL ECL )
(rule (parallel_noise (gap 6) (weight .16))
(parallel_noise (gap 8) (weight .12))
(parallel_noise (gap 12) (weight .9)) ))
#
define (class_class (classes TTL TTL )
(rule (parallel_noise (gap 6) (weight .14))
(parallel_noise (gap 8) (weight .11))
(parallel_noise (gap 12) (weight .7)) ))
#
define (class_class (classes ECL TTL )
(rule (parallel_noise (gap 6) (weight .12))
(parallel_noise (gap 8) (weight .9))
(parallel_noise (gap 12) (weight .6)) ))
#
bus diag
#
route 25 1 clean 2 route 50 16 clean 4
#
write wires final.w write route final.rte report status final.sts
Пример установки правил слоев и длин для дифференциальных пар:
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса
# Стандартные команды трассировки
# Эти команды устанавливают условия работы (окружение) status_file route.sts
unit mil
#Предтрассировочные команды
define (pair (nets CLK1 CLK2 (gap 5)))
define (pair (nets CLK4 CLK5 (gap 7)))
circuit net CLK1 (use_layer INT3)
define (class DIF_PR CLK1 CLK2 CLK4 CLK5)
circuit class DIF_PR (length 6100 6000 (type actual))
rule class DIF_PR (length_amplitude 200))
rule class DIF_PR (length_gap 30)
#Команды трассировки smart_route
Пример установки сравнительной задержки в цепи:
# Строки, начинающиеся знаком '#', являются комментарием
# Команды инициализации процесса
# Эти команды устанавливают условия работы (окружение) status_file route.sts
unit mil
#Предтрассировочные команды
rule class CLK0 (time_length_factor 0.12)
circuit class CLK0 (match_net_delay (tolerance 50))
#Команды трассировки smart_route
Пример размещения компонентов:
unit mil grid place 25
#
place_rule pcb (spacing 125 (type smd_smd) (side both)) place_rule pcb (spacing 150 (type pin_smd)) place_rule pcb (spacing 100 (type pin_pin))
#
place_rule pcb (permit_orient 0) place_rule pcb (permit_side both)
#
lock component U20 U21 Y1 C35 R15 (type position)
unplace all
vset unroutes off
repaint
#
initplace
interchange (type large) 8 swap gates 6 swap subgates 2 swap pins
#
autodiscrete
interchange (type small) 8
#
write session basic.ses
Заключение
Практическая работа с программой Specctra показала высокую эффективность процедур авторазмещения и автотрассировки. При обработке нескольких сотен печатных плат различного типа, таких как ДПП, МПП и объединительных плат больших размеров (габариты таких плат достигают 500x500 мм) и ысокой плотности, при использовании корпусов микросхем, например ALTERA и BGE, практически не возникало случаев неполной трассировки плат. Потенциальным пользователям систем P-CAD 200x можно рекомендовать интенсивное использование системы Specctra. В настоящее время полное справочное руководство по работе с этой системой (на русском языке) имеется в компании «Оркада» w ww.orcada.r u — официального дистрибьютора компании Cadence Design Systems. ■