Logica a pass-transistor
(liberamente tratto da “Circuiti Integrati Digitali” – M.Rabey et al., Prentice Hall)
Si tratta di un’alternativa alla logica CMOS, che ha l’obiettivo di ridurre il numero di dispositivi
necessari all’implementazione di una data funzione logica. Gli ingressi sono collegati sia ai
terminali di gate sia ai terminali di source/drain, differentemente dalle altre logiche viste finore
nelle quali gli ingressi facevano capo solo ai terminali di gate.
Potrei implementare un AND come segue
In tal caso avrei però un gate dinamico e quando B=0 non avrei certezza del valore della tensione
sul nodo di uscita. Per questo si aggiunge un secondo ramo che garantisca che in qualunque
condizione vi sia sempre un cammino a bassa resistenza che connetta l’uscita o alla massa o alla
tensione di alimentazione. Il dispositivo pilotato da B’ (vedi figura seguente) assicura che la porta
sia statica.
Con due transistori ho ottenuto quello che con altre logiche farei ad esempio con 4 transistori.
L’altra faccia della medaglia è che un pass-transistor basato su NMOS sarà efficiente nel
trasmettere il valore logico 0, mentre trasmetterà male il valore logico 1. Infatti nel tentare di
raggiungere la tensione Vdd andrà in spegnimento e raggiungerà soltanto il valore Vdd-Vtn.
Dualmente si comporterà un PMOS, efficiente nel trasportare il valore logico alto, meno efficiente
nel trasportare il valore logico 0, poiché scaricherà la capacità di carico solo fino a |Vtp|.
Si parla di logica a pass-transistor differenziale o complementare quando si vuole poter disporre
degli ingressi sia diretti sia complementari e si vuole produrre in uscita contemporaneamente sia il
valore logico diretto che quello negato. Ancora una volta abbiamo a che fare con porte statiche,
poiché i nodi di uscita sono sempre connessi o a massa o a Vdd attraverso un cammino a bassa
resistenza. Qualche esempio.
Esercizio. Si realizzi una porta AND/NAND a 4 ingressi in logica a pass-transistor complementare.
E’ possibile utilizzare un’implementazione a 2 stadi.
Sfrutto la proprietà associativa dell’operatore booleano AND.
A*B*C*D = (A*B)*(C*D)=X*Y dove X=AB e Y=CD.
Sfrutto cioè la possibilità di un’implementazione a due stadi.
Soluzione in figura qui accanto.
Sfortunatamente, la logica basata su pass transistor, risente di alcuni problemi quali il consumo
statico di potenza e i ridotti margini di rumore, poiché l’invertitore, che viene spesso usato a valle
del pass transistor per ripristinare l’escursione logica dell’uscita, riceve in ingresso un valore logico
alto degradato che non è in grado di spegnere completamente il PMOS.
Soluzioni tipiche:
1. Utilizzo di un level restorer, ovvero un PMOS inserito in catena di retroazione e pilotato dal
segnale di uscita (spesso tramite un invertitore). Questa soluzione è attraente in termini di consumo
statico di potenza, ma complica il circuito
rendendolo “a rapporto”. In pratica, nel
momento in cui il pass-transistor lavora per
una commutazione 1Æ0, finchè la tensione
non è scesa a sufficienza perché sia spento, il
PMOS contrasta tale lavoro. Occorre perciò
un accurato dimensionamento del level
restorer. Inoltre la capacità al nodo X aumenta
e la porta risulta più lenta. Il transistorio di
discesa è rallentato mentre quello di salita è
velocizzato dalla presenza del level restorer
perché in un caso il PMOS gioca a sfavore
nell’altro a favore.
2. Pass-transistor con tensione di soglia multipla. In pratica quando un transistore viene utilizzato
in configurazione pass-transistor, lo imposto ad una soglia molto bassa, quasi nulla. Riducendo il
Vtn, anche se carico solo a Vdd-Vtn il danno è inferiore. Comunque non ottengo l’escursione logica
piena e il dispositivo è più soggetto a rumore come ad esempio le correnti di sottosoglia.
3. Logica a gate di trasmissione o transfer gate. Sfrutto le proprietà
complementari di NMOS e PMOS, combinando un NMOS e un PMOS in
parallelo e usando come segnali di controllo del gate due segnali complementari.
Esercizio: Realizzare AND, NAND, OR, NOR, XOR e NOT XOR a pass transistor
con NMOS, con PMOS e con transfer gate. Provare combinazioni tipo multiplexer e differenziali.
fx(A,B)=AB+BB'=AB
fy(A,B)=BA'+B'B'=BA'+B'=(B'+B)(B'+A')=1*(AB)'
proprietà distributiva
In realtà questo procedimento è sbagliato nell'ultimo passaggio, dal momento che come resistenza
equivalente di riferimento uso quella per Vgs=|Vdd|
[Req(Vgs=|Vdd|,90%,S=1) 5,39 KOhm per n-ch].
Dovrei usare piuttosto la Req di riferimento al 90%, con S=1 per Vgd=0 che il testo non mi dà
(ma che sarebbe stata 28,71 KOhm per n-ch).
Alternativamente, posso allora usare le formule analitiche, tenendo conto che la Vx=Vs finale
sarà Vdd-Vtn e ricordandomi di considerare la salita al 90%. Vedi ERRATA CORRIGE in fondo.
SI RICAVI LA FUNZIONE LOGICA DEL CIRCUITO IN FIGURA
SI CONFRONTINO LE PRESTAZIONI DEL CIRCUITO SOPRA CON QUELLE DI UN NAND A 2 INGRESSI FCMOS A PARITà DI
DIMENSIONAMENTO DEI TRANSISTORI.
Per quanto riguarda i transitorii di discesa i due circuiti da confrontare
hanno le stesse prestazioni in quanto la scarica della Capacità di carico
avviene attraverso la serie di 2 transistori.
Nel transitorio di salita invece la tensione finale del circuito FCMOS
arriva fino a Vdd, mentre quella del circuito a pass-transistor arriva
solo fino a Vdd-Vtn
ERRATA CORRIGE punto 3 esercizio pagina precedente.
Procedo per via analitica, recuperando le formule seguenti:
Dal momento che Vgd=cost, Vtn=cost lungo il transitorio
e Vgs-Vtn< Vds --> -Vtn<0 sempre (essendo Vgd=Vdd-Vdd=0)
allora il transitorio avviene in saturazione e applico
perciò la seconda formula di quelle qui a sinistra.