Progettazione e layout di porte logiche combinatorie CMOS
Transcript
Progettazione e layout di porte logiche combinatorie CMOS
Tecniche di Progettazione Digitale – Progettazione e 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 Tecniche di Progettazione Digitale – Progettazione e 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. Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 2 1 Layout dell’inverter (1/3) VDD PULLUP MP vIN vOUT PULLDOWN MN Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 3 Layout dell’inverter (2/3) PULLUP VDD MP vIN PULLDOWN vOUT MN Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 4 2 Layout dell’inverter (3/3) Inverter di dimensioni multiple Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 5 Layout di NAND e NOR NAND NOR Tecniche di Progettazione Digitale – Progettazione e 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). Tecniche di Progettazione Digitale – Progettazione e 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 Tecniche di Progettazione Digitale – Progettazione e 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. Tecniche di Progettazione Digitale – Progettazione e 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à. Tecniche di Progettazione Digitale – Progettazione e 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 Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 11 Esempio: AOI (2/4) Schema del pull-down (NMOS): b y d e a c y = a·b+c·d+e Tecniche di Progettazione Digitale – Progettazione e 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 Tecniche di Progettazione Digitale – Progettazione e 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 Tecniche di Progettazione Digitale – Progettazione e 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 Tecniche di Progettazione Digitale – Progettazione e 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) Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 16 8 Grafi di Eulero (1/) 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. Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 17 Grafi di Eulero (2/) Grafi di Eulero per il circuito OAI: VDD a b VDD c grafo P I1 d y c a d grafo N b a c b d y c d I2 I3 a b GND Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 18 9 Grafi di Eulero (3/) Per entrambi i grafi, si cercano i percorsi che attraversano tutti gli archi una sola volta. Siccome il transistore MOS è simmetrico, gli archi non sono orientati e il verso di percorrenza non ha importanza. 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. Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 19 Porte logiche simmetriche (1/4) Esercizio: Disegnare lo schema di un circuito “fully CMOS” che riceve in ingresso tre bit (a, b, c) e fornisce all’uscita y il bit che si presenta in ingresso il maggior numero di volte (decisore a maggioranza): y=0 se {a, b, c} = {0, 0, 0} oppure {a, b, c} = {0, 0, 1} y=1 se {a, b, c} = {0, 1, 1} oppure {a, b, c} = {1, 1, 1} Mappa di Karnaugh: a bc 00 01 11 10 0 1 0 0 0 1 1 1 0 1 Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 20 10 Porte logiche simmetriche (2/4) Tabella della verità: a b c y y 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 0 La tabella della verità è simmetrica, perché scambiando 1 e 0 rimane uguale a sé stessa. Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 21 Porte logiche simmetriche (3/4) Il circuito decisore a maggioranza non è una porta elementare CMOS, perché non è invertente → bisogna generare y e mettere in cascata un inverter Una possibile realizzazione minima del pull-down è: (y) = (a + b) · c + a · b e fra le possibili realizzazioni del pull-up c’è: y = (a + b) · c + a · b Una funzione booleana simmetrica può essere realizzata con un circuito CMOS avente pull-up e pull-down simmetrici, oltre che con pull-up e pull-down duali. Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 22 11 Porte logiche simmetriche (4/4) Schema del decisore a maggioranza (con uscita negata): VDD a a b c b y c a b b a Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 23 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. Tecniche di Progettazione Digitale – Progettazione e layout di porte logiche combinatorie CMOS – p. 24 12