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