Устранение неполадок при моделировании
Краткий обзор
- Научитесь интерпретировать предупреждения и ошибки моделирования и понимать, что они говорят о причинах сбоя.
- Получите пошаговый список действий для решения проблем со сходимостью — от проверки соединений и заземления до корректировки расширенных настроек анализа.
- Ознакомьтесь с рекомендациями по устранению неполадок при расчете рабочей точки, анализе с разверткой по постоянному току и анализе переходных процессов, чтобы выбрать подходящий способ решения для того типа моделирования, при котором возникает сбой.
Если схема не моделируется, необходимо определить, связана ли проблема с самой схемой или с процессом моделирования. Следуйте указаниям в этом разделе справочника и последовательно выполняйте предложенные действия, проверяя по одному.
Иногда во время моделирования появляются сообщения об ошибках или предупреждения. Эти сообщения отображаются на панели Messages .
- Warning Messages – предупреждения не приводят к прекращению моделирования. Обычно они содержат информацию об изменениях, которые SPICE пришлось внести в схему для завершения моделирования. К ним относятся некорректные или отсутствующие параметры и т. п.
- Error Messages – сообщения об ошибках содержат информацию о проблемах, которые симулятор не смог устранить и которые привели к прекращению моделирования. Эти сообщения указывают на то, что результаты моделирования не удалось получить, поэтому для анализа схемы необходимо сначала устранить ошибки.
Устранение сбоев при моделировании
Одна из проблем, с которой сталкиваются все симуляторы, — обеспечение сходимости. Что именно означает термин convergence? Как и большинство симуляторов, SPICE-движок Altium Designer использует итерационный процесс: многократно решает уравнения, описывающие схему, чтобы определить напряжения и токи в установившемся режиме. Если определить эти напряжения и токи не удаётся (решение не сходится), выполнить анализ схемы невозможно.
Для определения рабочей точки схемы (напряжений и токов постоянного тока) на каждом шаге моделирования SPICE использует систему линейных уравнений в матричной форме. Схема представляется набором проводимостей, которые помещаются в матрицу для формирования уравнений (G * V = I). Если схема содержит нелинейные элементы, SPICE выполняет несколько итераций решения линейных уравнений, чтобы учесть нелинейности. Сначала SPICE задаёт начальные приближения узловых напряжений, а затем рассчитывает токи ветвей на основе проводимостей элементов схемы. Далее SPICE использует токи ветвей для пересчёта узловых напряжений, и цикл повторяется. Этот процесс продолжается до тех пор, пока изменения всех узловых напряжений и токов ветвей не окажутся в пределах заданных допусков (то есть пока решение не сойдётся).
Однако если напряжения или токи не сходятся за заданное число итераций, SPICE выдаёт сообщения об ошибках (например, singular matrix, Gmin stepping failed, source stepping failed или iteration limit reached) и прерывает моделирование. SPICE использует результаты каждого шага моделирования в качестве начальных приближений для следующего шага. Если выполняется анализ переходных процессов (то есть расчёт с пошаговым изменением времени) и SPICE не удаётся получить сходящееся решение при заданном шаге по времени, шаг автоматически уменьшается, а цикл повторяется. Если шаг по времени становится слишком малым, SPICE выводит сообщение Timestep too small и прерывает моделирование.
Общие рекомендации по устранению проблем со сходимостью при моделировании
При сбое моделирования наиболее распространённая причина — невозможность получить сходящееся решение, соответствующее физически обоснованной рабочей точке схемы. Для устранения проблем со сходимостью используйте следующие приёмы.
Действия по устранению проблем со сходимостью
- При возникновении проблемы со сходимостью сначала отключите все виды анализа, кроме расчёта рабочей точки.
- Проверьте панель Messages на наличие ошибок и предупреждений, связанных с моделированием.
- Убедитесь, что соединения в схеме выполнены правильно. Неподключённые узлы и случайные несвязанные компоненты недопустимы.
- Убедитесь, что в схеме есть узел земли и что каждый узел схемы имеет путь для постоянного тока к этому узлу. К компонентам, способным изолировать узел, относятся трансформаторы и конденсаторы. Источники напряжения считаются коротким замыканием по постоянному току, а источники тока — разрывом цепи по постоянному току.
- Убедитесь, что при вводе параметров моделирования нули не были перепутаны с буквой O.
-
Убедитесь, что для номиналов компонентов и параметров моделирования указаны правильные множители SPICE (
MEGвместоMдля1e6). Множители нечувствительны к регистру. Пробелы между значениями и множителями недопустимы. Например, следует указывать1.0uF, а не1.0 uF. - Убедитесь, что для всех компонентов и источников заданы правильные значения.
- Убедитесь, что коэффициент передачи каждого зависимого источника задан правильно.
- Временно исключите последовательно включённые конденсаторы или источники тока и повторите моделирование.
- Временно исключите параллельно включённые катушки индуктивности или источники напряжения и повторите моделирование.
-
На вкладке Advanced диалогового окна Advanced Analysis Settings (открывается нажатием Settings в области Analysis Setup & Run панели Simulation Dashboard) увеличьте значение параметра
ITL1до300. Это позволит выполнить больше итераций расчёта рабочей точки, прежде чем расчёт будет прекращён. -
На вкладке Advanced диалогового окна Advanced Analysis Settings задайте значение
RSHUNT1. Сопротивление с этим значением добавляется между каждым узлом схемы и землёй, что помогает устранить такие проблемы, как ошибка «вырожденная матрица». Как правило, для RSHUNT следует задавать очень большое сопротивление, например1e12. - Добавьте элементы .NS (Nodeset), чтобы задать узловые напряжения. Если начальное приближение узлового напряжения сильно отличается от искомого значения, элемент Nodeset позволяет задать начальное напряжение для предварительного прохода расчёта рабочей точки. Настройте параметр Initial Voltage в каждом размещённом элементе Nodeset. Элемент Nodeset можно разместить из библиотеки Simulation Generic Components.
- Если элемент Nodeset не помогает добиться сходимости, попробуйте задать начальные условия с помощью элементов .IC. В этом случае при расчёте рабочей точки узловые напряжения удерживаются на заданных значениях, а при анализе переходных процессов это ограничение снимается. Элементы начальных условий можно разместить из тех же библиотек, что и элемент Nodeset; параметр начального напряжения Initial Voltage необходимо настроить аналогичным образом.
- Включите опцию Use Initial Conditions в настройках Transient в области Analysis Setup & Run панели Simulation Dashboard. Эта опция работает совместно с элементами .IC (или параметром IC компонентов). При её включении расчёт рабочей точки не выполняется, а заданные напряжения используются в качестве начальных условий для анализа переходных процессов.
-
Задайте параметры последовательного сопротивления в моделях и увеличьте значение параметра
GMIN(на вкладке Advanced диалогового окна Advanced Analysis Settings) в10раз. -
Для полупроводниковых приборов, особенно диодов, задайте начальное состояние (Starting Condition)
OFF. Это может помочь устранить численные проблемы со сходимостью: диод (или другой полупроводниковый прибор) пропускается на первой итерации, что способствует улучшению сходимости.
Устранение проблем при анализе с развёрткой по постоянному току
Если возникают проблемы при анализе с развёрткой по постоянному току, сначала выполните перечисленные выше действия по устранению проблем со сходимостью. Если проблемы сохраняются, попробуйте следующее:
- Измените значение параметра Step в разделе Analysis Setup & Run окна Simulation Dashboard. Если в модели компонента есть разрывы (например, между линейной областью и областью насыщения), увеличение шага может позволить при моделировании перешагнуть через разрыв. Уменьшение шага, напротив, позволит разрешить разрывы, связанные с быстрыми изменениями напряжения.
- Откажитесь от анализа с развёрткой по постоянному току. Некоторые явления (например, гистерезис) невозможно корректно исследовать с помощью анализа по постоянному току. В таких случаях эффективнее использовать анализ переходных процессов и плавно изменять значения соответствующих источников питания.
Устранение проблем при анализе переходных процессов
Если у вас возникли проблемы при анализе переходных процессов, сначала выполните приведенные выше действия по устранению проблем со сходимостью. Если проблемы сохраняются, попробуйте следующее.
На вкладке Advanced диалогового окна Advanced Analysis Settings (открывается щелчком по Settings в области Analysis Setup & Run панели Simulation Dashboard):
-
Установите для параметра
RELTOLзначение0.01. Увеличение допуска относительно значения по умолчанию0.001(точность 0,1 %) позволит сократить число итераций, необходимых для сходимости решения, и значительно ускорить моделирование. -
Увеличьте значение параметра
ITL4до100. Это позволит при анализе переходных процессов выполнять больше итераций на каждом временном шаге, прежде чем расчет будет прерван. Увеличение этого значения может помочь устранить ошибкиtimestep too small, улучшив сходимость и повысив скорость моделирования. -
Снизьте точность, увеличив значения
ABSTOLиVNTOL, если уровни тока и напряжения это позволяют. Для вашей схемы может не требоваться разрешение вплоть до 1 мкВ или 1 пА. Однако следует задавать значения как минимум на порядок ниже минимальных ожидаемых уровней напряжения или тока в схеме. - Измените Integration Method, выбрав один из методов Gear. Интегрирование методом Гира требует больше времени на моделирование, но обычно обеспечивает более высокую устойчивость, чем метод трапеций. Метод Гира может быть особенно полезен для схем с колебательными процессами или цепями обратной связи.
Дополнительные рекомендации:
- Моделируйте схему с учетом реальных условий. Добавьте реалистичные паразитные параметры, особенно паразитные емкости и емкости переходов. Используйте RC-снабберы для диодов. Замените модели компонентов подсхемами, особенно для ВЧ- и силовых компонентов.
- Увеличьте время нарастания и спада для всех источников периодических импульсов в схеме. Даже лучшие генераторы импульсов не могут переключаться мгновенно.