\chapter{Struttura delle principali famiglie logiche} 
\label{famiglie_logiche} 

\section{Introduzione}
\index{Famiglie logiche}
 I circuiti logici che sono alla base dei computer, dei sistemi di
 controllo, di codifica e trasmissione dati digitali etc.,
 sono classificabili in un certo numero di ``famiglie'', ciascuna con
 proprie caratteristiche, quali i livelli di tensione, la velocit\`a
 di commutazione, le dimensioni del componente elementare, la
 dissipazione di potenza e, non ultimo, il costo.

  
In questa sezione ci occuperemo delle caratteristiche delle principali
di queste famiglie. A titolo illustrativo ci occuperemo della famiglia
TTL (Transistor-Transistor Logic) e del suo precursore (non pi\`u
adoperato) DTL (Diode-Transistor-Logic).
\index{Logica! TTL}

Motivi di spazio non ci consentono di trattare altre due famiglie
che, in questi ultimi decenni, hanno avuto una enorme diffusione: i
circuiti basati sulla logica MOS (Metal-Oxide-Semiconductor) e CMOS
(Complementary MOS), e quelli basati sulla logica ECL
(Emitter-Coupled-Logic). Il notevole successo dei circuiti MOS e CMOS
\`e dovuto alla compattezza dei componenti elementari ed al ridotto
consumo; quello dei secondi all'elevata velocit\`a di commutazione. Ci
limiteremo a dare un breve cenno, alla fine del capitolo, ai circuiti
in logica CMOS.
 
Inizieremo con una breve discussione dei livelli di tensione che
caratterizzano gli stati dei vari circuiti e di quello che \`e il
margine di errore su tali livelli. Per una discussione delle
caratteristiche costruttive delle famiglie MOS, CMOS ed ECL si veda
le referenze~\cite{schilling-belove} e~\cite{rashid}.

\section{Livelli logici}

I livelli di tensione che corrispondono all'1 logico ed allo 0 logico
sono definiti per ogni determinata famiglia logica. Ad esempio nella
famiglia TTL tali livelli sono 0~V (livello ``Low''=``L'') e 5~V
(livello ``High''=``H''). Ovviamente le fluttuazioni tra componente e
componente ed il rumore che \`e sempre presente fanno s\`i che un
livello H in logica TTL non sia proprio 5~V ed un livello L non sia
esattamente 0~V.

\index{Livelli logici} Chiameremo $V_{OH}$ il minimo livello di
tensione che deve essere presente all'uscita del circuito se si vuole
che questo livello sia riconosciuto come H.  Analogamente chiameremo
$V_{IH}$ il minimo livello di tensione che deve essere presente
all'ingresso di un circuito se si vuole che questo sia riconosciuto
come H.
 
\`E ovvio che un circuito non dovr\`a fornire in uscita un livello H
di tensione inferiore a quello che esso stesso riconoscerebbe come
livello alto in ingresso. Si deve cio\`e avere:
\[
V_{OH} > V_{IH}
\]
  
  
Se cos\`i non fosse, un piccolo disturbo presente (rumore,
accoppiamento elettromagnetico con altri componenti presenti etc.)
potrebbe far s\`i che un livello di tensione H all'uscita del
circuito non risultasse tale all'ingresso di un altro circuito
 nominalmente identico al primo.
   
La differenza:
\[
V_{OH} - V_{IH}= NM_{H}
\]
\`e nota come il ``margine d'errore'' (\emph{Noise Margin}=NM)
relativo al livello alto.
  
Per il livello basso esistono analoghe definizioni. Si definisce il
massimo livello di tensione che pu\`o esser presente all'uscita di un
circuito perch\'e questo sia riconosciuto come L: $V_{OL}$, ed il
massimo livello di tensione che pu\`o esser presente all'ingresso del
circuito perch\'e esso sia riconosciuto come L: $V_{IL}$.
     
Ora dovr\`a essere:
\[
V_{IL} > V_{OL}
\]

Il relativo Noise Margin (NM) \`e:
\[
NM_L=V_{IL} - V_{OL}
\]      

Esempio: circuito NOT (invertitore). Se tale circuito ha in ingresso
un livello di tensione $V_I < V_{IL}$, esso dovr\`a fornire in uscita
un segnale $V_O > V_{OH}$.  Viceversa, se al suo ingresso \`e presente
un segnale di tensione $V_I > V_{IH}$, l'uscita sar\`a $V_O < V_{OL}$.
\index{Livelli di tensione} Tale comportamento \`e mostrato in
figura~\ref{famiglie_logiche_livelli}.

\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_livelli.eps,width=13 cm,height=8.5 cm}}\end{center}
\caption{Livelli di tensione in uscita per un circuito invertitore. Le
zone scure corrispondono a stati non consentiti.} 
\protect\label{famiglie_logiche_livelli}
\end{figure}
 
Notiamo che, in tale diagramma, le zone scure non corrispondono a
stati consentiti.  Il circuito pu\`o solo effettuare transizioni tra
gli stati indicati come ``1 logico'' (in alto a sinistra) e ``0
logico'' (in basso a destra).

Qualora l'ingresso o l'uscita del circuito venissero a trovarsi in una
delle zone scure in figura, lo stato del circuito sarebbe
indeterminato.
 
Normalmente, i livelli $V_{IL}$, $V_{IH}$, $V_{OL}$, $V_{OH}$ sono
specificati per valori delle correnti che non eccedano rispettivamente
$I_{IL}$, $I_{IH}$, $I_{OL}$, $I_{OH}$.
  
La tabella~\ref{logic_family_tab_1} mostra valori tipici, forniti dai
costruttori, per le famiglie TTL 54L/74L e CMOS 54C/74C.

\renewcommand{\arraystretch}{1.2}

\begin{table}[h!]  
\begin{center}
\begin{tabular}{|c | c | l | l | l | l |} 
\hline Famiglia & $V_{CC}$(V) & $V_{IL},~~I_{IL}$ & $V_{IH},~~I_{IH}$
& $V_{OL},~~I_{OL}$ & $V_{OH},~~I_{OH}$ \\ \hline 54L/74L & 5 & 0.7V ,
0.18mA & 2.0V, 10$\mu$A & 0.3V, 2.0mA & 2.4V, 100$\mu$A \\ \hline
54C/74C & 5 & 0.8V & 3.5V & 0.4V, 360$\mu$A & 2.4V, 100$\mu$A \\
\hline
\end{tabular}
\caption{Valori tipici dei livelli di tensione per le famiglie TTL
  54L/74L e CMOS 54C/74C.} 
\protect\label{logic_family_tab_1}
\end{center}
\end{table}

   
All'interno delle famiglie TTL, CMOS etc. esistono ``sottofamiglie''
con valori lievemente diversi da questi dei vari parametri.

Le caratteristiche della famiglia ECL sono mostrate, insieme a quelle
della logica NIM, che \`e uno standard usato nei sistemi di
acquisizione e trasmissione dei dati in esperimenti di fisica (in
particolare in fisica nucleare e subnucleare) nella
tabella~\ref{logic_family_tab_2}.

\begin{table}[h!]  
\begin{center}
\begin{tabular}{|c | c | l | l | l | l |} 
\hline Famiglia & $V_{OL}$ & $V_{OH}$ & $V_{IL}$ & $V_{IH}$\\ \hline
ECL & -1.7V & -0.9V & -1.4V & -1.0V \\ \hline NIM & (-1mA, 1mA) &
(-14mA,-18mA) & (-4mA, 20mA) & (-12mA,36mA) \\ \hline
\end{tabular}
\caption{Valori tipici dei livelli di tensione e corrente per le
  famiglie ECL e NIM.}  
\protect\label{logic_family_tab_2}
\end{center}
\end{table}    

\index{Logica! ECL} \index{Logica! TTL} \index{Logica! NIM} Si noti
che la logica ECL ha livelli negativi di tensione, mentre i livelli
relativi alla logica NIM sono di corrente e non di tensione.
      
Poich\'e tuttavia \`e anche specificata l'impedenza dei collegamenti
che \`e 50~$\Omega$ in logica NIM (e TTL) mentre \`e 100~$\Omega$ in
logica ECL si vede che in logica NIM il livello logico 1 \`e circa
-0.8~V mentre il livello logico 0 \`e circa 0~V.

\section{Il \emph{Fan-Out}}
\index{Fan-Out}
Se l'uscita di una certa porta logica \`e collegata agli ingressi (in
parallelo) di pi\`u porte simili, occorrer\`a tener conto della
corrente che queste assorbono. Tale corrente \`e infatti erogata dalla
porta pilota e, qualora fosse troppo elevata, farebbe uscire la prima
dalla sua zona di funzionamento normale.
 
Nella figura~\ref{famiglie_logiche_fan_out_1} la porta pilota A, con
l'uscita al livello alto, deve erogare una corrente $I_{OH}$ pari a
$3I_{IH}$, dove $I_{IH}$ \`e la corrente assorbita da ciascuna delle
porte alimentate dalla prima.

\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_fan_out_1.eps,width=8 cm,height=6 cm}}\end{center}
\caption{Esempio di porta logica la cui uscita \`e collegata agli
  ingressi in parallelo di pi\`u porte simili.} 
\protect\label{famiglie_logiche_fan_out_1}
\end{figure}

Possiamo schematizzare tale circuito nel modo indicato in
figura~\ref{famiglie_logiche_fan_out_2}.
  
\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_fan_out_2.eps,width=7 cm,height=4.5 cm}}\end{center}
\caption{Schema del circuito di figura~\ref{famiglie_logiche_fan_out_1}.} 
\protect\label{famiglie_logiche_fan_out_2}
\end{figure}

Se il numero delle porte collegate aumenta, aumenta la corrente
erogata dalla porta pilota e di conseguenza, se $I_{OH}$ non pu\`o
pi\`u aumentare diminuisce la tensione $V_{out}$ ai capi del carico
costituito dal parallelo delle tre resistenze. Come si vede facilmente
dalla figura, si ha:
\[
V_{out}=\frac{R}{N}I_{OH}
\]
dove N \`e il numero delle porte collegate (tre nell'esempio di
figura).
 
Si ha in generale:
\[
N_H < |I_{OH}/I_{IH}|
\]

Analogamente, se l'uscita della porta pilota \`e nello stato basso,
avremo:
\[
N_L < |I_{OL}/I_{IL}|
\]
 
Normalmente i costruttori quotano il pi\`u piccolo tra i due valori
$N_H, N_L$. Tale quantit\`a \`e nota come il \emph{fan-out} della
porta logica.

Vedremo nelle prossime sezioni come il fan-out possa esser calcolato
in alcuni semplici circuiti logici e quali siano i fattori che lo
limitano nei vari casi.


\section{Circuiti in logica Diodo-Transistore (DTL)}
\index{Logica! DTL}
Anche se tali circuiti hanno oramai un interesse puramente storico,
\`e utile e\-sa\-mi\-nar\-ne il funzionamento poich\'e da essi sono poi nati i
TTL. Un esempio di porta NAND in logica DTL \`e quello mostrato in
figura~\ref{famiglie_logiche_dtl_1}.
 
 
\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_dtl_1.eps,width=14 cm,height=8.5 cm}}\end{center}
\caption{Schema di una porta NAND in logica DTL.} 
\protect\label{famiglie_logiche_dtl_1}
\end{figure}
 
Se almeno uno degli ingressi A, B, C \`e basso ($<0.2\;V$) il diodo
corrispondente conduce e $V_P=0.2+0.7=0.9\,V$.  Perch\'e i diodi $D_1$
e $D_2$ conducano, occorre che la tensione ai capi di ciascun diodo
sia almeno uguale a $0.7\;V$ e che inoltre la differenza di potenziale
$V_{BE}$ tra base ed emettitore del transistor sia anch'essa uguale a
$0.7\;V$. In altri termini deve essere: $V_p > 2\cdot 0.7 + 0.7 = 2.1
\,V$.  Quindi, nelle condizioni esaminate, $D_1$, $D_2$ sono
interdetti. Il transistor, con la base a massa attraverso la
resistenza da 5k, \`e anch'esso interdetto, quindi $V_{out}=+5\,V$.
Se tutti gli ingressi A, B, C sono invece alti ($+5~V$) i diodi
$D_A,D_B,D_C$ saranno interdetti.

In tali condizioni i diodi $D_1,D_2$ condurranno, $V_P=2.1\,V$ ed il
transistor Q andr\`a in saturazione come ora verificheremo.
 
Esaminiamo lo stato del transistor, tenendo conto del fatto che, con i
diodi d'ingresso interdetti, la corrente nei diodi $D_1$, $D_2$ \`e
uguale alla corrente nella resistenza da 5~k tra il punto P e
l'alimentazione:
\[
I_1=\frac{5-2.1}{5k}=0.58\;mA
\]

Inoltre:
\[
I_2=\frac{0.7}{5k}=0.14 \;mA
\]

Si ha quindi:
\[
I_B=0.58-0.14\;mA=0.44\;mA
\]
  
Se il transistor fosse in saturazione avremmo
$V_{CE}\approx0.2\;V$. Allora dovremmo avere:
\[
I_B > \frac{I_C}{\beta}
\]
  
Verifichiamo la consistenza:
\[
I_C=\frac{5-0.2}{2.2k}=2.18 \;mA
\]
\[
\frac{I_C}{I_B}=\frac{2.18}{0.44}=4.95
\]

Il transistor sar\`a quindi in saturazione se \`e:
\[
h_{FE} \gg \frac{I_C}{I_B}=4.95
\]
     
Se il nostro transistor ha un $h_{{FE}_{min}}$ di 30, l'uscita sar\`a:
\[
V_{out}\approx 0.2 \;V\;\;\;(stato\;LOW)
\]

Vediamo cos\`i che il circuito si comporta come un NAND.
  
Valutiamo ora il fan-out\index{Fan-Out}.
  
Se l'uscita $V_{out}$ \`e bassa, ed essa \`e collegata (come in
figura) all'ingresso di uno stadio \emph{identico}, la corrente nel
diodo d'ingresso di tale stadio sar\`a:
\[
I_D=\frac{5-0.9}{5k}=0.82\;mA
\]
   
Che chiamiamo \emph{carico standard}. Tale corrente si somma a quella
che attraversa il transistor $Q_2$ della porta pilota.  Se colleghiamo
all'uscita del nostro NAND gli ingressi di N circuiti simili, la
corrente che attraversa il transistor diventa:
\[
I_C'=I_C+N \times 0.82\;mA=2.18 + 0.82 \times N \;\;(mA)
\]

Chiediamoci ora quale sia la corrente massima che pu\`o attraversare
il transistor senza che esso esca dalla saturazione. Questa \`e:
\[
\left(I_C'\right)_{max}= h_{{FE}_{min}} \times I_B\;=\;30 \cdot
0.44\;=\;13.2\;mA
\]
    
Perch\'e il transistor rimanga in saturazione deve essere: $I_C'<
\left(I_C'\right)_{max}$, cio\`e:
\[
2.18+0.82 \times N < 13.2 \;mA
\]
da cui:
\[
N < \frac{13.2-2.18}{0.82} \simeq 13
\]
  
Quindi il fan-out del nostro circuito \`e all'incirca 13.
        
Un metodo che pu\`o essere adoperato per aumentare la corrente di
collettore nel transistor (a parit\`a di $(h_{FE})_{min}$) e quindi
aumentare il fan-out, \`e quello di modificare il circuito in modo
tale da aumentare la corrente di base in $Q_2$.  Ci\`o pu\`o esser
ottenuto sostituendo il diodo $D_1$ con un altro transistor, come
mostrato in figura~\ref{famiglie_logiche_dtl_2}.
 
 
\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_dtl_2.eps,width=15 cm,height=7.5 cm}}\end{center}
\caption{Schema del circuito di figura~\ref{famiglie_logiche_dtl_1} in
cui il diodo $D_1$ \`e stato sostituito con un transistor.} 
\protect\label{famiglie_logiche_dtl_2}
\end{figure} 
  
Notiamo che, quando i diodi in ingresso sono interdetti, una corrente
fluisce nella base di $Q_1$.  Questo transistor sar\`a allora in
conduzione (zona attiva), poich\'e la resistenza $R_2$ fa s\`i che la
tensione di collettore sia maggiore di quella della base. La giunzione
base-collettore \`e quindi polarizzata inversamente. Ora la corrente
di base di $Q_2$ \`e fornita dall'emettitore di $Q_1$ e quindi sar\`a
alta, essendo grandi i valori tipici delle correnti di collettore
(emettitore) per un transistor che lavori in zona attiva. Un valore
elevato per la corrente di base in $Q_2$ implica un alto valore della
corrente di collettore, anche con un $(h_{FE})_{min}$ non
particolarmente elevato, e quindi un grande fan-out.

Calcoliamo ora il fan-out, ammettendo che i transistor adoperati
abbiano un $(h_{FE})_{min}$~=~30, una tensione di soglia
$V_{\gamma}=0.5\;V$, un $V_{BE}$ in zona attiva \`e~$\simeq$~0.7~V ed
un $V_{BE}$ in saturazione di circa $0.8\;V$.

Se almeno uno degli ingressi \`e basso, il diodo corrispondente
conduce e $V_P$~=0.9~V. Se inoltre il $V_{\gamma}$ del transistor \`e
0.5~V, $Q_1$ sar\`a interdetto. Infatti, perch\'e esso conduca,
occorre che conducano anche $D_2$ e $Q_2$ e quindi che $V_P$ sia
superiore a:
\[
V_P'=0.5+0.7+0.5\;=\;1.7\;V
\]

Ne segue che $Q_2$ \`e anch'esso interdetto e $V_{out}$~=~+5~V.

Se tutti gli ingressi sono alti, i diodi $D_A$, $D_B$, $D_C$ saranno
interdetti e $Q_1$ potr\`a andare in conduzione (zona
attiva). Perch\'e ci\`o accada basta che $V_P$ si porti ad una
tensione pari a:
\[
V_P=\left(V_{BE}\right)_{attiva}+V_{D_2}+
\left(V_{BE_2}\right)_{sat}\;=\;0.7+0.7+0.8=2.2\;V
\]

Con $Q_1$ in zona attiva e con $V_P$=2.2~V avremo:
\[
I_{C_1}=h_{FE} I_{B_1}
\]
\[
I_1=I_{B_1}+I_{C_1}=\left(1+h_{FE}\right) I_{B_1}
\]
\[
V_{CC}-V_P=(5-2.2)\;\;V\;=\;V_{R_1}+V_{R_2}\;=\;R_1\left(1+h_{FE}\right)I_{B_1}+R_2
I_{B_1}\;=
\]
\[
=\;1.75 \left(1+h_{FE}\right)I_{B_1}+2.0 I_{B_1}
\]
e, se $h_{FE}$~=~30, da questa otteniamo:
\[
\left(5 - 2.2 \right)\;V\;=\;2.8\;V=56.25\;I_{B_1}
\]
da cui:
\[
I_{B_1}=0.05\;mA
\]
Inoltre avremo:
\[
I_1'=I_{E_1}=\left(1+h_{FE}\right) I_{B_1}\;=\;1.543\;mA
\]
\[
I_2'=\frac{0.8}{R_3}=\frac{0.8}{5k}=0.16\;mA
\]
Di conseguenza la corrente di base di $Q_2$ sar\`a:
\[
I_{B_2}=I_1'-I_2'\;=\;(1.543 - 0.16 )\;mA\;=\;1.383\;mA
\]

Ricordiamo che nel precedente circuito, $I_{B_2}$ era 0.44~mA.

La corrente di collettore di $Q_2$, in assenza di carichi, sar\`a:
\[
I'=\frac{5-0.2}{2.2k} \;mA\;=\;2.182\;mA
\]

Notiamo a questo punto che:
\[
I'=2.182\;mA < h_{FE} I_{B_2}\;=\;41.49\;mA
\]
cio\`e $Q_2$ \`e sicuramente in saturazione.

Chiediamoci ora quale sia il ``carico standard'', cio\`e la corrente
assorbita dallo stadio d'ingresso di un circuito simile, quando esso
sia collegato all'uscita del primo, con $Q_2$ in saturazione.

La corrente che fluisce nelle resistenze $R_1$ ed $R_2$ dello stadio
posto a valle \`e, in queste condizioni:
\[
I_{R_{12}}=\frac{5-0.9}{1.75+2.0}=1.093\;mA
\]
Questo \`e il carico standard\index{Carico standard}.

La massima corrente di collettore possibile perch\'e $Q_2$ rimanga in
saturazione (sempre con $h_{FE}=30$) \`e:
\[
I_{C_2}=30 \times I_{B_2}=30 \times 1.383 \;mA=41.49\;mA
\]

Otteniamo quindi per il fan-out:
\[
N=\frac{I_{C_2}-I'}{I_{R_{12}}}=\frac{41.49 - 2.182}{1.093} \simeq 35
\]

Occorre anche notare che, se all'uscita del nostro circuito NAND
colleghiamo uno o pi\`u ingressi di altri circuiti dello stesso tipo,
la potenza dissipata aumenter\`a.

La potenza \emph{minima} dissipata (anche in assenza di carico) sar\`a
diversa a seconda che sia $V_{out}$~=~0.2~V (livello basso) o
$V_{out}$~=~5~V (livello alto). Se $V_{out}$~=~0.2~V, la potenza
dissipata nella resistenza $R_c$ e nel transistor $Q_2$ sar\`a:
\[
P'=V_{cc} \times I'\;=\;5 \times 2.182 \;=\;10.91\;mW
\]

Poich\'e in tale situazione i diodi $D_A$, $D_B$, $D_C$ sono
interdetti e $Q_1$ conduce, la potenza dissipata nella parte di
circuito che segue il percorso: $R_1$-$R_2$-$Q_1$-$D_2$-$R_3$ sar\`a:
\[
P''=V_{cc} \times I_1 \;=\;5 \times 1.543\;mA\;=\;7.715\;mW
\]
per cui la potenza totale dissipata \`e:
\[
P(Y=0)=P'+P''\;=\;18.62\;mW
\]
Se $V_{out}$~=~5~V, entrambi i transistor sono interdetti e quindi, ai
fini del calcolo della potenza, l'unica corrente da considerare \`e
quella che fluisce nel ramo $R_1-R_2$, poich\'e ora uno almeno dei
diodi d'ingresso \`e in conduzione. Tale corrente \`e:
$I_{R_{12}}=1.093\;mA$, per cui:
\[
P(Y=1)=V_{cc}\times I_{R_{12}}\;=\;5 \times 1.093\;=\;5.47 \;mW
\]


\section{Circuiti in logica TTL}
\index{Logica! TTL}
I circuiti logici del tipo esaminato finora, che utilizzano diodi e
transistor, sono relativamente lenti. Per tale motivo a tale tipo di
logica (nota come DTL) \`e preferita quella che utilizza solo
transistor, nota come logica TTL.

Esaminiamo le cause della lentezza nella risposta di un circuito DTL,
distinguendo la risposta alla transizione
livello~0~$\rightarrow$~livello~1, da quella relativa alla transizione
livello~1~$\rightarrow$~livello~0 (con riferimento all'uscita).
 
Esaminiamo il circuito d'uscita (vedi
figura~\ref{famiglie_logiche_ttl_1}), dove la tensione d'uscita \`e
quella sul collettore di $Q_2$.
  
\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_ttl_1.eps,width=8 cm,height=8 cm}}\end{center}
\caption{Schema relativo all'uscita del circuito in logica DTL di
  figura~\ref{famiglie_logiche_dtl_1}.} 
\protect\label{famiglie_logiche_ttl_1}
\end{figure} 

Il condensatore C nel disegno rappresenta l'effetto combinato delle
capacit\`a d'ingresso dei circuiti posti a valle e di quelle associate
ai collegamenti.

Nel passaggio dell'uscita dal livello~0 al livello~1, il transistor
deve andare in interdizione e la tensione di collettore salire a
$+V_{cc}$. Ci\`o avviene con una costante di tempo $R_c C$, che \`e il
tempo di carica del condensatore C attraverso $R_c$, il che rende
lenta la transizione.  Un secondo fattore che contribuisce a rendere
lenta tale transizione deriva dal fatto che il transistor deve passare
dalla saturazione all'interdizione.  Ci\`o implica che le cariche
presenti in base (elettroni e lacune) debbano fluire verso massa.  La
corrente iniziale con cui il processo ha luogo \`e $V_{BE}/ R_b
\approx 0.7\;Volt/R_b$ che, per un valore tipico di $R_b$ di
$5\;k\Omega$, vale 0.15~mA.  Poich\'e tale corrente \`e piccola il
tempo di svuotamento della base sar\`a relativamente lungo.

Esaminiamo ora ci\`o che accade nella transizione opposta, cio\`e
quando l'ingresso della porta diventa alto e quindi l'uscita scende a
(0-0.2~V). Tale transizione implica che il transistor entri in
saturazione ed il condensatore si scarichi attraverso di esso.  Ora,
il transistor era inizialmente interdetto e, per andare in saturazione
dovr\`a passare attraverso una successione di stati che comprendono la
zona attiva. Poich\'e la corrente di collettore, per un transistor in
zona attiva, assume valori elevati, \`e chiaro che il tempo di
scarica, e quindi il fronte di discesa associato alla transizione,
sar\`a breve.
 
Un circuito caratterizzato da valori brevi sia del tempo di salita che
di quello di discesa, si ottiene sostituendo tutti i diodi con
transistor. Esaminiamo il principio di funzionamento di un tale
circuito, prendendo come esempio un NAND con un solo ingresso, cio\`e
un NOT.
 
Vedremo in seguito come, sostituendo il transistor d'ingresso con un
particolare tipo di transistor a pi\`u emettitori, sia possibile
realizzare delle porte NAND a pi\`u ingressi.

Esaminiamo, per cominciare, il circuito visto dal lato dell'ingresso
(figura~\ref{famiglie_logiche_ttl_2}).

\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_ttl_2.eps,width=9 cm,height=8 cm}}\end{center}
\caption{Schema relativo ad un circuito NAND in cui siano
stati sostituiti tutti i diodi con transistor (logica TTL)
\index{Logica! TTL}.} 
\protect\label{famiglie_logiche_ttl_2}
\end{figure} 

Se l'input $V_i$ \`e alto ($V_i=V_{CC}$) la giunzione base-emettitore
di $Q_1$ sar\`a polarizzata inversamente. La tensione in P comincer\`a
a salire fino a che $(V_{BC})_1$ e $(V_{BE})_2$ non abbiano raggiunto
circa 0.7~V. In tali condizioni vediamo che il transistor $Q_1$ ha
$V_{BE}$ negativo e $V_{BC}$ positivo, cio\`e \`e in una situazione in
cui le polarizzazione sono opposte rispetto a quelle che sono
caratteristiche di un transistor che lavori in zona attiva
diretta. Ora il transistor $Q_1$ lavora in zona \emph{attiva inversa}
cio\`e con i ruoli di emettitore e collettore scambiati.  Un
transistor che lavori in modo inverso soddisfa a relazioni tra
correnti di emettitore, collettore e base, analoghe a quelle che
conosciamo per la zona attiva diretta.  In particolare sussistono le
seguenti relazioni tra le correnti:
\[
I_C=-(\beta_R + 1) I_B
\]
(analoga alla $I_E=(\beta_F+1) I_B$ per un transistor che lavori in
zona attiva diretta). Inoltre:
\[
I_E=-\beta_R I_B
\]

Notiamo che in genere \`e $\beta_R \ll \beta_F$. Inoltre i transistor
utilizzati in questo tipo di applicazioni hanno valori di $\beta_R$
ancora pi\`u piccoli:
\[
\beta_R \simeq 0.02
\]
per cui, indicando con I la corrente entrante nella base di $Q_1$,
avremo:
\[
I_C \simeq -I
\]
\[
I_E \simeq -\beta_R I \;\;(molto \;piccolo)
\]

Avendo inoltre fatto l'ipotesi che $V_P = (V_{BC})_1+(V_{BE})_2 \simeq
1.4\,V$, si ha:
\[
I_C \simeq \frac{1.4-V_{CC}}{R}
\]
\[
I_E \simeq \beta_R I_C \simeq 0.02\; I
\]
 
In altre parole, avremo valori relativamente grandi per le correnti di
base e di collettore in $Q_1$, mentre la corrente di emettitore sar\`a
piccola. La corrente di collettore di $Q_1$ sar\`a quindi abbastanza
elevata da mandare $Q_2$ in saturazione e l'uscita $V_o$ a circa
0.2~V.
 
Se invece l'ingresso (emettitore di $Q_1$) v\`a al livello basso, la
giunzione base-emettitore acquista una polarizzazione diretta e la
base di $Q_1$ andr\`a a 0.2+0.7=0.9~V. Il collettore di $Q_1$, unito
alla base di $Q_2$ era inizialmente a 0.7~V (nella fase precedente
$Q_2$ era saturo).  Ne segue che la giunzione base-collettore di $Q_1$
subito dopo la transizione dell'ingresso dallo stato alto a quello
basso, \`e polarizzata inversamente. Con la giunzione base-emettitore
polarizzata direttamente e quella base-collettore polarizzata
inversamente, vediamo che $Q_1$ opera in zona attiva, con un'elevata
corrente di collettore.  Tale corrente scarica rapidamente la base di
$Q_2$, dopo di che tale transistor va in interdizione.
  
In tale fase, la tensione di base di $Q_2$ scende, la differenza di
potenziale $V_{CB_1}=V_{B_1}-V_{C_1}$ aumenta ed infine $Q_1$ entra in
saturazione.  Alla fine del processo la corrente di collettore di
$Q_1$ sar\`a molto piccola, il che implica una $V_{CE}$ di circa
0.2~V, mentre la base di $Q_2$ sar\`a a $\simeq 0.4\,V$, il che
mantiene $Q_2$ interdetto.
   
Vediamo che con tale struttura del circuito di ingresso si elimina una
delle cause che erano all'origine del lungo tempo di salita del
segnale in uscita nel circuito DTL.

Esaminiamo ora l'uscita del NOT TTL, per vedere come sia possibile
eliminare il problema della lentezza del tempo di salita del segnale
in uscita, legato alla costante di tempo $R_c C$.
  
Ricordiamo che il tempo di scarica della capacit\`a C era rapido,
grazie all'effetto del transistor $Q_2$ che, durante la transizione,
operava in zona attiva. Se vogliamo che anche il tempo di carica sia
breve, dobbiamo far s\`i che la carica avvenga attraverso una
resistenza di piccolo valore. Ci\`o suggerisce di adoperare un
``emitter-follower'', caratterizzato appunto da una bassa impedenza
d'uscita (ricordiamo che l'impedenza d'uscita di un EF \`e all'incirca
uguale ad $R_s/h_{FE}$, dove $R_s$ \`e l'impedenza della sorgente che
alimenta la base dell'EF).
   
Schematicamente dovremmo quindi far uso di un circuito del tipo
mostrato in figura~\ref{famiglie_logiche_ttl_3}.

\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_ttl_3.eps,width=9 cm,height=8 cm}}\end{center}
\caption{Schema di un NOT TTL con un rapido tempo di carica.} 
\protect\label{famiglie_logiche_ttl_3}
\end{figure}

  
Questo circuito ha un rapido tempo di carica (quando Q conduce) ma un
lento tempo di scarica (se Q \`e interdetto la scarica avviene
attraverso la resistenza $R_e$, che \`e tipicamente di qualche
$k\Omega$).
  
Per ottenere un rapido tempo di carica ed un altrettanto rapido tempo
di scarica, si pu\`o adoperare una combinazione dello stadio d'uscita
del circuito di figura~\ref{famiglie_logiche_ttl_2} e di quello di
figura~\ref{famiglie_logiche_ttl_3}, come mostrato in
figura~\ref{famiglie_logiche_ttl_4}.
 
\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_ttl_4.eps,width=8 cm,height=10 cm}}\end{center}
\caption{Circuito con rapidi tempi di carica e di scarica ottenuto
  dalla combinazioni degli schemi mostrati nelle
  figure~\ref{famiglie_logiche_ttl_2} e \ref{famiglie_logiche_ttl_3}.}
\protect\label{famiglie_logiche_ttl_4}
\end{figure} 
 
Dobbiamo supporre di disporre di due segnali \emph{complementari}
forniti dallo stadio d'ingresso.

In altri termini, $V_{I1}$ \`e alto quando $V_{I2}$ \`e basso e
viceversa. Se $V_{I1}$ \`e alto $Q_3$ sar\`a in saturazione, mentre
contemporaneamente, con $V_{I2}$ basso $Q_4$ sar\`a interdetto.  Ora
il condensatore C, supposto inizialmente carico (uscita $V_o$ alta),
potr\`a scaricarsi attraverso la piccola resistenza offerta dal
transistor $Q_3$ saturo ($R_{CE}^{sat}$).
  
Se $V_{I1}$ \`e basso e $V_{I2}$ alto, $Q_3$ sar\`a interdetto e $Q_4$
condurr\`a.  Ora $Q_4$ si comporta da EF e consente una rapida carica
di C attraverso la piccola resistenza d'uscita dell'EF.
  
Lo stadio d'uscita adoperato \`e noto come ``Totem-pole'', a causa del
suo aspetto che ricorda i Totem adoperati dagli indiani d'America.
\index{Totem-pole}

La bassa impedenza d'uscita dell'EF $Q_4$ in questo stato logico
(uscita alta) fa s\`\i\ che l'uscita possa erogare una notevole corrente
con conseguente elevato fan-out.

Notiamo anche che il transistor $Q_4$, nello stato alto, \`e quello
che ``tira su'' l'uscita verso il livello alto. Per tale motivo ci si
riferisce a $Q_4$ come un ``active pull-up\index{Active pull-up}''. 

Analogamente, nello stato basso, il ruolo di ``tener gi\`u'' l'uscita
\`e svolto dal transistor $Q_3$ che, per tale motivo, \`e indicato
come un ``active pull-down\index{Active pull-down}''.

Il circuito completo \`e mostrato in
figura~\ref{famiglie_logiche_ttl_5}.

\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_ttl_5.eps,width=14 cm,height=12 cm}}\end{center}
\caption{Schema completo del circuito NOT TTL. Lo stadio d'ingresso gi\`a
  esaminato \`e quello di sinistra, lo stadio intermedio al centro
  fornisce le due uscite complementari.} 
\protect\label{famiglie_logiche_ttl_5}
\end{figure} 

Abbiamo gi\`a esaminato il funzionamento dello stadio di ingresso (a
sinistra nella figura). Esaminiamo ora lo stadio intermedio che
fornisce le due uscite complementari (quelle che alimentano le basi di
$Q_3$ e $Q_4$), e lo stadio d'uscita.
 
\index{Phase-splitter}
Lo stadio intermedio \`e un ``phase-splitter''. L'uscita prelevata sul
collettore di $Q_2$ e quella prelevata sull'emettitore sono sfasate di
$180^o$.  Tali uscite forniscono quindi i segnali di tensione $V_{I1}$
e $V_{I2}$ necessari per alimentare $Q_3$ e $Q_4$.

Se l'ingresso $V_I$ \`e basso (0.2 V), il transistor $Q_1$, come gi\`a
visto, avr\`a la base a (0.2+0.7=0.9~V) e $Q_2$ sar\`a interdetto. Con
ci\`o la tensione sulla base di $Q_3$, unita all'emettitore di $Q_2$
sar\`a all'incirca~0~V e $Q_3$ sar\`a interdetto.
  
Con $Q_2$ interdetto, la sua tensione di collettore sar\`a $\approx
V_{cc}=5\;V$.  Poich\'e il collettore di $Q_2$ \`e unito alla base di
$Q_4$, avremo:
\[
V_{C2}=V_{B4}=5\;V
\]
  
Con tale tensione di base, $Q_4$ sar\`a ON (in saturazione o in zona
attiva).

Esaminiamo l'effetto del carico posto a valle sullo stato di $Q_4$.
Se non c'\`e alcun carico, la corrente $I_L$ nell'emettitore di $Q_4$
sar\`a molto piccola (giusto la corrente di perdita) e le due
giunzioni: quella base-emettitore di $Q_4$ e quella del diodo D,
saranno al limite della conduzione. Ammettendo che esse valgano
entrambe 0.65~V, troveremo:
\[
V_{out}=5-0.65 \times 2 = 3.7\;V
\]
  
Cio\`e l'uscita \`e al livello alto.
  
Se introduciamo un carico, la corrente $I_L$ in $Q_4$ ed in D
aumenter\`a.  Tuttavia, entro un certo range di valori di $I_L$, $Q_4$
rimarr\`a in zona attiva ed avremo:
\[
V_{out}=V_{cc}-\frac{I_L}{\beta + 1} \times R_1 - V_{BE_4} - v_D
\;\simeq \;5 - \frac{I_L}{\beta + 1} \times 1.6\;k\Omega -0.8 -0.7
\]
  
Ulteriori aumenti di $I_L$ potranno mandare $Q_4$ in saturazione.  A
questo punto la tensione d'uscita sar\`a determinata dalla sola
resistenza di 130~$\Omega$:
\[
V_{out}=V_{cc}- 0.13k\Omega \times I_L - V_{CE_4}^{sat} - 0.8 = 5.0 -
0.13 k\Omega \times I_L - 1.0 =
\]
\[
=\; 4. - 0.13 k\Omega \times I_L
\]
   
Esaminiamo ora ci\`o che accade se l'ingresso $V_I$ \`e alto. Come
gi\`a visto, ora la giunzione base-emettitore di $Q_1$ \`e polarizzata
inversamente; la tensione $V_{B_1} \approx V_{C_1} +
0.7\;V\,=\,1.4\;V$. La corrente di base di $Q_1$ \`e allora:
\[
I_{B_1}=\frac{V_{cc} - 1.4}{R}=\frac{5-1.4}{4}=0.9\;mA
\]
 
La corrente di collettore sar\`a:  
\[
I_{C_1}=(\beta_R + 1) I_{B_1} \simeq I_{B_1}
\]  
mentre $I_{E_1}$ sar\`a molto piccola.
  
Tale corrente di collettore di $Q_1$ (che sta funzionando in modo
inverso) fluisce verso la base di $Q_2$, mandandolo in
saturazione. Verifichiamo in tali condizioni lo stato di $Q_4$ e
$Q_3$.
  
Con $Q_2$ in saturazione la corrente di emettitore di $Q_2$ sar\`a
abbastanza grande da mandare $Q_3$ in saturazione e $V_{out}
\rightarrow 0.2\;V$. La tensione sulla base di $Q_4$, uguale a quella
sul collettore di $Q_2$, sar\`a ora:
\[
V_{B_4}=V_{C_2}=V_{CE_2}^{sat} + V_{BE_3}^{sat} \;=\;0.2 + 0.8 = 1\;V
\]
  
Perch\'e $Q_4$ conduca occorre che $V_{B_4}$ soddisfi la condizione:
\[
V_{B_4} > V_{BE_4}^{min} + v_D^{min} + V_{CE_4}^{sat}\;=\;1.4+0.2 =
1.6\;V
\]

Poich\'e $V_{B_4}$ \`e solo 1~V, n\`e $Q_4$ n\`e il diodo conducono.
   
Se ora l'ingresso $V_I$ torna al livello basso, $Q_2$ andr\`a in
interdizione e ci\`o mander\`a in interdizione $Q_3$.
  
L'uscita rimarr\`a per un breve intervallo di tempo a 0.2~V, poich\'e
la capacit\`a parassita $C_L$ deve caricarsi. Nel frattempo per\`o
$Q_4$ va in saturazione (la tensione sulla sua base \`e salita quando
$Q_2$ \`e andato in interdizione). Avremo ora:
\[
V_{B_4} = V_{BE_4}^{sat} + v_D + V_{out} \;=\;0.8 + 0.7 + 0.2
\;=\;1.7\;V
\]

La corrente di base di $Q_4$ sar\`a:
\[
I_{B_4}=\frac{V_{cc}-V_{B_4}}{R_1} = \frac{5.0-1.7}{1.6}\;=\;2.06\;mA
\]
e quella di collettore:
\[
I_{C_4}=\frac{V_{cc}-V_{CE_4}^{sat}-v_D - V_{out}}{R_3} =
\frac{3.9}{0.13}\;=\;30\;mA
\] 
e quindi:
\[
\frac{I_{C_4}}{I_{B_4}}=\frac{30}{2.06} \;=\; 14.6
\]
  
Se scegliamo un transistor con $h_{FE}^{min} > 15$ vediamo che $Q_4$
sar\`a in saturazione.

Fino a che $Q_4$ rimane saturo, la tensione $V_{out}$ in uscita sale
esponenzialmente verso $V_{cc}$, con una piccola costante di tempo:
\[
\tau = C_L \left( 0.13 + R_{C_4}^{sat} + R_f \right)
\]
  
Dove $R_{C_4}^{sat}$ \`e la resistenza tra collettore ed emettitore di
$Q_4$ quando questo \`e in saturazione ed $R_f$ \`e la resistenza
diretta del diodo.
  
All'aumentare di $V_{out}$ la corrente in $Q_4$ diminuisce, $Q_4$ esce
dalla saturazione ed infine $V_{out}$ raggiunge uno stato in cui $Q_4$
\`e interdetto.
  
Il valore finale della tensione d'uscita sar\`a:
\[
V_{out} = V_{cc} - V_{BE_4}^{cutin} - v_D^{cutin} \;=\; 5 - 0.5 -
0.6\;=\;3.9\;V
\]
      
Dove con $V_{BE_4}^{cutin}$ e $v_D^{cutin}$ abbiamo indicato i valori
di soglia sotto i quali il transistor ed il diodo non conducono.

Il circuito NAND in logica TTL differisce da quello (NOT) ora
descritto per il transistor d'ingresso che, nella porta NAND, \`e
costituito da un transistor a pi\`u emettitori, come mostrato in
figura~\ref{famiglie_logiche_multi_emitt_1}.
     
\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_multi_emitt_1.eps,width=7 cm,height=4 cm}}\end{center}
\caption{Transistor a pi\`u emettitori.} 
\protect\label{famiglie_logiche_multi_emitt_1}
\end{figure}      
     
Fisicamente tale transistor ha la struttura mostrata in
figura~\ref{famiglie_logiche_multi_emitt_2}.

\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/famiglie_logiche_multi_emitt_2.eps,width=10 cm,height=5 cm}}\end{center}
\caption{Struttura interna di un transistor a pi\`u emettitori.} 
\protect\label{famiglie_logiche_multi_emitt_2}
\end{figure}

Nel substrato di materiale n \`e impiantato il collettore ($n^+$) e,
in una struttura p (cui \`e collegata la base) tre strutture ($n^+$),
corrispondenti ciascuna ad uno dei tre emettitori indicati nella
figura precedente.  Il funzionamento di tale dispositivo \`e identico
a quello del singolo transistor.

\section{Circuiti in logica CMOS}
\index{Logica! CMOS}
Abbiamo gi\`a accennato nel capitolo~\ref{amplificatoriafet} alla
struttura base di un tipico componente CMOS.  Questo, come mostrato in
figura~\ref{cmos_example_1}, \`e costituito da un NMOS ed un PMOS, in
cui i gates sono uniti insieme a costituire l'elettrodo di input, ed i
drain sono anch'essi uniti insieme. Nella struttura di
figura~\ref{cmos_example_1}, che costituisce un esempio di invertitore
(NOT), quando l'ingresso \`e basso l'NMOS \`e interdetto mentre il
PMOS conduce. Come si \`e visto, in tali condizioni l'uscita \`e
alta. Se invece l'ingresso \`e alto, viene ad essere interdetto il
PMOS e conduce l'NMOS; con che l'uscita \`e bassa.\index{Logica! CMOS!
invertitore}


\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/cmos_example_1.eps,width=6.0 cm,
height=6 cm}}\end{center}
\caption{Esempio di invertitore in tecnologia CMOS.}
\protect\label{cmos_example_1}
\end{figure}

Il circuito di figura~\ref{cmos_nand_gate} utilizza due NMOS e due
PMOS per realizzare una porta NAND a due ingressi.\index{Logica! CMOS! porta
NAND a due ingressi}

\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/cmos_nand_gate.eps,width=10.0 cm,
height=9 cm}}\end{center}
\caption{Esempio di porta NAND in tecnologia CMOS.}
\protect\label{cmos_nand_gate}
\end{figure}  

Il funzionamento di tale porta \`e facile da comprendere. Se entrambi
gli ingressi A e B sono alti, i transistor M3 ed M4 conducono, mentre
M1 ed M2 saranno interdetti. Si vede quindi che l'uscita sar\`a
bassa. Se A e B sono entrambi bassi, M4 ed M3 saranno interdetti
mentre condurranno M1 ed M2. L'output sar\`a quindi alto. Se A \`e
alto e B basso, M1 ed M4 saranno interdetti mentre condurranno M2 ed
M3. L'output sar\`a quindi alto. Analogamente, se A \`e basso e B
alto, M2 ed M3 saranno interdetti mentre condurranno M1 ed
M4. L'uscita sar\`a alta. \`E cos\`i verificato il funzionamento come
porta NAND. \`E poi facile trasformare questa in una porta AND
facendola seguire dall'invertitore di figura~\ref{cmos_example_1}.

Il risultato di una simulazione del circuito di
figura~\ref{cmos_nand_gate} \`e mostrato in
figura~\ref{cmos_nand_gate_out}. Nella simulazione, effettuata facendo
uso della versione demo del programma Microcap, si \`e applicato
all'ingresso A un segnale rettangolare, di altezza~5~V e periodo
20$\mu$s, mentre l'ingresso B \`e stato tenuto al livello logico 1 (+5
V).\index{Logica! CMOS! porta NAND a due ingressi! esempio}


\begin{figure}[h!]
  \begin{center}\mbox{\epsfig{file=famiglie_logiche/cmos_nand_gate_out.eps,width=11.0 cm,height=9 cm}}\end{center}
\caption{Forme d'onda in ingresso ed in uscita per la porta NAND in
tecnologia CMOS di figura~\ref{cmos_nand_gate}.  L'ingresso A \`e
un'onda rettangolare di altezza 5~V e periodo 20~$\mu$s mentre
l'ingresso B \`e stato tenuto, nella simulazione, ad un livello fisso
di 5~V. La simulazione \`e stata effettuata facendo uso del programma
Microcap} \protect\label{cmos_nand_gate_out}
\end{figure}  
