Программа Advanced Analysis и режим анализа Optimizer в PSD 15.0 и OrCAD 10.0
Статья продолжает знакомить читателя с новым видом анализа Advanced Analysis. В предыдущих статьях [5, 6] мы описали режим анализа Smoke и Sensitivity, в данной статье мы расскажем о режиме анализа Optimizer.
Все статьи цикла:
- Программа Advanced Analysis и режим анализа Optimizer в PSD 15.0 и OrCAD 10.0, (Компоненты и технологии №5’2005)
- Программа Advanced Analysis и режим анализа Optimizer в PSD 15.0 и OrCAD 10.0, (Компоненты и технологии №6’2005)
- Программа Advanced Analysis и режим анализа Optimizer в PSD 15.0 и OrCAD 10.0, (Компоненты и технологии №8’2005)
- Программа Advanced Analysis и режим анализа Monte Carlo в PSD 15.0 и OrCAD 10.0, (Компоненты и технологии №9’2005)
- Программа Advanced Analysis и режим анализа Troubleshooting в PSD 15.0 и OrCAD 10.0. Режим анализа Troubleshooting, (Компоненты и технологии №1’2006)
- Программа Advanced Analysis и режим анализа Parametric Plotter в OrCAD 10.5. Режим анализа параметрического графопостроитель, (Компоненты и технологии №2’2006)
Анализ Optimizer представляет собой средство проектирования для оптимизации аналоговых схем и их поведения. Optimizer помогает изменять и оптимизировать аналоговые проекты для выполняемых вами задач. Он автоматически настроит проект и выявит ошибки быстрее, чем вы это сделаете с помощью макетирования. Также вы можете воспользоваться анализом Optimizer для нахождения лучших значений параметров компонента или схемы с целью обеспечения выполнения требований, предъявляемых к разрабатываемой аппаратуре.
PSpice Optimizer Advanced Analysis может использоваться для оптимизации проектов, отвечающих следующим критериям:
- проект должен быть промоделирован в PSpice;
- компоненты в проекте должны иметь переменные параметры, каждый из которых относится к намеченной цели работы.
Анализ Optimizer не может использоваться
- для создания рабочего проекта;
- для оптимизации цифровых проектов или проектов, в которых схема имеет несколько состояний и маленькие изменения в переменных значениях параметра являются причиной изменения состояния.
Основные термины
Оптимизация — процесс точной настройки проекта: изменяются определенные пользователем параметры проекта между последовательными моделированиями, пока результаты моделирования не станут равны идеальным. Анализ PSpice Optimizer решает четыре типа задач оптимизации, как описано в таблице 1.
Все четыре случая позволяют простые связанные ограничения, то есть нижние и верхние границы на всех параметрах. PSpice Optimizer тоже обращается с нелинейной функцией как с ограничением.
Параметр компонента определяет свойство проекта, для которого PSpice Optimizer пытается определить лучшие значения внутри указанных пределов.
Параметр может:
- представлять значения компонента (сопротивление для резистора R);
- представлять другие значения свойств компонента (положение ползунка в потенциометре);
- участвовать в выражениях, использующих определенные значения компонента или другие значения свойств компонента;
- быть параметром модели, таким как, например, параметр IS (ток насыщения при температуре 27 °C) для диода.
Пример: элемент потенциометр на схеме может использовать свойство SET, представляющее положение ползунка. Вы можете назначить параметризованное выражение на это свойство для представления переменной позиции ползунка между 1 и 0. В течение оптимизации PSpice Optimizer будет изменять параметризованное значение свойства SET.
Спецификация (specification) описывает желательное поведение проекта в терминах целей и ограничений.
Пример: для проекта усиление должно быть 20±1 дБ; полоса пропускания на уровне 3 дБ должна быть равна 1 кГц; время установления должно быть меньше, чем 1 мкс.
Проект должен всегда иметь, по крайней мере, одну цель. У вас может быть любое количество целей и ограничений в любой комбинации, но рекомендуется, чтобы число целей было меньше. Вы можете легко поменять цель на ограничение и наоборот.
Анализ Advanced Analysis Optimizer может иметь два типа спецификаций: внутренние (internal) и внешние (external).
Внутренняя спецификация составлена из целей и ограничений, которые определены в терминах заданных величин и диапазонов. Эти спецификации введены при помощи таблицы Standard из Advanced Analysis Optimizer.
Внешняя спецификация составлена из данных измерения, определенных во внешнем файле данных, который читается Advanced Analysis Optimizer. Внешние спецификации вводятся при помощи таблицы Curve Fit из Advanced Analysis Optimizer.
Цель (goal) определяет уровень выполнения, который проект должен пытаться обеспечить (например, минимальное потребление мощности). Спецификация цели включает:
- название цели;
- приемлемый диапазон значений;
- файл схемы для моделирования, профайл моделирования;
- выражение или функцию для измерений.
Профайл моделирования (simulation profile) используется в основном потоке моделирования. Этот профайл содержит и сохраняет установки моделирования для данного типа анализа для многократного использования. Профайл Advanced Analysis содержит и сохраняет установки расширенного анализа (optimizer/sensitivity).
Ограничение (constraint) определяет уровень выполнения, который проект должен осуществить. Например, выражение, указывающее, что выходное напряжение должно быть больше, чем указанный уровень, может быть ограничением. Спецификация ограничения включает:
- название ограничения;
- приемлемый диапазон значений;
- файл схемы для моделирования или профайл моделирования;
- выражение или функцию для измерений;
- разрешенные соотношения между измеренными значениями и заданным значением, которое может быть одним из показанных в таблице 2.
Рекомендуется, чтобы в проекте нелинейные функции параметров рассматривались как ограничения, а не как цели. Например, полоса пропускания может изменяться как квадратный корень тока подмагничивания.
Выполнение (performance) проекта является мерой того, как близко вычисленные значения его спецификации приближаются к заданным значениям для данных установок значений параметра.
Когда есть сложные спецификации (по крайней мере, одна из которых является целью), для измерения точности PSpice Optimizer использует сумму квадратов их отклонений от цели. Для единственной спецификации (цели) Optimizer PSpice использует или значения цели, или квадрат ее отклонения от цели.
Каждый аспект выполнения проекта находится оцениванием выражения PSpice Optimizer.
Во многих случаях (особенно если есть сложные противоречивые спецификации) возможно, что PSpice Optimizer не будет выполнять все цели и ограничения. В этих случаях оптимальное выполнение — компромисс, то есть решение, которое становится наиболее близким к удовлетворению каждой из целей и ограничений, даже при том, что оно полностью не может удовлетворить ни одно из них.
Оценка (evaluation) — алгоритм, вычисляющий единственное числовое значение, которое используется как мера выполнения в отношении спецификации проекта. PSpice Optimizer допускает оценки в одной из трех форм:
- одноточечная функция графика (trace function) PSpice A/D;
- целевая функция (goal function) PSpice A/D;
- выражение, основанное на комбинации функций. Например, max(X)+max(Y).
Данные результаты оценки PSpice Optimizer определяют, действительно ли изменения в значениях параметра улучшают выполнение и как выбрать параметры для следующей итерации.
Функция графика (trace function) определяет, как оценить характеристику проекта при выполнении одноточечного анализа (такого, как DC sweep с фиксированным входным напряжением 5 В). Например, Vout измеряет выходное напряжение; I (d1) измеряет ток через компонент.
Целевая функция (goal function) [1] определяет, как оценить характеристику проекта при выполнении любого вида анализа, кроме одноточечного варьируемого анализа. Целевая функция вычисляет характеристику сигнала, выражаемую единственным числом. Это может быть сделано нахождением характерной точки (например, время перехода через нуль) или некоторым другим действием. К примеру, вы можете использовать целевые функции PSpice A/D для следующего:
- нахождение максимумов и минимумов в графике;
- нахождение расстояния между двумя характерными точками (такими, как пики);
- измерение крутизны отрезка прямой;
- получение характеристик схемы, которые математически описаны (полоса пропускания, по уровню 3 дБ, потребляемая мощность, усиление и запас по фазе).
Убедитесь, что целевые функции точно измеряют то, что они предназначены измерять. Результаты оптимизации во многом зависят от того, насколько хорошо целевые функции ведут себя. Сосредоточенные неоднородности в целевых функциях (то есть внезапные скачки для маленьких изменений параметра) могут нарушить результат процесса оптимизации.
Выражение (expression) PSpice Optimizer определяет характеристику проекта. Выражение составляется из оптимизируемых значений параметра, констант, операторов и функций, показанных в таблице 3. Например, для измерения суммы значений резистора для двух резисторов с параметризованными значениями, названными R1val и R2val соответственно, используйте выражение PSpice Optimizer R1val + R2val.
В отличие от функций графика и целевых функций, выражения PSpice Optimizer оцениваются без использования моделирования.
Порядок осуществления анализа PSpice Optimizer
Для получения интерпретируемых результатов оптимизации Optimizer требует описания проблемы, которое состоит из проекта схемы, списка оптимизируемых параметров, числа проблемных ограничений, полученных из спецификации проекта, и набора целей выполнения оптимизации.
Для оптимизации схемы:
- Создайте или отредактируйте схему, используя редактор схем Capture.
- Промоделируйте и определите измерения схемы.
- Определите и установите параметры оптимизации, которые вы хотите изменить в процессе оптимизации. Можете установить параметры в Optimizer или на схеме.
- Определите спецификацию оптимизации. Для внутренних спецификаций используйте таблицу Standard.
- Определите цель для измерений схемы. Вы можете определить цели типа rise time (время установления), phase margin (запас по фазе) или entire response curves (полная амплитудно-частотная характеристика, АЧХ).
- Определите Weight goals (весовые коэффициенты).
Для внешних спецификаций используйте таблицу Curve Fit.
- Определите выражение для графика и местоположение файла Reference.
- Для каждого выражения для графика определите сигнал Reference, допустимое отклонение и весовой коэффициент.
- Выберите процессор (engine) Optimizer. Вы можете использовать процессоры Least Squares Quadratic, Modified Least Squares Quadratic или Random для оптимизации. Процессор Discrete должен использоваться после оптимизации, для преобразования параметров оптимизации в дискретные допустимые значения.
- Запустите анализ из Optimizer.
- Проанализируйте или рассмотрите данные в Optimizer и усовершенствуйте проект схемы.
- Сохраните и распечатайте ваши выходные результаты.
Настройку схемы начните со схемы в редакторе схем Capture. Моделирование схемы и измерения должны быть уже определены. Моделирование может быть Time Domain (transient), DC Sweep или анализ AC Sweep/Noise.
- Откройте вашу схему в редакторе схем.
- Выполните моделирование PSpice.
- Проверьте ваши ключевые сигналы в PSpice и удостоверьтесь, что они — те, что вы ожидаете.
- Проверьте ваши измерения в PSpice и удостоверьтесь, что они имеют ожидаемые результаты.
Настройка Optimizer состоит из следующих задач:
- открытие Optimizer в Advanced Analysis;
- выбор процессора;
- определение параметров оптимизации (выбор параметров компонента);
- настройка измерений схемы или спецификаций;
- определение целей оптимизации.
Цели оптимизации — спецификации проекта, которые вы хотите получить. Поэтому при определении параметров оптимизации вам нужно определить параметры, которые наибольшим образом соответствуют вашим целям.
Чтобы открыть Optimizer в Advanced Analysis, в меню PSpice в вашем редакторе схем выберите Advanced Analysis/Optimizer. Появится диалоговое окно PSpice Advanced Analysis Optimizer (рис. 1).
Анализ Optimizer в расширенном анализе использует четыре типа сложных процессоров:
- Least Squares Quadratic (LSQ). Процессор LSQ сходится на оптимальном решении;
- Modified LSQ (MLSQ). Процессор Modified LSQ использует и ограничения, и безусловные алгоритмы минимизации, которые позволяют ему оптимизировать цели, вводя нелинейные ограничения. Modified LSQ выполняет оптимизацию быстрее, чем процессор LSQ. При использовании Modified LSQ вы можете установить ваши спецификации измерения как цели или ограничения. Процессор стремится добраться до целей как можно ближе при обеспечении выполнения ограничений;
- Random (случайный). Процессор Random беспорядочно выбирает значения в пределах указанного диапазона, отображает ошибки несоответствия и параметр хронологии;
- Discrete (дискретный). Используется в конце цикла оптимизации, для округления значений компонента к значениям, соответствующим стандартным рядам номиналов компонентов. Например, анализ Optimizer определяет, что резистор 3 кОм в схеме В.Ч. усилителя должен быть 2,18113 кОм, но вы не можете использовать это значение в создаваемом вами проекте. В таком случае можно определить дискретную таблицу и переключиться к процессору Discrete. Процессор Discrete определит новые значения для этого резистора в зависимости от используемой таблицы. Для однопроцентной таблицы новое значение равняется 2,21 кОм.
В цикле оптимизации используется комбинация этих процессоров. Процессоры Optimizer имеют следующие преимущества:
- Процессор Modified LSQ быстро сходится на оптимальном решении;
- Процессор Random лучше использовать для выбора отправной точки, которая избегает попадать в местные минимумы, когда есть проблемы схождения;
- Процессор Discrete выбирает допустимые значения компонента и управляет моделированием еще один раз с выбранными значениями, соответствующими стандартному ряду номиналов компонентов.
Эти дискретные значения могут быть выбраны из выпадающего списка таблиц дискретных значений в Advanced Analysis Optimizer.
Таблицы Discrete, обеспечиваемые Advanced Analysis Optimizer, расположены в toolspspicelibrarydiscretetables. Под этой директорией вы найдете следующие поддиректории, которые содержат таблицы дискретных значений, соответствующие каждому элементу (емкости, индуктивности, резистору).
С Advanced Analysis вы получаете шесть таблиц дискретных значений. Эти таблицы доступны на глобальном уровне. Диапазон значений для таблиц дискретных значений перечислен в таблице 4.
Можно создать собственную таблицу дискретных значений для компонентов и переменных, чтобы процессор Discrete определял в директории проекта, где вы выполняете Advanced Analysis Optimizer. Операции, которые должны быть закончены для установки таблицы дискретных значений для определенной пользователем переменной:
- создание новой таблицы дискретных значений;
- соединение таблицы с процессором Discrete;
- использование таблицы.
Для создания новой таблицы дискретных значений выполните следующие действия:
- Переместитесь в вашей директории проекта в директорию discrete_tables/Variables.
- Создайте файл, названный xyz.table. Введите таблицу, как показано ниже.
После создания таблицы следующая операция должна добавить новую дискретную таблицу к Advanced Analysis. Это может быть сделано при помощи диалогового окна Advanced Analysis Optimizer Settings.
- В меню программы Advanced Analysis Edit выберите Profile Settings.
- В открывшемся окне Profile Settings щелкните по закладке Optimizer.
- Выберите Discrete из выпадающего списка Engine.
- Щелкните по новой кнопке файла в диалоговом окне Discrete Files, рассмотрите новый файл таблицы, который вы создали, и выберите его.
- Щелкните по кнопке New (Insert) в диалоговом поле Discrete Files, найдите новый файл таблицы, который Вы создали и выберите его.
- В текстовом окне Part Type выберите элемент, для которого создана новая таблица дискретных значений. В случае, если таблица дискретных значений необходима не для резистора, катушки индуктивности или конденсатора, выберите Other из выпадающего списка.
- Щелкните OK. Теперь вы можете использовать информацию, сохраненную в новом файле таблицы.
Для использования таблицы:
- В диалоговом окне анализа Optimizer выберите Discrete в выпадающем списке Engine инструментальной панели. Столбец Discrete Table добавится в таблицу Parameters.
- В столбце Discrete Table выберите нужную таблицу из выпадающего списка.
Анализ Optimizer в программе Advanced Analysis обеспечивает дискретные значения по умолчанию для резисторов, конденсаторов и катушек индуктивности. Нормальный поток проекта, в котором эти процессоры используются, — процессор Random, сопровождаемый процессором LSQ или MLSQ, и процессор Discrete. Для выбора процессора в верхней инструментальной панели в выпадающем перечне Engine выберите один из четырех процессоров оптимизации.
При установке параметров компонента вы идентифицируете компоненты или элементы в схеме, параметры которых вам необходимо изменить. Хотя Optimizer в Advanced Analysis может поддержать любое число компонентов, рекомендуется, чтобы число компонентов с переменными значениями параметра было сведено к минимуму.
Определить параметры вы можете, используя:
- редактор схем;
- анализ Optimizer;
- анализ Sensitivity.
Для определения параметров в редакторе схем:
- Выберите компонент, параметры которого вы хотите изменить.
- Выберите PSpice > Advanced Analyses > Export Parameters to Optimizer. Компонент добавится в таблицу Parameters.
После того как вы выбрали компонент, щелкните правой кнопкой мыши и выберите Export Parameters to Optimizer из выплывающего меню. Эта команда разрешена лишь в том случае, если выбранный компонент базируется на шаблонах PSpice.
Для определения параметров в Optimizer:
- В таблице Parameters в Advanced Analysis щелкните по ячейке, содержащей текст «Click here to import». Появится диалоговое окно Parameters Selection.
- Выделите компоненты, которые вы хотите изменить, и щелкните OK. Теперь компоненты внесены в список в таблице Parameters.
Для определения параметров анализа Sensitivity:
- После того как вы выполните анализ Sensitivity, выберите самые чувствительные компоненты и щелкните по ним правой кнопкой мыши.
- В выплывающем меню выберите Send to Optimizer. Выбранные компоненты будут внесены в список в таблице Parameters.
Когда вы добавляете компонент в таблицу Parameters, первоначальное, минимальные и максимальные значения параметра вносятся в список в таблице Parameters. Значения Min и Max устанавливают диапазон, в котором процессор будет изменять параметры компонента. Эти значения рассчитываются анализом Optimizer, основанным на первоначальном (original) значении. По умолчанию значение Min — одна десятая значения Original, значение Max — в десять раз больше значения Original. Для редактирования значений Min и Max в таблице Parameters с целью оптимизации вы можете использовать собственную техническую оценку.
Если вы повторно импортируете любой параметр, который уже присутствует в таблице Parameters, введенные данные в столбцах Original, Min и Max переписываются с новыми значениями.
Оптимизируемые параметры нуждаются в тщательном выборе, для гарантии более быстрой оптимизации и лучших результатов. Для выбора оптимизируемых параметров:
- изменяйте самые чувствительные компоненты вашей спецификации. Выполните анализ Sensitivity, чтобы найти их;
- используйте техническую оценку. Не изменяйте компоненты, значения которых должны оставаться теми же для успешного действия схемы;
- изменяйте только один компонент, если изменение других компонентов приводит к тому же самому эффекту.
Пример: в RC-фильтре и резистор и конденсатор воздействуют на полосу пропускания. Выбор одного параметра упрощает проблему. Если ваша цель не может быть выполнена при использовании одного параметра, можно добавить второй параметр.
Для установки параметров необходимо руководствоваться следующими принципами:
- убедитесь, что определенные вами диапазоны принимают во внимание рассеиваемую мощность и стоимость компонента. Например, резистор с маленьким сопротивлением может требовать большей, более дорогостоящей номинальной мощности;
- начните с маленького набора параметров (три или четыре) и добавляйте параметры в течение процесса оптимизации, особенно при работе с процессором LSQ;
- стремитесь к параметрам с начальными значениями ближе к середине диапазона. Если значения параметра находятся близко к конечной точке диапазонов, при нахождении решения анализ Optimizer сталкивается с большими проблемами;
- держите диапазоны оптимизируемых параметров в пределах одного или двух порядков величины.
Используя Advanced Analysis Optimizer, вы можете установить два типа спецификаций:
- спецификации Measurement. Должны использоваться в случаях, где выполнение схемы измеряется в терминах переменных значений параметра, например таких, как диапазон усиления для схемы;
- подгонка кривой спецификаций. Должна использоваться тогда, когда на выходе имеется сигнал, формируемый схемой.
В Advanced Analysis Optimizer вы можете также определить спецификацию измерения в таблице Standard:
- В таблице Specifications щелкните по ячейке, содержащей текст «Click here to import…». Диалоговое окно Import Measurements появится с измерениями, сформированными ранее в PSpice.
- Выделите измерения, которые вы хотите изменить и щелкните OK. Теперь компоненты внесены в список в таблице Specifications.
- Определите приемлемые минимальные и максимальные значения измерения в таблице Specifications (столбцы Max и Min).
- Если вы используете процессор Modified LSQ, отметьте измерение как цель или ограничение, щелкая в столбце Type. Процессор стремится добраться как можно ближе к целям при обеспечении выполнения ограничений.
- Весовые коэффициенты — важная часть спецификации, они используют столбец Weight. Измените число в столбце Weight, если вы хотите подчеркнуть важность одной спецификации относительно другой. Используйте положительное целое число, большее или равное единице. Исследование и экспериментальные ошибки — обычно лучший способ выбрать соответствующий весовой коэффициент. Выберите один весовой коэффициент и проверьте результаты Optimizer в графе Error. Повторяйте, пока не получите желаемые результаты.
Основные принципы для установки спецификаций измерения:
- определите ваши требования, перед тем как провести измерения;
- не устанавливайте противоречивые цели. Пример: Vout > 5 В и Vout < 2 В, когда входное напряжение равняется 3 В;
- удостоверьтесь, что вокруг точек измерений создано достаточно много точек данных. Хорошее решение получается для непротиворечивых и точных измерений;
- моделируйте только то, что необходимо для измерения вашей цели. Например, для высокочастотного фильтра начните изменение частоты со 100 кГц вместо 1 Гц.
Подбор кривых (сurve fitting) — метод оптимизации модели по сигналу. В этом методе спецификации используют совокупность точек x-y, которые описывают реакцию системы или части ее.
Подбор кривой рекомендуется использовать в следующих случаях:
- Для оптимизации модели с одной или большим набором точек ввода данных. Используя подбор кривой, можно оптимизировать сложные параметры модели для соответствия фактической представленной характеристике устройства или сигналам из справочных данных или измеренным данным.
- Когда целевые функции определены как значения в конкретных точках, YatX().
- Для оптимизации схем, которые нуждаются в точном анализе AC или импульсной характеристике. Например, вы можете использовать подбор кривой для оптимизации сигнала схемы формирования, где сигнал схемы должен соответствовать рекомендуемому сигналу.
Для использования подбора кривой в оптимизации проекта вам необходимо определить в таблице Curve Fit Advanced Analysis Optimizer следующее:
- Спецификацию подбора кривой. Вы можете или импортировать спецификацию из существующего файла .opt, или создать новую спецификацию. Создание новой спецификации включает определение выражения для графика, файл Reference, содержащий измеренные точки и соответствующие значения измерения, и рекомендуемые сигналы.
- Список параметров, которые будут изменены. Все оптимизируемые параметры в схеме внесены в список свойств файла распределения (property map file). Этот файл создается, когда ваш список соединений проекта имеет информацию о каждом устройстве, используемом в проекте схемы.
Для создания спецификации подстройки кривой (Curve-fit):
- Определите Trace Expression (выражение для графика).
- В области Specifications щелкните курсором по ячейке с выражением «Click here to enter a curve-fit specification».
- В диалоговом окне New Trace Expression выберите профайл моделирования из выпадающего списка Profile и определите выражение для графика или измерение, для которого вы хотите оптимизировать проект.
- Определите файл Reference.
- Определите сигнал Reference. Выпадающий список Ref. Waveform перечисляет все сигналы в файле Reference.
- Определите Weight (весовые коэффициенты) для спецификации.
- Определите относительное допустимое отклонение.
Продолжение следует
Литература
- Разевиг В. Д. Система проектирования OrCAD 9.2.— М.: Солон-Р, 2001.
- Златин И. Моделирование на функциональном уровне в OrCAD 9.2 // Компоненты и технологии. 2003. № 3, 4.
- Златин И. В Монте-Карло с OrCAD 9.2 // Компоненты и технологии. 2003. № 5.
- Златин И. Графический анализ результатов моделирования в OrCAD 9.2 // Компоненты и технологии. 2003. № 7.
- Златин И. Программа Advanced Analysis и режим анализа Smoke в PSD 15.0 и OrCAD 10.0 // Компоненты и технологии. 2005. № 4.
- Златин И. Программа Advanced Analysis и режим анализа Sensitivity в PSD 15.0 и OrCAD 10.0 // Компоненты и технологии. 2005. № 5.