Esercitazioni SPICE (1) Do5. Salvatore Pontarelli E-­‐mail:[email protected] SPICE SPICE: SimulaAon Program with Integrated Circuit Emphasis Sviluppato nel 1975 all’Università di Berkeley (California), dove nacque come programma per scopi di ricerca si è affermato come standard de facto nel campo della simulazione ele5ronica circuitale. Principi di funzionamento -­‐ Per conoscere i valori di corrente e tensione di un circuito si rosolvono le equazioni di Kircoff -­‐ Per circuiA complessi esse sono risolte uAlizzando operazioni algebriche su matrici -­‐ SPICE effe5ua tali operazioni a parAre da una netlist che descrive il circuito Tipi di analisi effe5uate • Analisi in DC – Calcola il comportamento del circuito a cui sono applicaA valori in conAnua di tensione e corrente • Analisi in transitorio (Transient analysis) – Calcola tensioni e correnA al variare del tempo • Analisi in AC – Linearizza il circuito intorno ad un punto di lavoro (DC operaAng point) e calcola il comportamento in frequenza del circuito Formato del file Spice Register divider circuit VIN 0 1 2 3V R1 1 2 1Ohm R2 2 0 2Ohm .OP .END. A spice input file Example Esempio(example.sp) CEG3470 example1 -­‐-­‐ Diode Transient Analysis * the above line is Atle line * example.sp * start for source file * this command define a model call 'diode1' .model diode1 D (IS=2E-­‐16 CJ0=0.2p VJ=0.65) * a diode here D1 a 0 diode1 * a resistor Rsrc b a 50k * a pulse voltage source Vsrc b 0 dc 0 pulse(5 -­‐5 0.1u 0n 0n 0.1u 0.2u) * type and range of analysis .tran 0.1n 0.3u .end * end of source file Formato del file Spice Un file spice conAene: a) Title line La prima linea del indica il nome del circuito b) Comment line Se il primo cara5ere di una linea è * il contenuto della linea viene ignorato c) Element line Specifica il Apo, il nome le connessioni e I parametri di un componente d) Control line Comincia con un punto (.) seguito dal nome di un comando. Specifica come effe5uare le simulazioni . E.g. .model, .dc e) .END line L’ulAma linea del file definisce la fine del circuito Descrizione del circuito • Ogni componente del circuito è definito da un element statement, che conAene il nome, i nodi del circuito a cui e connesso, e il valore. Descrizione del circuito • Tipi di componenA: – passivi – Generatori independenA – Generatori dipendenA – ComponenA ahvi (e.g. diodi e transistors) Descrizione del circuito • ComponeA Passivi: – Resistenze • Rxx N1 N2 Value – Capacità • Cxx N+ N-­‐ Value <IC=INCOND> – Indutanza • Lxx N+ N-­‐ Value <IC=INCOND> IC: iniAal condiAon Descrizione del circuito • Generatori IndependenA: – Tensione • Vxx N+ N-­‐ <<DC> DC/TRAN VALUE> • +<AC<ACMAG<ACPHASE>>> • +<TRANKIND (TRAR1 TPAR2 …)> – CorrenA • Ixx N+ N-­‐ <<DC> DC/TRAN VALUE> • +<AC<ACMAG<ACPHASE>>> • +<TRANKIND (TRAR1 TPAR2 …)> TRANKIND: pulse, sinusoidal, exponenAal, piecewise linear and single frequency FM. Voltage and Current Transient kind (TRANKIND) Voltage and Current Transient kind (TRANKIND) Voltage and Current Transient kind (TRANKIND) Descrizione del circuito • DisposiAvi ahvi – E.g. diodi (Dxxx), transistor bipolari (Qxxx), FETs (Mxxx) – Usano il “.model” statement per definire I parametri del disposiAvo e il Apo di modello • Esempio: .model diode1 D (IS=2E-­‐16 CJ0=0.2p VJ=0.65) Parametri del diodo DisposiAvi e modelli 16 Tipo di analisi 1. OperaAng point • .OP 2. DC sweep • .DC source_name start_value stop_value step_value 3. AC frequency response • .AC DEC pts_per_decade freq_start freq_stop • .AC LIN total_pts freq_start freq_stop 4. Transient response • .TRAN Ame_step Ame_stop [max_step_size] • .IC V(node1) = value V(node2) = value … Esempio Esempio(example.sp) CEG3470 example1 -­‐-­‐ Diode Transient Analysis * the above line is Atle line * example.sp * start for source file * this command define a model call 'diode1' .model diode1 D (IS=2E-­‐16 CJ0=0.2p VJ=0.65) * a diode here D1 a 0 diode1 * a resistor Rsrc b a 50k * a pulse voltage source Vsrc b 0 dc 0 pulse(5 -­‐5 0.1u 0n 0n 0.1u 0.2u) * type and range of analysis .tran 0.1n 0.3u .end * end of source file Risultato Simulazione