Elettronica dei Sistemi Digitali – Sintesi di porte logiche
Transcript
Elettronica dei Sistemi Digitali – Sintesi di porte logiche
Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully 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 – Sintesi di porte logiche combinatorie “fully CMOS” – p. 1 Porte logiche “fully CMOS” (1/6) Esercizio 1: Disegnare lo schema di un circuito “fully CMOS” che riceve in ingresso una parola digitale a quattro bit X = (x3 x2 x1 x0 ) e fornisce in uscita un bit y = 1 quando l’ingresso X è la codifica binaria di una cifra decimale compresa tra 0 e 9, e y = 0 in caso contrario. Mappa di Karnaugh (in piccolo, i numeri in base 10): x1 x0 x3 x2 00 01 11 10 00 01 11 10 1 (4)10 1 (12)10 0 (8)10 1 1 (5)10 1 (13)10 0 (9)10 1 1 (7)10 1 (15)10 0 (11)10 0 1 (6)10 1 (14)10 0 (10)10 0 (0)10 (1)10 (3)10 (2)10 Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 2 1 Porte logiche “fully CMOS” (2/6) Mappa di Karnaugh: x3 x2 x1 x0 00 01 11 10 00 01 11 10 1 1 0 1 1 1 0 1 1 1 0 0 1 1 0 0 Osservando gli zeri nella mappa, si ricava: y = x3 x2 x1 x0 + x3 x2 x1 x0 + x3 x2 x1 x0 + x3 x2 x1 x0 + x3 x 2 x1 x0 + x3 x2 x1 x 0 = x3 x2 x1 + x3 x2 x1 + x3 x2 x1 = x3 x2 + x3 x1 = x3 · (x2 + x1 ) Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 3 Porte logiche “fully CMOS” (3/6) Mappa di Karnaugh: x3 x2 x1 x0 00 01 11 10 00 01 11 10 1 1 0 1 1 1 0 1 1 1 0 0 1 1 0 0 In modo analogo, osservando gli uni nella mappa, si ricava: y = x3 + x2 · x1 che è la funzione duale di y = x3 · (x2 + x1 ). Pull-up e pull-down sono duali; l’ingresso x0 è ininfluente. Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 4 2 Porte logiche “fully CMOS” (4/6) Dalla funzione y = x3 · (x2 + x1 ) si ricava il pull-down (la parte dei transistori NMOS): prodotto logico (AND) → collegamento in serie somma logica (OR) → collegamento in parallelo y x3 x2 x1 Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 5 Porte logiche “fully CMOS” (5/6) Nello stesso modo, dalla funzione y = x3 + x2 · x1 si ricava il pull-up (la parte dei transistori PMOS), che è duale rispetto al pull-down. VDD x2 x3 x1 y Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 6 3 Porte logiche “fully CMOS” (6/6) VDD x2 x3 x1 y x3 x2 x1 Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 7 Porte logiche simmetriche (1/4) Esercizio 2: 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 Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 8 4 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. Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 9 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. Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 10 5 Porte logiche simmetriche (4/4) V DD a b a c b y c b a b a Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 11 Schemi equivalenti Quando una funzione logica può essere realizzata con più schemi, si preferisce quello con il minor numero di transistori in serie tra uscita e VDD , e tra uscita e GND. V DD a V DD c a b c b a a b b y c a y b b c a a 2 PMOS tra y e VDD b b a 3 PMOS tra y e VDD Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 12 6 Porte logiche “tri-state” (1/5) Quando due o più porte logiche hanno le uscite collegate al medesimo filo (“bus”), al massimo una sola delle porte logiche può essere attiva e portare il filo al valore logico della propria uscita; tutte le altre porte logiche devono essere nella condizione di alta impedenza (Z), cioè con pull-up e pull-down entrambi spenti. Una porta logica “tri-state” ha tre modi di fuzionamento: pull-down acceso, pull-up spento → uscita a 0 pull-down spento, pull-up acceso → uscita a 1 pull-down spento, pull-up spento → uscita in alta impedenza (Z) Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 13 Porte logiche “tri-state” (2/5) Esercizio 3: Disegnare lo schema di un inverter “tri-state” che riceve, oltre al bit di ingresso a, un bit di “enable” e. L’uscita y deve essere in alta impedenza (y = Z) quando e = 0, mentre deve essere y = a quando e = 1. a e y Tabella della verità: a e y 0 0 1 1 0 1 0 1 Z 1 Z 0 Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 14 7 Porte logiche “tri-state” (3/5) Nell’inverter “tri-state” pull-down e pull-up NON sono duali: il pull-down deve essere acceso quando a = 1 ed e = 1 il pull-up deve essere acceso quando a = 0 ed e = 1 (cioè e = 0) Occorre un inverter per generare il segnale e che deve pilotare il pull-up. Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 15 Porte logiche “tri-state” (4/5) VDD a e y e a Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 16 8 Porte logiche “tri-state” (5/5) Un’altra possibile soluzione è il circuito: VDD a e y a e in cui al normale inverter CMOS viene messa in cascata una coppia di transistori MOS pilotati dai segnali opposti e ed e. Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 17 Interruttori CMOS (1/2) e x y e La coppia di transistori MOS pilotati dai segnali opposti e ed e si comporta da interruttore: quando e = 1 (ed e = 0) entrambi i transistori MOS sono accesi, e quindi y = x; quando e = 0 (ed e = 1) entrambi i transistori MOS sono spenti, e quindi y è isolato da x. Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 18 9 Interruttori CMOS (2/2) e x y e Come interruttore, si usa una coppia di transistori MOS complementari anziché un solo transistore, perché: il transistore NMOS conduce bene quando e = 1 e x = 0; il transistore PMOS conduce bene quando e = 0 e x = 1. Infatti, questi sono i casi in cui le tensioni vGS dei due transistori hanno il massimo valore assoluto. Elettronica dei Sistemi Digitali – Sintesi di porte logiche combinatorie “fully CMOS” – p. 19 10