Disegno del layout di porte logiche combinatorie CMOS
Transcript
Disegno del layout di porte logiche combinatorie CMOS
Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS Valentino Liberali Dipartimento di Tecnologie dell’Informazione Università di Milano, 26013 Crema e-mail: [email protected] http://www.dti.unimi.it/˜liberali Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 1 Porte logiche elementari In tecnologia CMOS, le porte logiche combinatorie più semplici sono: Inverter (NOT) NAND NOR L’insieme delle porte logiche NOT, NAND, NOR è completo, perché permette di realizzare qualsiasi funzione combinatoria. Le porte logiche elementari sono tutte invertenti perché sono realizzate con circuiti a transistori che amplificano i segnali: per avere uno stadio elementare con guadagno maggiore di uno, bisogna che il segnale di ingresso sia applicato al gate e che l’uscita sia presa sul drain. Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 2 1 Layout dell’inverter (1/3) VDD PULLUP MP vIN vOUT PULLDOWN MN Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 3 Layout dell’inverter (2/3) PULLUP VDD MP vIN PULLDOWN vOUT MN Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 4 2 Layout dell’inverter (3/3) Inverter di dimensioni multiple Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 5 Layout di NAND e NOR NAND NOR Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 6 3 “Stacked layout” (1/2) La simmetria del transistore MOS permette di utilizzare la stessa area di source o di drain per DUE transistori diversi dello stesso tipo, purché abbiano i terminali di source o di drain collegati. Due o più transistori aventi la stessa area di source o di drain in comune si dicono “stacked” (= impilati, accatastati). Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 7 “Stacked layout” (2/2) Vantaggi: migliore “aspect ratio” delle celle possibilità di fare celle della stessa altezza minore area di source/drain → minore area totale minore area di drain → minore capacità di carico interna alla cella minor numero di linee di metal → “routing” semplificato esistono algoritmi per la generazione automatica del layout delle celle Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 8 4 Altre porte logiche CMOS (1/2) In tecnologia CMOS si può realizzare in modo semplice qualsiasi funzione combinatoria. Le funzioni combinatorie possono essere: puramente invertenti, se l’espressione booleana di y non contiene nessun ingresso negato: queste funzioni possono essere realizzate con blocchi semplici; puramente non invertenti, se l’espressione booleana di y non contiene nessun ingresso negato: queste funzioni si realizzano con il blocco puramente invertente seguito da un inverter in cascata; miste, quando l’espressione booleana contiene sia ingressi diritti, sia ingressi negati: queste funzioni richiedono di inserire inverter per ottenere gli ingressi negati. Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 9 Altre porte logiche CMOS In tecnologia CMOS, le funzioni combinatorie più semplici da realizzare sono quelle puramente invertenti. Ad esempio: And-Or-Inverter (AOI), cioè somma di prodotti negata Or-And-Inverter (OAI), cioè prodotto di somme negato Nel PULL-DOWN: il prodotto logico corrisponde al collegamento in serie di transistori NMOS la somma logica corrisponde al collegamento in parallelo di transistori NMOS Lo schema del PULL-UP si ricava applicando il principio di dualità. Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 10 5 Esempio: AOI (1/4) Funzione booleana: y = a·b+c·d+e Schema logico: a b c y d e Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 11 Esempio: AOI (2/4) Schema del pull-down (NMOS): y b d e a c y = a·b+c·d+e Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 12 6 Esempio: AOI (3/4) Schema del pull-up (PMOS): VDD a b c d e y y = a+b · c+d ·e Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 13 Esempio: AOI (4/4) Schema completo CMOS: VDD a b c d e y b d e a c Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 14 7 Esempio: OAI (1/2) Funzione booleana: y = (a + b) · (c + d) Schema logico: a b y c d Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 15 Esempio: OAI (2/2) Schema completo CMOS: VDD a c b d y c d a b y = (a + b) · (c + d) Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 16 8 Grafi di Eulero (1/6) Per ricavare la topologia del layout “stacked”, si usa il metodo dei grafi di Eulero. Un grafo G(V, E) è costituito da un insieme V di vertici e da un insieme E di archi (o rami); ciascun arco connette una coppia di vertici. Partendo dallo schema CMOS del circuito, si ricavano due grafi di Eulero (uno per il pull-up e l’altro per il pull-down), con le seguenti regole: Ad ogni nodo del circuito corrisponde un vertice del grafo. Ad ogni transistore MOS del circuito corrisponde un arco del grafo, che collega i vertici corrispondenti ai terminali di source e di drain; l’arco ha il nome del segnale applicato al gate del transistore MOS. Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 17 Grafi di Eulero (2/6) Grafi di Eulero per il circuito OAI: VDD a b VDD c grafo P I1 d d grafo N a b I2 b d y c a c y c d I3 a b GND Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 18 9 Grafi di Eulero (3/6) Per ciascuno dei due grafi, si cerca un percorso che attraversa tutti gli archi una sola volta. Siccome il transistore MOS è simmetrico, gli archi non sono orientati e il verso di percorrenza non ha importanza. VDD a c I1 I2 b d y Per il grafo del pull-up, un percorso possibile è: (abdc). Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 19 Grafi di Eulero (4/6) La condizione di esistenza del percorso è determinata dal numero di vertici collegati da un numero dispari di archi: nessun vertice con numero dispari di archi → il percorso parte da un vertice qualsiasi e termina nello stesso vertice (A) due vertici con numero dispari di archi → il percorso parte da uno di questi due vertici e termina nell’altro (B) più di due vertici con numero dispari di archi → non esiste percorso (C) A B C Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 20 10 Grafi di Eulero (5/6) Se esiste una coppia di percorsi (uno attraverso il grafo P e uno attraverso il grafo N) per cui gli archi hanno nell’ordine gli stessi nomi, allora è possibile disegnare il layout “stacked” con il massimo compattamento. Si disegna lo “stick diagram”, indicando con colori diversi le zone di source/drain e quelle di gate. Ad ogni gate si associa il nome dell’arco; ad ogni source/drain il nome del vertice. VDD I1 a I3 GND I2 y b d I3 VDD c y I3 Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 21 Grafi di Eulero (6/6) Tracciando le interconnessioni in alluminio e aggiungendo allo stick diagram le dimensioni, si ottiene il layout. Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 22 11 Bibliografia Per un approfondimento sul disegno del layout di celle di logica combinatoria: N.H.E. Weste and K. Eshraghian, Principles of CMOS VLSI Design: A Systems Perspective (2nd edition). Addison-Wesley, Reading, MA, USA, 1993 – Paragrafo 5.3. Elettronica dei Sistemi Digitali – Disegno del layout di porte logiche combinatorie CMOS – p. 23 12