Оркада » Публикации » Эффективное использование высокоскоростных правил в Cadence ® Allegro ® PCB Editor

Эффективное использование высокоскоростных правил в Cadence ® Allegro ® PCB Editor

Анатолий Сергеев (Москва)

От того, как настроен проект топологии перед размещением и трассировкой, зависит эффективность использования системы контроля высокоскоростных ограничений Constraint Manager. Эта система является частью САПР печатных плат верхнего уровня Cadence® Allegro® и на сегодняшней день является одной из самых мощных и востребованных у разработчиков быстродействующей электроники.


Главной целью предварительной на стройки проекта перед использованием высокоскоростных ограничений в Const raint Manager является создание так называемых расширенных цепей (Xnets). В терминологии программы Xnet (exten ded net) – это цепь, состоящая из группы последовательно соединённых дискретных элементов на пути от источника к приёмнику сигнала. На рисунке 1 показан пример расширенной цепи на схеме в OrCAD Capture и плате в PCB Editor.


Рис. 1. Пример расширенной цепи (Xnet)

Всего можно выделить пять основных шагов по настройке проекта:

1. Определение количества слоев, по рядка их следования и свойств материалов.

2. Задание напряжения для цепей питания и земли.

3. Указание класса устройств.

4. Указание типа выводов.

5. Назначение сигнальных моделей компонентам высокоскоростных цепей.

От того, как точно разработчик в Ca dence Allegro прошёл эти пять основных этапов, в конечном счете зависит качество и быстрота проектирования. Любые ошибки и недочёты в настрой ке могут привести к множествам проб лем на других этапах работы. Этих неприятностей можно избежать, если правильно подготовить библиотеки компонентов. Все вышеперечисленные шаги можно выполнить вручную через соответствующие меню программы либо с помощью специального помощника – Setup Advisor. Рассмотрим более подробно каждый этап настройки.

Стек слоёв печатной платы может быть настроен через меню Setup – Cross section или нажатием на кнопку на панели инструментов (см. рис. 2).


Рис. 2. Окно редактора стека слоёв печатной платы в Allegro PCB Editor

Описание типовых стеков удобно хранить в специальных технологических файлах. Каждый такой файл имеет расширение .tcf и может быть создан или загружен в текущую базу проекта с помощью меню File – Export/Import – Techfile соответственно. Помимо информации о слоях платы технологический файл может содержать в себе данные о настройках правил проектирования, пользовательских свойствах и единицах измерения в проекте. В компании на общем сервере может быть настроена целая библиотека точных технологических файлов, которые можно использовать в качестве шаблонов для разных плат. Путь к библиотеке фай лов данного типа указывается через пе ременную techpath в меню Setup – User Preferences, категория Paths – Library. От точности описания стека слоёв зависит то, как будет рассчитываться абсолютная и относительная задержка сигналов, импеданс, а также точность работы калькулятора дифференциальных пар. При нажатии правой кнопки мыши в любом месте таблицы появится возможный расчёт импеданса для проводников на каждом сигнальном слое. При изменении толщины проводника или характеристик материалов изменится значение импеданса и, напротив, если поменять значение импеданса, то изменится значение толщины проводника. Этот показатель никак не влияет на работу системы ограничений Constraint Manager и может использоваться как ориентировочный. Вторая опция в ниж нем правом углу данного окна – Show Diff Impedance позволяет анализировать импеданс дифференциальной пары на выбранном слое. Можно рассчитать импеданс для стандартной и тандемной пары – это зависит от установки в столбце Coupling Type. EDGE – проводники дифференциальной пары расположены на одном слое, BROADSIDE – на соседних слоях. Варьируя шириной и толщиной проводников, можно получить искомое значение дифференциально го импеданса. При попытке изменить само это значение, программа предложит выбрать одно из двух – изменить ширину проводников в паре или их толщину (см. рис. 3). Как и в случае с импедансом одиночной трассы значение дифференциального импеданса является здесь оценочной величиной и не влияет на установку правил проектирования. Следующим этапом в настройке базы данных проекта является описание силовых цепей питания и заземления. Данные цепи рассматриваются программой как цепи постоянного тока (DC net), у каждой из которых должно быть задано точное значение напряжения. Это значение присваивается с по мощью свойства VOLTAGE. Данное свойство позволяет согласовать сигнальные цепи через нагрузку с цепями постоянного тока. Присвоить значение напряжения для цепей питания и заземления можно через меню Logic – Identify DC Nets. Обратите внимание, программа автоматически помещает в начало списка цепи с подходящими наименованиями (см. рис. 4) в случаях, если

  • присутствуют стандартные обозначения в именах, такие как VCC, GND, VEE или VTT;
  • цепь содержит значение напряжения, например 5 В;
  • цепь соединяется c выводами типа POWER или GROUND


Рис. 3. Расчёт дифференциального импеданса в окне редактора стека слоёв Allegro PCB Editor


Рис. 4. Окно Identify DC Nets

В окне Identify DC Nets соответствующим цепям присваивается значение для свойства VOLTAGE, которое также является ключевым для описания расширенных цепей. В дополнение к этому присваивается свойство RATSNEST_SCHEDULE со значением POWER_AND_GROUND. Это означает, что для данной цепи на плате не будут отражаться предтрассировочные линии связи. Свойство RATSNEST_SCHEDULE можно отключить через меню Edit – Properties или Edit – Net Properties (включает Con straint Manager).

После того как стек слоев определён и назначено свойство VOLTAGE для питающих цепей, необходимо назначить класс устройствам на плате через специальное свойство CLASS. Поддерживаются три основных класса: IC – для активных компонентов, IO – для разъемов и DISCRETE – для пассивных компонентов. Данная информация может храниться в библиотеках соответствующих устройств. В этом случае данный шаг в настройке проекта можно про пустить. Правильная идентификация расширенных цепей зависит от того, указано ли свойство CLASS для резисторов, конденсаторов и индуктивностей со значением DISCRETE. Чтобы проверить класс для всех компонентов на плате можно воспользоваться стандартным отчетом Bill of Materials через меню Tools – Reports. Если в качестве схемного редактора используется Allegro De sign Entry CIS (OrCAD Capture CIS), то свойство CLASS удобнее всего назначить через базу данных CIS, выделив для него отдельный столбец с полями значений. Впоследствии оно будет переда но на плату в PCB Editor через стандартный файл с описанием компонентов pstchip.dat. Это самый верный способ избежать дополнительных настроек пе ред использованием высокоскоростных правил проектирования.

В PCB Editor назначить нужный класс вручную для каждого компонента можно через меню Logic – Part Logic (см. рис. 5).


Рис. 5. Назначение класса устройств через меню Logic – Part Logic

В появившемся окне в секции Part Selection Area выберите нужный компонент, при этом в нижней части окна в секции Part Modification Area появится возможность присвоить соответствующий класс и ряд других свойств. Переключатель Sort By позволяет отсор тировать компоненты в списке по типу устройства и по позиционному обо значению, для удобства можно задать фильтр через RefDes/Device Filter. Необходимо обратить внимание, что меню Logic – Part Logic станет доступным, если включить переменную logic_edit_ena bled через диалоговое окно Setup – User Preferences в категории Logic.

Четвёртый шаг в настройке базы данных проекта – это указание кода для выводов компонентов. Этот код указывается через свойство PINUSE, которое есть у каждого компонента на схеме и плате. Данное свойство не менее важно, как и класс устройства, поскольку позволяет программе определять выводы источников и выводы приёмников сигнала, а также выводы дискретных компонентов. Это оказывает решающее воздействие на передачу топологии цепи в программу для анализа целостности сигнала Allegro PCB SI Signal Explorer. Как и в случае со свойством CLASS, PINUSE лучше всего задавать на уровне базы данных CIS либо на уровне библиотеки компонента. Для правильного определения расширенных цепей у всех дискретных компонентов PINUSE должно иметь значение UNSPEC.

Значение для свойства PINUSE мо жет быть задано в проекте топологии в редакторе Allegro PCB SI через меню Logic – Pin Type. Принцип работы здесь такой же, как и при работе с меню Logic – Part Logic. Меню Logic – Pin Type доступно только пользователям OrCAD/ Allegro PCB SI (см. рис. 6).


Рис. 6. Установка свойства PINUSE для выводов компонентов в меню Logic – Pin Type в редакторе Allegro PCB SI

Завершающим этапом в настройке расширенных цепей для использования их в Constraint Manager и при анализе целостности сигналов является назначение сигнальных ESpice моделей для пассивных компонентов на плате. Если эти модели не назначены, то Xnets созданы не будут. Для быстрого создания и назначения ESpice моделей дискретным компонентам можно воспользоваться меню Analyze – Model Assignment (см. рис. 7), которое доступно в PCB Editor. В появившемся окне достаточно нажать на кнопку Auto Setup, чтобы ESpice модели были присвоены всем дискретным компонентам, которые удовлетворяют следующим условиям:

  • имеют дискретный класс устройств (CLASS=DISCRETE);
  • имеют не нулевое значение у свойства VALUE;
  • ещё не имеют ESpice модели.


Рис. 7. Назначение сигнальных моделей компонентам через меню Analyze – Model Assignment

В зависимости от позиционного обозначения и значения VALUE модели резистора, конденсатора или индуктивности будут созданы и присвоены соответствующему компоненту на плате. Именно поэтому так важно на ранних этапах указывать значения для VALUE и CLASS.

ESpice модели будут храниться в базе проекта и в специальном файле devices.dml. Эти сигнальные модели для дискретных компонентов позволят PCB Editor или PCB SI распознать расширенные цепи, которые проходят через данные дискретные устройства или соединяются через них с питающими цепями. При этом у дискретных компонентов появляется дополнительное свойство SIGNAL_MODEL, содержащее ссылку на конкретную сигнальную ESpice модель. По команде меню Analyze – Model Dump/Refresh есть возможность синхронизировать модели в базе данных проекта с библиотеками, которые хранятся на диске.

Итак, мы рассмотрели все пять необхо димых шагов для настройки проекта пе ред использованием Constraint Manager. Для удобства все эти настройки можно произвести через единый встроенный помощник, что избавляет от необходи мости запоминать местоположение каж дой настройки в различных меню про граммы. Помощник можно вызвать в PCB Editor через меню Setup – SI Design Setup (см. рис. 8).


Рис. 8. Окно помощника по настройке проекта в Allegro PCB Editor

Все стадии настройки проекта, которые рассматривались вы ше, в данном случае можно пройти через единое окно данных. Дополнительно здесь же можно настроить библиотеки компонентов для анализа целостности сигналов и дифференциальные пары. Опция Run Audit upon completion of each setup category позволяет проверить точность вводимых данных на каждом шаге по окончании настроек.

Из всех категорий настроек можно выбрать только те, которые необходимы для установки. Остановимся подробнее на каждой из них.

Первая панель SI Design Setup Wizard позволяет выбрать цепи и расширенные цепи, которые требуют дополнительных настроек (см. рис. 9). По умолчанию вы браны все цепи проекта. Задача разработчика заключается в том, чтобы вы брать только критичные высокоскоростные цепи, на которые будут наложены ограничения в Constraint Manager.

Это снизит вероятность ошибки и повысит эффективность от использования системы ограничений. Здесь также можно импортировать или экспортировать список цепей для установок. Список цепей – это простой текстовый файл, где каждая строка – это имя цепи. После его загрузки остаются выделенными только те цепи, которые были в списке, все остальные будут проигнорированы. Опция Include Coupled Xnets является важной для подготовки проекта к анализу целостности сигналов в PCB SI и не требуется для работы с Constraint Manager.


Рис. 9. Панель SI Design Setup Wizard для выбора высокоскоростных цепей


Рис. 10. Настройка цепей питания и заземления через SI Design Setup Wizard

На второй панели помощника появляется возможность настройки цепей питания и заземления так, как это было рассмотрено выше через меню Logic – Identify DC Nets (см. рис. 10).

В левой части данной панели перечислены все силовые цепи, которым присвоено значение VOLTAGE. В правом списке – цепи, которые рассматриваются программой как потенциально силовые, но еще не имеющие значения VOLTAGE. Кнопка Assign Voltage o Selected Net позволяет назначить VOLTAGE выбранной цепи и перенести ее в левый список. Отредактировать значение VOLTAGE можно через Edit Voltage On Any Net In Design.

Третья панель позволяет отредактировать стек слоёв у печатной платы либо загрузить параметры стека из другого проекта или технологического файла (см. рис. 11).


Рис. 11. Настройка стека слоёв платы через SI Design Setup Wizard

Четвёртая панель позволяет назначить класс компонентам на плате. Здесь стоит еще раз отметить, если библиотеки компонентов уже содержат данную информацию, а именно свойства CLASS и PINUSE, то данный шаг можно про пустить. В противном случае через данную панель можно быстро перераспределить классы между устройствами.

Для этого достаточно отметить группу одинаковых устройств меткой и нажать на одну из кнопок в секции Change Selected Component Devices To в нижней части панели. В этом случае выбранные устройства переместятся в указанную секцию в списке Component De vice Classes (см. рис. 12).


Рис. 12. Указание класса устройств через SI Design Setup Wizard

Важным моментом здесь является то, что при изменении класса устройств меняется и тип выводов этих устройств. Например, при изменении класса на DISCRETE у выбранных компонентов меняется и тип их выводов на UNSPEC. Пятая панель позволяет назначить ESpice модели устройствам класса DISCRETE. Здесь всё интуитивно понят но, и не требуется дополнительных разъяснений.

Последняя, шестая, панель SI Design Setup Wizard даёт возможность запустить проверку базы проекта на предмет её готовности к работе с Constraint Manager и анализа целостности сигналов. Запуск проверки происходит по нажатию на кнопку Run SI Design Audit, при этом на экране появится список ошибок и их состояние (см. рис. 13).


Рис. 13 Проверка настройки базы данных проекта на наличие ошибок

Ошибка может находиться в трех состояниях – решена (Resolved), не решена (Unresolved) и проигнорирована (Ignored). Фильтр для различных типов ошибок и их состояний можно поместить в поле Test Filter и Status Filter соответственно. Если выбрать группу ошибок в списке, то станут активны ми две опции, расположенные в ниж ней части окна – Resolve Errors и Ignore Errors. В первом случае у пользователя есть возможность запустить механизм автоматического исправления ошибок. Кнопка Manually вернёт пользователя на тот этап настройки проекта, где системой была обнаружена ошибка. Также по клавише Report можно вы вести отчёт о выявленных ошибках в настройке базы данных проекта. Таким образом, настройка базы данных может быть произведена через набор индивидуальных команд или использованием встроенного программного помощника. Точный расчёт задержки распространения сигнала и импеданса проводников требует правильной настройки стека слоёв и расширенных цепей. Цепи питания должны иметь свойство VOLTAGE, которому в свою очередь необходимо присвоить значение. Для пассивных компонентов должен быть присвоен дискретный класс устройств, т.е. CLASS=DISCRETE. Выводы пассивных компонентов должны иметь свойство PINUSE со значением UNSPEC. Каждому пассивному компоненту должна быть присвоена ESpice модель. От того, насколько правильно и точно были созданы библиотеки компонентов, зависит трудоёмкость на стройки проекта на физическом уровне.

ЛИТЕРАТУРА

1. Allegro PCB Design Flows. Product Version 16.5, Cadence Help, 2011

2. Wilke B., «Start with electrical constraining», Flowcad Application Note, 2009. URL: http:// www.flowcad.ch/cms/upload/Application Notes/FlowCAD_AN_PCB_start_el_cset.pdf

3. www.cadence.com