Risoluzione dei problemi di simulazione

A colpo d'occhio

Questo articolo ti guida nella risoluzione dei problemi di simulazione in Altium Designer, aiutandoti a capire se la causa risiede nel circuito stesso o nella configurazione della simulazione. Spiega la differenza tra avvisi ed errori irreversibili, illustra perché si verificano problemi di convergenza in SPICE e fornisce indicazioni pratiche per risolverli nelle analisi del punto di lavoro, in continua con scansione e del transitorio. Troverai inoltre impostazioni specifiche e modifiche ai modelli che possono aiutarti a risolvere problemi comuni, come gli errori di matrice singolare, le difficoltà con l'incremento graduale delle sorgenti e i problemi legati al passo temporale. Se cerchi un percorso più chiaro per individuare e risolvere più rapidamente i problemi di simulazione, questa guida è un ottimo punto di partenza: continua a leggere.

- Impara a interpretare gli avvisi e gli errori di simulazione e a capire quali indicazioni forniscono sulle cause del fallimento di una simulazione.
- Segui una lista di controllo passo passo per risolvere i problemi di convergenza, dalle verifiche dei collegamenti e della messa a massa fino alle regolazioni avanzate delle impostazioni di analisi.
- Scopri suggerimenti mirati per risolvere i problemi nelle analisi del punto di lavoro, in continua con scansione e del transitorio, così da scegliere la soluzione più adatta al tipo di simulazione che non riesce.
Approfondisci con l'IA:

Quando un circuito non può essere simulato, occorre stabilire se il problema riguarda il circuito o il processo di simulazione. Segui le informazioni contenute in questa sezione della guida di riferimento e prova i suggerimenti proposti, uno alla volta.

A volte, durante una simulazione, viene visualizzato un messaggio che segnala errori o avvisi. Questi messaggi sono elencati nel pannello Messages .

  • Warning Messages – i messaggi di avviso non impediscono l'esecuzione della simulazione. In genere forniscono informazioni sulle modifiche che SPICE ha dovuto apportare al circuito per completare la simulazione. Tra queste rientrano parametri non validi o mancanti e così via.
  • Error Messages – i messaggi di errore forniscono informazioni sui problemi che il simulatore non è riuscito a risolvere e che hanno impedito il completamento della simulazione. I messaggi di errore indicano che non è stato possibile generare i risultati della simulazione, quindi gli errori devono essere corretti prima di poter analizzare il circuito.

Risoluzione dei problemi di esecuzione delle analisi di simulazione

Una delle sfide comuni a tutti i simulatori è la convergenza. Che cosa si intende esattamente con il termine convergence? Come la maggior parte dei simulatori, il motore SPICE di Altium Designer utilizza un processo iterativo che risolve ripetutamente le equazioni che rappresentano il circuito, per determinare le tensioni e le correnti a riposo. Se non riesce a trovare queste tensioni e correnti (ovvero non converge), non sarà in grado di eseguire un'analisi del circuito.

SPICE utilizza sistemi di equazioni lineari, espressi in forma matriciale, per determinare il punto di lavoro (tensioni e correnti in continua) di un circuito a ogni passo della simulazione. Il circuito viene ridotto a un insieme di conduttanze, che vengono inserite nella matrice per formulare le equazioni (G * V = I). Quando un circuito include elementi non lineari, SPICE esegue più iterazioni delle equazioni lineari per tenere conto delle non linearità. SPICE effettua una stima iniziale delle tensioni ai nodi, quindi calcola le correnti nei rami in base alle conduttanze del circuito. Utilizza poi le correnti nei rami per ricalcolare le tensioni ai nodi e ripete il ciclo. Questo ciclo continua finché tutte le tensioni ai nodi e le correnti nei rami non rientrano nelle tolleranze specificate (convergenza).

Tuttavia, se le tensioni o le correnti non convergono entro un numero specificato di iterazioni, SPICE genera messaggi di errore (come singular matrix, Gmin stepping failed, source stepping failed o iteration limit reached) e interrompe la simulazione. SPICE utilizza i risultati di ogni passo della simulazione come stime iniziali per il passo successivo. Se stai eseguendo un'analisi del transitorio (ovvero il tempo viene fatto avanzare per passi) e SPICE non riesce a convergere a una soluzione utilizzando il passo temporale specificato, il passo temporale viene ridotto automaticamente e il ciclo viene ripetuto. Se il passo temporale viene ridotto eccessivamente, SPICE visualizza un messaggio Timestep too small e interrompe la simulazione.

Risoluzione generale dei problemi di convergenza della simulazione

Quando un'analisi di simulazione non va a buon fine, il problema più comune è la mancata convergenza del circuito verso un punto di lavoro plausibile. Utilizza le tecniche seguenti per risolvere i problemi di convergenza.

Passaggi per la risoluzione dei problemi di convergenza

  • Quando riscontri un problema di convergenza, disattiva innanzitutto tutte le analisi tranne quella del punto di lavoro.
  • Consulta il pannello Messages per verificare la presenza di errori o avvisi relativi alla simulazione.
  • Assicurati che il circuito sia collegato correttamente. Non sono ammessi nodi scollegati e componenti isolati.
  • Assicurati che il circuito abbia un nodo di massa e che ogni nodo del circuito disponga di un percorso in continua verso questa massa. Tra i componenti che possono isolare un nodo figurano trasformatori e condensatori. I generatori di tensione sono considerati cortocircuiti in continua, mentre i generatori di corrente sono considerati circuiti aperti in continua.
  • Assicurati che gli zeri non siano stati confusi con la lettera O durante l'inserimento dei parametri di simulazione.
  • Assicurati che siano stati specificati i moltiplicatori SPICE corretti (MEG anziché M per 1e6) per tutti i valori dei componenti o i parametri di simulazione. I moltiplicatori non fanno distinzione tra maiuscole e minuscole. Inoltre, non sono consentiti spazi tra valori e moltiplicatori. Ad esempio, la forma corretta è 1.0uF, non 1.0 uF.
  • Assicurati che tutti i dispositivi e i generatori siano impostati sui valori corretti.
  • Assicurati che il guadagno di ciascun generatore dipendente sia impostato correttamente.
  • Elimina temporaneamente i condensatori o i generatori di corrente in serie ed esegui nuovamente la simulazione.
  • Elimina temporaneamente gli induttori o i generatori di tensione in parallelo ed esegui nuovamente la simulazione.
  • Nella scheda Advanced della finestra di dialogo Advanced Analysis Settings (accessibile facendo clic su Settings nell'area Analysis Setup & Run del pannello Simulation Dashboard), aumenta il valore del parametro ITL1 a 300. Questo consentirà all'analisi del punto di lavoro di eseguire più iterazioni prima di interrompersi.
  • Nella scheda Advanced della finestra di dialogo Advanced Analysis Settings, imposta il valore di RSHUNT1. Questa resistenza viene aggiunta tra ogni nodo del circuito e la massa e aiuta a correggere problemi come gli errori di "matrice singolare". Di norma, RSHUNT deve essere impostato su un valore di resistenza molto elevato, ad esempio 1e12.
  • Aggiungi dispositivi .NS (Nodeset) per definire le tensioni ai nodi. Se la stima iniziale della tensione di un nodo è molto lontana dal valore effettivo, è possibile utilizzare il dispositivo Nodeset per predefinire una tensione iniziale da usare in un passaggio preliminare dell'analisi del punto di lavoro. Configura il parametro Initial Voltage in ogni dispositivo Nodeset che posizioni. È possibile posizionare un dispositivo Nodeset dalla libreria Simulation Generic Components.
  • Se il dispositivo Nodeset non favorisce la convergenza, prova a definire le condizioni iniziali posizionando dispositivi .IC. In questo caso, le tensioni ai nodi vengono mantenute ai valori specificati durante l'analisi del punto di lavoro, per poi essere lasciate libere di variare durante l'analisi del transitorio. I dispositivi per le condizioni iniziali possono essere posizionati dalle stesse librerie dei dispositivi Nodeset; il parametro della tensione iniziale deve essere configurato nello stesso modo.
  • Abilita l'opzione Use Initial Conditions nelle impostazioni Transient dell'area Analysis Setup & Run del pannello Simulation Dashboard. Questa opzione funziona insieme ai dispositivi .IC (o al parametro IC dei componenti). Attivando questa opzione, l'analisi del punto di lavoro non viene eseguita e le tensioni specificate vengono utilizzate come condizioni iniziali per l'analisi del transitorio.
  • Specifica i parametri della resistenza in serie dei modelli e aumenta l'opzione GMIN (nella scheda Advanced della finestra di dialogo Advanced Analysis Settings) di un fattore pari a 10.
  • Specifica la condizione iniziale (Starting Condition) dei dispositivi a semiconduttore, in particolare dei diodi, come OFF. Questo può aiutare a risolvere i problemi di convergenza numerica escludendo il diodo (o il dispositivo a semiconduttore) dalla prima iterazione e favorendo così la convergenza.

Risoluzione dei problemi dell'analisi con scansione in continua

Quando riscontri un problema con un'analisi con scansione in continua, prova innanzitutto i passaggi elencati sopra per la risoluzione dei problemi di convergenza. Se i problemi persistono, prova quanto segue:

  • Modifica il valore del parametro Step nella sezione Analysis Setup & Run di Simulation Dashboard. Se nel modello di un dispositivo sono presenti discontinuità (ad esempio tra le regioni lineare e di saturazione del modello), aumentare l'ampiezza del passo può consentire alla simulazione di superare la discontinuità. Ridurre l'ampiezza dei passi, invece, consente alla simulazione di risolvere le discontinuità dovute a rapide transizioni di tensione.
  • Non utilizzare l'analisi con scansione in continua. Alcuni problemi (come l'isteresi) non possono essere risolti mediante l'analisi in continua. In questi casi, è più efficace utilizzare l'analisi del transitorio e far variare a rampa i valori dei generatori di alimentazione appropriati.

Risoluzione dei problemi dell'analisi del transitorio

Se riscontri un problema con un'analisi transitoria, prova innanzitutto i passaggi indicati sopra per la risoluzione dei problemi di convergenza. Se i problemi persistono, prova quanto segue.

Nella scheda Advanced della finestra di dialogo Advanced Analysis Settings (accessibile facendo clic su Settings nell'area Analysis Setup & Run del pannello Simulation Dashboard):

  • Imposta il parametro RELTOL su 0.01. Aumentando la tolleranza rispetto al valore predefinito di 0.001 (accuratezza dello 0,1%), saranno necessarie meno iterazioni per convergere verso una soluzione e la simulazione si concluderà molto più rapidamente.
  • Aumenta il valore del parametro ITL4 a 100. Questo consentirà all'analisi transitoria di eseguire più iterazioni per ogni passo temporale prima di interrompersi. Aumentare questo valore può contribuire a eliminare gli errori timestep too small, migliorando sia la convergenza sia la velocità di simulazione.
  • Riduci l'accuratezza aumentando i valori di ABSTOL e VNTOL, se i livelli di corrente e tensione lo consentono. Il tuo circuito potrebbe non richiedere risoluzioni fino a 1 µV o 1 pA. Dovresti comunque mantenere una risoluzione di almeno un ordine di grandezza inferiore ai livelli minimi di tensione o corrente previsti per il circuito.
  • Imposta Integration Method su uno dei metodi Gear. L'integrazione Gear richiede tempi di simulazione più lunghi, ma è generalmente più stabile di quella trapezoidale. L'integrazione Gear può essere particolarmente utile con circuiti che oscillano o presentano percorsi di retroazione.

Altri accorgimenti da provare:

  • Modella il circuito in modo realistico. Aggiungi elementi parassiti realistici, in particolare capacità parassite e di giunzione. Utilizza reti snubber RC ai capi dei diodi. Sostituisci i modelli dei dispositivi con sottocircuiti, soprattutto per i dispositivi RF e di potenza.
  • Aumenta i tempi di salita e discesa di tutte le sorgenti di impulsi periodici presenti nel circuito. Nemmeno i migliori generatori di impulsi possono commutare istantaneamente.
AI-LocalizedLocalizzato tramite A
Se trovi un problema, seleziona il testo/l’immagine e premi Ctrl + Enter per inviarci il tuo feedback.
Contents
Disponibilità delle funzionalità

Le funzionalità a tua disposizione dipendono dalla soluzione Altium di cui disponi: Altium Develop, Altium Agile Teams, Altium Agile Enterprise oppure Altium Designer (con abbonamento attivo).

Se non vedi una funzionalità documentata nel software che stai effettivamente utilizzando, contatta il reparto vendite di Altium per saperne di più.

Documentazione legacy

La documentazione di Altium Designer non è più suddivisa per versione. Se è necessario accedere alla documentazione delle versioni precedenti di Altium Designer, visitare la sezione Documentazione legacy della pagina Altri programmi di installazione.

Contents