Устранение неполадок при моделировании

Если схема не симулируется, необходимо определить, в чём проблема: в самой схеме или в процессе симуляции. Следуйте информации, приведённой в этом разделе справочника, и последовательно прорабатывайте предложенные пункты, пробуя их по одному.

Иногда во время симуляции отображается сообщение об ошибках или предупреждениях. Эти сообщения перечислены на панели Messages .

  • Warning Messages – предупреждения не являются фатальными для симуляции. Обычно они предоставляют информацию об изменениях, которые SPICE пришлось внести в схему, чтобы завершить симуляцию. К ним относятся неверные или отсутствующие параметры и т. п.
  • Error Messages – сообщения об ошибках содержат информацию о проблемах, которые симулятор не смог устранить и которые оказались фатальными для процесса симуляции. Сообщения об ошибках означают, что результаты симуляции не удалось сформировать, поэтому их необходимо исправить, прежде чем вы сможете анализировать схему.

Устранение неполадок при сбоях анализа симуляции

Одна из сложностей всех симуляторов — сходимость. Что именно подразумевается под этим термином, convergence? Как и большинство симуляторов, SPICE-движок Altium Designer использует итерационный процесс многократного решения уравнений, описывающих вашу схему, чтобы найти установившиеся (quiescent) напряжения и токи. Если ему не удаётся найти эти напряжения и токи (не удаётся достичь сходимости), он не сможет выполнить анализ схемы.

SPICE использует систему одновременных линейных уравнений, представленную в матричной форме, чтобы определить рабочую точку (DC-напряжения и токи) схемы на каждом шаге симуляции. Схема сводится к массиву проводимостей, которые помещаются в матрицу для формирования уравнений (G * V = I). Когда схема содержит нелинейные элементы, SPICE выполняет несколько итераций решения линейных уравнений, чтобы учесть нелинейности. SPICE делает начальное предположение о напряжениях в узлах, затем вычисляет токи ветвей на основе проводимостей в схеме. Далее SPICE использует токи ветвей для пересчёта узловых напряжений, и цикл повторяется. Этот цикл продолжается до тех пор, пока все узловые напряжения и токи ветвей не окажутся в пределах заданных допусков (сойдутся).

Однако если напряжения или токи не сходятся за заданное число итераций, SPICE выдаёт сообщения об ошибках (например, singular matrix, Gmin stepping failed, source stepping failed или iteration limit reached) и прерывает симуляцию. SPICE использует результаты каждого шага симуляции как начальные предположения для следующего шага. Если выполняется Transient-анализ (то есть время дискретно изменяется) и SPICE не может сойтись к решению при заданном шаге по времени, шаг по времени автоматически уменьшается, и цикл повторяется. Если шаг по времени уменьшается слишком сильно, SPICE отображает сообщение Timestep too small и прерывает симуляцию.

Общие рекомендации по устранению проблем со сходимостью симуляции

Когда анализ симуляции завершается неудачно, наиболее распространённая причина — неспособность схемы сойтись к разумной рабочей точке. Используйте следующие приёмы для решения проблем со сходимостью.

Шаги по устранению проблем со сходимостью

  • При проблемах со сходимостью сначала отключите все виды анализа, кроме анализа Operating Point.
  • Проверьте панель Messages на наличие ошибок/предупреждений, связанных с симуляцией.
  • Убедитесь, что схема соединена правильно. «Висящие» узлы и случайно оставленные элементы недопустимы.
  • Убедитесь, что в схеме есть узел земли (ground) и что каждый узел схемы имеет DC-путь к этой земле. Компоненты, которые могут изолировать узел, включают трансформаторы и конденсаторы. Источники напряжения считаются DC-коротким замыканием, источники тока считаются DC-разрывом цепи.
  • Убедитесь, что при вводе параметров симуляции нули не были перепутаны с буквой O.
  • Убедитесь, что для любых номиналов компонентов или параметров симуляции указаны корректные множители SPICE (MEG вместо M для 1e6). Множители не чувствительны к регистру. Также недопустимы пробелы между значением и множителем. Например, должно быть 1.0uF, а не 1.0 uF.
  • Убедитесь, что для всех устройств и источников заданы правильные значения.
  • Убедитесь, что коэффициент усиления (gain) любого зависимого источника задан корректно.
  • Временно исключите последовательные конденсаторы или источники тока и повторно запустите симуляцию.
  • Временно исключите параллельные индуктивности или источники напряжения и повторно запустите симуляцию.
  • На вкладке Advanced диалога Advanced Analysis Settings (открывается нажатием Settings в области Analysis Setup & Run панели Simulation Dashboard) увеличьте значение параметра ITL1 до 300. Это позволит анализу Operating Point выполнить больше итераций, прежде чем он прекратит попытки.
  • На вкладке Advanced диалога Advanced Analysis Settings задайте значение RSHUNT1. Это значение сопротивления добавляется между каждым узлом схемы и землёй и помогает исправлять проблемы вроде ошибок «singular matrix». Как правило, значение RSHUNT должно быть очень большим сопротивлением, например 1e12.
  • Добавьте устройства .NS (Nodeset), чтобы задать узловые напряжения. Если начальное предположение по узловому напряжению сильно отличается от реального, устройство Nodeset можно использовать для предварительного задания стартового напряжения, которое применяется на предварительном проходе анализа рабочей точки. Настройте параметр Initial Voltage в каждом размещаемом устройстве Nodeset. Nodeset можно разместить из библиотеки Simulation Generic Components.
  • Если устройство Nodeset не помогает со сходимостью, попробуйте задать начальные условия, разместив устройства .IC. В этом случае узловые напряжения удерживаются на заданных значениях во время анализа Operating Point, а затем «отпускаются» во время Transient-анализа. Устройства Initial Condition можно разместить из тех же библиотек, что и Nodeset; параметр Initial Voltage необходимо настроить аналогичным образом.
  • Включите опцию Use Initial Conditions в настройках Transient в области Analysis Setup & Run панели Simulation Dashboard . Эта опция работает совместно с устройствами .IC (или параметром IC компонентов). При включении этой опции анализ Operating Point не выполняется, а заданные напряжения используются как начальные условия для Transient-анализа.
  • Задайте параметры последовательного сопротивления (series resistance) ваших моделей и увеличьте опцию GMIN (вкладка Advanced диалога Advanced Analysis Settings) в 10 раз.
  • Задайте начальное состояние (Starting Condition) полупроводниковых приборов, особенно диодов, как OFF. Это может помочь решить численные проблемы со сходимостью, пропуская диод (или полупроводниковый прибор) на первой итерации, что улучшает сходимость.

Устранение неполадок DC Sweep-анализа

Если у вас возникла проблема с DC Sweep-анализом, сначала попробуйте шаги, перечисленные выше в разделе устранения проблем со сходимостью. Если проблемы сохраняются, попробуйте следующее:

  • Измените значение параметра Step в разделе Analysis Setup & Run в Simulation Dashboard. Если в модели прибора есть разрывы (например, между линейной областью и областью насыщения модели), увеличение шага может позволить симуляции «перешагнуть» разрыв. Уменьшение шага, наоборот, позволит симуляции разрешить быстрые разрывы при переходах напряжения.
  • Не используйте DC Sweep-анализ. Некоторые проблемы (например, гистерезис) не могут быть решены DC-анализом. В таких случаях эффективнее использовать Transient-анализ и плавно изменять (ramp) значения соответствующих источников питания.

Устранение неполадок Transient-анализа

Если у вас возникла проблема с Transient-анализом, сначала попробуйте шаги, перечисленные выше в разделе устранения проблем со сходимостью. Если проблемы сохраняются, попробуйте следующее.

На вкладке Advanced диалога Advanced Analysis Settings (открывается нажатием Settings в области Analysis Setup & Run панели Simulation Dashboard):

  • Установите параметр RELTOL в 0.01. При увеличении допуска относительно значения по умолчанию 0.001 (точность 0,1%) потребуется меньше итераций для сходимости к решению, и симуляция завершится значительно быстрее.
  • Увеличьте значение параметра ITL4 до 100. Это позволит Transient-анализу выполнять больше итераций для каждого шага по времени, прежде чем прекращать попытки. Увеличение этого значения может помочь устранить ошибки timestep too small , улучшая как сходимость, так и скорость симуляции.
  • Снизьте точность, увеличив значения ABSTOL и VNTOL, если уровни токов/напряжений это допускают. Вашей конкретной схеме может не требоваться разрешение вплоть до 1uV или 1pA. Однако следует оставлять как минимум один порядок запаса ниже минимально ожидаемых уровней напряжения или тока в вашей схеме.
  • Измените Integration Method на один из методов Gear. Интегрирование Gear требует большего времени симуляции, но обычно более стабильно, чем трапецеидальное. Интегрирование Gear может быть особенно полезно для схем, которые осциллируют или имеют цепи обратной связи.

Дополнительно можно попробовать:

  • Моделируйте схему реалистично. Добавьте реалистичные паразитные параметры, особенно паразитные/переходные ёмкости. Используйте RC-снабберы вокруг диодов. Заменяйте модели устройств на подсхемы (subcircuits), особенно для ВЧ- и силовых приборов.
  • Увеличьте времена нарастания/спада (rise/fall) любых источников Periodic Pulse в вашей схеме. Даже лучшие генераторы импульсов не могут переключаться мгновенно.
AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Доступность функциональных возможностей

Набор доступных функциональных возможностей зависит от вашего решения Altium – Altium Develop, редакция Altium Agile (Agile Teams или Agile Enterprise) или Altium Designer (на активной подписке).

Если вы не видите в своем ПО функцию, описанную здесь, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Content