© CОПЫРИГХТ: Пересказал и положил на свою страницу Дмитрий Иоффе
Этот файл был взят с сайта фирмы "ЭлекТрейд-М". Большое ей спасибо.
Содержание
Вводная часть
Урок 1: изучение основ
Урок 2: расстановка компонентов
Урок 3: трассировка печатной платы
Урок 4: установка правил и управление автотрассировщиком
Урок 5: интерактивная трассировка и редактирование
Все системы проектирования печатных плат (layout system) сохраняют информацию в своих уникальных форматах, но автотрассировщик Specctra (далее - автотрассировщик) сохраняет проекты в одном своём формате. Все файлы, которые может читать или записывать автотрассировщик - это текстовые файлы. Они приведены в следующей таблице:
Тип файла | Расширение | Описание |
Проект | .DSN | Создаётся при трансляции проекта из системы проектирования печатных плат. Содержит информацию о границах платы, определения слоёв и стеков контактных площадок, данные компонентов, список цепей, предварительную разводку и правила проектирования. |
Сессия | .SES | Создаётся автотрассировщиком. Содержит указатель на исходный файл проекта, данные о расстановке и трассировке, информацию о секциях компонентов (gate), подсекциях, выводах и терминаторах. |
Трассы (routes) | .RTE | Создаётся автотрассировщиком. Содержит данные, которые могут быть переданы в вашу систему проектирования печатных плат и прочитаны автотрассировщиком. |
Цепи (wires) | .W | Создаётся автотрассировщиком. Содержит данные о трассировке, которые могут быть прочитаны только автотрассировщиком. |
Для некоторых систем проектирования печатных плат требуются промежуточные текстовые файлы для обмена данными с автотрассировщиком. Другие системы читают и записывают файлы автотрассировщика непосредственно.
Файл проекта автотрассировки (autorouting design file) - это текстовый файл, который содержит информацию, необходимую для представления печатной платы в автотрассировщике. Границы платы, слои, компоненты, контактные площадки, цепи, предварительная разводка (preroutes) представлены в файле проекта в пяти секциях. Эти секции описаны в следующей таблице:
Секция файла проекта | Содержание секции |
Структура (structure) | Единицы измерения, определения слоёв, границы платы, слои питания (power planes), правила для областей (region rules), запрещённые области (keepouts), идентификаторы переходных отверстий, глобальные цепи, определения сеток. |
Расстановка (placement) | Описания компонентов, каждое из которых содержит имя образа (image), позиционное обозначение, координаты, сторону платы и угол поворота. |
Библиотека (library) | Определения образов, которые включают имена и расположения выводов, определения выводов и стеков контактных площадок. |
Схема (network) | Список цепей (имена цепей и списки выводов), определения классов, междуклассовые определения (class to class definitions), определения групп, дифференциальных пар и правила для цепей, классов или групп. |
Разводка (wiring) | Информация о предварительной разводке. |
Так как файл проекта автотрассировки - это текстовый файл, Вы можете просмотреть его в окне отчёта, используя команду Report > Design, или в текстовом редакторе.
Предостережение: не редактируйте файл проекта в текстовом редакторе. Большинство трансляторов используют файл проекта для того, чтобы объединять данные трассировки с исходным проектом системы подготовки печатных плат. Если Вы измените файл проекта и он потеряет синхронизацию с этим исходным проектом, то передача данных трассировки в систему подготовки печатных плат не удастся. Если Вам надо внести изменения в проект, сделайте это в Вашей системе подготовки печатных плат и оттранслируйте исправленный проект в файл проекта автотрассировки.
Используя текстовый редактор, Вы можете искать ключевые слова.
Замечание. В Windows Вы не сможете просмотреть файл проекта в текстовом редакторе, пока файл загружен в автотрассировщике. Вы можете скопировать и переименовать файл проекта и затем просмотреть его.
Автотрассировщик Specctra отличается от традиционных сеточных (grid-mapped) систем, потому что он работает с истинными формами выводов, контактных площадок, цепей и переходных отверстий. Сеточные системы определяют эти формы как точки сетки. Каждый вывод, контактная площадка, цепь и переходное отверстие определены в терминах точек сетки, которые они занимают.
На следующем рисунке показана основная разница между ShapeBased и сеточными системами.
Чтобы моделировать форму, Specctra использует только размеры |
Сеточная система аппроксимирует форму |
Сеточное моделирование приводит к потерям площади платы, увеличивает расход памяти и дискового пространства. При ShapeBased подходе память требуется только для хранения форм, а не точек. Следующий рисунок иллюстрирует разницу между требованиями к памяти для ShapeBased и сеточной технологий.
Сеточной системе требуется 78 точек сетки для моделирования 12 форм. ShapeBased система хранит только 12 форм.
Другим преимуществом ShapeBased технологии является поддержка сложных правил проектирования. Каждая форма в каждом слое получает свой уникальный набор правил. Это означает, что Вы можете выполнять большинство сложных требований проекта, не прибегая к трюкам во время расстановки и трассировки.
Что Вы будете изучать
На этом уроке объясняется, как пользоваться интерфейсом автотрассировщика и как выполнять основные задачи. Вы узнаете, как:
На выполнение этого урока понадобится около 45 минут.
Когда Вы запускаете автотрассировщик, Вы должны загрузить файл проекта. Это текстовый файл, который содержит информацию о печатной плате, необходимую автотрассировщику.
Замечание. Вы можете запускать автотрассировщик, используя файл сеанса (session), который связывает данные трассировки и расстановки с файлом проекта. О файлах сеанса будет рассказано ниже.
Запуск автотрассировщика с использованием диалогового окна Startup
Введите имя файла в поле Design/Session File или выберите файл, нажав на кнопку Browse.
Автотрассировщик запустится и загрузит проект.
Примечание пересказчика: а ещё Specctra отлично запускается двойным щелчком по нужному файлу SES или DSN. Только DSN надо вручную ассоциировать со Specctra. Можно и два экземпляра Specctra сразу запустить, чтобы просмотреть два разных варианта. (Разводить сразу два варианта я не предлагаю :-)
Вот, кстати, пример командной строки, чтобы ассоциировать файлы SES и DSN в FARе. Здесь у файла do то же имя, что и у проекта:
C:\Padspwr\SPECCTRA\bin\specctra.exe !.! -do !.do
Вы можете управлять автотрассировщиком:
Использование графического пользовательского интерфейса (GUI)
На этом рисунке показан GUI для режима трассировки. Для режима расстановки есть некоторые отличия. Трассировка - это режим по умолчанию, который Вы видите после старта автотрассировщика. Чтобы переключиться в режим расстановки, щёлкните по кнопке Place .
Чтобы переключиться обратно в режим трассировки, надо щёлкнуть по кнопке Route .
Использование GUI для автоматической трассировки печатной платы
Эта инструкция означает: наведите указатель мыши на пункт Autoroute в полосе меню, щёлкните левой кнопкой мыши и из в выпавшем списке щёлкните по Route.
Откроется диалоговое окно AutoRoute.
Опция Smart использует команду smart_route. Эта опция анализирует проект, выполняет вычисления, запускает автотрассировщик и продолжает выполнять проходы трассировки до тех пор, пока не будут разведены все соединения или дальнейшее улучшение станет невозможно.
Автотрассировщик начнёт трассировку проекта. Появится кнопка Pause.
Пока проект разводится, кнопка Pause видна в области управления. Вы можете её использовать, чтобы приостановить или остановить smart_route. Когда выполнение команды smart_route завершится, кнопка Pause будет заменена на Idle.
Замечание. Вы можете получить сообщение, предупреждающее, что проект может разводиться медленно, и наблюдать файл состояния. Щёлкните по OK, чтобы закрыть окно сообщения.
Также может появиться сообщение о возможности сократить слои. Smart_route определяет, когда это возможно. Вы можете принять это предложение и сократить слои трассировки. Нажмите OK, чтобы закрыть окно сообщения.
Информация в окне Output включает номер версии и результаты трассировки. При появлениии сообщений с предупреждениями или об ошибках они также протоколируются в этом окне.
Автотрассировщик протоколирует Ваш сеанс работы в окне Output, если Вы не перенаправили вывод в файл. Кроме того, в файле состояния (status file) протоколируется каждая команда трассировки и результаты каждого прохода. Файл состояния полезен для документирования хода сеанса и наблюдения за результатами трассировки. В следующей процедуре показан отчёт о состоянии трассировки (Routing Status Report) и поиск информации.
Можно увеличивать нужную область проекта, используя среднюю кнопку мыши. Для этого надо перетаскивать указатель по диагонали из левого нижнего в правый верхний угол интересующей области. При перетаскивании указателя автотрассировщик динамически изменяет увеличение.
Примечание переводчика: можно и из правого нижнего в левый верхний, главное - чтобы снизу вверх по диагонали.
Можно уменьшать изображение, перетаскивая указатель по диагонали из верхнего правого угла в левый нижний.
Если перетащить указатель горизонтально, автотрассировщик впишет весь проект в окно. Кроме того, можно вписать в окно весь проект, щёлкнув по кнопке View All на панели инструментов.
Можно перемещаться по изображению, щёлкая средней кнопкой мыши по той точке, которую Вы хотите поместить в центр экрана.
Если у Вас трёхкнопочная мышь, Вы можете использовать среднюю кнопку для увеличения и перемещения. Если у Вас мышь двухкнопочная, надо удерживать нажатой клавишу {Alt} и использовать для увеличения и перемещения правую кнопку мыши.
Замечание. Вы также можете использовать команды меню View > Zoom In для увеличения и View > Zoom Out для уменьшения.
Левая кнопка мыши может выполнять множество функций. Каждая функция разрешается установкой соответствующего режима. Текущий режим левой кнопки отображается в области состояния (mode status area) рядом с изображением мыши, как показано на рисунке.
На этом рисунке видно, что текущим режимом является режим измерения (Measure).
Замечание. При работе с инструментами мышь всегда находится в каком-нибудь режиме. Если выполняемое действие не приводит к ожидаемому результату, проверьте, какой режим отображается в области состояния.По умолчанию режим левой кнопки - измерение. Когда Вы щёлкаете по точке в рабочей области, координаты X и Y отображаются в области координат и в окне вывода. Кроме того, при щелчке появляется диалоговое окно Measure,
в котором также можно увидеть координаты. В режиме измерения Вы можете использовать левую кнопку мыши, чтобы:
Результаты измерений и информация об объектах проекта отображаются в окне вывода Output, диалоговом поле Measure и в полосе состояния рядом с символом (дельта). Измеренное расстояние отображается в текущих единицах измерения.
Для перехода в режим измерения надо щёлкнуть по кнопке на панели инструментов.
Типы информации, которую Вы можете получить о разных объектах из диалогового поля Measure и окна Output, приводятся в следующей таблице:
Когда Вы щёлкаете по объекту, | Вы получаете эту информацию |
Компонент | Координаты указателя X и Y Текущие единицы измерения Габариты компонента (по описывающему прямоугольнику) Слой расположения Позиционное обозначение Имя образа Координаты X и Y в рабочих единицах Координаты X и Y в DBU Угол поворота в градусах |
Вывод SMD | Координаты указателя X и Y Текущие единицы измерения Описывающий прямоугольник для вывода и слой, в котором он расположен Позиционное обозначение и имя образа компонента Положение компонента (в рабочих единицах и DBU) Сторона расположения и угол поворота компонента Имя стека контактной площадки (padstack) для вывода Описание формы контактной площадки и её слой Идентификатор вывода компонента Имя подключённой цепи |
Сквозной вывод | Координаты указателя X и Y Текущие единицы измерения Описывающий прямоугольник для вывода Позиционное обозначение и имя образа компонента Положение компонента X и Y (в рабочих единицах и DBU) Слой расположения компонента Идентификатор вывода Идентификатор стека контактной площадки для вывода Описания форм стека контактной площадки по слоям, включая размеры Имя подключённой цепи |
Переходное отверстие | Координаты указателя X и Y Текущие единицы измерения Идентификатор контактной площадки для переходного отверстия Описания форм стека контактной площадки по слоям, включая размеры Имя подключённой цепи Координаты пути цепи Ширина и слои расположения сегментов подключённой цепи |
Сегмент цепи | Координаты указателя X и Y Текущие единицы измерения Координаты пути Ширина и слой сегмента Имя подключённой цепи |
Замечание. Кнопка Setup в диалоговом окне Measure открывает диалоговое окно Interactive Routing Setup. Здесь Вы можете щёлкнуть по закладке Measure и установить, какая информация будет появляться в окне Measure или окне Output, или в них обоих.
Перед окончанием сеанса автотрассировки Вы можете сохранить Вашу работу в файле сеанса, файле расстановки или файле трассировки. В следующей таблице показана разница между этими файлами.
Файл сеанса (session file) | Файл расстановки (placement file) | Файл трассировки (routes file) |
Содержит данные расстановки и трассировки и указатель на оргигинальный файл проекта. После создания файла сеанса Вы можете запустить автотрассировщик и загрузить файл сеанса вместо оригинального файла проекта. Когда автотрассировщик читает файл сеанса, он загружает оригинальный файл проекта и данные трассировки и расстановки из файла сеанса. | Содержит только данные расстановки. Когда Вы запускаете автотрассировщик и загружаете файл расстановки, Вы должны указать оригинальный файл проекта. | Содержит только данные трассировки. Когда Вы запускаете автотрассировщик и загружаете файл трассировки, Вы должны указать оригинальный файл проекта. |
Может быть загружен только при старте автотрассировщика. | Может быть загружен как при старте автотрассировщика, так и позднее. | Может быть загружен как при старте автотрассировщика, так и позднее. |
Может быть использован во всех системах проектирования печатных плат для ввода данных автоматической расстановки и трассировки в проект. | Может быть использован в большинстве систем проектирования печатных плат для ввода данных автоматической расстановки в проект. | Может быть использован в большинстве систем проектирования печатных плат для ввода данных трассировки в проект. |
Связывает данные исходного проекта с данными конкретного сеанса. Файл сеанса полезен для управления версиями проекта. | . | . |
Сохранение Вашей работы и выход из автотрассировщика
Это означает, что будет сохранён DID файл, созданный во время текущего сеанса. Он содержит историю команд сеанса работы автотрассировщика. Потом Вы сможете его просмотреть.
Автотрассировщик сохранит информацию о трассировке в файле сеанса и закончит работу. Вы воспользуетесь этим файлом в следующей части этого урока.
Автотрассировщик создаёт файл истории команд для каждого сеанса. Этот файл называется did файлом.
Под Windows имя файла состоит из восьми сиволов, показывающих месяц, день, час и минуту запуска сеанса автотрассировки. Например, файл для сеанса, запущенного 15 июня в 11:45, будет назван 06151145.did.
При каждом запуске автотрассировщика создаётся новый did файл. Файл состояния, did файл и файл сеанса вместе содержат состояние трассировки, протокол команд и данные трассировки для сеанса работы.
В уроке 3 будет показано, как использовать did файл для захвата команд GUI и создания командного файла (do файла), который можно запускать из автотрассировщика.
На этом уроке Вы узнаете, как пользоваться инструментами для интерактивной и автоматической расстановки. Урок содержит следующее:
На этот урок потребуется около 60 минут.
Замечание: для выполнения этого урока Вам понадобится лицензия на расстановку (placement license).
Расстановка компонентов состоит из четырёх основных этапов.
На первом этапе Вы устанавливаете правила расстановки. И при автоматической, и при ручной расстановке проект проверяется на соблюдение правил.
На втором этапе разъёмы и другие компоненты, критичные к расположению, предварительно устанавливаются и фиксируются при помощи инструмента интерактивной расстановки.
На третьем и четвёртом этапах компоненты расставляются и их положение оптимизируется для уменьшения манхэттенской длины и пересечений. Сначала расставляются большие компоненты, а потом маленькие.
Автотрассировщик поддерживает всеобъемлющий набор правил расстановки. Основные правила управляют зазором между компонентами, ориентацией компонентов и сторонами, на которых автотрассировщик расставляет компоненты. Более продвинутые правила управляют расстановкой, исходя из рассеиваемой мощности, питания и высоты компонентов. На этом уроке будут рассмотрены основные правила. Информацию о продвинутых правилах можно найти во встроенной справочной системе.
Правила расстановки могут быть заданы на разных уровнях и, следовательно, образована иерархия. Правила верхнего уровня иерархии перекрывают правила нижнего уровня, установленные для этого же физического объекта. Например, предположим, что вы установили глобальный (для всей платы) зазор 0,25 дюйма для всех компонентов и зазор 0,8 дюйма для одного разъёма. Автотрассировщик следует правилу 0,8 дюйма только в области вокруг разъёма. Вокруг остальных компонентов применяется правило 0,25 дюйма. Правила для зазоров уровня компонентов перекрывают правила для зазоров уровня платы.
В следующей таблице показаны уровни иерархии, на которых Вы можете устанавливать правила, и порядок приоритетов для всех уровней правил расстановки. Глобальные правила расстановки (правила для платы) имеют наименьший приоритет, а правила образ-образ имеют наивысший приоритет.
Уровень правила | Что делается |
Образ-образ (image_image) | Устанавливает правила между образами. Образ - это определение посадочного места компонента. Это правило с наивысшим приоритетом. |
Семейство-семейство (family_family) | Устанавливает правила между семействами. Семейство - это группа образов. |
Набор образов комнаты (room_image_set) | Устанавливает правила для набора образов (image_set), объединённых в комнату. |
Комната (room) | Устанавливает правила для комнаты, то есть области проекта, в которой автотрассировщик расставляет заданные компоненты. |
Супер кластер (super cluster) | Устанавливает правила для супер кластера - группы компонентов, которая рассматривается как один компонент. |
Компонент (component) | Устанавливает правила для компонентов. Компонент - это экземпляр образа. |
Образ (image) | Устанавливает правила для образов, которые определяются как посадочные места компонентов. Образ - это определение посадочного места компонента. |
Набор образов (image_set) | Устанавливает правила для компонентов с одним типом свойств. Типы свойств могут быть: большой (large), маленький (small), конденсатор (capacitor) или дискретный (discrete). |
Плата (pcb) | Устанавливает глобальные правила для всех компонентов проекта. Это правила с наименьшим приоритетом. |
Порядок приоритетов зафиксирован в автотрассировщике и не может быть изменён.
В диалоговом окне Placement Setup Вы можете установить сетку расстановки и правила для зазоров.
Автотрассировщику не нужно, чтобы Вы задали сетку для автоматической расстановки, но, если правила проекта или изготовителя требуют наличия сетки, Вы можете установить её для всех компонентов (SMD и со сквозными отверстиями) в диалоге Placement Setup.
Обратите внимание: Вы можете задавать отдельные сетки для компонентов SMD и со сквозными отверстиями, используя Rules > PCB > Placement Grids.
Кроме того, в этом диалоге Вы можете установить правило зазоров (spacing rule) для всей платы. Оно устанавливает минимальное расстояние между компонентами для проекта. Правила для других уровней устанавливаются через меню Rules. В следующем примере показано, как установить для платы зазор 0,05 дюйма.
Сначала, когда Вы запускаете автотрассировщик, Вы находитесь в режиме трассировки (Routing mode). Меню и строка состояния имеют вид, специфический для автотрассировки. Вам надо перейти в режим расстановки (Placement mode).
Обратите внимание, что флажок Checking в правой части области состояния установлен. При этом производится проверка соблюдения правил во время интерактивной расстановки, и при нарушении правил установка или перемещение компонента не допускается. Если вы хотите установить компонент с нарушением, выключите Checking.
После задания правил можно расставлять разъёмы и критичные компоненты. На этом этапе Вы будете:
В центре каждого компонента появится позиционное обозначение.
Через меню Interactive Place автотрассировщик предлагает множество способов интерактивной расстановки компонентов. Вы можете установить один компонент, список компонентов и множество компонентов. Вы можете устанавливать компоненты в заданные координаты X и Y, в точку рабочей области, по которой Вы щёлкаете мышью, или основываясь на соединениях.
Меню Interactive Place появляется, когда Вы щёлкаете правой кнопкой мыши в рабочей области.
Используя режим Place List, Вы можете составить список компонентов и затем расставить их в заданном Вами порядке. Первый компонент из списка прицепится к указателю мыши. Перетащите компонент в желаемое место и щёлкните левой кнопкой мыши, чтобы установить его. После этого к указателю мыши прицепится следующий компонент из списка, и его можно установить аналогично. Этот процесс повторяется до тех пор, пока не будут установлены все компоненты из списка.
c1 c2 c3 c4
Обратите внимание: убедитесь, что между всеми позиционными обозначениями есть пробелы.
Обратите внимание: если Вам не понравилось место, на которое Вы поставили компонент, и Вы хотите переместить его, нажмите правую кнопку мыши и выберите Move Component. Щёлкните по компоненту, перетащите его на новое место и щёлкните, чтобы установить его там.
После расстановки критических компонентов Вам надо зафиксировать (lock) их положение, чтобы автотрассировщик не мог переставить их во время автоматической или интерактивной расстановки. Если потом Вам понадобится их переставить, Вы сможете отменить фиксацию, переставить их и снова зафиксировать.
Порядок фиксации:
Обратите внимание: вы можете отменить фиксацию, пока Вы находитесь в режиме Lock Position. Для этого надо щёлкнуть по каждому зафиксированному компоненту или охватить рамкой компоненты. Вы также можете использовать пункты меню Edit > [Un]Lock Components и Edit > [Un]Lock Components Mode, чтобы зафиксировать компоненты или отменить фиксацию.
Автотрассировщик назначает свойства "большой" или "маленький", исходя из количества выводов. Большой компонент имеет не менее четырёх выводов. У маленького компонента три и менее выводов. Автотрассировщик обычно первыми расставляет большие компоненты со многими связями.
В этом разделе Вы будете:
Перед автоматической расстановкой больших компонентов Вам надо обеспечить пространство для трассировки вокруг разъёмов. Чтобы сделать это, Вы должны задать вокруг каждого разъёма область, в которой автотрассировщик не может расставлять компоненты. Эти области называются запретными для расстановки областями (placement keepout areas).
Обратите внимание: Чтобы создать запрещённые области путём ввода координат, используйте Define > Keepout > By Coordinates.
Сначала расставьте микросхемы и прочие большие компоненты, используя диалог InitPlace Large Components. Используйте этот диалог для управления предпочтительными расстояниями между компонентами, стороной установки и ориентацией компонентов.
Эти предпочтения не есть правила. Этим предпочтениям следуют, если это не приводит к нарушению правил расстановки.
Автотрассировщик расставит большие компоненты.
После первоначальной расстановки компоненты можно переставить для уменьшения манхэттенской длины, количества пересечений и плотности.
Эта операция иногда называется попарной перестановкой, потому что за один приём меняются местами два компонента. Целью перестановки является расставить компоненты максимально близко для уменьшения длины цепей.
Несколько проходов перестановки обычно дают лучшие результаты. Используйте восемь или более проходов. Если очередной проход не улучшает взвешенную манхэттенскую длину по сравнению с предыдущим проходом, операция перестановки прекращается и оставшиеся проходы пропускаются. Вы можете использовать отчёт о состоянии расстановки для сравнения манхэттенской длины до и после проходов перестановки.
Вы можете выровнять компоненты, используя режим Align Comp. В этом режиме Вы сначала выбираете компоненты, которые надо переставить, а затем выбираете опорный компонент, по которому будет производиться выравнивание.
Если флажок Checking установлен и выравнивание приведёт к нарушению правил, автотрассировщик не выравняет компоненты. Если Вы хотите игнорировать правила, снимите этот флажок.
Обратите внимание: автотрассировщик использует для выравнивания опорные точки компонентов. В предыдущем примере для выравнивания использовался верхний левый вывод опорного компонента, как было установлено по умолчанию. Вы можете изменить эту опорную точку, используя диалог Placement Setup.
Вы можете расставлять маленькие компоненты, используя Autoplace > InitPlace Small Components. Для установки развязывающих конденсаторов можно использовать следующий метод.
Автотрассировщик можно научить использовать шаблон компонента, включающий сторону установки, расположение и ориентацию маленького компонента относительно большого. Автотрассировщик применит этот шаблон для расстановки других экземпляров образа маленького компонента относительно других экземпляров образа большого компонента.
В этом разделе мы расставим конденсаторы, обучая автотрассировщик шаблонам компонентов и применяя их. Мы пройдём следующие этапы:
Теперь, когда видны выводы питания, Вы можете переставить C5 (на нижней стороне платы) так, чтобы его подключённый к питанию вывод оказался под выводом питания U1 (на верхней стороне платы).
Удобный способ установки компонента - использование режима Move Comp. Когда Вы щёлкаете по кмопоненту в этом режиме, отображается позиционное обозначение компонента. При перемещении указателя за ним следует призрак компонента. Следующий щелчок устанавливает компонент на место под указателем.
Вам понадобится отобразить позиционные обозначения, которые появляются в центрах компонентов.
Обратите внимание: после того, как компонент прицеплен к указателю и перемещается вместе с ним, Вы можете вернуть компонент на место, нажав на правую кнопку мыши и выбрав Cancel
Теперь можно научить автотрассировщик шаблону расположения маленького компонента (C5) относительно большого (U1). Автотрассировщик изучит ориентацию, расположение и сторону установки маленького компонента относительно большого и затем расставит другие экземпляры образа конденсатора согласно этому шаблону относительно других экземпляров образа SOIC.
Аналогично можно расставить C9, C10, C11 и C12 относительно U5, U6, U7 и U8.
Когда Вы будете удовлетворены результатами расстановки, сохраните Вашу работу. Вы можете сохранить её в файле расстановки (placement file) или в файле сеанса (session file). Если Вы сохраняете файл расстановки, Вы можете перезагрузить этот файл в начале сеанса или в любой момент сеанса. Использовать файл расстановки полезно, если Вы хотите попробовать несколько вариантов расстановки и затем выбрать лучший. Файл расстановки создаётся командой File > Write > Placement.
Если Вы создадите файл сеанса, то его можно будет загрузить только в момент запуска автотрассировщика. Файл сеанса содержит ссылку на исходный файл проекта и детализированные расстановку, топологию (floorplan), перестановки вентилей, список цепей и данные трассировки. Вы можете выйти из автотрассировщика и создать файл сеанса в следующей процедуре.
На этот урок уйдёт около 90 минут.
Автотрассировщик Specctra работает не так, как другие системы. Он разрешает конфликты пересечений (crossing) и зазоров (clearance) на определённых этапах трассировки. Эти конфликты показаны на следующем рисунке.
На первом проходе автотрассировщик разрешает конфликты так, чтобы развести каждое соединение. После первого прохода стоимость создания этих конфликтов увеличивается с каждым проходом.
Во время первых пяти проходов трассировки все соединения разрываются и переразводятся. После первых пяти проходов стратегия изменяется, и разрываются и переразводятся только те цепи, которые участвуют в конфликтах.
Такая адаптивная автотрассировка использует разные функции автотрассировки и требует многих проходов. Очень важной частью работы является выбор: какие команды трассировки надо использовать и когда.
Во время урока 1 для разводки проекта Вы использовали команду smart_route. Эта команда использует четыре основных команды трассировки, которые Вы можете использовать по отдельности. Эти команды описаны в следующей таблице.
Команда | Что она делает |
bus | Разводит выводы с одинаковыми координатами X или Y. Эта команда полезна для переразводки микросхем памяти, соединительных шин и других выводов с одинаковыми координатами X или Y. |
fanout | Добавляет стрингеры (fanout) к контактным площадкам SMD и сквозным выводам. |
route | Разводит с конфликтами, и после первых пяти проходов переразводит только соединения, участвующие в конфликтах. При необходимости добавляет переходные отверстия к контактным площадкам SMD. |
clean | Разрывает и переразводит все соединения. Добавление новых конфликтов запрещено. |
Обратите внимание: Smart_route также использует команды if, then и else с системными переменными, чтобы оптимизировать трассировку.
Обратите внимание: есть другой способ выйти из автотрассировщика без сохранения файла сеанса - ввести quit в командной строке. При использовании этого метода did файл не удаляется.
Каждая из основных команд автотрассировки служит для определённой цели и используется на определённой фазе сеанса автотрассировки. Существуют следующие фазы автотрассировки:
Команды предварительной трассировки, как подсказывает их название, выполняются перед командами трассировки и очистки. Командами предварительной трассировки являются команды bus и fanout.
Команда bus разводит связи между выводами, имеющими одинаковую координату X или Y и подключённые к одной и той же цепи. Это простые соединения, они разводятся быстро и используют минимум пространства. Команда bus используется в начале сеанса автотрассировки, до применения других основных команд. На следующем рисунке показан результат выполнения команды bus при включённой опции диагональной трассировки.
Команда fanout трассирует короткие отрезки цепей с переходными отверстиями (стрингеры) от площадок SMD и сквозных выводов, помеченных для обработки. Эта команда добавляет переходные отверстия, к которым автотрассировщик моет подключиться вместо подключения непосредственно к площадке или выводу. Для выводов питания это подключение к развязывающим конденсаторам, Вы можете управлять порядком создания стрингеров при помощи правила power_fanout. Вы можете выбрать, к чему Вы хотите сначала подключить короткий проводник: к переходному отверстию или к развязывающему конденсатору.
Команда fanout должна следовать за командой bus, но предшествовать команде трассировки. Вы можете использовать до пяти проходов создания стрингеров. Используйте несколько проходов создания стрингеров с разрешённым разделением переходных отверстий и выводов (via and pin sharing enabled) для оптимизации подключения SMD.
Команды общей автотрассировки - это route (трассировка) и clean (очистка). Эти команды могут разводить и переразводить все соединения в проекте, кроме тех, которые разведены командой bus.
Команда route использует стоимости (costs) для управления ресурсами. Эти стоимости управляют количеством переходных отверстий на соединение, количеством конфликтов на соединение и длиной участка цепи, который может быть проложен на определённом слое в неправильном направлении. Автотрассировщик динамически изменяет эти стоимости раз в несколько проходов, исходя из истории трассировки и текущих условий прокладки цепей. На следующем рисунке показано, как примерно изменяются стоимости в течение 25 проходов трассировки.
Так как стоимости изменяются в течение серии проходов трассировки, Вы должны задать достаточное число проходов. После пяти проходов переразводятся только соединения, участвующие в конфликтах. Если прокладка цепей завершается до использования всех проходов, оставшиеся проходы пропускаются.
Команда clean работает не так, как команда route. Эта команда разрывает и переразводит все соединения (исключая те, которые разведены командами bus и fanout), а не только соединения, участвующие в конфликтах.
Команда clean обычно применяется через 2 - 4 прохода и всегда должна следовать за серией проходов трассировки. Так как clean разрывает и переразводит все соединения, пытается переразвести их, используя разные пути, и не должна добавлять новых конфликтов, она обычно завершает больше соединений, уменьшает длину трасс и количество конфликтов.
Обычная последовательность основных команд автотрассировки выглядит так:
bus diagonal fanout 5 route 25 clean 2 route 50 16 clean 4
Во время проходов очистки стоимости переходных отверстий и неправильных путей трассировки выше. Это улучшает качество трассировки после каждого прохода очистки.
Обратите внимание: в конце обычной последовательности основных команд автотрассировки включены четыре прохода очистки. Всегда используйте не менее четырёх проходов очистки после завершения трассировки.
Команда smart_route (находчивая (нахальная?) трассировка) устанавливает сетки цепей и переходных отверстий, выполняет трассировку шин и стрингеров и запускает серию проходов трассировки и очистки до полного завершения разводки.
Одна команда smart_route может заменить четыре основные команды автотрассировки, потому что она сочетает в себе команды bus, fanout, route и clean. Четыре основные команды используются вместо smart_route, если между проходами bus, fanout, route или clean должны изменяться правила или между этими командами требутся другие.
Когда работает команда smart_route, автотрассировщик отображает и анализирует ход трассировки. Если он обнаруживает в проекте проблемы, появляются предупреждения или сообщения об ошибках. Если автотрассировщик достигает точки, в которой дальнейшее улучшение маловероятно, он переключается на другой метод и завершает как можно больше соединений без конфликтов.
Команда smart_route может помочь в оптимизации проекта. Например, она может сообщить, что количество слоёв можно уменьшить.
Команды окончательной трассировки совершенствуют прокладку цепей и добавляют контрольные точки (test points) после завершения трассировки. Это команды spread, miter, testpoint и recorner. В следующей таблице приводится краткое описание этих команд.
Команда | Что она делает |
---|---|
spread (растяжка) | Добавляет дополнительные зазоры между цепями |
testpoint | Добавляет контрольные точки |
miter | Заменяет углы в 90 ° на диагонали под 45 °, используя величины range of setback |
recorner | Заменяет углы в 90 ° на диагонали под 45 ° |
Все команду окончательной трассировки, кроме recorner, являются DFM опциями. Изучение DFM опций выходит за рамки этого руководства. Более подробную информацию об использовании команд spread, miter и testpoint см. во встроенной справке.
Когда Вы используете команду recorner, Вы должны включить тип угла и величину setback. Например, следующая команда изменяет неудачный путь цепей (уклон, slant) на диагональ 45 °, если этот уклон имеет длину не менее одного дюйма:
recorner slant 1
Простейший путь заменить все углы в 90 ° на диагонали под 45 ° - это использование recorner diagonal с тремя величинами setback. Вот пример использования этой команды:
unit inch recorner diagonal 1 1 1
В этом примере три значения setback заменяют углы в 90 °, удовлетворяющие критерию одного дюйма, на диагонали под углом 45 °.
Recorner - это итеративная команда. Если не менее одного угла в проекте заменено на диагональ, то производятся попытки заменить все остальные углы. Этот процесс продолжается, пока есть что заменять.
Наибольшего успеха можно достичь, если использовать последовательность команд recorner с уменьшающимися значениями величин setback.
Автотрассировщик поддерживает множество правил трассировки. Они могут устанавливаться на множестве уровней. Уровни правил трассировки перечислены от наивысшего к низшему в следующей таблице.
Уровень правила | Что он делает |
---|---|
region class to class | Устанавливает правила, применяемые между классами цепей, когда цепи прокладываются в определённой области. |
region net | Устанавливает правила, применяемые для цепей в области |
region class | Устанавливает правила, применяемые для класса цепей в области |
region | Устанавливает правила для области платы |
padstack | Устанавливает правила зазоров для переходных площадок |
class to class layer | Устанавливает правила, которые применяются между классами цепей, когда цепи трассируются в заданных слоях |
class to class | Устанавливает правила, которые применяются между цепями, выводами и переходными отверстиями для одного или более класса цепей |
fromto layer *) | Устанавливает правила, которые применяются к соединениям fromto, если они трассируются в отдельном слое |
fromto | Устанавливает правила для соединений fromto между выводами |
group layer | Устанавливает правила, которые применяются к группам соединений fromto, которые разводятся в отдельном слое |
group | Устанавливает правила для группы соединений fromto |
net layer | Устанавливает правила, которые применяются к цепям, если они разводятся в отдельном слое |
net | Устанавливает правила для цепей |
group set layer | Устанавливает правила, которые применяются к набору групп, когда они разводятся в отдельном слое |
group set | Устанавливает правила, которые применяются к набору групп |
class layer | Устанавливает правила, которые применяются к классу цепей, если цепи разводятся в отдельном слое |
class | Устанавливает правила, которые применяются к классу цепей |
layer | Устанавливает правила, которые применяются к цепям, которые разводятся в отдельном слое |
pcb | Устанавливает глобальные правила для всех цепей проекта. Это самый нижний уровень. |
*)Fromto - это соединение "от и до". Не знаю, как это можно перевести на русский язык покороче, поэтому оставлю без перевода.
Уровни правил, описанные в предыдущей таблице, образуют иерархию. Правила более высокого уровня всегда перекрывают правила более низкого уровня, установленные для этого же физического объекта.
Порядок уровней зафиксирован в автотрассировщике и не может быть изменён.
Вы можете устанавливать правила для ширины и зазора на разных уровнях иерархии и для разных объектов. Типы объектов, поддерживаемые автотрассировщиком, описаны в следующей таблице.
Тип объекта | Что означает |
---|---|
area | Запретные области и границы плат |
pad | Контактные площадки SMD |
pin | Сквозные выводы |
via | Переходы между слоями |
wire | Медные трассы |
Два типа объектов, разделённых знаком подчёркивания, означают правило, применяемое между объектами. Например, wire_smd используется для набора правил между цепями и контактными площадками SMD.
Есть три способа управления автотрассировщиком. Вы можете:
До сих пор мы использовали первые два метода. А предпочтительный метод - использование do файла. Do файл - это текстовый файл, который содержит одну или больше команд автотрассировки. Каждая команда занимает отдельную строку в do файле. Команды организуются от начала к концу файла в том порядке, в котором Вы хотите их выполнять.
Do файл пригоден также и для другой цели. В него можно записывать правила и команды, которые Вы используете во время сеанса автотрассировки. Если Вам надо внести изменения в законченный проект, Вы можете отредактировать исходный do файл и снова запустить его.
Вы начинаете работу с базового do файла, который содержит команды, выполняющие следующие функции:
Базовый do файл (basic.do) можно найти среди учебных файлов. Ниже приводится листинг его команд. Правила width и clearance не являются типовыми, а приведены для примера.
bestsave on $\best.wir status_file $\route.sts unit mil rule pcb (clearance 7 (type wire_wire)) rule pcb (width 7) smart_route write routes $\final.rte report status $\final.sts
Обратите внимание: запись $\ означает путь к файлу. Когда Вы хотите записать файл отчёта или данных в тот же каталог, где расположены файлы проекта, используйте эту запись. На платформе Unix вместо символа \ надо использовать /.
Часто не нужно включать в do файл правила для ширины и зазоров, потому что они транслируются из системы проектирования печатных плат и содержатся в файле проекта. Если Вы хотите перекрыть правила, установленные в системе проектирования плат или применить другие правила, добавьте Ваши правила в do файл. Убедитесь, что эти правила предшествуют всем командам трассировки.
Обратите внимание: если в do файле есть синтаксическая ошибка, его выполнение останавливается и в окне Output появляется сообщение об ошибке.
Do файл можно создавать в любом текстовом редакторе. Во время обучения можно использовать встроенный Rules Did File editor для запоминания и редактирования синтаксически правильных команд. Этот редактор записывает команды, которые Вы подаёте через GUI. Вы можете выбирать типы команд, которые будут записываться, и редактировать записанные команды.
Обратите внимание: по умолчанию, когда эта галка установлена, автотрассировщик записывает только команды установки правил. Снимите её, чтобы записывать и другие команды. После закрытия диалога действие этой установки сохранится.
Далее мы используем команду File > Bestsave, чтобы сохранять разведённые цепи в конце прохода, если результаты трассировки улучшились по сравнению с предыдущим проходом.
Теперь можно отредактировать do файл в Rules Did File editor.
Обратите внимание: символ фунта (#) предшествует комментарию. Автотрассировщик игнорирует комментарии в do файле.
Здесь мы узнаем, как использовать отчёт о состоянии для наблюдения за ходом автотрассировки и определять, когда и как корректировать Вашу стратегию.
Команда smart_route использует для анализа прогресса автотрассировки ту же самую информацию, которая записывается в отчёт о состоянии. Прогресс оценивается по уменьшению количества неудач (failure), неразведённых связей (unroutes) и конфликтов (conflict) от прохода к проходу. Эти термины объясняются в следующей таблице.
Термин | Что он означает |
---|---|
conflict | Конфликты бывают двух типов. Конфликт пересечения (crossing) происходит, когда две цепи пересекаются. Конфликт зазора (clearance) происходит, когда нарушается правило зазора для цепи или переходного отверстия. |
failure | Неудача происходит, когда автотрассировщик пытается развести или переразвести соединение, ему это не удаётся и он оставляет соединение в исходном состоянии. |
reduction % | Показывает процент уменьшения конфликтов по сравнению с предыдущим проходом. |
unroute | Это цепь, которая не разведена. |
Таблица истории трассировки Routing History в отчёте о состоянии (status report) обновляется при каждом проходе трассировки. В ней содержится информация, необходимая при анализе хода трассировки.
Когда Вы используете smart_route, она анализирует информацию о состоянии, чтобы предупредить Вас о возможных проблемах или о возможности упростить проект. Если Вы используете основные команды автотрассировки вместо smart_route, Вы должны отслеживать и анализировать отчёт о состоянии, чтобы определить, когда требуется корректировка. Для этого надо понимать, как выглядит хороший или плохой прогресс.
Число конфликтов после первого прохода трассировки - это хороший показатель возможности развести проект полностью. Когда сумма конфликтов пересечений и зазоров превышает общее количество связей меньше, чем в пять раз, возможность полной разводки вероятна.
Если общее число конфликтов после первого прохода превышает общее количество соединений более, чем в пять раз, это обычно означает, что проект нельзя развести по одной из следующих причин.
Причина | Что означает | Решение |
---|---|---|
Недостаточно слоёв для трассировки | Слои не выбраны или в системе проектирования плат определено недостаточно слоёв. | Используйте панель Layers, чтобы определить, какие слои не выбраны. |
Неправильное направление трассировки в слое | Определено недостаточное количество слоёв для вертикальной или горизонтальной трассировки. Автотрассировщик в конце концов разрешит эту проблему, но это потребует много времени. | Используйте панель Layers, чтобы определить, в каких слоях выбраны неправильные направления. |
Разводятся цепи питания и земли | Цепи питания и земли не определены как медные площадки, и автотрассировщик разводит соединения питания и земли. | Используйте панель Layers, чтобы определить, какие слои питания определены правильно. Если они определены правильно, Вы не можете выбрать их или отменить их выбор и не можете назначить в них направление. Если Вы обнаружите ошибку, исправьте её в системе проектирования плат и снова передайте проект в автотрассировщик. |
Ошибочные правила для зазоров | Допущена ошибка при определении величины зазора. | Убедитесь, что зазор правильно определён в текущих единицах измерения. |
Предварительно разведённые цепи защищены (protected) | Защищённые цепи не позволяют автотрассировщику переразвести их для уменьшения количества конфликтов. | Попробуйте повторить трассировку, отменив защиту. |
Неудача возникает, когда автотрассировщик не может развести или переразвести связь. Она говорит о трудностях в проекте, ошибках в нём или о нереальных правилах.
Обычно на первом проходе не бывает неудач, потому что стоимость конфликтов на первом проходе ниже, чем в другое время. Небольшой процент неудач на первом проходе (менее 2%) говорит о трудностях в проекте. Если на первом проходе не удаётся развести более 2% от общего числа соединений (и общее количество конфликтов высоко), это обычно свидетельствует о проблемах в проекте.
Неудачи, которые происходят на втором проходе и после, говорят о количестве соединений, которые не удалось развести другим путём и они были оставлены в предыдущем состоянии. Неудачные соединения после первого прохода не обязательно представляют собой проблему, если они не добавляют конфликтов или неразведённых цепей.
От первого до пятого прохода количество конфликтов должно уменьшаться не менее, чем на 30% за проход. Если это не так, то возможны следующие варианты.
Причина | Что означает | Решение |
---|---|---|
Сложный проект | Проект очень плотный, и для 100% разводки требуется больше времени, чем обычно. | Увеличить общее число проходов трассировки. Использование нескольких сотен проходов для сложных проектов не является необычным. |
Недостаточно слоёв для трассировки | Определено мало слоёв для трассировки или слои не выбраны | Используйте панель Layers, чтобы определить, какие сигнальные слои не выбраны. |
Автотрассировщику не расставить переходные отверстия | Сетка переходных отверстий слишком крупная, это мешает избавляться от конфликтов при помощи добавления переходных отверстий. | Установите нулевой или минимальный шаг сетки переходных отверстий.
Например, следующие команды устанавливают сетки цепей и переходных
отверстий по 1 милу:unit mil grid smart (via 1)(wire 1) |
После пятого прохода уменьшение количества конфликтов идёт медленнее.
После пяти проходов неразведённых цепей оставаться не должно. В противном случае велика вероятность, что они так и останутся неразведёнными. Типичные причины сохранения неразведённых цепей после пяти проходов трассировки приведены в следующей таблице.
Причина | Что означает | Решение |
---|---|---|
Выводы заблокированы в запрещённых областях (keepouts) | Выводы, скрытые в запрещённых областях, не могут быть разведены. | Проверьте неразведённые соединения, чтобы определить, какие из них находятся в запрещённых областях. |
Выводы компонентов перекрываются | Если компоненты расставлены неправильно и выводы перекрываются, эти выводы не могут быть разведены. | Убедитесь, что выводы не перекрываются. |
Выводы находятся за границей платы | Выводы, которые находятся за границей платы или слишком близко к ней, не могут быть разведены. | Проверьте неразведённые соединения, чтобы определить, какие из них находятся за границей платы или слишком близко к ней |
На выполнение этого урока надо примерно 60 минут.
На уроке 3 мы изучили 19 уровней трассировки. Они показаны на следующем рисунке.
Правила, установленные на более высоком уровне, перекрывают правила, установленные на более низких уровнях. Например, если Вы установили следующие правила:
unit mil rule pcb (clearance 8 (type wire_wire)) rule net (CLK (clearance 10 (type wire_wire)), то все цепи подчиняются правилу зазора между цепями для платы 8 мил, кроме цепи CLK, которая подчиняется правилу зазора 10 мил. Так как оба правила контролируют зазор между цепями, правило для цепи (net) перекрывает правило для платы (pcb).
Если Вы установили следующие правила:
unit mil rule pcb (clearance 8 (type wire_smd)) rule net CLK (clearance 10 (type wire_pin)), цепь CLK подчиняется обоим правилам: зазора 8 мил между цепями и площадками SMD и зазора 10 мил между цепями и выводами. Оба правила применяются, так как они установлены для разных объектов и не конфликтуют.
Обратите внимание, что верхняя цепь (sig1) подчиняется правилу 12 мил, за исключением одного fromto от U7-1 до U8-1, для которого установлено 20 мил. Другие цепи подчиняются правилу для платы 8 мил. На следующем рисунке показан пример разводки.
Теперь можно перейти в режим измерения, нажав на кнопку Measure , и получить информацию о получившихся цепях и их сегментах.
При помощи одной команды или комбинации команд Вы можете:
Вы можете устанавливать отдельные правила для цепей, переходных отверстий и других объектов. В следующей таблице перечислены возможные варианты.
Ключевое слово | Что означает |
---|---|
area_via | Правило для зазора между границей платы или запретной областью и переходным отверстием |
area_wire | Правило для зазора между границей платы или запретной областью и проводниками |
pin_via | Правило для зазора между сквозным выводом и переходным отверстием |
pin_wire | Правило для зазора между сквозными выводами и проводниками |
smd_via | Правило для зазора между контактной площадкой SMD и переходным отверстием |
smd_wire | Правило для зазора между контактными площадками SMD и проводниками |
via_via | Правило для зазора между переходными отверстиями |
via_wire | Правило для зазора между переходными отверстиями и проводниками |
wire_wire | Правило для зазора между проводниками разных цепей |
В следующей процедуре мы установим несколько правил зазоров для платы, выберем определённые цепи и разведём их. Обычно не выбирают несколько цепей для трассировки. Это будет сделано для уменьшение времени трассировки. Назначение этой процедуры - как устанавливать правила зазоров между проводниками для разных объектов.
Когда слой выбран (selected), он доступен для трассировки. Если он не выбран (unselected), он не используетсядля трассировки, если он не является внешним слоем, на котором смонтированы SMD компоненты или какие-либо цепи не назначены для трассировки на этом слое. Вы можете назначить цепь для трассировки в отдельном слое (если у Вас есть опция ADV), используя команду circuit с правилом use_layer.
Примеры команд выбора и отмены выбора слоя:
select layer TOP unselect layer INT1
Если направление трассировки в слое не задано в системе проектирования печатных плат, то автотрассировщик сам назначает для каждого сигнального слоя горизонтальное или вертикальное направление трассировки. Для верхнего сигнального слоя назначается горизонтальное направление, для следующего, лежащего ниже - вертикальное. Автотрассировщик чередует вертикальное и горизонтальное направления для каждого следующего сигнального слоя.
Вы можете переназначить направления по умолчанию, используя панель слоёв или команду direction. Например:
direction SIGNAL_2 vertical direction SIGNAL_2 horizontal
Переходные отверстия, которые использует автотрассировщик, передаются из системы проектирования печатных плат. Обычно все переходные отверстия в проекте выбраны и доступны для трассировки, но Вы можете отменить выбор отверстий, которые не хотите использовать. Для этого служат команды select и unselect.
Когда для трассировки выбраны два или более типа переходных отверстий, автотрассировщик выбирает тот тип, который использует несколько слоёв и имеет наименьший размер. Вы можете использовать глухие (blind) и скрытые (buried) переходные отверстия, если у Вас есть опция HYB.
Обратите внимание: Вы можете назначать отдельно переходные отверстия для цепей, классов и групп fromtos, если у Вас есть опция ADV. См. Controlling Via Use в разделе встроенной справки Automatic Routing Procedures.
Если выбраны одно или несколько соединений, то разводится только выбранное. Обычно разводятся все соединения сразу. Для управления разводкой отдельных цепей Вы можете назначать приоритеты. См. "Назначение приоритетов трассировки цепям и классам" далее в этом уроке.
Однако, можно развести несколько цепей для проверки правил трассировки или для эксперимента. Выбирать можно:
В следующей таблице приведены команды выбора:
Команда | Что делает |
---|---|
select component id | Выбирает соединения, подключённые к компоненту id, где id - позиционное обозначение компонента |
select net id | ВЫбирает все соединения, принадлежащие цепи id. |
select class id | Выбирает все цепи класса id |
select group id | Выбирает все fromto (соединения) - члены группы id. |
select fromto id | Выбирает все неразведённые соединения. |
Автотрассировщик подсвечивает выбранные соединения "цветом выделения", обычно это жёлтый цвет.
После выбора соединений Вы можете применить правила, а затем разводить соединения. Обычно после разводки выделение отменяется.
Используйте команду unselect, чтобы вернуть компоненты, цепи, классы, группы и fromto в нормальное состояние. Команда unselect all routing применяется, когда Вы хотите отменить выделение всех ранее выбранных объектов и развести все неразведённые соединения.
Выбирать объекты можно также при помощи кнопок на панели инструментов.
Другой метод частичной разводки - создание одного или более барьеров (fences). Барьер - это граница для соединений, которые в него входят.
Соединения, которые пересекаются границей барьера или лежат за её пределами, игнорируются при трассировке. Вы можете определить множество отдельных барьеров, чтобы ограничить трассировку в нескольких областях. Если Вы создадите перекрывающиеся барьеры, они будут объединены в один многоугольный барьер.
Создавать барьеры можно следующими методами:
Удобнее всего создавать барьер рисованием, но может понадобиться создать барьер в Вашем do файле. В do файле используется команда fence. Перед написанием do файла нарисуйте барьер мышью, определите его координаты по did файлу и затем используйте эти координаты в do файле.
fence 0.6 6.85 2.75 7.75
Обратите внимание: Вы можете также использовать мягкие барьеры (soft fences), если у Вас есть FST опция. Мягкие барьеры удобны для разделения аналоговой и цифровой части схемы. Дополнительную информацию о мягких барьерах см. во встроенной справке о команде set.
Цепи обычно упорядочиваются для разводки звездой (starburst), так как это даёт наибольшую эффективность разводки: получается минимальная длина проводников. Упорядочивание (ordering) определяет, как выводы подключаются к цепи. На следующем рисунке показана разница между разводкой звездой и цепочкой.
Цепи упорядочиваются для разводки цепочкой в системе проектирования плат и транслируются в файл проекта, или они могут быть упорядочены автотрассировщиком. Все цепи по умолчанию упорядочиваются звездой, кроме тех, которые недвусмысленно указаны как цепочки.
Используйте команду order для определения порядка в цепи. Например, order daisy net net id упорядочивает цепь для разводки цепочкой. Замените net id в этой команде именем цепи, которую Вы хотите упорядочить.
Когда Вы упорядочиваете цепь для трассировки цепочкой, Вы часто хотите указать, какой вывод будет источником (source), какой - нагрузкой (load), а какой - терминатором (terminator). Если Вы не назначите эти свойства, трассировщик будет рассматривать все выводы в цепочке как нагрузки и разведёт их оптимальным (со своей точки зрения) способом.
Для назначения выводам перечисленных свойств используйте команду assign_pin. Если к рассматриваемой цепи подключён только один вывод данного компонента, Вы можете назначить свойство, указав позиционное обозначение компонента и затем порядок в цепи. Например:
assign_pin source U23 assign_pin terminator U29 order daisy net SO1
Если к цепи подключено несколько выводов одного компонента, Вы назначаете свойства вывода, добавляя к команде идентификатор вывода. Например:
assign_pin source U33 (pins 2) assign_pin terminator U33 (pins 11) order daisy net PRX
Обратите внимание: свойства источник, нагрузка или терминатор присваиваются выводам перед использованием команды order. Если Вы назначаете эти свойства, но не используете команду order, то автотрассировщик их игнорирует.
В этом разделе мы узнаем, как разводить наборы цепей или fromto по одним и тем же правилам. Мы будем:
Если у нас есть некоторое количество цепей, которое мы хотим рассматривать как набор, мы назначаем для них имя класса. Будем использовать команду define для создания имени класса и назначения имён цепей. Эта команда выглядит так:
define (class <class id> <net id> ... <net id>)
Вместо <class id> используйте любое сочетание алфавитных и цифровых символов, а вместо <net id> можно подставить любое количество имён цепей.
После определения класса Вы можете применять правила и обращаться ко всем цепям класса, используя имя класса. Например, вот команда выбора класса:
select class <class id>
Вместо <class id> подставьте имя класса.
Обычно классы цепей или группы fromto определяют для удобства установки правил. (Fromto - это одно соединение между выводами в цепи.) Если несколько цепей или fromto должны подчиняться одним и тем же правилам или прокладываться по одинаковым трассам, то можно определить класс или группу и применять правила ко всем членам, используя одно имя.
Правила для классов и групп выполняются в соответствии с их положением в иерархии правил. Правила для цепей перекрывают правила для классов, правила для групп перекрывают правила для цепей, а правила для fromto перекрывают правила для групп. См. рисунок иерархии правил в начале этой главы.
Обратите внимание: если Вы определили группу и по ошибке не включили fromto, Вы должны использовать команду forget group <group id> до того, как переопределить группу.
Вы можете планировать разводку цепей и классов, устанавливая для них приоритеты. Это лучше, чем разводить цепи выборочно. Приоритеты назначают командой circuit.
Для задания приоритетов трассировки используются целые числа от 1 до 255. Число 255 соответствует наивысшему приоритету, а число 1 - низшему. Цепи, которым присвоен больший приоритет, разводятся до цепей с меньшим приоритетом. По умолчанию всем цепям присваивается приоритет 10.
Если Вы собираетесь присвоить несколько значений приоритетов разным цепям и классам цепей, то присваивайте значения, отличающиеся не меньше, чем на 10. Приоритеты, которые отличаются на меньшую величину, могут игнорироваться из-за других факторов, также влияющих на трассировку. Например, трассировщик обычно разводит цепи большой ширины раньше, чем узкие.
На этом уроке вы научитесь пользоваться EditRoute - инструментом для интерактивной трассировки и редактирования цепей на печатной плате. На этом уроке Вы узнаете, как:
На выполнение этого урока понадобится около 60 минут.
EditRoute - это набор инструментов интерактивной трассировки для автотрассировщика. Эти интерактивные инструменты используют ту же самую технологию ShapeBased и бессеточную модель, что и инструменты автоматической трассировки. Вы можете использовать интерактивные инструменты для предварительной разводки критичных соединений перед автоматической трассировкой или переразводки соединений после неё. Более подробную информацию об интерактивной трассировке можно найти во встроенной справке.
Для настройки интерфейса интерактивной трассировки и редактирования надо выбрать Setup из меню Interactive Routing. Это меню появляется, когда Вы нажимаете правую кнопку мыши в рабочей области.
Обратите внимание: если другое приложение Windows использует правую кнопку мыши, Вам, возможно, понадобится удерживать нажатой правую клавишу {Ctrl}, чтобы вызвать меню Interactive Routing.
Диалог Interactive Routing Setup содержит пять закладок: General, Measure, Bus, Style и Move/Copy. Вы можете использовать эти закладки для установки опций режима Measure, опций перемещения, копирования и для управления тремя категориями параметров: General, Bus и Style. Кроме того, Вы можете также использовать этот диалог для установки глобальных (для всей платы, уровень pcb) правил для зазоров и ширины проводников.
В этом разделе мы будем загружать файлы цепей, в которых содержатся уже разведённые цепи. Затем мы используем диалог Interactive Routing Setup, чтобы изменить стиль указателя и его угол. Далее мы проведём соединение, чтобы посмотреть, как Edit Route расталкивает цепи в стороны от Вашей трассы.
Обратите внимание: Если Вы ошибётесь, Вы можете нажать правую кнопку мыши и выбрать Undo, чтобы отменить последнее действие или Cancel, чтобы отменить последнюю команду.
Вы можете использовать режим Edit Route для трассировки соединений и замены существующих цепей и переходных отверстий. Когда Вы ведёте трассу или заменяете цепь, вокруг цепи появляется огибающая линия. Зазор между трассой и этой линией соответствует правилу зазоров для проводимой цепи. Огибающая помогает Вам видеть зазор между проводником и другими объектами.
Зазор огибающей изменяется, если, например, Вы добавляете переходное отверстие и переключаетесь на слой с другими правилами для зазоров.
Когда Вы проводите соединение, система отображает выравнивающие метки и стрелки, чтобы помочь Вам выравнять конец цепи с целевой цепью, выводом или переходным отверстием. Когда конец проводника поравняется с целью, вокруг него появится одна или несколько стрелок, а на целевом объекте появится выравнивающая метка. Это показано на рисунке справа.
Вы можете использовать режим Edit Route для трассировки нескольких соединений. При трассировке каждого соединения зазор огибающей поможет Вам провести проводники так близко друг к другу, как только возможно, чтобы не нарушить правила. Выравнивающие метки и стрелки позволяют сделать прямое соединение с целевым выводом.
Далее мы узнаем, как закончить неразведённые или частично разведённые соединения.
Когда Вы находитесь в режиме Edit Route, Вы можете закончить неразведённое или частично разведённое соединение, выбрав из контекстного меню Finish Route. Эта команда добавляет сегменты и, если надо, переходные отверстия, чтобы закончить соединение.
Finish Route ищет путь в ограниченной области вокруг прокладываемого соединения. Если в этой области путь найти не удаётся, соединение не удаётся закончить автоматически, и операция отменяется.
В следующей процедуре мы закончим несколько соединений, используя опцию Finish Route режима Edit Route.
Если Вы ошиблись, автотрассировщик позволяет Вам отменить результат выполнения предыдущей функции интерактивной трассировки. Если Вы передумаете отменять что-либо, Вы можете восстановить это командой redo.
Функция | Что делает | Как выполнить |
---|---|---|
undo | Отменяет последнюю интерактивную функцию | Нажмите клавишу {F3} и выберите Undo из выпавшего контекстного меню, или выберите из меню Edit » Undo |
redo | Восстанавливает последнюю функцию, отменённую через Undo | Удерживая клавишу {Shift}, нажмите {F3}, или выберите из меню Edit » Redo |
Обратите внимание: Вы можете отменить одну или несколько интерактивных операций. Но если Вы прервёте интерактивную трассировку, редактирование или расстановку операциями выбора, отчёта, автотрассировки или авторасстановки, память undo и redo будет очищена и Вы не сможете отменить предыдущие операции.
Слой, в которм проводится трасса, называется первичным слоем (primary layer). Слои, на которые Вы можете перейти, добавив переходное отверстие, называются вторичными слоями (secondary layers). Имя первичного слоя всегда отображается в полосе состояния рядом с кнопкой, на которой изображён карандаш.
Если Вы добавляете переходное отверстие и переходите на другой слой, то этот слой становится первичным, а бывший первичный - вторичным. Вы можете управлять первичностью и вторичностью слоёв при помощи панели Layers. Через неё Вы также можете запретить слои, если Вы не хотите использовать их во время интерактивной трассировки.
Кнопки с изображениями карандашей на панели слоёв показывают первичность слоя. Жирный карандаш на кнопке означает первичный слой, бледный карандаш - вторичный слой. Если на кнопке вообще нет карандаша, то соответствующий ей слой запрещён для интерактивной трассировки.
Щёлкая по кнопкам с карандашами, можно изменять состояние слоёв. Если щёлкнуть по бледному карандашу, слой станет первичным. Если щёлкнуть ещё раз, карандаш исчезнет и слой будет запрещён для интерактивной трассировки.
Разобравшись, какой слой будет первичным, какие - вторичными, а какие - запрещёнными, можно использовать мышь или функциональные клавиши для того, чтобы добавлять переходные отверстия и изменять слой трассировки. На какой слой Вы перейдёте при добавлении переходного отверстия, зависит от Ваших настроек.
Когда Вы дважды щёлкаете в конце сегмента проводника, автотрассировщик добавляет переходное отверстие, определяет оптимальный вторичный слой и переходит на него. Вместо того, чтобы позволить автотрассировщику самому выбрать новый слой, Вы можете выбрать его сами при помощи клавиш {F5} и {F6}.
Клавиша {F5} добавляет переходное отверстие и переходит на следующий доступный слой, лежащий ниже текущего слоя. Каждый раз, когда Вы нажимаете {F5}, следующий активный сигнальный слой становится текущим. Если Вы нажмёте {F5}, а ниже нет доступных слоёв, система выдаёт звуковой сигнал и сообщение "No enabled layer below <layer id>" в области сообщений.
Клавиша {F6} добавляет переходное отверстие и переходит на следующий доступный слой, лежащий выше текущего слоя. Каждый раз, когда Вы нажимаете {F6}, Вы поднимаетесь на следующий активный сигнальный слой. Если выше нет доступных слоёв, система выдаёт звуковой сигнал и предупреждающее сообщение в области сообщений.
Вы можете редактировать проводники и переходные отверстия, устанавливая один из следующих режимов для левой кнопки мыши:
Вы устанавливаете режим редактирования, выбирая его из контекстного меню, которое появляется при щелчке правой кнопкой мыши, или щёлкая по кнопкам на панели инструментов.
Когда Вы редактируете проводники или переходные отверстия, автотрассировщик проверяет правила зазоров, если в полосе состояния установлен флажок Checking. Если этот флажок установлен и Вы пытаетесь нарушить правила, операция игнорируется.
Для перемещения сегментов проводников и переходных отверстий используется режим Move Route. Когда Вы перемещаете сегмент, он растягивается от своих углов и точек, которыми он присоединён к выводам и переходным отверстиям.
Если Вы перемещаете сегмент цепи рядом с выводом компонента и при этом в диалоге Interactive Routing Setup на закладке General установлен флажок Allow Jogs, сегмент изгибается вокруг вывода, если это возможно. Когда Вы перемещаете проводник рядом с другим проводником или рядом с переходным отверстием (и при этом в диалоге Interactive Routing Setup на закладке General установлен флажок Push Routing), неподвижный проводник или переходное отверстие отталкивается так, чтобы предотвратить нарушение правила зазоров.
Если Вы передвигаете переходное отверстие, присоединённые проводники вытягиваются за ним. Вы не сможете передвинуть переходное отверстие с нарушением правил, если установлен флажок Checking.
Если Вы передвигаете переходное отверстие рядом с проводником и при этом в диалоге Interactive Routing Setup на закладке General установлен флажок Push Routing, проводник изгибается вокруг переходного отверстия, чтобы избежать нарушения зазора. Если Вы передвигаете переходное отверстие рядом с другим переходным отверстием, второе отверстие аналогично отодвигается.
Теперь Вы можете использовать режим Move, чтобы передвигать проводники и переходные отверстия. Попробуйте сравнить работу в этом режиме с включённым и выключенным флажком Push Routing.
Копирование цепей производится в режиме Copy Route. Его можно установить, выбрав Copy Route Mode из контекстного меню, которое появляется при нажатии на правую кнопку мыши, или щёлкнув по кнопке Copy Route на панели инструментов.
Установив режим Copy Route, щёлкните по проводнику или по выводу, к которому подключён проводник, который Вы хотите копировать. Затем щёлкните по целевому выводу, к которому Вы хотите подключить скопированный проводник. Целевое соединение должно быть неразведённым, и должна существовать возможность провести цепь таким же путём, как у копируемого проводника. Если пути копируемого и целевого соединений отличаются, копирование кончается неудачей, и в области сообщений появляется сообщение "Path cannot be copied".
Вы можете скопировать путь проводника и щёлкнуть по соседнему выводу, чтобы воспроизвести проводник. Вы также можете протащить указатель вокруг нескольких выводов, чтобы тиражировать несколько проводников за одну операцию.
На следующем рисунке приведён в качестве примера результат копирования проводников для пяти соседних выводов.
Удалять ненужные изломы можно в режиме Critic Route. Можно перейти в этот режим, выбрав из контекстного меню Critic Route Mode или щёлкнув по кнопке Critic Route на панели инструментов. Ненужные изломы в этом режиме удаляются перемещением существующих сегментов проводника.
В режиме Critic Route нельзя удалить ненужные изломы, если один или более новых сегментов проводника нужны для выполнения этой операции или операция нарушит правила. Вы можете удалить ненужные изломы из одного проводника, щёлкая по нему, или же можно удалить их из нескольких проводников, обведя их указателем мыши.
Изменить тип переходного отверстия можно в режиме Change Via. Этот режим можно установить из контекстного меню. В этом режиме Вы должны выбрать, каким переходным отверстием Вы хотите заменить существующие переходные отверстия. Этот выбор задаётся в диалоге Change Via Setup.
Вы можете установить режим Change Via и выбрать отверстие для замены, заменить несколько существующих отверстий и затем выбрать другое отверстие для замены.
Как при автоматической, так и при интерактивной трассировке ширина проводников определяется установленными правилами. Изменить ширину существующего сегмента цепи, не изменяя правил, Вы можете в режиме Change Wire. В этот режим можно перейти из контекстного меню, выпадающего после нажатия на правую кнопку мыши. На следующем рисунке приведён диалог Change Wire Setup.
После первоначальной установки ширины цепи Вы всегда можете изменить её, выбрав режим Change Wire и затем выбрав из контекстного меню Setup Wire Parameters.
Изменение ширины сегмента цепи в режиме Change Wire возможно только тогда, когда в результате него не нарушаются правила. В противном случае действие игнорируется.
Так как в режиме Change Wire не устанавливаются и не изменяются правила, изменение ширины не сохраняется при переразводке сегмента. Если Вы хотите сохранить новую ширину при автоматической трассировке или переразводке, воспользуйтесь командой protect, чтобы запретить автотрассировщику изменять проводники.
Например, можно: