Federico Bizzarri Dipartimento di Elettronica e Informazione, Politecnico di Milano P.za Leonardo da...

download Federico Bizzarri Dipartimento di Elettronica e Informazione, Politecnico di Milano P.za Leonardo da Vinci 32, I-20133 Milano, Italy e-mail: bizzarri@elet.polimi.it.

If you can't read please download the document

Transcript of Federico Bizzarri Dipartimento di Elettronica e Informazione, Politecnico di Milano P.za Leonardo da...

  • Slide 1
  • Federico Bizzarri Dipartimento di Elettronica e Informazione, Politecnico di Milano P.za Leonardo da Vinci 32, I-20133 Milano, Italy e-mail: [email protected] Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore
  • Slide 2
  • Slide 3
  • Milano, 17/18 gennaio 2013 A chi serve? A chi ha a che fare con lanalisi o la sintesi (con la progettazione) di circuiti elettrici/elettronici che, a regime, presentano un comportamento periodico. 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). Quando serve? Quando i circuiti in esame sono descritti da modelli che presentano discontinuit delle variabili elettriche o delle loro derivate. Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore 3
  • Slide 4
  • Milano, 17/18 gennaio 2013 A cosa serve? Ad estendere a questi tipi di circuiti analisi che si basano sulla risoluzione dellequazione 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 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 Analisi numerica di circuiti analogico/digitali: determinazione della soluzione di regime e degli effetti dovuti al rumore 4
  • Slide 5
  • Milano, 17/18 gennaio 2013 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 5
  • Slide 6
  • Milano, 17/18 gennaio 2013 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 6
  • Slide 7
  • Milano, 17/18 gennaio 2013 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 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) 7
  • Slide 8
  • Milano, 17/18 gennaio 2013 Modified nodal analysis (MNA) 1.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. 3.Il modello che lMNA 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). 2.Le incognite del modello fornito dallMNA 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. 4.LMNA fondamentale per poter descrivere in modo sistematico un circuito e analizzarne il comportamento mediante un simulatore. 8
  • Slide 9
  • Milano, 17/18 gennaio 2013 Modified nodal analysis (MNA) KCL KVL Nodo di riferimento KCL 9
  • Slide 10
  • Milano, 17/18 gennaio 2013 Modified nodal analysis (MNA) 10
  • Slide 11
  • Milano, 17/18 gennaio 2013 Modified nodal analysis (MNA) Il modello che lMNA 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: 1.Sarebbe possibile ma pi complicato lavorare direttamente su una DAE 2.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 11
  • Slide 12
  • Milano, 17/18 gennaio 2013 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. 12
  • Slide 13
  • Milano, 17/18 gennaio 2013 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 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) 13
  • Slide 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! Milano, 17/18 gennaio 2013 Non un capriccio: se progettiamo ad esempio un oscillatore ad alto Q, la simulazione della convergenza allorbita di regime pu impiegare ore ed ore di simulazione! 14
  • Slide 15
  • Milano, 17/18 gennaio 2013 Ad esempio Shooting (T= 6.2871s)Analisi in transitorio (Oscillatore di Van der Pol) 15
  • Slide 16
  • Milano, 17/18 gennaio 2013 Come ottenere in modo efficiente la soluzione di regime? Assumiamo che il circuito sia autonomo (possiamo quindi scegliere t 0 = 0 ) e normalizziamo il tempo t rispetto al periodo incognito T ( = t/T). Il sistema diventa periodico di periodo 1. Sia la funzione di transizione di stato da 0 a. Impostiamo il problema trovare la soluzione periodica di regime come un problema al contorno cio un Boundary Value Problem (BVP) Idea: posso provare a capire di quanto cambiare la condizione iniziale e il periodo affinch lorbita si chiuda? Dovrei capire quanto il punto finale sensibile rispetto al punto iniziale e al periodo 16
  • Slide 17
  • Milano, 17/18 gennaio 2013 Come ottenere in modo efficiente la soluzione di regime? Sia una opportuna condizione di fase che garantisce lunicit della soluzione del Boundary Value Problem (BVP) unequazione algebrica non lineare che dipende da riscriviamo BVP come purtroppo il problema cos definito ammette infinite soluzioni che scivolano in fase! Trovare la condizione iniziale e il periodo tali da far chiudere lorbita 17
  • Slide 18
  • Milano, 17/18 gennaio 2013 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. Come ottenere in modo efficiente la soluzione di regime? 18
  • Slide 19
  • Milano, 17/18 gennaio 201319
  • Slide 20
  • Milano, 17/18 gennaio 2013 Alla quarta iterazione: Alla decima iterazione: Allundicesima iterazione: 20
  • Slide 21
  • Come ottenere in modo efficiente la soluzione di regime? La La soluzione corrente adeguata? END La SI La NO Sensibilit della traiettoria rispetto alle condizioni iniziali Milano, 17/18 gennaio 201321
  • Slide 22
  • Milano, 17/18 gennaio 2013 Come ottenere in modo efficiente la soluzione di regime? Problema Linearizzato Sistema di ODE lineari e tempovarianti 22
  • Slide 23
  • Milano, 17/18 gennaio 2013 Se la matrice Jacobiana J f 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. Come ottenere in modo efficiente la soluzione di regime? una volta trovata la soluzione periodica di regime 23
  • Slide 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 x s (t) soluzione allora possibile calcolare leffetto x s (t) sulla soluzione di una perturbazione x 0 delle condizioni iniziali come x s (t) = ( t, t 0 ) x 0 (t 0 ) Milano, 17/18 gennaio 201324
  • Slide 25
  • Matrice sensibilit rispetto alle condizioni iniziali - Propriet - Propriet di composizionePropriet di mapping Milano, 17/18 gennaio 201325
  • Slide 26
  • Milano, 17/18 gennaio 2013 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 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) 26
  • Slide 27
  • Milano, 17/18 gennaio 2013 Analisi del sistema linearizzato attorno allorbita di regime Una volta determinata lorbita 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 27
  • Slide 28
  • Sistema di equazioni differenziali lineari tempo- varianti periodico del primo ordine (LTVP). Se e u(t) sono continue nellintervallo di definizione di t allora il problema ammette una sola soluzione. Lintegrale generale (linsieme di tutte le soluzioni k ) del sistema omogeneo associato al problema LTV un sottospazio di dimensione N. Matrice fondamentale dal Teorema Liouville. Analisi del sistema linearizzato attorno allorbita di regime Milano, 17/18 gennaio 2013 ancora una ancora matrice fondamentale. 28
  • Slide 29
  • Ammette unica soluzione Ammette unica soluzione (Formula di Lagrange) Matrice risolvente canonica o matrice di transizione Analisi del sistema linearizzato attorno allorbita di regime Milano, 17/18 gennaio 201329
  • Slide 30
  • Il calcolo della matrice di transizione risulta quindi fondamentale perch assumendo un ingresso periodico di piccolo segnale lunico elemento che serve per calcolare come si riflette sullo stato del sistema Analisi del sistema linearizzato attorno allorbita di regime Milano, 17/18 gennaio 201330
  • Slide 31
  • Vediamo un esempio con loscillatore di Van der Pol Analisi del sistema linearizzato attorno allorbita di regime Milano, 17/18 gennaio 2013 (Attenzione: nello spazio di stato la traiettoria si interseca perch il sistema perturbato non autononomo) 31
  • Slide 32
  • Analisi del sistema linearizzato attorno allorbita di regime Milano, 17/18 gennaio 2013 Traiettoria di grande segnale visualizzata su 3 periodi del sistema non perturbato ovvero 11 periodi della perturbazione. Traiettoria di piccolo segnale visualizzata su 3 periodi del sistema non perturbato ovvero 11 periodi della perturbazione. 32
  • Slide 33
  • Analisi del sistema linearizzato attorno allorbita di regime Milano, 17/18 gennaio 2013 Lo spettro del piccolo segnale presenta armoniche sottomultiple della fondamentale di grande segnale dato che la sua fondamentale 1/3 di questultima. 33
  • Slide 34
  • Analisi del sistema linearizzato attorno allorbita di regime Milano, 17/18 gennaio 2013 In questo caso lo spettro del piccolo segnale ha la stessa fondamentale del grande segnale. 34
  • Slide 35
  • Milano, 17/18 gennaio 2013 Singole frequenze diverse in ingresso generano spettri diversi in uscita. Singole frequenze diverse in ingresso possono dare contributi su frequenze identiche in uscita. 35
  • Slide 36
  • Milano, 17/18 gennaio 2013 Cosa si pu fare con la periodic small signal analysis 1.Stabilisco dove inserire una sorgente di piccolo segnale (come termine additivo di una delle ODE che descrivono il sistema) Calcolo leffetto 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. 2.Stabilisco dove inserire una sorgente di piccolo segnale (come termine additivo di una delle ODE che descrivono il sistema) 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. 3.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, leffetto di un rumore per sovrapposizione degli effetti in frequenza. 36
  • Slide 37
  • Milano, 17/18 gennaio 2013 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 37
  • Slide 38
  • Matrice di transizione - Propriet per sistemi lineari tempo varianti periodici - Milano, 17/18 gennaio 2013 Matrice di Monodromia Assumiamo che Esponenti di Floquet (per ipotesi N distinti) Moltiplicatori di Floquet Decomposizione Floquet (1883) 38
  • Slide 39
  • Matrice di transizione - Propriet per sistemi lineari tempo varianti periodici - Milano, 17/18 gennaio 2013 una 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 c i 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) 39 matrice diagonale
  • Slide 40
  • Milano, 17/18 gennaio 2013 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 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) 40
  • Slide 41
  • Milano, 17/18 gennaio 2013 L 0 : ciclo limite soluzione periodica del problema non lineare di partenza : (sezione di Poincar) superficie localmente ortogonale ad L 0 P : Mappa di Poincar associata a L 0 (punto fisso per la mappa) Definiamo un sistema di coordinate ( 1, 2, , N-1 ) su per il quale il punto x 0 lorigine. La stabilit del ciclo L 0 identica a quella del punto x 0 per la mappa. Il punto x 0 stabile se gli autovalori di A giacciono nel cerchio di raggio unitario Stabilit Si dimostra che gli N -1 autovalori di A sono gli N -1 autovalori non unitari di 41
  • Slide 42
  • Milano, 17/18 gennaio 2013 Ad esempio Shooting (T= 6.2871s) (Oscillatore di Van der Pol) 42
  • Slide 43
  • Milano, 17/18 gennaio 2013 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 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) 43
  • Slide 44
  • Milano, 17/18 gennaio 2013 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 leffetto del rumore si rifletta sul segnale noiseless con due contributi distinti che ne deteriorano due caratteristiche: lampiezza 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. 44
  • Slide 45
  • Milano, 17/18 gennaio 2013 Rumore di fase e rumore di ampiezza negli oscillatori Una prima considerazione: se la soluzione perturbata molto vicina alla soluzione noiseless, cio c una piccola amplitude deviation, pu comunque essere presente una phase deviation consistente! 45
  • Slide 46
  • Milano, 17/18 gennaio 2013 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 unapprossimazione della dinamica non lineare. In realt dai punti rosso e verde si giunge allorbita in un tempo infinito altrimenti le traiettorie si intersecherebbero violando lunicit locale della soluzione. 46
  • Slide 47
  • Milano, 17/18 gennaio 2013 Rumore di fase e rumore di ampiezza negli oscillatori Se parto da isocrone diverse arrivo sullorbita in tempi diversi e poi rimango sfasato per sempre! Nota importante: recupero completamente la deviazione di ampiezza iniziale ma leffetto sulla fase irreparabile! 47
  • Slide 48
  • gli effetti sullampiezza del ciclo delle (piccole) perturbazioni (dovute a sorgenti di rumore) si attenuano quindi il rumore di ampiezza non di grande interesse. Rumore di fase e rumore di ampiezza negli oscillatori il ping perturba porta la traiettoria lasciandola sulla stessa isocrona.
  • Slide 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 dallattrattore ma facendola scivolare sulle isocrone.
  • Slide 50
  • Milano, 17/18 gennaio 2013 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 allinizio 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 landamento temporale (in un periodo) dellautofunzione 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. 655--674, May 2000. 50
  • Slide 51
  • Milano, 17/18 gennaio 2013 in conclusione Matrice di transizione elemento chiave per Analisi steady state Analisi di piccolo segnale periodica Stabilit Rumore di fase Matrice di transizione e modello variazionale Deve esistere la matrice Jacobiana di f 51
  • Slide 52
  • Milano, 17/18 gennaio 2013 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: Levento x 1 =0 governa lo switching tra i due campi vettoriali e lo spazio di stato 2D partizionato dalla superficie 52
  • Slide 53
  • Milano, 17/18 gennaio 2013 Cosa succede se In corrispondenza della commutazione del campo vettoriale, lo stato del sistema continuo ma lo Jacobiano del sistema presenta una discontinuit. Provo a fare una simulazione in transitorio cercando, durante levoluzione dello stati il passaggio per zero della variabile x 1 e regolando cos la commutazione tra i due campi vettoriali 53
  • Slide 54
  • Milano, 17/18 gennaio 2013 Cosa succede se Se prolunghiamo un po lanalisi in transitorio e riportiamo lorbita 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 lorbita di regime in modo efficace e avere a disposizione il sistema variazionale che permetta tutte le considerazioni fatte per i sistemi smooth? 54
  • Slide 55
  • Milano, 17/18 gennaio 2013 Cosa succede se Nel nostro caso, purtroppo lo Jacobiano del sistema non definito ma non proprio ovunque Vale ovunque tranne che per x 1 =0 Allora provo ad applicare lalgoritmo di shooting e mi accorgo che 55
  • Slide 56
  • Milano, 17/18 gennaio 2013 Cosa succede se converge T= 6.3975 s ma la matrice di monodromia sbagliata! 56
  • Slide 57
  • Milano, 17/18 gennaio 2013 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 lessere 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 57
  • Slide 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 a impatto Lo stato presenta discontinuit nel tempo Sistemi dinamici switching Campo vettoriale discontinuo ma stato continuo (sistemi di Filippov) (Sistemi con campo vettoriale continuo ma non differenziabile) Milano, 17/18 gennaio 201358
  • Slide 59
  • 59 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 Milano, 17/18 gennaio 2013 Sistemi dinamici ibridi 59
  • Slide 60
  • 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. 541-554, March 2012. Milano, 17/18 gennaio 2013 Sistemi dinamici ibridi 60
  • Slide 61
  • Saltation Matrix Regione 1 Campo vettoriale f 1 Regione 2 Campo vettoriale f 2 Switching Manifold IC non perturbata IC perturbata in t 1 t 0 in t Primo obiettivo al primordine. Secondo obiettivo al primordine. Milano, 17/18 gennaio 201361
  • Slide 62
  • Saltation Matrix Il punto viola approssimato da unespansione centrata nel punto blue approssimato da unespansione centrata nel punto blue Il punto rosso approssimato da unespasione centrata nel punto verde Milano, 17/18 gennaio 201362
  • Slide 63
  • Saltation Matrix Consideriamo adesso la linearizzazione del manifold prima nel punto rosso e poi nel punto verde Milano, 17/18 gennaio 201363
  • Slide 64
  • Saltation Matrix Milano, 17/18 gennaio 201364
  • Slide 65
  • Saltation Matrix Saltation matrix S Milano, 17/18 gennaio 201365
  • Slide 66
  • Saltation Matrix switching e manifold tempo-variante Milano, 17/18 gennaio 201366
  • Slide 67
  • Saltation Matrix impatto e manifold tempo-variante Jacobiano della funzione di mapping Milano, 17/18 gennaio 201367
  • Slide 68
  • Saltation Matrix Il caso completo (switching, impatto e manifold tempo-variante) Milano, 17/18 gennaio 201368
  • Slide 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: 10.1002/cta.1864. Milano, 17/18 gennaio 201369
  • Slide 70
  • Un oscillatore switching misto analogico digitale Milano, 17/18 gennaio 201370
  • Slide 71
  • Un oscillatore switching misto analogico digitale Simulazioni numeriche Loscillatore stato simulato numericamente con un metodo di shooting per determinarne lorbita di regime e il corrispondente andamento temporale dellautofunzione v 1. Traiettoria di regime Stato continuo ma non derivabile Autofunzione v 1 (t) Milano, 17/18 gennaio 201371
  • Slide 72
  • Un oscillatore switching misto analogico digitale Misure sperimentali Loscillatore 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 Milano, 17/18 gennaio 201372
  • Slide 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 2221 - 2231, 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 questultimo in modo da mantenere le due fasi agganciate. Il segnale in uscita dal PD viene utilizzato quindi per controllare loscillatore nellanello di retroazione. Milano, 17/18 gennaio 201373
  • Slide 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. Milano, 17/18 gennaio 2013 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. 74
  • Slide 75
  • Milano, 17/18 gennaio 2013 Type-II 3-state PFD PLL: un esempio pi complesso DigitalAnalog CP: Charge Pump (pompa di carica). Converte luscita 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 N ID cicli del VCO. Unarchitettura mista analogica digitale 75
  • Slide 76
  • Milano, 17/18 gennaio 2013 Type-II 3-state PFD PLL: un esempio pi complesso Unarchitettura mista analogica digitale 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 PFD viene modellato come una macchina a stati Fronte di salita del segnale di riferimento Fronte di salita del segnale generato dal VCO Quanto il PLL in aggancio il PFD si trova in S2 76
  • Slide 77
  • DigitalAnalog Dinamica della parte analogicaDinamica della parte digitale con il divisore intero di frequenza. Assumiamo N ID =1. Type-II 3-state PFD PLL: un esempio pi complesso Milano, 17/18 gennaio 201377
  • Slide 78
  • Sistema variazionale associato al modello della PLL Questo blocco esprime la sensibilit delle x F rispetto alle x V ed nullo il modello variazionale errato! Il modello variazionale cos ottenuto non risente della parte digitale del circuito come possiamo inserirla? Type-II 3-state PFD PLL: un esempio pi complesso Milano, 17/18 gennaio 201378
  • Slide 79
  • s REF (t, ) = s REF (2 f REF t+ ) Type-II 3-state PFD PLL: un esempio pi complesso Milano, 17/18 gennaio 201379
  • Slide 80
  • s REF (t, ) = s REF (2 f REF t+ ) La frequenza di lavoro del VCO controllata da una combinazione lineare delle variabili di stato x F di LPF f VCO = f VCO ( T x F ) f VCO ( T x F ) = N ID f REF Type-II 3-state PFD PLL: un esempio pi complesso Milano, 17/18 gennaio 201380
  • Slide 81
  • s REF (t, ) = s REF (2 f REF t+ ) La frequenza di lavoro del VCO controllata da una combinazione lineare delle variabili di stato x F di LPF f VCO = f VCO ( T x F ) f VCO ( T x F ) = f REF La macchina digitale sia sensibile ai passaggi per lo zero di s REF e s VCO e definiamo quindi due superfici luogo delle commutazioni del PFD h REF (x F, x V,, t) s REF (t, ) = 0 h VCO (x F, x V,, t) s VCO (x V ) = 0 Type-II 3-state PFD PLL: un esempio pi complesso Milano, 17/18 gennaio 201381
  • Slide 82
  • Type-II 3-state PFD PLL: un esempio pi complesso Milano, 17/18 gennaio 201382
  • Slide 83
  • Milano, 17/18 gennaio 201383
  • Slide 84
  • Una volta specificati i manifold h REF (x F, x V,, t) s REF (t, ) = 0 h VCO (x F, x V,, t) s VCO (x V ) = 0 possiamo calcolare facilmente le Saltation Matrices in P 1, P 2, P 3 e P 4. Type-II 3-state PFD PLL: un esempio pi complesso Milano, 17/18 gennaio 201384
  • Slide 85
  • Type-II 3-state PFD PLL: un esempio pi complesso Milano, 17/18 gennaio 201385
  • Slide 86
  • Type-II 3-state PFD PLL Milano, 17/18 gennaio 201386
  • Slide 87
  • Type-II 3-state PFD PLL Milano, 17/18 gennaio 201387
  • Slide 88
  • Type-II 3-state PFD PLL Cosa accade lungo lorbita che si proietta in C 0 ? lungo questorbita 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: Milano, 17/18 gennaio 201388
  • Slide 89
  • Type-II 3-state PFD PLL Questa matrice tuttavia sbagliata perch considera la PLL come se fosse in anello aperto. P 0 il punto in cui collassano P 1 e P 2 oppure P 3 e P 4 si pu verificare facilmente che se P 1 P 2 e P 3 P 4 allora S(P 1 ) S(P 2 ) = S(P 3 ) S(P 4 ) = S PLL S PLL dipende da istante in cui la traiettoria passa per P 0 espressione dei manifold di switch dal campo vettoriale S PLL dipende Milano, 17/18 gennaio 201389
  • Slide 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 Milano, 17/18 gennaio 201390
  • Slide 91
  • Risultati numerici (MATLAB ) Milano, 17/18 gennaio 201391
  • Slide 92
  • Risultati numerici (MATLAB ) Sweep Analysis: variando x F1 per trovare f VCO ( x F1 )= 12220 MHz Se x F1 = x F2 il filtro in equilibrio Simulazione VCO isolato da t 0 = 0 fino a trovare listante t * in cui x V1 passa per 0 con derivata negativa Scelgo * tale che s REF ( t *, * ) = 0 con derivata negativa In t * VCO e segnale di riferimento sono sincroni e quindi per tutto T REF la pompa di carica rimane spenta Milano, 17/18 gennaio 201392
  • Slide 93
  • Risultati numerici (ambiente MATLAB ) Da t 0 a t * la pompa di carica non interviene e quindi uso il modello variazionale della PLL in anello aperto Milano, 17/18 gennaio 201393
  • Slide 94
  • Risultati numerici (ambiente MATLAB ) In t * inserisco la Saltation Matrix S PLL che simula leffetto dellinserimento 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. Milano, 17/18 gennaio 201394
  • Slide 95
  • Risultati numerici (MATLAB ) In t * inserisco usando la Saltation Matrix SPLL che simula leffetto dellinserimento 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. Milano, 17/18 gennaio 201395
  • Slide 96
  • Risultati numerici (MATLAB ) Inietto una corrente (piccolo segnale periodico) su C0 e misuro leffetto su x F1. PAC estesa con Saltation Matrix Risultati ottenuti con una AMS Transient Analysis con simulatore circuitale Spettro di x F1 in dB Normalizzato rispetto alla perturbazione Milano, 17/18 gennaio 201396
  • Slide 97
  • Risultati numerici (MATLAB ) Inietto una corrente (piccolo segnale periodico su C0 e misuro leffetto su x V1. Spettro di x V1 in dB Normalizzato rispetto alla perturbazione PAC estesa con Saltation Matrix Risultati ottenuti con una AMS Transient Analysis con simulatore circuitale VCO in anello aperto Milano, 17/18 gennaio 201397
  • Slide 98
  • Risultati numerici (MATLAB ) Dal modello lineare della PLL x F1 (t) Milano, 17/18 gennaio 201398
  • Slide 99
  • PAN: a general purpose circuit simulator Milano, 17/18 gennaio 2013 http://brambilla.ws.dei.polimi.it/ 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 sulluso della Saltation Matrix. Tutto ci che vi ho fatto vedere non appare allutente come un incubo matematico ma del tutto nascosto anche la definizione dei manifold! 99
  • Slide 100
  • Risultati numerici (simulatore circuitale PAN) Milano, 17/18 gennaio 2013100
  • Slide 101 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) ends ;verilog_include " Ndiv.v" verilog_include "Ndiv.v 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) ends Milano, 17/18 gennaio 2013101">
  • 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) ends ;verilog_include " Ndiv.v" verilog_include "Ndiv.v 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) ends Milano, 17/18 gennaio 2013101
  • Slide 102 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) ends ;verilog_include " Ndiv.v" verilog_include "Ndiv.v Risultati numerici (simulatore circuitale PAN) ; 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 Milano, 17/18 gennaio 2013102">
  • 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) ends ;verilog_include " Ndiv.v" verilog_include "Ndiv.v Risultati numerici (simulatore circuitale PAN) ; 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 Milano, 17/18 gennaio 2013102
  • Slide 103 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) ends ;verilog_include " Ndiv.v" verilog_include "Ndiv.v Risultati numerici (simulatore circuitale PAN) ; verilog_include " Ndiv.v" verilog_include "Ndiv.v ; 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 ; 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] Milano, 17/18 gennaio 2013103">
  • 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) ends ;verilog_include " Ndiv.v" verilog_include "Ndiv.v Risultati numerici (simulatore circuitale PAN) ; verilog_include " Ndiv.v" verilog_include "Ndiv.v ; 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 ; 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] Milano, 17/18 gennaio 2013103
  • Slide 104 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) ends ;verilog_include " Ndiv.v" verilog_include "Ndiv.v Risultati numerici (simulatore circuitale PAN) ; verilog_include " Ndiv.v" verilog_include "Ndiv.v `timescale 10ps/1ps `delay_mode_path module pd (up, down); output up, down; reg res_n; reg res_c; reg up, down; reg reset; reg ref, fb, fbx; reg [15:0] Count; reg [15:0] HalfN; initial begin reset = 0; up = 0; down = 0; res_c = 0; res_n = 0; fb = 0; fbx = 0; end always @(posedge fb or !res_c) begin if( !res_c ) Count = 0; else begin Count = Count + 1; if(Count >= HalfN || HalfN == 0) begin Count = 0; fbx = !fbx; end always @(posedge ref or posedge reset or !res_n) begin if (reset | !res_n) up = 0; else up = 1; end always @(posedge fbx or posedge reset or !res_n) begin if (reset | !res_n) down = 0; else down = 1; end always @(up or down) begin if (up & down) begin #2 reset = 1; #2 reset = 0; end always @ (!res_n) reset = !res_n; endmodule Milano, 17/18 gennaio 2013104">
  • 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) ends ;verilog_include " Ndiv.v" verilog_include "Ndiv.v Risultati numerici (simulatore circuitale PAN) ; verilog_include " Ndiv.v" verilog_include "Ndiv.v `timescale 10ps/1ps `delay_mode_path module pd (up, down); output up, down; reg res_n; reg res_c; reg up, down; reg reset; reg ref, fb, fbx; reg [15:0] Count; reg [15:0] HalfN; initial begin reset = 0; up = 0; down = 0; res_c = 0; res_n = 0; fb = 0; fbx = 0; end always @(posedge fb or !res_c) begin if( !res_c ) Count = 0; else begin Count = Count + 1; if(Count >= HalfN || HalfN == 0) begin Count = 0; fbx = !fbx; end always @(posedge ref or posedge reset or !res_n) begin if (reset | !res_n) up = 0; else up = 1; end always @(posedge fbx or posedge reset or !res_n) begin if (reset | !res_n) down = 0; else down = 1; end always @(up or down) begin if (up & down) begin #2 reset = 1; #2 reset = 0; end always @ (!res_n) reset = !res_n; endmodule Milano, 17/18 gennaio 2013104
  • Slide 105
  • Risultati numerici (simulatore circuitale PAN) Soluzione di regime (steady-state) ottenuta con rapporto divisione N ID = 1. Notare il mismatch U e D sintomo di un mismatch inserito sulla CP. I moltiplicatori di Floquet pi significativi. PSS esteso con Saltation Matrices Milano, 17/18 gennaio 2013105
  • Slide 106
  • 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: 10.1002/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. 154-158, 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), Linkping, Sweden, August 29-31, 2011, pp. 478-481. 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),Linkping, Sweden, August 29-31, 2011, pp. 762-765. Milano, 17/18 gennaio 2013106