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