Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Corso di Circuiti Integrati Anno Accademico 2016/2017 1 Introduzione In questo breve tutorial utilizzeremo il software Virtuoso della suite Cadence per simulare la funzionalità di uno specchio di corrente in tecnologia CMOS. Il software è installato su una macchina virtuale Linux e per poter lanciare il software è necessario aprire un terminale, posizionarsi nella directory home digitando il comando “cd” e lanciare lo script di avvio mediante il comando “source start_cadence_NCSU” 2 Specchio di corrente semplice Inizieremo simulando uno specchio di corrente semplice di tipo N. Si richiede di: 1) Disegnare lo schematico del circuito, per semplicità si includa tutto il necessario in un solo schematico, sia il circuito da testare che il suo testbench. 2) Estrapolare i parametri a piccolo segnale dei due transistor tramite una simulazione OP (Operating Point ossia punto di lavoro). 3) Eseguire una simulazione in DC facendo variare la corrente di ingresso per verificare il funzionamento del circuito come specchio. 4) Eseguire una simulazione in DC facendo variare la tensione di uscita per verificare per quale tensione il circuito smette di funzionare come specchio di corrente (minima tensione di uscita) e con quale precisione viene copiata la corrente di ingresso (resistenza di uscita). 5) Eseguire una simulazione parametrica per verificare come varia la resistenza di uscita al variare della lunghezza di canale. Fare variare la lunghezza di canale fra 50nm (valore minimo) e 1um a step di 50nm. 6) Replicare la simulazione in DC ma per uno specchio semplice di tipo P. 2.1 Schematico Lo schematico del circuito è indicato in figura, si usino transistor con lunghezza di canale parametrica (L) e larghezza pari a 10um: Specchio di corrente di tipo N e generatori di polarizzazione test. Simulazione di circuiti integrati – Uso di VIrtuoso CI 2016/17 - Massimo Barbaro 3 Simulazione 3.1 Punto di lavoro Un tipo di simulazione fondamentale per i circuiti analogici è quella che ci consente di estrapolare i parametri del modello a piccolo segnale di ogni componente. Si tratta del passaggio iniziale di una normale simulazione DC, in cui però non si fa variare il parametro in continua di alcun componente ma si lasciano tutte le correnti e le tensioni costanti al valore del punto di valore e si estraggono i parametri. Nella nostra prima simulazione calcoleremo il punto di lavoro del circuito quando la tensione di uscita vout è pari a VDD/2 cioè nel nostro caso 0.5 V. Un’analisi di questo tipo richiede un’analisi in continua (dc). Per definire il tipo di analisi richiesto: Menu Pulsante barra strumenti Analyses -> Choose Si aprirà una finestra che consente di scegliere uno dei possibili tipi di analisi (continua, transistorio, alternata e così via). La finestra di scelta è mostrata in Figura 1, bisogna selezionare la voce che corrisponde all’analisi desiderata (nel nostra caso, analisi in continua, dc). Figura 1: Setup di una simulazione dc (continua) Per effettuare una analisi in continua è sufficiente scegliere la voce dc e spuntare la casella Save DC Operating Point e premere OK. A questo punto la simulazione è pronta per essere eseguita mediante il comando: Menu Simulation -> Netlist and Run Pulsante barra strumenti Una volta terminata, la simulazione di punto di lavoro non produce alcun output di tipo grafico. Per visualizzare i risultati è necessario selezionare il comando: Menu Pulsante barra strumenti Results -> Print -> DC Operating Point A questo punto cliccando su qualsiasi componente nello schematico è possibile visuallizare il suo punto di lavoro. Se ad esempio dopo aver eseguito il comando precedente si clicca sul generatore di tensione VDD si otterrà il suo punto di lavoro, cioè la tensione presente ai suoi capi, la corrente che sta erogando. Per vedere il punto di lavoro del transistor M2 dello specchio di corrente sarà dunque usare il comando: Menu Simulazione di circuiti integrati – Uso di VIrtuoso Pulsante barra strumenti CI 2016/17 - Massimo Barbaro Results -> Print -> DC Operating Point Cliccare sul transistor M2 per ottenere la seguente schermata: Dove sono presenti tutti i parametri più significativi del transistor come ad esempio la tensione di soglia (Vth) la gm la Rout e molti altri. Tali valori possono essere anche utilizzati per ricavare alcuni parametri dei transistor Simulazione di circuiti integrati – Uso di VIrtuoso CI 2016/17 - Massimo Barbaro utili in fase di progetto. Si proceda ad esempio con la stima dei parametri mostrati nella tabella successiva per il transistor M2 dello specchio di corrente (per farlo si ricordino le equazioni che governano il funzionamento di un transistor MOS). PARAMETRO μnCox Vthn λn 3.2 VALORE Analisi in continua Simulazione in continua al variare della corrente di ingresso: Simulazione al variare della tensione di uscita: Simulazione di circuiti integrati – Uso di VIrtuoso CI 2016/17 - Massimo Barbaro Simulazione parametrica al variare di L: Confrontare a questo punto i valori della resistenza di uscita prevista dalla teoria e dal modello a piccolo segnale con quelli ottenuti in simulazione. Per calcolare la resistenza di uscita dalla simulazione in DC basta calcolare la derivata della corrente, tramite il tool Calculator e la funzione deriv()). La derivata fornisce ovviamente la conduttanza di uscita che può essere poi invertita per ottenere la resistenza di uscita. Ripetere l’esercizio per uno specchio P almeno fino a punto 3. Ripetere l’esercizio con uno specchio N cascode wide-swing. Simulazione di circuiti integrati – Uso di VIrtuoso CI 2016/17 - Massimo Barbaro