Современные решения для производства электроники

Анализ целостности сигналов в системе Protel 99 SE

Потапов Ю.В.

Сложность современных печатных плат постоянно повышается, а значит, появляется необходимость анализа их поведения с учетом особенностей реальной топологии. В системе Protel 99 SE для этого имеется штатное средство — модуль Signal Integrity. Данный модуль появился в системе два года назад, однако интерес российских разработчиков к нему наблюдается только в течение последних полгода. Это объясняется растущей сложностью проектов, выполняемых отечественными разработчиками, а также ростом числа лицензионных пользователей программы. Кроме того, следует учитывать тот факт, что абсолютно аналогичный модуль имеется в системе P-CAD 2001, где он оформлен в виде DBX-утилиты P-CAD Signal Integrity.

 

В модуле Protel Signal Integrity все сегменты проводников на печатных платах представляются в виде отрезков линий передачи, после чего выполняется расчет переходных процессов при воздействии на них импульсных сигналов. При этом прохождение сигналов через ИС не моделируется, они заменяются IBIS моделями  (Input/Output Buffer Information Specification). Дискретные компоненты заменяются соответствующими SPICE моделями. Помимо расчета формы сигнала в каждом узле проводника здесь выполняется анализ перекрестных искажений (взаимных наводок). Особенностью модуля Signal Integrity является то, что здесь не учитываются физические эффекты связанные с распределением токов в проводниках земли и питания. Эти цепи считаются идеальными.

Начало работы

Модуль анализа целостности сигналов Protel Signal Integrity запускается командой Tools -> Signal Integrity из меню редактора печатных плат. По данной команде на базе активного проекта печатной платы во временной папке C:\Windows\Temp формируется служебный с расширением .SLT и оригинальным именем, сгенерированным по текущей дате и времени. Этот файл представляет собой стандартный ASCII файл в формате SULTAN, разработанном компанией Incases. Он автоматически загружается в запущенный модуль Protel Signal Integrity, который помнит изначальное имя файла. На этот факт следует обратить особое внимание, так как он означает, что в однажды открытое окно модуля при выполнении команды File -> Open будут загружаться только тот SULTAN файл, который был сгенерирован при запуске программы. При внесении изменений в проект печатной платы без закрытия модуля Protel SI и повторном его запуске будет создан новый SULTAN файл с оригинальным именем, и все сделанные изменения в модуль загружены не будут. Во избежание такой ситуации рекомендуется закрывать программу Protel SI всякий раз, когда требуется внести изменения на печатную плату и повторно выполнить анализ.

 

В начале сеанса работы с модулем Protel Signal Integrity в окне Options Configure, вызываемом командой меню Options -> Configure, задаются следующие параметры конфигурации:
-  Units — система единиц;
-  Max. Couple Distance — максимальное расстояние между параллельными проводниками, для которых рассчитываются взаимные наводки;
-  Min. Couple Length — максимальная длина проводника, который принимается во внимание при расчете взаимных наводок.

Далее по команде меню Options -> Simulator открывают диалоговое окно задания параметров алгоритма расчетов переходных процессов, имеющее три закладки: Integration — выбор метода численного интегрирования (метод трапеций и методы Гира трех типов); Accuracy — параметры алгоритмов численного интегрирования; DC Analysis — параметры алгоритма расчета режима по постоянному току. Все эти параметры заносятся в файл конфигурации si.cfg.

 

Список цепей платы автоматически загружается в модуль из SULTAN файла и отображается в списке в левой части окна (рисунок 1). Из этого списка  выбирается одна или несколько цепей, для которых будет выполняться анализ целостности сигналов (все цепи проекта выбирать не целесообразно из-за больших затрат времени на анализ, это допустимо только для маленьких проектов). Цепи отмечаются щелчком левой кнопкой мыши на их имени в списке цепей, для выбора нескольких цепей необходимо удерживать нажатой клавишу CTRL.

 

Рис. 1. Основной экран Protel Signal Integrity.

 

Кроме того, с помощью  команды меню  Edit -> Find Coupled Nets можно найти набор цепей, имеющих индуктивную связь с выбранными цепями. Отбор цепей производится согласно критериям, установленным в диалоговом окне Options Configure.
Перед анализом наличия связанных цепей рекомендуется проверить правильность загрузки типов цепей и, при необходимости, изменить их. Это выполняется в окне Edit Nets, вызываемом командой меню Edit -> Nets. Здесь цепям питания присваивают тип Supply и указывают напряжение питания, после чего они исключаются из анализа. Всем остальным цепям по умолчанию присваивается тип Data.

 

Одновременно со списком цепей в модуль Protel SI была загружена информация о стеке слоев платы в точном соответствии с установками сделанными в окне Layer Stack Manager редактора печатных плат (рисунок 2), вызываемом командой Design -> Layer Stack Manager. Проверить и, при необходимости, изменить эти установки можно в окне Edit Layer Stack, вызываемом командой Edit -> Layer Stack.

 

 

Рис. 2. Задание стека слоев  печатной платы в системе Protel.

 

Здесь задаются:
— Type — тип диэлектрика (Core — несущий не эластичный, Prepreg — препреговый, эластичный, заполняющий зазоры до прилегающего слоя металлизации);
— Height — толщина диэлектрика, расположенного между текущим и расположенным выше слоем;
— EpsR — относительная диэлектрическая проницаемость;
— Copper Height — толщина слоя металлизации.

 

Настройка конфигурации завершается самой сложной операцией — указанием типов компонентов, их номинальных значений и IBIS-моделей. В общем случае типы компонентов присваиваются автоматически при запуске модуля Protel SI согласно установкам, сделанным в редакторе печатных плат системы Protel. Эти установки делаются на вкладке Signal Integrity диалогового окна Preferences, вызываемого командой Tools -> Preferences (рисунок 3). Здесь назначается соответствие префиксу позиционного обозначения элемента одного из семи типов компонентов с точки зрения программы анализа целостности сигналов: BJT, CAPACITOR, CONNECTOR, DIODE, IC, INDUCTOR, RESISTOR.

 

 

Рис. 3. Настройка правил назначения типов компонентов.

 

Назначенные согласно этим правилам типы компонентов будут переданы в модуль Protel SI, где их можно проверить и отредактировать в окне Edit Components, вызываемом командой меню Edit -> Components. Всем компонентам, позиционные обозначения которых не имели правила соответствия, по умолчанию будет присвоен тип IC, значения параметров резисторов, конденсаторов и катушек индуктивности и имена моделей компонентов остальных типов указываются с помощью атрибутов Comment.

 

Выбранные в списке слева цепи переносятся в список анализируемых, расположенный в правой верхней части окна модуля Protel SI (рисунок 1) с помощью команды Edit -> Take Over.

 

В правой нижней части окна отображается список компонентов, подключенных к одной из выбранных цепей. Номиналы дискретных компонентов (резисторов, конденсаторов, катушек индуктивности), а также типы транзисторов, диодов и интегральных схем автоматически извлекаются из атрибута Comment, имеющегося у всех компонентов на печатной плате. Здесь же показывается тип буфера, описывающий данный вывод компонента.
Изменения параметров простых компонентов (резисторов, конденсаторов, катушек индуктивности) производятся в соответствующем диалоговом окне, открываемом щелчком левой кнопкой мыши на кнопке Edit Buffer. Для диодов и биполярных транзисторов в аналогичном диалоговом окне указываются имена IBIS-моделей из числа имеющихся в библиотеке. Для разъемов (Connectors) указывается вид их эквивалентной схемы в виде линии передачи. Наконец, для интегральных схем (IC) выбирается технология изготовления или имя IBIS модели.

Тип тестового сигнала (одиночный прямоугольный импульс, периодическая последовательность импульсов или постоянное напряжение), используемого при анализе переходных процессов выбираются на вкладке Stimulus, открываемой нажатием на кнопку  Edit Buffer при выделенной строке с компонентом типа IC или Connector (рис. 4). Здесь также задаются параметры тестового сигнала и настройки программы моделирования (суммарное время моделирования и временной шаг).

 

 

Рис. 4. Задание параметров внешнего сигнала.

 

Источники тестовых сигналов автоматически подключаются ко всем выводам компонентов имеющим тип буфера Out, назначаемый согласно выбранной IBIS модели. При анализе целостности сигналов рекомендуется иметь только один источник сигнала в каждой цепи. Изменение типа буфера производится нажатием на кнопку In<->Out. При расчете перекрестных искажений рассматриваются два варианта: 1) источник сигнала подключается к цепи, выступающей в роли агрессора (присвоен признак aggressor), после чего рассчитываются формы сигналов во всех остальных узлах данной цепи, а также во всех узлах всех остальных выбранных цепей (источники сигналов к ним не подключаются даже при наличии буферов типа Out); 2) к узлам типа Out цепи, выступающей в роли жертвы (присвоен признак victim), источники тестового сигнала не подключаются, они подключаются к буферам типа Out всех остальных цепей.

Анализ целостности сигналов

Расчет параметров выбранных цепей выполняется по команде меню команде Simulation -> Screening. Результаты анализа Screening отображаются в табличной форме в окне Protel Signal Integrity Screening, показанном на рисунке 5. Отметим, что в этой таблице не приводятся данные для цепей, содержащих диоды, транзисторы и разъемы; их можно получить в результате моделирования в режимах Reflection и Crosstalk.

 

 

Рис. 5. Окно исследования параметров цепей.

 

По команде Simulation -> Reflection выполняется расчет формы сигналов в узлах каждого проводника с учетом отражений от нагрузок. Направление распространения сигналов в каждой цепи определяется типом буферов подсоединенных к ней выводов компонентов: тип Out обозначает наличие источника тестового сигнала, подключенного к данному выводу компонента; тип In обозначает, что данный вывод выступает в виде нагрузки линии передачи или приемника сигнала.

 

Результаты расчетов отображаются в окне просмотра формы сигналов Waveform Analyzer (рисунок 6). Здесь имеется возможность изменения масштаба просмотра кривых, а также измерения основных параметров сигналов. Например, если выбрать одну из кривых щелчком по ее легенде и выполнить команду Rise time, выполняется расчет времени нарастания, результаты которого отображаются в текстовом виде в окне Measurements.

 

 

Рис. 6. Окно исследования форм сигналов.

 

Имеется возможность рассчитать и просмотреть спектр выбранного сигнала. По команде Analyze -> FFT для выбранного сигнала выполняется быстрое преобразование Фурье и в окне отображается спектр сигнала (рисунок 7).

 

 

Рис. 7. Просмотр спектра исследуемого сигнала.

 

Рекомендации по согласованию с нагрузкой выбранной цепи можно получить с помощью специального инструмента вызываемого командой Simulation -> Terminator Advisor. На рисунке 8 показан один из 7 вариантов согласующих цепей с указанием их номиналов. Следует отметить, что данный инструмент по сути не дает никаких рекомендаций, он просто предлагает одну из типовых схем согласования после задания параметров которой она будет учитываться при анализе.

 

 

Рис. 8. Рекомендации по согласованию выбранной цепи с нагрузкой.

 

Помимо моделирования отражений сигналов модуль Protel SI позволяет производить анализ перекрестных искажений, предусматривающий расчет сигналов в цепях с учетом взаимной электромагнитной связи между прилегающими параллельными сегментами проводников. Выбор цепей для анализа производится аналогично расчету целостности сигналов, только в этом случае в окне, изображенном на рисунке 1, необходимо выбрать более одной цепи.

 

Перед выполнением анализа перекрестных искажений одна из цепей должна быть назначена или агрессором (команда Simulation -> Set Agressor Net), или жертвой (команда Simulation -> Set Victim Net) Собственно расчет выполняется по команде меню Simulation -> Crosstalk, по окончании которого результаты отображаются в описанном выше окне Protel WaveAnalyzer.

 

Текстовые отчеты о результатах анализа выводятся по команде File -> Reports. В появившемся диалоговом окне необходимо задать местоположение, имена, состав и форматы файлов отчетов. Внесение изменений в проект печатной платы производится на основании информации из этих отчетов.

Краткое описание IBIS-моделей

В модуле Protel Signal Integrity численно интегрируется система обыкновенных дифференциальных уравнений, составленная на основании информации о топологии печатной платы и используемых компонентах. При этом сегменты печатных проводников представляются в виде отрезков линии передач, а электронные компоненты — моделями по стандарту IBIS 2 (www.eigroup.org/ibis/). Согласно этому стандарту резисторы, конденсаторы и индуктивности считаются идеальными элементами, разъемы заменяются линиями передачи, диоды и транзисторы SPICE-моделями, а цифровые интегральные схемы заменяются аналоговыми моделями входных и выходных буферов, при этом передача сигналов внутри интегральной схемы не моделируется.

 

IBIS модели компонентов хранятся во встроенной библиотеке и автоматически подключаются к проекту в соответствии со значениями атрибутов Comment. Библиотека моделей, встроенная в программу, содержит модели более 4 тысяч цифровых микросхем, выполненных по самым различным технологиям. Для остальных компонентов (Resistor, Capacitor, Inductor, Connector, Diode, BJT) имеются встроенные модели, параметры которых задает пользователь с помощью редактора моделей, вызываемого командой меню Library -> Macromodel Editor. Кроме того, файлы отдельных моделей микросхем можно найти на сайтах фирм производителей. После загрузки такие файлы записываются во встроенную библиотеку с помощью конвертора, вызываемого командой меню Library -> IBIS-File. Например, фирма Philips Semiconductors публикует IBIS модели своих компонентов по адресу www.philipslogic.com/support/ibis. Вид окна редактора моделей Marcomodel Editor приведен на рисунке 9.

 

 

Рис. 9. Экран программы Macromodel Editor.

 

Здесь изображены закладки для ввода параметров модели биполярного транзистора, которые  активизируются по команде Edit -> Add. Набор этих параметров совпадает с параметрами стандартной модели SPICE.

 

Наборы параметров моделей полупроводниковых диодов также совпадают с моделями SPICE. Диалоговые окна ввода данных резисторов, конденсаторов и катушек индуктивности однотипны.

 

Разъемы при моделировании заменяются линиями передачи, для которых предусмотрены две схемы замещения: в виде линии передачи (Transmission Line, TL) и цепочечной схемы замещения (Lumped Element, LE).

 

Модели буферов цифровых ИС весьма разнообразны. Здесь имеются два набора параметров для описания входных и выходных буферов, которые задаются в соответствующих диалоговых окнах.

 

Ввод и редактирование параметров IBIS-моделей завершается занесением их в библиотеку с помощью команды Edit -> Save или Edit -> Save As.

 

Фирмы производители интегральных схем разрабатывают IBIS-модели для своих продуктов и поставляют их пользователям в виде файлов с расширением .IBS. Эти модели можно создать и самостоятельно, используя справочные данные и результаты измерений. Занесение этих  файлов во встроенную библиотеку производится с помощью программы Protel IBIS Converter, вид окна которой представлен на рисунке 10.

 

 

Рис. 10. Окно программы IBIS Converter.

 

 

 

Анализ целостности сигналов в ходе проверки DRC

Система Protel 99 SE имеет функцию анализа целостности сигналов на уровне проверки правил проектирования (DRC). Отметим, что эта функция отсутствует в стандартном наборе инструментов всех остальных систем проектирования печатных плат.

 

Для мониторинга целостности сигналов в системе Protel имеется специальный набор правил проектирования задающий критерии оценки различных параметров платы по итогам моделирования. Эти правила сгруппированы на вкладке Signal Integrity диалогового окна Design Rules, вызываемого командой Design -> Rules редактора печатных плат (рисунок 11). В общем случае в проекте может быть назначен практически неограниченный набор правил проектирования с различной областью действия (от отдельной цепи до все платы) и приоритетом.

 

 

Рис. 11. Определение правил проектирования для анализа целостности сигналов.

 

В число правил проектирования, учитываемых при анализе целостности сигналов входят:
· Impedance Constraint — определяет минимально и максимально допустимый импеданс цепи.
· Overshoot — Falling Edge — определяет максимально допустимый отрицательный выброс (затухающие колебания относительно низкого значения напряжения) на заднем фронте импульса сигнала.
· Overshoot — Rising Edge — определяет максимально допустимый положительный выброс (затухающие колебания относительно высокого значения напряжения) на переднем фронте сигнала.
· Signal Base Value — определяет максимально допустимое значение напряжения сигнала низкого уровня.
· Signal Flight Time Falling Edge — определяет максимально допустимое время задержки заднего фронта сигнала.
· Signal Flight Time Rising Edge — определяет максимально допустимое время задержки переднего фронта сигнала.
· Signal Stimulus — определяет характеристики входных сигналов, которые используются при анализе целостности сигналов. Это сигналы, которые подаются на каждый входной вывод тестируемой цепи и формируются на выходных выводах. Во время проверки правил проектирования возвращается наихудший возможный результат.
· Signal Top Value — определяет минимально допустимое значение напряжения сигнала высокого уровня.
· Slope — Falling Edge — определяет максимально допустимое значение крутизны заднего фронта импульса. Под этим значением здесь подразумевается время, затраченное на изменение уровня сигнала от порогового напряжения (VT) до действительного значения напряжения низкого уровня (VIL).
· Slope — Rising Edge — определяет максимально допустимое значение крутизны переднего фронта импульса. Под этим значением здесь подразумевается время, затраченное на изменение уровня сигнала от порогового напряжения (VT) до действительного значения напряжения высокого уровня (VIH).
· Undershoot — Falling Edge — определяет максимально допустимое значение положительного выброса (затухающие колебания относительно низкого значения напряжения) на заднем фронте сигнала.
· Undershoot — Rising Edge — определяет максимально допустимое значение отрицательного выброса (затухающие колебания относительно высокого значения напряжения) на переднем фронте сигнала.

 

Следует помнить, что данные правила не контролируются при интерактивной трассировке, а используются только при проверке DRC в пакетном режиме. Для того, чтобы использовать эти правила, необходимо обязательно установить правила Signal Stimulus Rule и Supply Nets rules. Кроме того, на вкладке Signal Integrity диалогового окна Preferences должна быть сконфигурирована таблица Designator Mapping, назначающая соответствие префиксов позиционных обозначений и типов компонентов, как было описано выше.

 

При запуске программы пакетной проверки правил проектирования DRC необходимо включить контроль всех необходимых правил из числа назначенных. Это производится в окне Design Rule Check, где  после нажатия на кнопку Signal Integrity откроется специальное окно Design Rules с активными опциями, соответствующими назначенным наборам правил (рисунок 12). После включения всех необходимых опций следует запустить процедуру проверки нажатием кнопки Run DRC.

 

 

Рис. 12. Определение правил проектирования для анализа целостности сигналов.

 

В ходе проверки будет сформирован отчет, в котором в виде списка нарушений будет констатироваться наихудший случай. Следующим этапом работы над проектом будет уточнение места, где возникло нарушение правила проектирования. Для этого следует запустить программу анализа целостности сигналов, выбрать упомянутую в отчете цепь и промоделировать распространение сигналов в ней. В случае с нарушением значений допустимых импедансов моделирование может не потребоваться  — достаточно будет изменить ширину проводников указанных цепей.

Статьи
Статьи об использовании программного обеспечения Sonnet
Подборка полезных материалов о пакете Sunnet Suite