La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore Federico Bizzarri Dipartimento.

Presentazioni simili


Presentazione sul tema: "Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore Federico Bizzarri Dipartimento."— Transcript della presentazione:

1 Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore Federico Bizzarri Dipartimento di Elettronica e Informazione, Politecnico di Milano P.za Leonardo da Vinci 32, I Milano, Italy Cesena, 21 novembre 2012

2 Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore Cesena, 21 novembre 2012

3 Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore “A chi serve?“ – A chi ha a che fare con l’analisi o la sintesi (con la progettazione) di circuiti elettrici/elettronici che, a regime, presentano un comportamento periodico. “Quando serve?” – Quando i circuiti in esame sono descritti da modelli che presentano discontinuità delle variabili elettriche o delle loro derivate. “A cosa serve?” – Ad estendere a questi tipi di circuiti analisi che si basano sulla risoluzione del problema variazionale che descrive il sistema linearizzato attorno alla sua traiettoria (di regime) nello spazio di stato (matrice di transizione o matrice fondamentale o matrice di sensibilità rispetto alle condizioni iniziali). Cesena, 21 novembre 2012

4 Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore “Quando serve?” – Quando i circuiti in esame sono descritti da modelli che presentano discontinuità delle variabili elettriche o delle loro derivate. Un circuito analogico con “interruttori” Un circuito misto analogico-digitale Un circuito in parte descritto con un linguaggio “behavioural” Un circuito per cui la ALU del calcolatore che lo simula non è in grado di “seguirne” variazioni molto rapide “A cosa serve?” – Ad estendere a questi tipi di circuiti analisi che si basano sulla risoluzione dell’equazione variazionale che descrive il sistema linearizzato attorno alla sua traiettoria nello spazio di stato (matrice di transizione o matrice fondamentale o matrice di sensibilità rispetto alle condizioni iniziali). Metodi di “shooting” per il calcolo veloce della soluzione di regime Analisi di stabilità (moltiplicatori di Floquet) Analisi del rumore in oscillatori Funzioni di trasferimento tempo varianti Cesena, 21 novembre 2012

5 Sommario (cenni delle cose che serve sapere e che si usano abitualmente quando si lavora con circuiti analogici descritti da campi vettoriali “smooth” che ammettono una soluzione di regime periodica) Modified Nodal Analysis Analisi Steady State (matrice di sensibilità rispetto alle condizioni iniziali) Analisi di piccolo segnale periodica Teoria di Floquet Stabilità Rumore (di fase e rumore di ampiezza) negli oscillatori Cesena, 21 novembre 2012

6 Sommario estensione ai circuiti misti analogico/digitali
Sistemi dinamici ibridi (un cenno) Saltation matrix Derivazione nel caso switching Formulazione generale Un esempio semplice di applicazione Un esempio più complesso (Type-II 3-state PFD PLL) Il simulatore circuitale PAN Cesena, 21 novembre 2012

7 Modified Nodal Analysis
Sommario (cenni delle cose che serve sapere e che si usano abitualmente quando si lavora con circuiti analogici descritti da campi vettoriali “smooth” che ammettono una soluzione di regime periodica) Modified Nodal Analysis Analisi Steady State (matrice di sensibilità rispetto alle condizioni iniziali) Analisi di piccolo segnale periodica Teoria di Floquet Stabilità Rumore (di fase e rumore di ampiezza) negli oscillatori Cesena, 21 novembre 2012

8 Modified nodal analysis (MNA)
L'analisi nodale modificata permette, dato un circuito (non patologico) in generale dinamico descritto mediante equazioni topologiche (le leggi di Kirchhoff per le tensioni e le correnti) e le equazioni costitutive dei componenti che lo compongono, di formulare un modello in grado di descriverne il comportamento. Le incognite del modello fornito dall’MNA sono i potenziali di nodo del circuito (espressi rispetto a un nodo di riferimento) e le correnti di lato di tutti quei componenti che non sono controllabili in tensione. Il modello che l’MNA fornisce per le reti dinamiche (in generale non lineari) è un insieme di equazioni algebriche e differenziali che costituiscono una DAE (differential algebraic equation). Si riduce ad un sistema di sole equazioni algebriche per le reti adinamiche (resistive). L’MNA è fondamentale per poter descrivere in modo sistematico un circuito e analizzarne il comportamento mediante un simulatore. Cesena, 21 novembre 2012

9 Modified nodal analysis (MNA)
KCL KCL KVL Nodo di riferimento KCL KVL KCL Cesena, 21 novembre 2012

10 Modified nodal analysis (MNA)
Cesena, 21 novembre 2012

11 Modified nodal analysis (MNA)
Il modello che l’MNA fornisce è (in generale) un insieme di equazioni algebriche e differenziali che costituiscono una DAE (differential algebraic equation) ma … ci limiteremo al caso in cui esso sia semplicemente una ODE (ordinary differential equation). Questa ipotesi non fa perdere generalità agli argomenti che vedremo per due ragioni: Sarebbe possibile ma più complicato lavorare direttamente su una DAE Se si trascurano connessioni patologiche*, esiste sempre una opportuna trasformazione che utilizza trasferitori ideali di potenza e permette di ottenere, a partire dal circuito di partenza, un circuito identico ma modellabile mediante una ODE. * Maglie di soli induttori e generatori di tensione e tagli di soli condensatori e generatori di corrente Cesena, 21 novembre 2012

12 Modified nodal analysis (MNA)
In generale si prevede di aver a che fare con legami del tipo carica-tensione e flusso-corrente di tipo non lineare. In questo caso, come nel nostro esempio, condensatori e induttori sono lineari. Cesena, 21 novembre 2012

13 Modified Nodal Analysis
Sommario (cenni delle cose che serve sapere e che si usano abitualmente quando si lavora con circuiti analogici descritti da campi vettoriali “smooth” che ammettono una soluzione di regime periodica) Modified Nodal Analysis Analisi Steady State (matrice di sensibilità rispetto alle condizioni iniziali) Analisi di piccolo segnale periodica Teoria di Floquet Stabilità Rumore (di fase e rumore di ampiezza) negli oscillatori Cesena, 21 novembre 2012

14 Analisi Steady-State (Shooting)
L'analisi e la progettazione di circuiti elettronici, che prevedono a regime un funzionamento di tipo periodico, si avvalgono di metodi di simulazione numerici di tipo "steady-state“. CIRCUITO ELETTRONICO “SMOOTH” In modo efficiente, cioè non si vuole fare una lunga simulazione del transitorio e poi ricavare la soluzione di regime ma si cerca direttamente la soluzione di regime! Non è un “capriccio”: se progettiamo ad esempio un oscillatore ad alto Q, la simulazione della convergenza all’orbita di regime può impiegare ore ed ore di simulazione! Cesena, 21 novembre 2012

15 Ad esempio … (Oscillatore di Van der Pol) Analisi in transitorio
Shooting (T= s) Cesena, 21 novembre 2012

16 Come ottenere in modo efficiente la soluzione di regime?
Impostiamo il problema “trovare la soluzione periodica di regime” come un problema al contorno cioè un Boundary Value Problem (BVP) Assumiamo che il circuito sia autonomo e normalizziamo il tempo t rispetto al periodo incognito T (t = t/T) Il sistema diventa periodico di periodo 1. Sia la funzione di transizione di stato da 0 a t. Idea: posso provare a capire di quanto cambiare la condizione iniziale e il periodo affinché l’orbita si chiuda? Dovrei capire quanto il punto finale è sensibile rispetto al punto iniziale e al periodo … Cesena, 21 novembre 2012

17 Come ottenere in modo efficiente la soluzione di regime?
Trovare la condizione iniziale e il periodo tali da far chiudere l’orbita … … purtroppo il problema così definito ammette infinite soluzioni … … che scivolano in fase! Sia una opportuna “condizione di fase” che garantisce l’unicità della soluzione del Boundary Value Problem (BVP) … è un’equazione algebrica non lineare che dipende da … che riscriviamo come … Cesena, 21 novembre 2012

18 Come ottenere in modo efficiente la soluzione di regime?
Questo BVP che dipende da N+1 incognite è un sistema di N+1 equazioni algebriche non lineari che può essere risolto numericamente, ad esempio, con il metodo di Newton. Cesena, 21 novembre 2012

19 Cesena, 21 novembre 2012

20 Alla quarta iterazione:
Alla decima iterazione: All’undicesima iterazione: Cesena, 21 novembre 2012

21 Come ottenere in modo efficiente la soluzione di regime?
La soluzione corrente è adeguata? END SI Sensibilità della traiettoria rispetto alle condizioni iniziali NO La Cesena, 21 novembre 2012

22 Come ottenere in modo efficiente la soluzione di regime?
Problema Linearizzato Sistema di ODE lineari e tempovarianti Cesena, 21 novembre 2012

23 Come ottenere in modo efficiente la soluzione di regime?
Se la matrice Jacobiana Jf di f esiste allora il problema linearizzato può essere risolto in parallelo al problema non lineare originale e permette di calcolare la sensibilità della soluzione rispetto alle condizioni iniziali. … una volta trovata la soluzione periodica di regime … Cesena, 21 novembre 2012

24 Il sistema variazionale
Operativamente la soluzione del sistema ODE e la matrice di sensibilità rispetto alle condizioni si ricavano “in parallelo” risolvendo un problema di tipo Forward Sensitivity Analysis (FSA) Se xs (t) è soluzione allora è possibile calcolare l’effetto Dxs(t) sulla soluzione di una perturbazione Dx0 delle condizioni iniziali come Dxs(t) = F(t,t0) Dx0(t0) Cesena, 21 novembre 2012

25 Matrice sensibilità rispetto alle condizioni iniziali - Proprietà -
Proprietà di composizione Proprietà di mapping Cesena, 21 novembre 2012

26 Modified Nodal Analysis
Sommario (cenni delle cose che serve sapere e che si usano abitualmente quando si lavora con circuiti analogici descritti da campi vettoriali “smooth” che ammettono una soluzione di regime periodica) Modified Nodal Analysis Analisi Steady State (matrice di sensibilità rispetto alle condizioni iniziali) Analisi di piccolo segnale periodica Teoria di Floquet Stabilità Rumore (di fase e rumore di ampiezza) negli oscillatori Cesena, 21 novembre 2012

27 Analisi del sistema linearizzato attorno all’orbita di regime
Una volta determinata l’orbita di regime, è possibile utilizzare la linearizzazione del sistema originale attorno ad essa per determinare gli effetti dovuti a piccoli segnali periodici che la perturbino (periodic small signal analysis - PAC). ipotesi Cesena, 21 novembre 2012

28 Analisi del sistema linearizzato attorno all’orbita di regime
Sistema di equazioni differenziali lineari tempo-varianti periodico del primo ordine (LTVP). Se e u(t) sono continue nell’intervallo di definizione di t allora il problema ammette una sola soluzione. L’integrale generale (l’insieme di tutte le soluzioni xk) del sistema omogeneo associato al problema LTV è un sottospazio di dimensione N. Matrice fondamentale … … dal Teorema Liouville. È ancora una ancora matrice fondamentale. Cesena, 21 novembre 2012

29 Analisi del sistema linearizzato attorno all’orbita di regime
Ammette unica soluzione Matrice risolvente canonica o matrice di transizione Ammette unica soluzione (Formula di Lagrange) Cesena, 21 novembre 2012

30 Analisi del sistema linearizzato attorno all’orbita di regime
Il calcolo della matrice di transizione risulta quindi fondamentale perché … … assumendo un ingresso periodico di piccolo segnale … … è l’unico elemento che serve per calcolare come si riflette sullo stato del sistema … Cesena, 21 novembre 2012

31 Analisi del sistema linearizzato attorno all’orbita di regime
Vediamo un esempio con l’oscillatore di Van der Pol … (Attenzione: nello spazio di stato la traiettoria si interseca perché il sistema perturbato è non autononomo) Cesena, 21 novembre 2012

32 Analisi del sistema linearizzato attorno all’orbita di regime
Traiettoria di “piccolo segnale” visualizzata su 3 periodi del sistema non perturbato ovvero 11 periodi della perturbazione. Traiettoria di “grande segnale” visualizzata su 3 periodi del sistema non perturbato ovvero 11 periodi della perturbazione. Cesena, 21 novembre 2012

33 Analisi del sistema linearizzato attorno all’orbita di regime
Lo spettro del piccolo segnale presenta armoniche sottomultiple della fondamentale di grande segnale dato che la sua fondamentale è 1/3 di quest’ultima. Cesena, 21 novembre 2012

34 Analisi del sistema linearizzato attorno all’orbita di regime
In questo caso lo spettro del piccolo segnale ha la stessa fondamentale del grande segnale. Cesena, 21 novembre 2012

35 Singole frequenze diverse in ingresso generano spettri diversi in uscita.
Singole frequenze diverse in ingresso possono dare contributi su frequenze identiche in uscita. Cesena, 21 novembre 2012

36 Cosa si può fare con la “periodic small signal analysis”
Stabilisco dove inserire una sorgente di piccolo segnale (come termine additivo di una delle ODE che descrivono il sistema) Calcolo l’effetto di piccolo segnale di questa sorgente su tutte le variabili di stato che mi interessano ottenendo uno spettro opportuno per ciascuna di esse. Si stabilisce così una relazione tra una singola frequenza in ingresso e uno spettro in uscita. Faccio una scansione per tanti valori della frequenza della sorgente in ingresso e per ciascun valore (come al punto 1.) ottengo uno spettro. Fisso un valore di riferimento in frequenza, identico per ciascuno spettro in uscita, e calcolo il valore dello spettro a quella frequenza. Costruisco un grafico e metto in ascissa le frequenze su cui ho eseguito la scansione in ingresso e in ordinata il valore estratto da ogni spettro alla medesima frequenza fissata. Fisso un insieme di frequenze possibili in ingresso e un insieme di frequenze in uscita. Per ciascuna frequenza in uscita calcolo il contributo (se esiste) di ciascuna delle frequenze in ingresso. Costruisco un grafico e metto in ascissa le frequenze scelte in uscita e in ordinata i contributi ottenuti. In questo modo posso valutare, in una banda di interesse, l’effetto di un rumore per sovrapposizione degli effetti in frequenza. Cesena, 21 novembre 2012

37 Modified Nodal Analysis
Sommario (cenni delle cose che serve sapere e che si usano abitualmente quando si lavora con circuiti analogici descritti da campi vettoriali “smooth” che ammettono una soluzione di regime periodica) Modified Nodal Analysis Analisi Steady State (matrice di sensibilità rispetto alle condizioni iniziali) Analisi di piccolo segnale periodica Teoria di Floquet Stabilità Rumore (di fase e rumore di ampiezza) negli oscillatori Cesena, 21 novembre 2012

38 Matrice di transizione - Proprietà per sistemi lineari tempo varianti periodici -
Assumiamo che Esponenti di Floquet (per ipotesi N distinti) Floquet (1883) Moltiplicatori di Floquet Matrice di Monodromia Decomposizione Cesena, 21 novembre 2012

39 Le costanti ci dipendono dalle condizioni iniziali del problema.
Matrice di transizione - Proprietà per sistemi lineari tempo varianti periodici - è matrice fondamentale … Poiché la soluzione del sistema di equazioni lineari tempo varianti (periodico) è esprimibile come combinazione lineare delle colonne di una matrice fondamentale … Le costanti ci dipendono dalle condizioni iniziali del problema. Periodicità: un esponente nullo ( : un moltiplicatore unitario) Stabilità: altri esponenti con parte reale negativa (altri moltiplicatori nel cerchio unitario) Cesena, 21 novembre 2012

40 Modified Nodal Analysis
Sommario (cenni delle cose che serve sapere e che si usano abitualmente quando si lavora con circuiti analogici descritti da campi vettoriali “smooth” che ammettono una soluzione di regime periodica) Modified Nodal Analysis Analisi Steady State (matrice di sensibilità rispetto alle condizioni iniziali) Analisi di piccolo segnale periodica Teoria di Floquet Stabilità Rumore (di fase e rumore di ampiezza) negli oscillatori Cesena, 21 novembre 2012

41 Stabilità L0: ciclo limite soluzione periodica del problema non lineare di partenza S: (sezione di Poincaré) superficie localmente ortogonale ad L0 P: Mappa di Poincaré associata a L0 (punto fisso per la mappa) Definiamo un sistema di coordinate (y1, y2, …, yN-1) su S per il quale il punto x0 è l’origine. Il punto x0 è stabile se gli autovalori di A giacciono nel cerchio di raggio unitario La stabilità del ciclo L0 è identica a quella del punto x0 per la mappa. Si dimostra che gli N-1 autovalori di A sono gli N-1 autovalori non unitari di Cesena, 21 novembre 2012

42 (Oscillatore di Van der Pol)
Ad esempio … (Oscillatore di Van der Pol) Shooting (T= s) Cesena, 21 novembre 2012

43 Modified Nodal Analysis
Sommario (cenni delle cose che serve sapere e che si usano abitualmente quando si lavora con circuiti analogici descritti da campi vettoriali “smooth” che ammettono una soluzione di regime periodica) Modified Nodal Analysis Analisi Steady State (matrice di sensibilità rispetto alle condizioni iniziali) Analisi di piccolo segnale periodica Teoria di Floquet Stabilità Rumore (di fase e rumore di ampiezza) negli oscillatori Cesena, 21 novembre 2012

44 Rumore di fase e rumore di ampiezza negli oscillatori
In generale, come abbiamo già accennato, quando parliamo degli effetti di un rumore che ipotizziamo sufficientemente piccolo e additivo, pensiamo ad un disturbo che vada a sommarsi al segnale “noiseless” che ci interessa. ipotesi Più realisticamente è opportuno pensare che l’effetto del rumore si rifletta sul segnale noiseless con due contributi distinti che ne deteriorano due caratteristiche: l’ampiezza e la fase. Amplitude deviation Phase deviation (o Phase Response) In generale il rumore di fase preoccupa molto di più i progettisti di quanto non faccia il rumore di ampiezza e cercheremo di capire qualitativamente perché. Cesena, 21 novembre 2012

45 Rumore di fase e rumore di ampiezza negli oscillatori
Una prima considerazione: se la soluzione perturbata è molto vicina a quella noiseless, cioè c’è una piccola amplitude deviation, può comunque essere presente una phase deviation consistente! Cesena, 21 novembre 2012

46 Rumore di fase e rumore di ampiezza negli oscillatori
Inoltre, se il ciclo limite è stabile, potremmo perfino avere il caso in cui un piccolo disturbo che agisce tipo un “ping” produce un effetto in ampiezza che si attenua e svanisce e una perturbazione in fase che non si recupera mai più! Le linee blu sono isocrone: se parto da punti che stanno su una stessa isocrona arrivo sul ciclo nello stesso tempo*. Attenzione: le isocrone sono un’approssimazione della dinamica non lineare. In realtà dai punti rosso e verde si giunge all’orbita in un tempo infinito altrimenti le traiettorie si intersecherebbero violando l’unicità locale della soluzione. Cesena, 21 novembre 2012

47 Rumore di fase e rumore di ampiezza negli oscillatori
Se parto da isocrone diverse arrivo sull’orbita in tempi diversi e poi rimango sfasato per sempre! Nota importante: recupero completamente la deviazione di ampiezza iniziale ma l’effetto sulla fase è irreparabile! Cesena, 21 novembre 2012

48 Rumore di fase e rumore di ampiezza negli oscillatori
… il “ping” perturba porta la traiettoria lasciandola sulla stessa isocrona. … gli effetti sull’ampiezza del ciclo delle (piccole) perturbazioni (dovute a sorgenti di rumore) si attenuano quindi il rumore di ampiezza non è di grande interesse. Cesena, 21 novembre 2012

49 Rumore di fase e rumore di ampiezza negli oscillatori
… gli effetti sulla fase del ciclo delle (piccole) perturbazioni (dovute a sorgenti di rumore) potrebbero non attenuarsi mai più!. … il “ping” perturba porta la traiettoria non spostandola dall’attrattore ma facendola scivolare sulle isocrone. Cesena, 21 novembre 2012

50 Rumore di fase e rumore di ampiezza negli oscillatori
E’ possibile scomporre gli effetti totali di rumore, ottenuti ad esempio mediante analisi periodiche di piccolo segnale, in contributi in fase e contributi in ampiezza? La risposta è “sì” e si deve passare attraverso una vecchia conoscenza: la matrice di transizione di stato. Nel contesto della teoria dei circuiti è stata proposta una teoria all’inizio degli anni 2000 da Alper Demir et al. (e poi applicata/dettagliata da altri) che permette di scomporre questi contributi. Si basa su metodi di proiezione della perturbazione lungo un particolare vettore tempovariante e, in realtà, anche nei primi anni 2000* non era del tutto nuova perché in altri contesti (oscillatori più in senso lato) è nota dal 1960 (Teorema di Malkin). Non entriamo in alcun tipo di dettaglio ma si afferma “soltanto che per ottenere il rumore di fase è necessario calcolare l’andamento temporale (in un periodo) dell’autofunzione sinistra (corrispondente al moltiplicatore unitario) della matrice di transizione. A. Demir, A. Mehrotra, J. Roychowdhury, “Phase Noise in Oscillators: A Unified Theory and Numerical Methods for Characterization, “ IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications”, vol. 47, No. 5, pp , May 2000. Cesena, 21 novembre 2012

51 Deve esistere la matrice Jacobiana di f
… in conclusione … Analisi steady state Analisi di piccolo segnale periodica Stabilità Rumore di fase Matrice di transizione elemento chiave per Matrice di transizione e modello variazionale Deve esistere la matrice Jacobiana di f Milano - 30 novembre 2011

52 Cosa succede se … La caratteristica del resistore non lineare è diventata piecewise smooth e possiamo descrivere la dinamica del sistema facendo ricorso a 2 campi vettoriali: L’evento x1=0 governa lo switching tra i due campi vettoriali e lo spazio di stato 2D è partizionato dalla superficie Cesena, 21 novembre 2012

53 In corrispondenza della commutazione del campo vettoriale,
Cosa succede se … Provo a fare una simulazione in transitorio cercando, durante l’evoluzione dello stati il passaggio per zero della variabile x1 e regolando così la commutazione tra i due campi vettoriali In corrispondenza della commutazione del campo vettoriale, lo stato del sistema è continuo ma lo Jacobiano del sistema presenta una discontinuità. Cesena, 21 novembre 2012

54 Cosa succede se … Se prolunghiamo un po’ l’analisi in transitorio e riportiamo l’orbita ottenuta sul piano di stato ci accorgiamo che c’è convergenza verso un orbita periodica , come nel caso smooth. E’ possibile utilizzare il metodo di shooting per ricavare l’orbita di regime in modo efficace e avere a disposizione il sistema variazionale che permetta tutte le considerazioni fatte per i sistemi smooth? Cesena, 21 novembre 2012

55 Cosa succede se … Nel nostro caso, purtroppo lo Jacobiano del sistema non è definito … ma non proprio ovunque … Vale ovunque tranne che per x1=0 Allora provo ad applicare l’algoritmo di shooting e mi accorgo che … Cesena, 21 novembre 2012

56 … ma la matrice di monodromia è sbagliata!
Cosa succede se … … converge … T= s … ma la matrice di monodromia è sbagliata! Cesena, 21 novembre 2012

57 Cosa succede se … Il sistema switching con lo Jacobiano non definito a cavallo della discontinuità del campo vettoriale è tale da permettere al metodo di shooting (basato sul metodo di Newton) di convergere perché la discontinuità non è troppo accentuata In altre parole il metodo di Newton converge perché l’essere iterativo gli permette di correggere non solo le condizioni iniziali ma anche “piccoli errori” dello Jacobiano. (Esistono versioni “astute” del metodo di Newton che non ricalcolano lo Jacobiano ad ogni iterazione ma solo quando si rendono conto che la convergenza è troppo lenta) Se vogliamo però estendere gli strumenti cha abbiamo visto ai casi in cui lo Jacobiano non è definito dobbiamo fare qualcosa di più … Cesena, 21 novembre 2012

58 Sistemi dinamici ibridi
“I sistemi dinamici ibridi sono costituiti da processi di evoluzione dinamica continui/discreti che interagiscono con processi logici o decisionali” Sistemi dinamici “switching” Campo vettoriale discontinuo ma stato continuo (sistemi di Filippov) Sistemi dinamici “a impatto” Lo stato presenta discontinuità nel tempo (Sistemi con campo vettoriale continuo ma non differenziabile) Cesena, 21 novembre 2012

59 Sistemi dinamici ibridi
“I sistemi dinamici ibridi sono costituiti da processi di evoluzione dinamica continui/discreti che interagiscono con processi logici o decisionali” Processo di evoluzione dinamica Processo logico decisionale Cesena, 21 novembre 2012 59

60 Sistemi dinamici ibridi
Estensione per i sistemi ibridi della matrice di sensibilità rispetto alle condizioni iniziali Piecewise smooth Ordinary Differential Equations M. Di Bernardo, C. Budd, A. Champneys, and P. Kowalczyk, Piecewise-smooth Dynamical Systems, Theory and Applications. London: Springer-Verlag, 2008. Piecewise smooth Differential Algebraic Equations F. Bizzarri, A. Brambilla, G. Storti Gajani, “Steady State Computation and Noise Analysis of Analog Mixed Signal Circuits”, IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, vol. 59, No. 3, pp , March 2012. Cesena, 21 novembre 2012

61 Saltation Matrix Regione 2 – Campo vettoriale f2 Primo obiettivo
al prim’ordine. in Dt Switching Manifold IC non perturbata in t1-t0 IC perturbata Secondo obiettivo al prim’ordine. Regione 1 – Campo vettoriale f1 Cesena, 21 novembre 2012

62 Saltation Matrix Il punto viola approssimato da
un’espansione centrata nel punto blue Il punto rosso approssimato da un’espasione centrata nel punto verde approssimato da un’espansione centrata nel punto blue Cesena, 21 novembre 2012

63 Saltation Matrix Consideriamo adesso la linearizzazione del manifold prima nel punto rosso … e poi nel punto verde … Cesena, 21 novembre 2012

64 Saltation Matrix Cesena, 21 novembre 2012

65 Saltation Matrix Saltation matrix S Cesena, 21 novembre 2012

66 Saltation Matrix switching e manifold tempo-variante
Cesena, 21 novembre 2012

67 Saltation Matrix impatto e manifold tempo-variante
Jacobiano della funzione di mapping Cesena, 21 novembre 2012

68 Saltation Matrix Il caso completo (switching, impatto e manifold tempo-variante)
Cesena, 21 novembre 2012

69 Un oscillatore switching misto analogico digitale
F. Bizzarri, A. Brambilla, G. Storti Gajani, “Extension of the variational equation to analog/digital circuits: Numerical and experimental validation”, International Journal of Circuit Theory and Applications, (published online) oct. 2012, DOI:  /cta.1864. Cesena, 21 novembre 2012

70 Un oscillatore switching misto analogico digitale
Cesena, 21 novembre 2012

71 Stato continuo ma non derivabile
Un oscillatore switching misto analogico digitale Simulazioni numeriche L’oscillatore è stato simulato numericamente con un metodo di shooting per determinarne l’orbita di regime e il corrispondente andamento temporale dell’autofunzione v1. Traiettoria di regime Stato continuo ma non derivabile Autofunzione v1(t) Cesena, 21 novembre 2012

72 Un oscillatore switching misto analogico digitale Misure sperimentali
L’oscillatore è stato realizzato su breadboard ed è stato iniettato rumore bianco mediante un generatore di funzioni connesso come un generatore di tensione in serie ad R4. Le misure sono state effettuate ai capi di C1. Total noise simulato Total noise misurato Phase noise “Demir” Total noise misurato Total noise “Spectre” Cesena, 21 novembre 2012

73 Type-II 3-state PFD PLL: un esempio più complesso
F. Bizzarri, A. Brambilla, G. Storti Gajani, “Periodic small signal analysis of a wide class of type-II phase locked loops through an exhaustive variational model”, IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, vol. 59, No. 10, pp , October 2012. Un PLL (Phase-Locked Loop o Phase Lock Loop) è un sistema di controllo che genera un segnale in uscita la cui fase ha un relazione ben precisa con quella di un segnale di riferimento in ingresso. Un PLL è un circuito elettronico composto da (composizione minima) un oscillatore a frequenza variabile controllabile tipicamente in tensione VCO (Voltage Controlled Oscillator) un rivelatore di fase PD (Phase Detector) Il rivelatore di fase PD confronta la fase del segnale di riferimento in ingresso con la fase del segnale generato dal VCO e aggiusta la frequenza di funzionamento di quest’ultimo in modo da mantenere le due fasi agganciate. Il segnale in uscita dal PD viene utilizzato quindi per controllare l’oscillatore nell’anello di retroazione. Cesena, 21 novembre 2012

74 Type-II 3-state PFD PLL: un esempio più complesso
Dal momento che la frequenza è la derivata della fase rispetto al tempo, se un PLL è in grado di agganciare due segnali in fase automaticamente li aggancia anche in frequenza. Le tipiche applicazioni di un PLL sono quindi frequency synthesizer (può generare un segnale in uscita che ha una frequenza multipla di quella del segnale di riferimento) demodulation (è in grado di fare il “tracking” di una frequenza in ingresso e quindi demodulare eventuali contenuti informativi modulati in essa) Esistono diversi approcci per la simulazione di un PLL che spesso si rifanno alla definizione di macro-modelli in grado di cogliere le caratteristiche salienti del funzionamento del circuito ma che perdono totalmente (o quasi) il legame con la tecnologia dei componenti reali (transistor) che vengono utilizzati per realizzare il PLL. Cesena, 21 novembre 2012

75 Type-II 3-state PFD PLL: un esempio più complesso
Un’architettura mista analogica digitale Digital Analog CP: Charge Pump (pompa di carica). Converte l’uscita logica del PFD in un segnale analogico in grado di controllare il VCO. LPF: Low Pass Filter (filtro passa basso). Serve per ridurre il ripple in uscita dalla CP dovuto al fatto che è pilotata da segnali con fronti molto bruschi. ID: Integer Divider (divisore intero). Fa sì che il PFD analizzi la posizione relativa tra i due segnali ingresso e uscita al PLL ogni NID cicli del VCO. Cesena, 21 novembre 2012

76 Type-II 3-state PFD PLL: un esempio più complesso
Un’architettura mista analogica digitale PFD viene modellato come una macchina a stati Ipotesi: un segnale positivo in uscita da CP accelera il VCO (viceversa uno negativo) Stato S1: U=0 e D=1 il VCO viene decelerato Stato S3: U=1 e D=0 il VCO viene accelerato Stato S2: U=0 e D=0 il VCO mantiene la frequenza imposta dal segnale in uscita dal LPF Fronte di salita del segnale generato dal VCO Fronte di salita del segnale di riferimento Quanto il PLL è in aggancio il PFD si trova in S2 Cesena, 21 novembre 2012

77 Type-II 3-state PFD PLL: un esempio più complesso
Digital Analog Dinamica della parte analogica Dinamica della parte digitale con il divisore intero di frequenza. Assumiamo NID=1. Cesena, 21 novembre 2012

78 Type-II 3-state PFD PLL: un esempio più complesso
Sistema variazionale associato al modello della PLL Questo blocco esprime la sensibilità delle xF rispetto alle xV ed è nullo … il modello variazionale è errato! Il modello variazionale così ottenuto non risente della parte digitale del circuito … come possiamo inserirla? Cesena, 21 novembre 2012

79 Type-II 3-state PFD PLL: un esempio più complesso
sREF(t,j) = sREF(2p fREF t+j) Cesena, 21 novembre 2012

80 Type-II 3-state PFD PLL: un esempio più complesso
sREF(t,j) = sREF(2p fREF t+j) La frequenza di lavoro del VCO è controllata da una combinazione lineare delle variabili di stato xF di LPF fVCO = fVCO(aTxF) fVCO(aTxF) = NID fREF Cesena, 21 novembre 2012

81 Type-II 3-state PFD PLL: un esempio più complesso
sREF(t,j) = sREF(2p fREF t+j) La frequenza di lavoro del VCO è controllata da una combinazione lineare delle variabili di stato xF di LPF fVCO = fVCO(aTxF) fVCO(aTxF) = fREF La macchina digitale sia sensibile ai passaggi per lo zero di sREF e sVCO e definiamo quindi due “superfici” luogo delle commutazioni del PFD hREF(xF, xV,j, t)  sREF(t,j) = 0 hVCO(xF, xV,j, t)  sVCO(xV) = 0 Cesena, 21 novembre 2012

82 Type-II 3-state PFD PLL: un esempio più complesso
Cesena, 21 novembre 2012

83 Cesena, 21 novembre 2012

84 Type-II 3-state PFD PLL: un esempio più complesso
Una volta specificati i manifold hREF(xF, xV,j, t)  sREF(t,j) = 0 hVCO(xF, xV,j, t)  sVCO(xV) = 0 possiamo calcolare facilmente le Saltation Matrices in P1, P2, P3 e P4. Cesena, 21 novembre 2012

85 Type-II 3-state PFD PLL: un esempio più complesso
Cesena, 21 novembre 2012

86 Type-II 3-state PFD PLL Cesena, 21 novembre 2012

87 Type-II 3-state PFD PLL Cesena, 21 novembre 2012

88 Type-II 3-state PFD PLL Cosa accade lungo l’orbita che si proietta in C0? … lungo quest’orbita la pompa di carica non si accende mai e quindi I(U, D) = 0 … … sembra quindi che il campo vettoriale non abbia discontinuità e si possa utilizzare il modello variazionale presentato prima che origina la seguente matrice di transizione: Cesena, 21 novembre 2012

89 Type-II 3-state PFD PLL Questa matrice è tuttavia sbagliata perché considera la PLL come se fosse in “anello aperto”. P0 è il punto in cui collassano P1 e P2 oppure P3 e P4 si può verificare facilmente che se P1P2 e P3P4 allora S(P1) S(P2) = S(P3) S(P4) = SPLL SPLL dipende da istante in cui la traiettoria passa per P0 espressione dei manifold di switch dal campo vettoriale SPLL dipende Cesena, 21 novembre 2012

90 Risultati numerici (MATLAB )
Identifico un modello semplificato equivalente ignorando tutti “i parassiti” e facendo un fitting della caratteristica driving point Voltage Controlled Linear Capacitor Caratteristica polinomiale di ordine 7 Cesena, 21 novembre 2012

91 Risultati numerici (MATLAB )
Cesena, 21 novembre 2012

92 Risultati numerici (MATLAB )
Sweep Analysis: variando xF1 per trovare fVCO(xF1)=122·20MHz Se xF1 = xF2 il filtro è in “equilibrio” Simulazione VCO “isolato” da t0=0 fino a trovare l’istante t* in cui xV1 passa per 0 con derivata negativa In t* VCO e segnale di riferimento sono sincroni e quindi per tutto TREF la pompa di carica rimane spenta Scelgo j* tale che sREF(t*, j*) = 0 con derivata negativa Cesena, 21 novembre 2012

93 Risultati numerici (ambiente MATLAB )
Da t0 a t* la pompa di carica non interviene e quindi uso il modello variazionale della PLL in anello aperto … Cesena, 21 novembre 2012

94 Risultati numerici (ambiente MATLAB )
In t* inserisco la Saltation Matrix SPLL che simula l’effetto dell’inserimento del PFD e della CP. Lascia inalterata la traiettoria di regime ma “corregge” opportunamente la matrice di transizione che può essere così usata nella PAC e PNOISE. Cesena, 21 novembre 2012

95 Risultati numerici (MATLAB )
In t* inserisco usando la Saltation Matrix SPLL che simula l’effetto dell’inserimento del PFD e della CP. Lascia inalterata la traiettoria di regime ma “corregge” opportunamente la matrice di transizione che può essere così usata nella PAC e PNOISE. Cesena, 21 novembre 2012

96 Risultati numerici (MATLAB )
Spettro di xF1 in dB Normalizzato rispetto alla perturbazione PAC estesa con Saltation Matrix Risultati ottenuti con una AMS Transient Analysis con simulatore circuitale Inietto una corrente (piccolo segnale periodico) su C0 e misuro l’effetto su xF1. Cesena, 21 novembre 2012

97 Risultati numerici (MATLAB )
Spettro di xV1 in dB Normalizzato rispetto alla perturbazione VCO in anello aperto Risultati ottenuti con una AMS Transient Analysis con simulatore circuitale PAC estesa con Saltation Matrix Inietto una corrente (piccolo segnale periodico su C0 e misuro l’effetto su xV1. Cesena, 21 novembre 2012

98 Risultati numerici (MATLAB )
Dal modello lineare della PLL xF1(t) Cesena, 21 novembre 2012

99 PAN: a general purpose circuit simulator
E’ un simulatore circuitale SPICE like scaricabile, usabile e con tanti esempi da provare … senza manuale (per ora!). E’ un concorrente reale dei maggiori simulatori industriali (ELDO di Mentor Graphics e SPECTRE di Cadence) e, tra le molte cose che è in grado di fare, contiene metodi numerici basati sull’uso della Saltation Matrix. Tutto ciò che vi ho fatto vedere non appare all’utente come un “incubo matematico” ma è del tutto nascosto … anche la definizione dei manifold! Cesena, 21 novembre 2012

100 Risultati numerici (simulatore circuitale PAN)
Cesena, 21 novembre 2012

101 Risultati numerici (simulatore circuitale PAN)
; Vco xlim tune gnd w vcvs func=min(VDD,max(0,VDD/2-v(w))) osc x vdd gnd tune VCO Vdd vdd gnd vsource vdc=VDD model MP mos2 type=p kp=80u vt0=-0.5 lambda=10m model MN mos2 type=n kp=200u vt0= 0.5 lambda=10m subckt VCO x1 vdd gnd tune globalnets=no In1 x1 x2 vdd gnd tune INV IC=1 In2 x2 x3 vdd gnd tune INV In3 x3 x1 vdd gnd tune INV Pn x2 gnd port noise=10*log10(1.66e-20*1M^2)+30 r=1M ends subckt INV in out vdd gnd vc globalnets=no parameters IC=0 DELTA_C=8pF C0=20pF K=3 Mp out in vdd vdd MP w=100u l=1u Mn out in gnd gnd MN w=40u l=1u Cp out z1 capacitor c=C0 ic=IC Xcp1 z2 gnd z1 vc ccvs gain1=1 Xcp out vc z2 vccs func=DELTA_C/C0*atan(K*v(vc))*v(z2) ground electrical gnd ; Analyses parameters parameters N=48 FVCO=53M FREF=FVCO/N PERIOD=1/FREF TSTOP=80u VDD=2.5 Tran0 tran tstop=TSTOP+2*PERIOD tmax=0.01/FVCO tmin=100f uic=1 cmin=0 method=2 order=6 Sh shooting fund=FREF solver=4 method=2 order=6 floquet=yes restart=no tmax=0.1m/FREF cmin=0 eabstol=0.1m fft=no fftharms=1024 annotate=3 + 0x20 PnX pnoise onodes=["x"] annotate=3 harms=140 refh=N freq=[1M,500k,100k,10k,1k,100] ; Reset PFD vres_n res_n gnd vsource t=0 v=0 t=PERIOD v=0 t=PERIOD+10p v=VDD t=2*TSTOP v=VDD ; Reset divider vres_c res_c gnd vsource t=0 v=0 t=10/FVCO v=0 t=10/FVCO+10p v=VDD t=2*TSTOP v=VDD ; Reference signal vin ref gnd vsource v1=0 v2=VDD td=1n tr=1n tf=1n width=PERIOD/2 period=PERIOD ; Division factor vn n gnd vsource vdc=N/2 xn n gnd a2d dignet="pd.HalfN" ; Interface to the digital phase detector. The phase detector is described with Verilog x1 ref gnd a2d dignet="pd.ref" vl= 0.40*VDD vh=0.60*VDD x2 x gnd a2d dignet="pd.fb" vl=-0.01*VDD+VDD/2 vh=0.01*VDD+VDD/2 x3 res_n gnd a2d dignet="pd.res_n" vl= 0.40*VDD vh=0.60*VDD x4 res_c gnd a2d dignet="pd.res_c" vl= 0.40*VDD vh=0.60*VDD x5 up gnd d2a dignet="pd.up" vl=0 vh=VDD x6 down gnd d2a dignet="pd.down" vl=0 vh=VDD ; Charge pump i1 ww gnd up gnd vccs func=v(up) > VDD/2 ? -IP : 0 i2 ww gnd down gnd vccs func=v(down) > VDD/2 ? IP*1.2 : 0 vpump ww w vsource ; Output filter parameters C0=10pF C1=100pF R1=50K IP=15uA c1 w gnd capacitor c=C0 icon=0 r1 w rc resistor r=R1 c2 rc gnd capacitor c=C1 icon=0 ipac w gnd isource pacmag=1 ; Vco xlim tune gnd w vcvs func=min(VDD,max(0,VDD/2-v(w))) osc x vdd gnd tune VCO Vdd vdd gnd vsource vdc=VDD model MP mos2 type=p kp=80u vt0=-0.5 lambda=10m model MN mos2 type=n kp=200u vt0= 0.5 lambda=10m subckt VCO x1 vdd gnd tune globalnets=no In1 x1 x2 vdd gnd tune INV IC=1 In2 x2 x3 vdd gnd tune INV In3 x3 x1 vdd gnd tune INV Pn x2 gnd port noise=10*log10(1.66e-20*1M^2)+30 r=1M ends subckt INV in out vdd gnd vc globalnets=no parameters IC=0 DELTA_C=8pF C0=20pF K=3 Mp out in vdd vdd MP w=100u l=1u Mn out in gnd gnd MN w=40u l=1u Cp out z1 capacitor c=C0 ic=IC Xcp1 z2 gnd z1 vc ccvs gain1=1 Xcp out vc z2 vccs func=DELTA_C/C0*atan(K*v(vc))*v(z2) ;verilog_include " Ndiv.v" verilog_include "Ndiv.v“ Cesena, 21 novembre 2012

102 Risultati numerici (simulatore circuitale PAN)
ground electrical gnd ; Analyses parameters parameters N=48 FVCO=53M FREF=FVCO/N PERIOD=1/FREF TSTOP=80u VDD=2.5 Tran0 tran tstop=TSTOP+2*PERIOD tmax=0.01/FVCO tmin=100f uic=1 cmin=0 method=2 order=6 Sh shooting fund=FREF solver=4 method=2 order=6 floquet=yes restart=no tmax=0.1m/FREF cmin=0 eabstol=0.1m fft=no fftharms=1024 annotate=3 + 0x20 PnX pnoise onodes=["x"] annotate=3 harms=140 refh=N freq=[1M,500k,100k,10k,1k,100] ; Reset PFD vres_n res_n gnd vsource t=0 v=0 t=PERIOD v=0 t=PERIOD+10p v=VDD t=2*TSTOP v=VDD ; Reset divider vres_c res_c gnd vsource t=0 v=0 t=10/FVCO v=0 t=10/FVCO+10p v=VDD t=2*TSTOP v=VDD ; Reference signal vin ref gnd vsource v1=0 v2=VDD td=1n tr=1n tf=1n width=PERIOD/2 period=PERIOD ; Division factor vn n gnd vsource vdc=N/2 xn n gnd a2d dignet="pd.HalfN" ; Interface to the digital phase detector. The phase detector is described with Verilog x1 ref gnd a2d dignet="pd.ref" vl= 0.40*VDD vh=0.60*VDD x2 x gnd a2d dignet="pd.fb" vl=-0.01*VDD+VDD/2 vh=0.01*VDD+VDD/2 x3 res_n gnd a2d dignet="pd.res_n" vl= 0.40*VDD vh=0.60*VDD x4 res_c gnd a2d dignet="pd.res_c" vl= 0.40*VDD vh=0.60*VDD x5 up gnd d2a dignet="pd.up" vl=0 vh=VDD x6 down gnd d2a dignet="pd.down" vl=0 vh=VDD ; Charge pump i1 ww gnd up gnd vccs func=v(up) > VDD/2 ? -IP : 0 i2 ww gnd down gnd vccs func=v(down) > VDD/2 ? IP*1.2 : 0 vpump ww w vsource ; Output filter parameters C0=10pF C1=100pF R1=50K IP=15uA c1 w gnd capacitor c=C0 icon=0 r1 w rc resistor r=R1 c2 rc gnd capacitor c=C1 icon=0 ipac w gnd isource pacmag=1 ; Vco xlim tune gnd w vcvs func=min(VDD,max(0,VDD/2-v(w))) osc x vdd gnd tune VCO Vdd vdd gnd vsource vdc=VDD model MP mos2 type=p kp=80u vt0=-0.5 lambda=10m model MN mos2 type=n kp=200u vt0= 0.5 lambda=10m subckt VCO x1 vdd gnd tune globalnets=no In1 x1 x2 vdd gnd tune INV IC=1 In2 x2 x3 vdd gnd tune INV In3 x3 x1 vdd gnd tune INV Pn x2 gnd port noise=10*log10(1.66e-20*1M^2)+30 r=1M ends subckt INV in out vdd gnd vc globalnets=no parameters IC=0 DELTA_C=8pF C0=20pF K=3 Mp out in vdd vdd MP w=100u l=1u Mn out in gnd gnd MN w=40u l=1u Cp out z1 capacitor c=C0 ic=IC Xcp1 z2 gnd z1 vc ccvs gain1=1 Xcp out vc z2 vccs func=DELTA_C/C0*atan(K*v(vc))*v(z2) ;verilog_include " Ndiv.v" verilog_include "Ndiv.v“ ; Charge pump i1 ww gnd up gnd vccs func=v(up) > VDD/2 ? -IP : 0 i2 ww gnd down gnd vccs func=v(down) > VDD/2 ? IP*1.2 : 0 vpump ww w vsource ; Output filter parameters C0=10pF C1=100pF R1=50K IP=15uA c1 w gnd capacitor c=C0 icon=0 r1 w rc resistor r=R1 c2 rc gnd capacitor c=C1 icon=0 ipac w gnd isource pacmag=1 Cesena, 21 novembre 2012

103 Risultati numerici (simulatore circuitale PAN)
ground electrical gnd ; Analyses parameters parameters N=48 FVCO=53M FREF=FVCO/N PERIOD=1/FREF TSTOP=80u VDD=2.5 Tran0 tran tstop=TSTOP+2*PERIOD tmax=0.01/FVCO tmin=100f uic=1 cmin=0 method=2 order=6 Sh shooting fund=FREF solver=4 method=2 order=6 floquet=yes restart=no tmax=0.1m/FREF cmin=0 eabstol=0.1m fft=no fftharms=1024 annotate=3 + 0x20 PnX pnoise onodes=["x"] annotate=3 harms=140 refh=N freq=[1M,500k,100k,10k,1k,100] ; Reset PFD vres_n res_n gnd vsource t=0 v=0 t=PERIOD v=0 t=PERIOD+10p v=VDD t=2*TSTOP v=VDD ; Reset divider vres_c res_c gnd vsource t=0 v=0 t=10/FVCO v=0 t=10/FVCO+10p v=VDD t=2*TSTOP v=VDD ; Reference signal vin ref gnd vsource v1=0 v2=VDD td=1n tr=1n tf=1n width=PERIOD/2 period=PERIOD ; Division factor vn n gnd vsource vdc=N/2 xn n gnd a2d dignet="pd.HalfN" ; Interface to the digital phase detector. The phase detector is described with Verilog x1 ref gnd a2d dignet="pd.ref" vl= 0.40*VDD vh=0.60*VDD x2 x gnd a2d dignet="pd.fb" vl=-0.01*VDD+VDD/2 vh=0.01*VDD+VDD/2 x3 res_n gnd a2d dignet="pd.res_n" vl= 0.40*VDD vh=0.60*VDD x4 res_c gnd a2d dignet="pd.res_c" vl= 0.40*VDD vh=0.60*VDD x5 up gnd d2a dignet="pd.up" vl=0 vh=VDD x6 down gnd d2a dignet="pd.down" vl=0 vh=VDD ; Charge pump i1 ww gnd up gnd vccs func=v(up) > VDD/2 ? -IP : 0 i2 ww gnd down gnd vccs func=v(down) > VDD/2 ? IP*1.2 : 0 vpump ww w vsource ; Output filter parameters C0=10pF C1=100pF R1=50K IP=15uA c1 w gnd capacitor c=C0 icon=0 r1 w rc resistor r=R1 c2 rc gnd capacitor c=C1 icon=0 ipac w gnd isource pacmag=1 ; Vco xlim tune gnd w vcvs func=min(VDD,max(0,VDD/2-v(w))) osc x vdd gnd tune VCO Vdd vdd gnd vsource vdc=VDD model MP mos2 type=p kp=80u vt0=-0.5 lambda=10m model MN mos2 type=n kp=200u vt0= 0.5 lambda=10m subckt VCO x1 vdd gnd tune globalnets=no In1 x1 x2 vdd gnd tune INV IC=1 In2 x2 x3 vdd gnd tune INV In3 x3 x1 vdd gnd tune INV Pn x2 gnd port noise=10*log10(1.66e-20*1M^2)+30 r=1M ends subckt INV in out vdd gnd vc globalnets=no parameters IC=0 DELTA_C=8pF C0=20pF K=3 Mp out in vdd vdd MP w=100u l=1u Mn out in gnd gnd MN w=40u l=1u Cp out z1 capacitor c=C0 ic=IC Xcp1 z2 gnd z1 vc ccvs gain1=1 Xcp out vc z2 vccs func=DELTA_C/C0*atan(K*v(vc))*v(z2) ;verilog_include " Ndiv.v" verilog_include "Ndiv.v“ ; Analyses parameters parameters N=48 FVCO=53M FREF=FVCO/N PERIOD=1/FREF TSTOP=80u VDD=2.5 Tran0 tran tstop=TSTOP+2*PERIOD tmax=0.01/FVCO tmin=100f uic=1 cmin=0 method=2 order=6 Sh shooting fund=FREF solver=4 method=2 order=6 floquet=yes restart=no tmax=0.1m/FREF cmin=0 eabstol=0.1m fft=no fftharms=1024 annotate=3 + 0x20 PnX pnoise onodes=["x"] annotate=3 harms=140 refh=N freq=[1M,500k,100k,10k,1k,100] ; Interface to the digital phase detector. The phase detector is described with Verilog x1 ref gnd a2d dignet="pd.ref" vl= 0.40*VDD vh=0.60*VDD x2 x gnd a2d dignet="pd.fb" vl=-0.01*VDD+VDD/2 vh=0.01*VDD+VDD/2 x3 res_n gnd a2d dignet="pd.res_n" vl= 0.40*VDD vh=0.60*VDD x4 res_c gnd a2d dignet="pd.res_c" vl= 0.40*VDD vh=0.60*VDD x5 up gnd d2a dignet="pd.up" vl=0 vh=VDD x6 down gnd d2a dignet="pd.down" vl=0 vh=VDD ; verilog_include " Ndiv.v" verilog_include "Ndiv.v“ Cesena, 21 novembre 2012

104 Risultati numerici (simulatore circuitale PAN)
`timescale 10ps/1ps if( !res_c ) `delay_mode_path Count = 0; module pd (up, down); else begin output up, down; Count = Count + 1; down = 1; reg res_n; if(Count >= HalfN || HalfN == 0) reg res_c; or down) reg up, down; reg reset; fbx = !fbx; if (up & down) reg ref, fb, fbx; reg [15:0] Count; #2 reset = 1; reg [15:0] HalfN; #2 reset = 0; initial begin ref or posedge reset or !res_n) reset = 0; up = 0; down = 0; if (reset | !res_n) (!res_n) res_c = 0; reset = !res_n; res_n = 0; else endmodule fb = 0; up = 1; fbx = 0; end fbx or posedge reset or !res_n) fb or !res_c) begin ground electrical gnd ; Analyses parameters parameters N=48 FVCO=53M FREF=FVCO/N PERIOD=1/FREF TSTOP=80u VDD=2.5 Tran0 tran tstop=TSTOP+2*PERIOD tmax=0.01/FVCO tmin=100f uic=1 cmin=0 method=2 order=6 Sh shooting fund=FREF solver=4 method=2 order=6 floquet=yes restart=no tmax=0.1m/FREF cmin=0 eabstol=0.1m fft=no fftharms=1024 annotate=3 + 0x20 PnX pnoise onodes=["x"] annotate=3 harms=140 refh=N freq=[1M,500k,100k,10k,1k,100] ; Reset PFD vres_n res_n gnd vsource t=0 v=0 t=PERIOD v=0 t=PERIOD+10p v=VDD t=2*TSTOP v=VDD ; Reset divider vres_c res_c gnd vsource t=0 v=0 t=10/FVCO v=0 t=10/FVCO+10p v=VDD t=2*TSTOP v=VDD ; Reference signal vin ref gnd vsource v1=0 v2=VDD td=1n tr=1n tf=1n width=PERIOD/2 period=PERIOD ; Division factor vn n gnd vsource vdc=N/2 xn n gnd a2d dignet="pd.HalfN" ; Interface to the digital phase detector. The phase detector is described with Verilog x1 ref gnd a2d dignet="pd.ref" vl= 0.40*VDD vh=0.60*VDD x2 x gnd a2d dignet="pd.fb" vl=-0.01*VDD+VDD/2 vh=0.01*VDD+VDD/2 x3 res_n gnd a2d dignet="pd.res_n" vl= 0.40*VDD vh=0.60*VDD x4 res_c gnd a2d dignet="pd.res_c" vl= 0.40*VDD vh=0.60*VDD x5 up gnd d2a dignet="pd.up" vl=0 vh=VDD x6 down gnd d2a dignet="pd.down" vl=0 vh=VDD ; Charge pump i1 ww gnd up gnd vccs func=v(up) > VDD/2 ? -IP : 0 i2 ww gnd down gnd vccs func=v(down) > VDD/2 ? IP*1.2 : 0 vpump ww w vsource ; Output filter parameters C0=10pF C1=100pF R1=50K IP=15uA c1 w gnd capacitor c=C0 icon=0 r1 w rc resistor r=R1 c2 rc gnd capacitor c=C1 icon=0 ipac w gnd isource pacmag=1 ; Vco xlim tune gnd w vcvs func=min(VDD,max(0,VDD/2-v(w))) osc x vdd gnd tune VCO Vdd vdd gnd vsource vdc=VDD model MP mos2 type=p kp=80u vt0=-0.5 lambda=10m model MN mos2 type=n kp=200u vt0= 0.5 lambda=10m subckt VCO x1 vdd gnd tune globalnets=no In1 x1 x2 vdd gnd tune INV IC=1 In2 x2 x3 vdd gnd tune INV In3 x3 x1 vdd gnd tune INV Pn x2 gnd port noise=10*log10(1.66e-20*1M^2)+30 r=1M ends subckt INV in out vdd gnd vc globalnets=no parameters IC=0 DELTA_C=8pF C0=20pF K=3 Mp out in vdd vdd MP w=100u l=1u Mn out in gnd gnd MN w=40u l=1u Cp out z1 capacitor c=C0 ic=IC Xcp1 z2 gnd z1 vc ccvs gain1=1 Xcp out vc z2 vccs func=DELTA_C/C0*atan(K*v(vc))*v(z2) ;verilog_include " Ndiv.v" verilog_include "Ndiv.v“ ; verilog_include " Ndiv.v" verilog_include "Ndiv.v“ Cesena, 21 novembre 2012

105 Risultati numerici (simulatore circuitale PAN)
PSS esteso con Saltation Matrices Soluzione di regime (steady-state) ottenuta con rapporto divisione NID = 1. Notare il mismatch U e D sintomo di un mismatch inserito sulla CP. I moltiplicatori di Floquet più significativi. Cesena, 21 novembre 2012

106 Conclusioni Cesena, 21 novembre 2012

107 References F. Bizzarri, A. Brambilla, G. Storti Gajani, “Steady State Computation and Noise Analysis of Analog Mixed Signal Circuits”, IEEE Transactions on Circuits and Systems-I forthcoming. F. Bizzarri, A. Brambilla, G. Storti Gajani, "Periodic Small Signal Analysis Of A Wide Class of Type-II Phase Locked Loops Through an Exhaustive Variational Model“, IEEE Transactions on Circuits and Systems-I, under revision. F. Bizzarri, A. Brambilla, G. Storti Gajani, “Extension of the variational equation to analog/digital circuits: Numerical and experimental validation”, International Journal of Circuit Theory and Applications, (published online) oct. 2012,DOI:  /cta.1864. F. Bizzarri, A. Brambilla, G. Storti Gajani, "Phase Noise Simulation in Analog Mixed Signal Circuits: An Application to Pulse Energy Oscillators", IEEE Transactions on Circuits and Systems-II: Express Briefs, vol. 58, No. 3, pp , March 2011. F. Bizzarri, A. Brambilla, G. Storti Gajani, "Noise in a Phase-Quadrature Pulsed Energy Restore Oscillator”, in Proceedings of the European Conference on Circuit Theory and Design (ECCTD'11),Linköping, Sweden, August 29-31, 2011, pp F. Bizzarri, X. Wei, "Phase Noise Analysis of a Mechanical Autonomous Impact Oscillator with a MEMS Resonator”, in Proceedings of the European Conference on Circuit Theory and Design (ECCTD'11),Linköping, Sweden, August 29-31, 2011, pp Cesena, 21 novembre 2012


Scaricare ppt "Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore Federico Bizzarri Dipartimento."

Presentazioni simili


Annunci Google