Algebre booleane e progetto logico dei calcolatori digitali/Circuiti logici e di memoria: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gian BOT (discussione | contributi)
m Bot: correzione di comuni errori ortografici
wikifico
Riga 1:
{{Algebre booleane e progetto logico dei calcolatori digitali}}
 
1.1 Rappresentazione di una [[w:Digitale (informatica)|informazione digitale]].<br/>
== Rappresentazione di una [[w:Digitale (informatica)|informazione digitale]] ==
:1.1.1 ''Struttura fondamentale dei [[w:Circuito digitale|circuiti digitali]].''<br/>
 
=== Struttura fondamentale dei [[w:Circuito digitale|circuiti digitali]] ===
 
Si distinguono nei circuiti digitali, tre tipi fondamentali:
 
# Circuiti di memorizzazione: cioè capaci di ricevere, conservare, restituire i segnali delle informazioni.
# Circuiti operatori: cioè capaci di realizzare le funzioni booleane a partire dai segnali delle [[w:Informazione|informazioni]].
# Circuiti di connessione: cioè capaci di trasferire i segnali.
 
[[File:Rappresentazione di una informazione digitale.png|right]]
Nella forma più semplice la struttura unitaria è composta di:<br/>
:-due circuiti di memorizzazione '''(A,B)''' in cui sono conservate delle informazioni '''(I<sub>1</sub>,I<sub>2</sub>)''' e capaci di emettere i corrispondenti segnali '''(i<sub>1</sub>,i<sub>2</sub>)'''.<br/>
:-un operatore capace di realizzare la funzione dei segnali tali che:<br/>
:::::<math>i_3=f(ki_1,i_2)--------I_3=f(I_1,I_2</math><br/>
:-un circuito di memorizzazione '''(C)''' che riceve il segnale '''(i<sub>3</sub>)''' emesso dall'operatore e capace di conservare l'informazione corrispondente '''I<sub>3</sub>'''.<br/
:-connessioni tra questi circuiti.
 
Nella forma più semplice la struttura unitaria è composta di:
 
* due circuiti di memorizzazione '''(A,B)''' in cui sono conservate delle informazioni '''(I<sub>1</sub>,I<sub>2</sub>)''' e capaci di emettere i corrispondenti segnali '''(i<sub>1</sub>,i<sub>2</sub>)'''.
* un operatore capace di realizzare la funzione dei segnali tali che:
 
:::::<math>i_3=f(ki_1,i_2)--------I_3=f(I_1,I_2</math>
 
* un circuito di memorizzazione '''(C)''' che riceve il segnale '''(i<sub>3</sub>)''' emesso dall'operatore e capace di conservare l'informazione corrispondente '''I<sub>3</sub>'''.
* connessioni tra questi circuiti.
 
Un segnale '''i''', rappresentativo di una informazione '''I''', sarà una grandezza fisica suscettibile di assumere nel tempo due diversi valori determinati dai circuiti emettitori e operatori.
 
Si cercano in genere quei dispositivi, legati a grandezze fisiche, capaci di assumere due distinti stati di equilibrio stabile.
 
Un segnale '''i''', rappresentativo di una informazione '''I''', sarà una grandezza fisica suscettibile di assumere nel tempo due diversi valori determinati dai circuiti emettitori e operatori.<br/>
Si cercano in genere quei dispositivi, legati a grandezze fisiche, capaci di assumere due distinti stati di equilibrio stabile.<br/>
Una generica informazione sarà rappresentata da un insieme di segnali elementari. Nei calcolatori elettronici moderni i segnali rappresentativi delle informazioni sono generalmente costituiti da tensioni o correnti elettriche.
 
:-Segnali elettrici rappresentativi delle informazioni.<br/>
 
Precisiamo il senso booleano che si può attribuire ad un segnale trasmesso nell'insieme dei componenti di un calcolatore digitale. Consideriamo un segnale elettrico variabile nel tempo (ad esempio, una tensione): '''A=V(t)'''.<br/>
Precisiamo il senso booleano che si può attribuire ad un segnale trasmesso nell'insieme dei componenti di un calcolatore digitale. Consideriamo un segnale elettrico variabile nel tempo (ad esempio, una tensione): '''A=V(t)'''.
 
Consideriamo due livelli di riferimento '''m<sub>0</sub>''' e '''m<sub>1</sub>''' con la seguente convenzione sulla informazione binaria contenuta in '''V(t)''':
 
Line 29 ⟶ 38:
:::::<math>0\qquad\qquad V(t)\le m_0</math>
 
Naturalmente le cifre binarie '''0''' ed '''1''' non implicano che l'informazione sia espressa nella '''base 2''', ma solo che l'informazione è espressa in un linguaggio a due distinti valori che potrebbero essere rappresentati dagli elementi di una generica coppia '''(+,-)''', (<sub>0</sub>,-).<br/>
 
La differenza <math>\Delta</math> fra i due livelli è determinata dal potere risolutivo degli strumenti e determina a sua volta la differenza fra massima e minima ampiezza dei possibili segnali.<br/>
La differenza <math>\Delta</math> fra i due livelli è determinata dal potere risolutivo degli strumenti e determina a sua volta la differenza fra massima e minima ampiezza dei possibili segnali.
 
[[File:Segnale elettrico variabile nel tempo.png|right]]
 
Considerando la figura 1.2 notiamo che, nel tempo, il segnale è:<br/>
 
:::perfettamente definito in uno dei due possibili valori negli intervalli
 
:::::::'''(t<sub>2</sub>,t<sub>3</sub>),(t<sub>6</sub>,t<sub>7</sub>),(t<sub>4</sub>,t<sub>5</sub>,t<sub>8</sub>),(t<sub>7</sub>),...'''<br/>
 
 
:::indeterminato negli intervalli
Line 45 ⟶ 57:
e di conseguenza il segnale deve essere utilizzato solo in istanti ben determinati dagli intervalli di ambiguità.
 
=== Strutture sequenziali ===
 
L'analisi tecnica dell'andamento temporale del segnale, in funzione dei componenti del circuito e nelle condizioni più sfavorevoli, corrispondenti a zone di ambiguità di maggiore larghezza, permette di stabilire gli intervalli temporali entro i quali ha senso esaminare il valore dell'informazione.
 
Il succedersi, nel tempo, di questi intervalli, può essere regolare o irregolare. Nel secondo caso, si parla di circuiti asincroni ed è il funzionamento interno di ogni circuito che determina gli intervalli opportuni.
 
:1.1.2 ''Strutture sequenziali''<br/>
L'analisi tecnica dell'andamento temporale del segnale, in funzione dei componenti del circuito e nelle condizioni più sfavorevoli, corrispondenti a zone di ambiguità di maggiore larghezza, permette di stabilire gli intervalli temporali entro i quali ha senso esaminare il valore dell'informazione.<br/>
Il succedersi, nel tempo, di questi intervalli, può essere regolare o irregolare. Nel secondo caso, si parla di circuiti asincroni ed è il funzionamento interno di ogni circuito che determina gli intervalli opportuni.<br/>
Più frequentemente si ha una ripetizione regolare nel tempo di tali intervalli (circuiti sincroni) con periodo '''Θ'''. Si può dire che, durante l'intervallo di tempo di un periodo binario, il segnale è atto a rappresentare una informazione binaria elementare. Oggi si superano valori di periodo corrispondenti ai 10 nano-secondi (=!0<sup>-9</sup> sec).
 
Line 57 ⟶ 71:
:<math>valore\ 0\quad assenza\ di\ impulso</math>
 
cioè avendo sostituito alla nozione di livello rappresentativo quella di presenza o assenza di impulso.<br/>
 
Nella figura si è riportato un segnale ideale di impulso, cioè privo di zone di ambiguità, per mettere in evidenza che esistono altre cause per le quali il segnale è significativo solo in brevi intervalli di tempo, e cioè si deve escludere anche il tempo che il segnale impiega per ripristinare la condizione iniziale (eventuale ritorno a zero).<br/>
Nella figura si è riportato un segnale ideale di impulso, cioè privo di zone di ambiguità, per mettere in evidenza che esistono altre cause per le quali il segnale è significativo solo in brevi intervalli di tempo, e cioè si deve escludere anche il tempo che il segnale impiega per ripristinare la condizione iniziale (eventuale ritorno a zero).
 
Gli intervalli di tempo significativi sono scanditi con un segnale di riferimento '''H''', detto segnale di orologio. Si può aggiungere che il segnale di orologio è rappresentativo della tautologia.
 
=== Convenzioni della logica ===
:1.1.3 ''Convenzioni della logica''<br/>
La scelta che, nel caso appena visto, ha associato il valore '''1''' alla presenza di impulso è arbitraria. Distinguiamo una logica (intesa qui in pratica come metodo di
 
[[File:Livelli logici.png|right]]
 
realizzazione elettronica di operatori logici) positiva, relativa alla convenzione di associare il valore '''1''' al livello più alto '''(+)''' ed una logica negativa alla convenzione il valore '''0'''al livello inferiore '''(-)'''.<br/>
 
In generale , se con una convenzione si ha funzione booleana, con la convenzione opposta si ha la funzione duale, infatti:
Line 73 ⟶ 90:
 
[[File:Porte logiche DIN.png|right]]
 
=== Porte e livelli ===
[[File:Porte logiche DIN.png|right]]<br/>
 
Ai circuiti che realizzano i vari operatori logici si dà il nome di porte. Nella figura si hanno il simbolo in standard DIN (acronimo di Deutsches Institut fuer Normun) di [[w:Invertitore|complementazione]] e quelli, pure in standard DIN, di '''AND''', '''OR''', '''XOR''', '''NOR''', '''NAND''' a tre ingressi.
 
Si dà il nome di livelli ai successivi stadi determinati dagli operatori elementari, attraverso i quali passa il segnale prima di giungere alla realizzazione del segnale risultante.
 
Considerando le funzioni booleane si vede che ad ogni livello si ha un cambiamento di forma (disgiuntiva o congiuntiva).
 
[[File:Funzione booleana.png|right]]
 
:1.1.4 ''Porte e livelli''<br/>
Ai circuiti che realizzano i vari operatori logici si dà il nome di porte. Nella figura si hanno il simbolo in standard DIN (acronimo di Deutsches Institut fuer Normun) di [[w:Invertitore|complementazione]] e quelli, pure in standard DIN, di '''AND''', '''OR''', '''XOR''', '''NOR''', '''NAND''' a tre ingressi.<br/>
Si dà il nome di livelli ai successivi stadi determinati dagli operatori elementari, attraverso i quali passa il segnale prima di giungere alla realizzazione del segnale risultante.<br/>
Considerando le funzioni booleane si vede che ad ogni livello si ha un cambiamento di forma (disgiuntiva o congiuntiva).<br/>
[[File:Funzione booleana.png|right]]<br/>
::''Esempio: consideriamo la funzione
 
Line 87 ⟶ 108:
Si hanno 4 livelli e 7 porte:
 
La nozione di livello è molto importante dal punto di vista tecnico, essendo il numero dei livelli pari al numero massimo di porte attraversate successivamente da un segnale fornisce una stima del tempo di propagazione del segnale.<br/>
 
Notiamo infine che non tutti i segnali devono necessariamente percorrere lo stesso numero di livelli. In una tecnica sincrona è necessario per tenerne conto compensare le differenze con opportuni ritardi.<br/>
Notiamo infine che non tutti i segnali devono necessariamente percorrere lo stesso numero di livelli. In una tecnica sincrona è necessario per tenerne conto compensare le differenze con opportuni ritardi.
 
Ogni forma booleana elementare richiede, per essere realizzata, almeno due livelli di operatori elementari.
 
=== Circuiti combinatori e circuiti sequenziali ===
 
[[File:Circuiti logici equivalenti.png|right]]
:1.1.5 ''Circuiti combinatori e circuiti sequenziali''
 
[[File:Circuiti logici equivalenti.png|right]]<br/>
[[File:Circuiti logici equivalenti (3) e (4).png|right]]
 
Un circuito di commutazione è un circuito i cui segnali seguono una logica a due valori, come nel caso booleano. Distinguiamo due tipi di circuiti: combinatori e sequenziali.<br/>
 
Un circuito combinatorio è un circuito tale che ad ogni insieme di stati d'ingresso completamente specificato fa corrispondere un ben determinato insieme di stati d'uscita. Ad uno stesso insieme di stati in uscita possono corrispondere più insiemi di stati in ingresso.<br/>
Un circuito combinatorio è un circuito tale che ad ogni insieme di stati d'ingresso completamente specificato fa corrispondere un ben determinato insieme di stati d'uscita. Ad uno stesso insieme di stati in uscita possono corrispondere più insiemi di stati in ingresso.
 
Ad esempio, i circuiti in figura (1), (2), (3) e (4):
<math>\bar A B C+\bar A \bar B C+A B \bar C=A B \bar C+\bar A C=(A/B/\bar C)/(\bar A/C)=(\bar A\downarrow\bar C)\downarrow (A\downarrow C)\downarrow (A\downarrow \bar B)</math>
Line 104 ⟶ 129:
Un circuito sequenziale è un circuito per il quale delle variabili interne, associate ad elementi di memoria, intervengono nella funzione di uscita. L'insieme degli stati di uscita è quindi una funzione non solo delle variabilidi ingresso, ma anche degli stati precedenti.
 
== Circuiti di memoria ==
=== Introduzione del tempo nelle funzioni booleane ===
 
La nozione del tempo è indissociabile dalla formulazione delle funzioni in dipendenza dalla evoluzione temporale delle operazioni.
 
Notiamo che l'algebra di Boole non permette di introdurre il tempo come variabile indipendente nella formulazione delle funzioni.
 
Ciò costituisce un inconveniente soprattutto nello studio dei circuiti sequenziali; per lo più si cerca di ricondurre lo schema di un circuito sequenziale a quello di un circuito combinatorio in cui gli insiemi di stato delle variabili sono legati da un ordine logico dipendente dal tempo.
 
:1,2 ''Circuiti di memoria''<br/>
::1.2.1 ''Introduzione del tempo nelle funzioni booleane''<br/>
La nozione del tempo è indissociabile dalla formulazione delle funzioni in dipendenza dalla evoluzione temporale delle operazioni.<br/>
Notiamo che l'algebra di Boole non permette di introdurre il tempo come variabile indipendente nella formulazione delle funzioni.<br/>
Ciò costituisce un inconveniente soprattutto nello studio dei circuiti sequenziali; per lo più si cerca di ricondurre lo schema di un circuito sequenziale a quello di un circuito combinatorio in cui gli insiemi di stato delle variabili sono legati da un ordine logico dipendente dal tempo.<br/>
Per lo studio dei circuiti digitali si opera una discretizzazione del tempo in intervalli (regolari o non). L'insieme di questi intervalli costituisce la sequenza temporale fondamentale:
 
:::::<math>\tau=\begin{Bmatrix}...t_{-3}, t_{-2}, t_{-1}, t_0, t_1, t_2, t_3,... \end{Bmatrix}</math>
 
::<math>t_0\qquad\qquad e'\ l'istante\ attuale</math><br/>
 
::<math>...t_{-3}, tg_{-2}, t_{-1}\qquad\qquad sono\ gli\ istanti\ precedenti</math><br/>
::<math>...t_{-3}, tg_{-2}, t_{-1}\qquad\qquad sono\ gli\ istanti\ precedenti</math>
 
::<math>t_1, t_2, t_3...\qquad\qquad sono\ gli\ istanti\ successivi</math>
 
=== Ritardo ===
::1.2.2 <br/>
Come prima conseguenza dell'introduzione del tempo, bisogna determinare dei circuiti atti a restituire una informazione in un intervallo di tempo diverso da quello della sua formazione.
* ''Ritardo''
 
Come prima conseguenza dell'introduzione del tempo, bisogna determinare dei circuiti atti a restituire una informazione in un intervallo di tempo diverso da quello della sua formazione.<br/>
Un primo procedimento di spostamento nel tempo di una informazione consiste nel fare percorrere al segnale rappresentativo, un elemento di ritardo tale che il segnale risultante sia sempre rappresentativo della stessa informazione:
 
Line 134 ⟶ 165:
L'operatore '''Δ''' è commutativo e associativo.
 
*=== ''Funzioni sequenziali elementari''.<br/> ===
 
Combinando l'operatore '''Δ''' con una generica operazione booleana si realizza una funzione sequenziale elementare, cioè una funzione booleana in cui il tempo interviene come variabile indipendente.<br/>
Combinando l'operatore '''Δ''' con una generica operazione booleana si realizza una funzione sequenziale elementare, cioè una funzione booleana in cui il tempo interviene come variabile indipendente.
 
[[File:Funzione sequenziale elementare.png|left]][[File:Tabella della verità di una funzione sequenziale elementare.png|right]]
Ad esempio:
Line 141 ⟶ 174:
:::::<math>Y_0=\Delta_x (A_{-x} \cdot B_{-x})</math>
 
=== Circuiti chiusi (o ad anello) ===
 
La combinazione dell'operatore '''Δ''' e di operatori booleani conducono alla realizzazione di particolari funzioni sequenziali, in cui una delle variabili di ingresso è la funzione di uscita. La realizzazione pratica consiste in un circuito comprendente un percorso chiuso o anello, in cui una connessione riporta fra gli ingressi un valore di uscita (feedback).
 
:1.2.3
::* ''Circuiti chiusi (o ad anello)''<br/>
La combinazione dell'operatore '''Δ''' e di operatori booleani conducono alla realizzazione di particolari funzioni sequenziali, in cui una delle variabili di ingresso è la funzione di uscita. La realizzazione pratica consiste in un circuito comprendente un percorso chiuso o anello, in cui una connessione riporta fra gli ingressi un valore di uscita (feed-back).
 
Esempio 1:
Line 151 ⟶ 182:
 
:::::<math>Y_0=\Delta_1 (A_1+Y_1)</math>
:::::<math>(\tau=1\cdot \delta)</math><br/>
 
Questo circuito funziona da memoria.
 
 
Esempio 2:<br/>
 
Questo circuiti fornisce risposta affermativa in funzione della disparità della sequenza binaria A.
 
=== Memorie elementari ===
 
[[File:Operatore memoria elementare.png|right]]
 
Un secondo procedimento (cfr. il ritardo) di spostamento nel tempo di una informazione booleana consiste nel registrarne opportunamente il valore conservandolo in memoria.
Questo circuiti fornisce risposta affermativa in funzione della diparitàdella sequenza binaria A.
 
Nel caso delle informazioni binarie elementari, questa funzione è svolta da un operatore logico '''<math>\Gamma</math>''' detto memoria elementare.
 
:::::<math>\Gamma (S, R)=Z</math>
:1.2.4<br/>
 
::* ''Memorie elementari''<br/>
I due segnali esterni , '''S''' ed '''R''', impongono all'uscita '''Z''' i valori:
[[File:Operatore memoria elementare.png|right]]
 
Un secondo procedimento (cfr. il ritardo) di spostamento nel tempo di una informazione booleana consiste nel registrarne opportunamente il valore conservandolo in memoria.<br/>
Nel caso delle informazioni binarie elementari, questa funzione è svolta da un operatore logico '''<math>\Gamma</math>''' detto memoria elementare.<br/>
:::::<math>\Gamma (S, R)=Z</math><br/>
I due segnali esterni , '''S''' ed '''R''', impongono all'uscita '''Z''' i valori:<br/>
:::::<math>S=1\qquad\qquad Z=1\qquad\qquad \bar Z=0</math>
:::::<math>R=1\qquad\qquad Z=0\qquad\qquad \bar Z=1</math><br/>
 
Questo elemento di memoria registra il valore di un segnale '''S''' e conserva un segnale rappresentativo di tale valore finché un segnale '''R''' non lo riporta a zero.<br/>
Questo elemento di memoria registra il valore di un segnale '''S''' e conserva un segnale rappresentativo di tale valore finché un segnale '''R''' non lo riporta a zero.
L'operatore <math>\Gamma (S,R)</math> quindi è suscettibile di:<br/>
 
L'operatore <math>\Gamma (S,R)</math> quindi è suscettibile di:
 
# ricevere un segnale
# conservare il segnale ricevuto
# essere azzerato<br/>
 
Si suddividono i circuiti di memoria in due categorie in funzione delle strutture tecniche richieste:<br/>
Si suddividono i circuiti di memoria in due categorie in funzione delle strutture tecniche richieste:
:a) memorie elementari statiche: la cui realizzazione tecnica più usuale è il '''Flip-Flop''' (ved,§ 1.3.3).<br/>
 
:b) memorie dinamiche elementari: sono basate sulla presenza o assenza di circolazione di un impulso in un circuito di ritardo. Quindi, al contrario per esempio della linea di ritardo costituita da elementi bipolari, una memoria dinamica necessita di un circuito chiuso o ad anello.<br/>
* a) memorie elementari statiche: la cui realizzazione tecnica più usuale è il '''Flip-Flop''' (ved,§ 1.3.3).
::''[[w:Flip-flop|Flip-Flop S-R]]''<br/>
* b) memorie dinamiche elementari: sono basate sulla presenza o assenza di circolazione di un impulso in un circuito di ritardo. Quindi, al contrario per esempio della linea di ritardo costituita da elementi bipolari, una memoria dinamica necessita di un circuito chiuso o ad anello.
Dal punto di vista funzionale il '''F/F S-R''' presenta due ingressi detti '''S''' (Set) ed '''R''' (Reset), e due uscite complementari '''Z''' e '''<math>\bar Z</math>'''. Il funzionamento è il seguente:<br/>
 
==== [[w:Flip-flop|Flip-Flop S-R]] ====
 
Dal punto di vista funzionale il '''F/F S-R''' presenta due ingressi detti '''S''' (Set) ed '''R''' (Reset), e due uscite complementari '''Z''' e '''<math>\bar Z</math>'''. Il funzionamento è il seguente:
 
* un segnale su '''S''' mette o lascia il '''F/F''' nello stato '''1''' (iscrizione dell'1)
* un segnale su '''R''' mette o lascia il '''F/F''' nello stato '''0''' (iscrizione dell'0)
* un segnale nullo lascia invariato il '''F/F'''
* la combinazione '''11''' in ingresso è proibita<br/>
 
Lo stato interno della memoria è accessibile mediante l'esame della combinazione <math>Z \bar Z</math> di uscita fra le due possibili (01 e 10). Si può introdurre anche una variabile di stato interno '''Q''' e si hanno le due possibili scelte:<br/>
Lo stato interno della memoria è accessibile mediante l'esame della combinazione <math>Z \bar Z</math> di uscita fra le due possibili (01 e 10). Si può introdurre anche una variabile di stato interno '''Q''' e si hanno le due possibili scelte:
::;:;:<math>Q=Z\qquad\qquad oppure \qquad\qquad Q=\bar Z</math>
 
Assumendo '''Q=Z''' il funzionamento di un '''F/F S-R''' è rappresentato nella tabella seguente:<br/>
::::<math>Q=Z\qquad\qquad oppure \qquad\qquad Q=\bar Z</math>
[[File:Flip-Flop S-R.png|center]]<br/>
 
Risulta:<br/>
Assumendo '''Q=Z''' il funzionamento di un '''F/F S-R''' è rappresentato nella tabella seguente:
:<math>Z_{n+1}=\bar Z_nS_n\bar R_n+Z_n\bar S_n\bar R_n+Z_nS_n\bar R_n=(S_n+Z_n)\bar R_n</math><br/>
 
[[File:Flip-Flop S-R.png|center]]
 
Risulta:
 
:<math>Z_{n+1}=\bar Z_nS_n\bar R_n+Z_n\bar S_n\bar R_n+Z_nS_n\bar R_n=(S_n+Z_n)\bar R_n</math>
 
Se inoltre la combinazione logica '''S_nR_n=1''' (corrispondente alla combinazione 3 e 7 della tabella) è resa materialmente impossibile si può fare uso dei termini eliminati <math>\bar Z_nS_n R_n\ e\ Z_n S_n R_n</math> per minimizzare ulteriormente
l'espressione, ottenedo:<br/>
 
::::::<math>Z_{n+1}=S_n + Z_n \bar R_n</math>
 
::''==== [[w:Flip-flop|Flip-Flop J-K]]''<br/> ====
 
File:Excerpt from functional table for FLIP-FLOP JK..png|right]]
[[File:Excerpt from functional table for FLIP-FLOP JK..png|right]]
Si comporta come un '''F/F S-R''' con '''J''' ingresso di '''set'''. E' però ammessa la combinazione '''11''' in ingresso e l'effetto è quello di far cambiare lo stato interno cioè:
 
:::::::::::::::immagine<br/>
Risulta quindi:<br/>
::<math>Z_{n+1}=\bar Z_n S_n\bar R_n+Z_n\bar S_n\bar R_n+Z_nS_n\bar R_n+\bar Z_n S_n R_n=\bar Z_nS_n+Z_n\bar R_n</math>
 
Risulta quindi:
 
::<math>Z_{n+1}=\bar Z_n S_n\bar R_n+Z_n\bar S_n\bar R_n+Z_nS_n\bar R_n+\bar Z_n S_n R_n=\bar Z_nS_n+Z_n\bar R_n</math>
 
==== [[w:Flip-flop|Flip-Flop T]] ====
 
::''[[w:Flip-flop|Flip-Flop T]]''<br/>
[[File:Operatore memoria elementare per Flip Flop T.png|left]][[File:Tavola della verità per Flip-Flop tipo T.png|right]]
 
È un '''Flip-Flop''' ad un solo ingresso '''T''' e tale da cambiare stato ad ogni segnale in ingresso.
 
E' un '''Flip-Flop''' ad un solo ingresso '''T''' e tale da cambiare stato ad ogni segnale in ingresso.
 
'''Z<sub>n+1</sub>=T<sub>n</sub>⊕Z<sub>n</sub>'''
 
=== Memorie elementari dinamiche ===
 
==== Flip-Flop dinamico di tipo S-R ====
 
Consideriamo il circuito in figura . I segnali d'ingresso arrivano in '''S''' e in '''R''', l'ingresso '''H''' è quello dell'orologio: il segnale applicate consiste in una successione regolare di impulsi. In uscita della porta '''OR''' si trova un ritardo '''δ''' pari al periodo dell'orologio.
 
[[File:Memoria dinamica-Flip-Flop S-R.png|right]]
 
In tal modo il circuito funzione come un '''Flip-Flop''' a due stati caratterizzati dalla presenza o dall'assenza di una ricircolazione di un impulso nel percorso chiuso '''abcda'''.
:1.2.5<br/>
::''Memorie elementari dinamiche'''<br/>
* ''Flip-Flop dinamico di tipo '''S-R'''.<br/>
Consideriamo il circuito in figura . I segnali d'ingresso arrivano in '''S''' e in '''R''', l'ingresso '''H''' è quello dell'orologio: il segnale applicate consiste in una successione regolare di impulsi. In uscita della porta '''OR''' si trova un ritardo '''δ''' pari al periodo dell'orologio.<br/>
[[ File:Memoria dinamica-Flip-Flop S-R.png|right]]
 
Consideriamo per esempio uno stato iniziale caratterizzato dall'assenza di impulso in '''abcda'''.
 
Un impulso su '''S''' in sincronismo con '''H''' ricircola con periodo '''δ''' finchè non arriva un impulso in '''R'''(con cui si blocca il rientro dell'impulso) e questo sia che si applichi o no degli impulsi in '''S'''. Viceversa, se si applica un impulso su '''R''' in sincronismo con '''H''', l'impulso circolante che si trova in '''a''' non può rientrare nell'anello e la ricircolazione è interrotta. Si è così ritornati allo stato iniziale. Questo è il funzionamento del '''F/F''' di tipo '''S-R''' descritto prima, a parte il fatto che è permessa la combinazione di ingresso '''S=1''', '''R=1''' per '''Z<sub>n</sub>=0''', 1 con '''Z<sub>n+1</sub>=1'''. Ciò permette di urilizzare la seconda espressione minimizzata trovata per il '''F/F S-R''' e, aggiungendo la variabile '''H<sub>n</sub>''' rappresentativa dell'orologio si verifica che il circuito formisce la:
 
In tal modo il circuito funzione come un '''Flip-Flop''' a due stati caratterizzati dalla presenza o dall'assenza di una ricircolazione di un impulso nel percorso chiuso '''abcda'''.<br/>
Consideriamo per esempio uno stato iniziale caratterizzato dall'assenza di impulso in '''abcda'''.<br/>
Un impulso su '''S''' in sincronismo con '''H''' ricircola con periodo '''δ''' finchè non arriva un impulso in '''R'''(con cui si blocca il rientro dell'impulso) e questo sia che si applichi o no degli impulsi in '''S'''. Viceversa, se si applica un impulso su '''R''' in sincronismo con '''H''', l'impulso circolante che si trova in '''a''' non può rientrare nell'anello e la ricircolazione è interrotta. Si è così ritornati allo stato iniziale. Questo è il funzionamento del '''F/F''' di tipo '''S-R''' descritto prima, a parte il fatto che è permessa la combinazione di ingresso '''S=1''', '''R=1''' per '''Z<sub>n</sub>=0''', 1 con '''Z<sub>n+1</sub>=1'''. Ciò permette di urilizzare la seconda espressione minimizzata trovata per il '''F/F S-R''' e, aggiungendo la variabile '''H<sub>n</sub>''' rappresentativa dell'orologio si verifica che il circuito formisce la:<br/>
:::::<math>z_{n+1}=H_n(S_n+Z_n\bar R_n)</math>
 
*==== ''Flip-Flop dinamico tipo T''<br/> ====
 
[[File:Memoria dinamica-Flip-Flop T.png|right]]<br/>
[[File:Memoria dinamica-Flip-Flop T.png|right]]
 
Con la medesima convenzione fatta per il Flip-Flop SR si ha, per il circuito a lato,
 
:::::<math>Z_{n+1}=H_n(T_n\oplus Z_n)</math><br/>
 
[[File:Esempio sequenza di ingresso e di uscita per un Flip-Flop.png|right]]
Line 243 ⟶ 294:
sequenza d'ingresso e di uscita per un Flip-Flop di tipo T con stato interno inizialmente nullo.
 
==== Circuito dinamico di ritardo ====
[[File:Ritardo di sequenza.png|right]]
 
[[File:Circuito di ritardo dinamico.png|right]]
 
* ''Circuito dinamico di ritardo''
[[File:Ritardo di sequenza.png|right]]<br/>
[[File:Circuito di ritardo dinamico.png|right]]<br/>
Il circuito in figura fornisce in uscita una sequenza uguale a quella in ingresso , ma ritardata di un periodo di orologio.
 
Un impulso 1 in ingresso pone in 1 il Flip-Flop: l'impulso in uscita viene ritardato di un periodo e passa, in sincronia con l'impulso di orologio, per la porta di ''AND''. L'uscita è l'impulso ritardato. Questo impulso di uscita viene rinviato tramite una porta di ''AND'' all'ingresso ''R'' solo se il nuovo impulso è zero. Se invece il nuovo impulso fosse stati ''1'' l'iumpulsoimpulso sidi reset sarebbe stato inibito dalla relativa porta di ''AND''. Si può verificare che il circuito, con ''<math>R_n=\bar S_n Z_n</math>'', fornisce la:
 
::::<math>Z_{n+1}=H_n (\bar Z_n S_n+Z_n S_n)=H_n S_n</math>
 
'''1.3== Aspetti tecnologici'''<br/> ==
* ''1.3.1 Tecniche a semiconduttori''<br/>
La comparsa sul mercato di singoli componenti semi-conduttori ha rivoluzionato la tencia dei circuiti elettronici.<br/>
I semi conduttori sono conosciuti da tempo (primi rivelatori radio), ma solo dopo il 1950 la loro realizzazione industriale ha ottenuto i requisiti necessari per poter sostituire i tubi a vuoto.<br/>
Un semiconduttore ''intrinseco'' cioè allo stato puro è un conduttore cattivo in una vasta zona di temperatura. L'introduzione di impurità modifica profondamente le proprietà di conducibilità elettrica: sin hanno allora i semi-conduttori estrinseci. A seconda della natura della impurità il materiale semi-conduttore si comporta come donatore o come accettore di elettroni. Nel primo caso si dice di tipo '''N''' (negativo) e la conducibilità avviene per trasporto di elettroni, nel secondo caso si dice di tipo '''P''' (positivo) e la conducibilità viene descritta in termini di '''buche''' o ''lacune positive''<br/>
Uno dei semi-conduttori più usati è il [[w:smiconduttore|cristallo di germanio]] (Ge). I cristalli semi conduttori sono ottenuti, a partire dal cristallo puro, per introduzione di impurità: antimonio (Sb), bismuto (Bi) o arsenico (As) per il tipo '''N'''; alluminio (Al), boro (B), rame (Cu) per il tipo '''P'''. Oltre il germanio sono in uso anche il selenio ed il silicio.
 
=== Tecniche a semiconduttori ===
 
La comparsa sul mercato di singoli componenti semi-conduttori ha rivoluzionato la teoria dei circuiti elettronici.
 
I semi conduttori sono conosciuti da tempo (primi rivelatori radio), ma solo dopo il 1950 la loro realizzazione industriale ha ottenuto i requisiti necessari per poter sostituire i tubi a vuoto.
 
Un semiconduttore ''intrinseco'' cioè allo stato puro è un conduttore cattivo in una vasta zona di temperatura. L'introduzione di impurità modifica profondamente le proprietà di conducibilità elettrica: sin hanno allora i semi-conduttori estrinseci. A seconda della natura della impurità il materiale semi-conduttore si comporta come donatore o come accettore di elettroni. Nel primo caso si dice di tipo '''N''' (negativo) e la conducibilità avviene per trasporto di elettroni, nel secondo caso si dice di tipo '''P''' (positivo) e la conducibilità viene descritta in termini di '''buche''' o ''lacune positive''
 
Uno dei semi-conduttori più usati è il [[w:semiconduttore|cristallo di germanio]] (Ge). I cristalli semi conduttori sono ottenuti, a partire dal cristallo puro, per introduzione di impurità: antimonio (Sb), bismuto (Bi) o arsenico (As) per il tipo '''N'''; alluminio (Al), boro (B), rame (Cu) per il tipo '''P'''. Oltre il germanio sono in uso anche il selenio ed il silicio.
 
==== [[w:diodo a giunzione|Diodi a giunzione]] ====
 
Sono realizzati dal contatto di cristalli di tipo '''P''' e '''N''': si forma una barriera di potenziale che contrasta il passaggio della corrente elettrica in una delle due direzioni.
 
* ''[[w:diodo a giuunzione|Diodi a giunzione]]''<br/>
Sono realizzati dal contatto di cristalli di tipo '''P''' e '''N''': si forma una barriera di potenziale che contrasta il passaggio della corrente elettrica in una delle due direzioni.<br/>
[[File:Grafico i funzione di V.png|right]]
La curva caratteristica ''i'' in funzione della tensione ''V''' ai capi è riportata nel grafico a latere.<br/>
Da quanto accennato sui diodi a proposito dei tubi a vuoto e dei semi-conduttori si può astrarre il comportamento del diodo ideale: elemento unidirezionale capace di far scorrere in un solo senso una corrente comunque elevata con resistenza interna ''R<sub>i</sub>'' e differenza di tensione ai capi nulla; mentre presenta infinita resistenza interna al passaggio di corrente nel senso opposto. Il comportamento dipende dal segno della differenza di potenziale applicata ([[w:Giunsione N|polarizzazione diretta ed inversa rispettivamente]]).<br/>
[[File:Comportamento di un diodo ideale.png|right]]
 
Da quanto accennato sui diodi a proposito dei tubi a vuoto e dei semi-conduttori si può astrarre il comportamento del diodo ideale: elemento unidirezionale capace di far scorrere in un solo senso una corrente comunque elevata con resistenza interna ''R<sub>i</sub>'' e differenza di tensione ai capi nulla; mentre presenta infinita resistenza interna al passaggio di corrente nel senso opposto. Il comportamento dipende dal segno della differenza di potenziale applicata ([[w:Giunsione N|polarizzazione diretta ed inversa rispettivamente]]).
 
[[File:Comportamento di un diodo ideale.png|right]]
 
::::::::Sulla destra grafico del compotamento di un diodo ideale
 
::::::::Sulla destra grafico del comportamento di un diodo ideale
 
==== Porte a diodi ====
[[File:Porta a diodi.png|right]]
La figura di fianco rappresenta una porta a diodi e resistori. Schematizzando i diodi come ideali si vede che se una o entrambe le tensioni di ingresso sono negative (-), inferiori alla tensione '''+''', l'uscita avrà tensione '''-''', viceversa se entrambi gli ingressi hanno tensione '''+''' l'uscita avrà tensione '''+'''. Nel primo caso si ha passaggio di corrente e nel secondo no. Con i diodi reali si avrà valore non nullo della resistenza nel primo caso e valore finito nel secondo.
 
* ''Porte a diodi''<br>
[[File:Porta a diodi.png|right]]<br>
La figura di fianco rappresenta una porta a diodi e resistori. Schematizzando i diodi come ideali si vede che se una o entrambe le tensioni di ingresso sono negative (-), inferiori
alla tensione '''+''', l'uscita avrà tensione '''-''', viceversa se entrambi gli ingressi hanno tensione '''+''' l'uscita avrà tensione '''+'''. Nel primo caso si ha passaggio di corrente e nel secondo no. Con i diodi reali si avrà valore non nullo della resistenza nel primo caso e valore finito nel secondo.<br/>
Analogamente dalla figura qui affiancata segue la costruzione della funzione ''F2''.
[[File:Porta a diodi funzione F2.png|right]]
In logica positiva (conf.par,1.1.3)il circuito attinente la funzione '''F1''' realizza una porta '''AND''', mentre quello attinente la funzione '''F2'''realizza una porta '''OR'''
 
Con la convenzione logica negativa i due circuiti realizzano le funzioni duali e cioè '''OR''' e '''AND'''' rispettivamente.
 
In logica positiva (conf.par,1.1.3)il circuito attinente la funzione '''F1''' realizza una porta '''AND''', mentre quello attinente la funzione '''F2'''realizza una porta '''OR'''<br/>
Con la convenzione logica negativa i due circuiti realizzano le funzioni duali e cioè '''OR''' e '''AND'''' rispettivamente.<br/>
L'inconveniente maggiore nell'uso del semi-conduttori risiede nelle condizioni di funzionamento. Nonostante i continui miglioramenti è sempre necessario, con precauzioni di condizionamento di aria, di refrigerazione ... mantenere il funzionamento in un ristretto intervallo di temperatura
 
=== Transistori ===
 
[[File:Comportamento ideale di un transistor.png|right]]
 
Notiamo che le porte '''AND''' e '''OR''' non sono sufficienti per la realizzazione di una funzione booleana; da un punto di vista logico è necessario aggiungere un circuito atto a realizzare la complementazione.
 
Questo tipo di circuito non si può ottenere con i componenti visti sinora, che erano tutti di tipo passivo. Infatti la complementazione di un segnale può richiedere che il segnale passi da un livello basso ad uno alto, cioè debba essere amplificato, e questo può essere ottenuto solo con componenti attivi. I componenti attivi sono necessari anche per la rigenerazione di un segnale che, a causa dell'attenuazione, rischi di essere inferiore del suo livello rappresentativo.
 
[[File:Transistor NPN.png|right]]
 
Fra gli elementi attivi facciamo cenno ai transistori. Il transistor a giunzione comprende due giunzioni che separano tre regioni semi-.conduttrici di cui le estreme dello stesso tipo e quella intermedia di tipo opposto. Si hanno quindi le due forme possibili '''PNP''' e '''NPN'''.
 
* ''1.3.2 Transistori''<br/>
[[File:Comportamento ideale di un transistor.png|right]]<br/>
Notiamo che le porte '''AND''' e '''OR''' non sono sufficienti poe la realizzazione di una funzione booleana; da un punto di vista logico è necessario aggiungere un circuito atto a realizzare la complementazione.<br/>
Questo tipo di circuito non si può ottenere con i componenti visti sinora, che erano tutti di tipo passivo. Infatti la complementazione di un segnale può richiedere che il segnale passi da un livello basso ad uno alto, cioè debba essere amplificato, e questo può essere ottenuto solo con componenti attivi. I componenti attivi sono necessari anche per la rigenerazione di un segnale che, a causa dell'attenuazione, rischi di essere inferiore del suo livello rappresentativo.<br/>
[[File:Transistor NPN.png|right]]<br/>
Fra gli elementi attivi facciamo cenno ai transistori. Il transistor a giunzione comprende due giunzioni che separano tre regioni semi-.conduttrici di cui le estreme dello stesso tipo e quella intermedia di tipo opposto. Si hanno quindi le due forme possibili '''PNP''' e '''NPN'''.<br/>
Una delle due estremità , l'emettitore, molto ricco di impurità, può emettere un gran numero di cariche che sono più o meno raccolte dall'altra estremità, il collettore, formato di cristalli meno ricchi di impurità.
[[File:Comportamento ideale di un transistor.png |right]]<br/<>
Il flusso di cariche è regolato dallo stato della regione intermedia, la base. Poiché devono rappresentare gli stati '''0''' e '''1''' in modo che risultino distinguibili senza ambiguità, i transistori vengono fatti lavorare esclusivamente nelle due opposte condizioni di ''interidzione'' e ''saturazione''<br/>
 
Schematizziamo il comportamento ideale di un transistor: mandando alla base una corrente nulla, è nulla la corrente di collettore; il transistor si comporta come un contatto aperto (interdizione) e la tensione di collettore è uguale a quella di alimentazione, non essendo il resistore '''R''' percorso da corrente. Inversamente mandando alla basse una debole corrente il transistor si comporta come un corto circuito (saturazione), la tensione di collettore va a zero e quindi ai capi del resistore '''R''' si ha una differenza di potenziale pari alla tensione di alimentazione.<br/>
Schematizziamo il comportamento ideale di un transistor: mandando alla base una corrente nulla, è nulla la corrente di collettore; il transistor si comporta come un contatto aperto (interdizione) e la tensione di collettore è uguale a quella di alimentazione, non essendo il resistore '''R''' percorso da corrente. Inversamente mandando alla basse una debole corrente il transistor si comporta come un corto circuito (saturazione), la tensione di collettore va a zero e quindi ai capi del resistore '''R''' si ha una differenza di potenziale pari alla tensione di alimentazione.
 
Il comportamento reale di un transistore è rappresentato dalle seguenti caratteristiche:
[[File:Caratteristica operativa di un transistore.png |center]]
Quindi con una debole corrente di base (dell'ordine delle decine di '''μA''') si regola una corrente di collettore da valori molto bassi a valori dell'ordine di grandezza dei '''mA''';
e quindi, essendo la corrente di collettore maggiore di quella necessaria per controllarla, si parla di '''guadagno di corrente'''.<br/>
 
Corrispondentemente si ha, in interdizione, una differenza di tensione '''(ΔV)<sub>int</sub>''' non nulla ai capi del transistor e la tensione del collettore non è quella di alimentazione bensì quella di alimentazione diminuita di '''(ΔV)<sub>int</sub>''': '''(V<sub>CE</sub>)<sub>int</sub>=V<sub>A</sub>-(ΔV)<sub>int</sub>''' essendo '''V<sub>A</sub>''' la tensione di alimentazione.<br/>
Nel caso di saturazioneCorrispondentemente si ha, aiin capi del transistorinterdizione, una differenza di tensione '''(ΔV)<sub>int</sub>''' non piùnulla pariai allacapi tensionedel ditransistor alimentazione,e mala leggermentetensione inferiore,del percollettore cuinon laè tensionequella di collettorealimentazione assumebensì unquella valoredi nonalimentazione nullodiminuita di '''(ΔV)<sub>int</sub>''': '''(V<sub>CE</sub>)<sub>int</sub>=V<sub>A</sub>-(ΔV)<sub>satint</sub>''.' essendo '''V<sub>A<br/sub>''' la tensione di alimentazione.
 
Nel caso di saturazione si ha ai capi del transistor una differenza di tensione non più pari alla tensione di alimentazione, ma leggermente inferiore, per cui la tensione di collettore assume un valore non nullo ''(V<sub>CE</sub>)=V<sub>A</sub>-(ΔV)<sub>sat</sub>''.
 
I valori ''(V<sub>CE</sub>)<sub>sat</sub>'' e ''(V<sub>CE</sub>)<sub>int</sub>'' sono tali da essere considerati rappresentativi dei valori logici ''0'' e ''1'' in logica positiva.
 
*==== Invertitore a transistor. ====
[[File:Segnali invertiti e tabella della verità.png |right]]
Per quanto detto il transistor tipo '''PNC''' nel circuito aggregato realizza una funzione '''NOT'': infatti lavorando nelle opposte zone di saturazione ed interdizione è tale da fornire per un imput in '''B''' come nel circuito l'outpt riportato in '''C''', al limite per un transistor ideale con la tabella della verità in cui '''x''' è il valore di imput ed '''F(x)''' quello di output.
*==== Circuiti '''NAND''' e '''NOR''' a transistor.<br/> ====
 
[[File:Cifrcuiti NAND e NOR.png|right]]<br/>
[[File:Tabella della veritàCifrcuiti NAND e NOR.png|right]]<br/>
 
[[File:Tabella della verità NAND e NOR.png|right]]
 
[[File:Simboli dei circuiti NAND e NOR.png|right]]
L'interesse dei circuiti che realizzano gli operatori '''NAND''' e '''NOR''' consiste nel fatto che detti operatori costituiscono , singolarmente, degli insiemi funzionalmente completi (cfr. Parte 1<sup>a</sup>, Cap.VII<sup>°</sup>).<br/>
 
In linea di principio gli elementi visti fin qui sono sufficienti per formare un circuito '''NAND''' o '''NOR'''. Infatti è sufficiente un circuito formato da una porta a diodi (paragrafo 1.3.2), e da un invertitore a transistor. Il circuito così formato appartiene alla famiglia dei '''D-T-L''' (Diodo-Transistor-Logic).<br/>
In linea di principio gli elementi visti fin qui sono sufficienti per formare un circuito '''NAND''' o '''NOR'''. Infatti è sufficiente un circuito formato da una porta a diodi (paragrafo 1.3.2), e da un invertitore a transistor. Il circuito così formato appartiene alla famiglia dei '''D-T-L''' (Diodo-Transistor-Logic).
I circuiti affiancati fanno parte della famiglia '''D-C-T-L''' (Direct-Coupled-Transistor-Logic) e realizzano le funzioni '''NAND''' e '''NOR'''tramite l'uso dei transistor in luogo dei diodi.<br/>
 
Consideriamo il circuito '''NAND''': solo se entrambi i transistor conducono ci sarà una caduta di tensione ai capi del resistore ed il potenziale in '''G<sub>1</sub>''' sarà basso. Invece considerando il circuito '''NOR''' risulta che è sufficiente che uno solo dei due transistor conduca perché il potenziale di '''G<sub>2</sub>''' sia basso. Ne segue la tabella della verità mostrata.<br/>
I circuiti affiancati fanno parte della famiglia '''D-C-T-L''' (Direct-Coupled-Transistor-Logic) e realizzano le funzioni '''NAND''' e '''NOR'''tramite l'uso dei transistor in luogo dei diodi.
Analogamente a quanto detto a proposito delle porte a diodi la funzione '''G<sub>1</sub>''' e '''G<sub>2</sub>''' in logica positiva realizzano le funzioni '''NAND''' e '''NOR''' rispettivamente, mentre in logica negativa realizzano le funzioni duali '''NOR''' e '''NAND''' rispettivamente.<br/>
 
Consideriamo il circuito '''NAND''': solo se entrambi i transistor conducono ci sarà una caduta di tensione ai capi del resistore ed il potenziale in '''G<sub>1</sub>''' sarà basso. Invece considerando il circuito '''NOR''' risulta che è sufficiente che uno solo dei due transistor conduca perché il potenziale di '''G<sub>2</sub>''' sia basso. Ne segue la tabella della verità mostrata.
Analogamente a quanto detto a proposito delle porte a diodi la funzione '''G<sub>1</sub>''' e '''G<sub>2</sub>''' in logica positiva realizzano le funzioni '''NAND''' e '''NOR''' rispettivamente, mentre in logica negativa realizzano le funzioni duali '''NOR''' e '''NAND''' rispettivamente.
In simboli i circuiti '''NAND''' e '''NOR''' oltre che come indicato al paragrafo 1.1.4 possono anche essere indicati con i simboli del codice DIN qui raffigurati.
 
*==== ''Flip-Flop''<br/> ====
 
Quanto visto finora è sufficiente per comprendere la struttura di un '''Flip-Flop''', il
cui funzionamento logico si é visto al paragrafo 1.2.4.<br/>
 
Limitiamoci a considerare il caso in cui la combinazione '''S<sub>n</sub>=R<sub>n</sub>=1''' è proibita , riscriviamo la funzione di uscita '''Z<sub>n+1</sub>''' ed il suo complemento '''<math>\bar Z_{n+1}</math>''' in funzione degli ingressi '''S<sub>n</sub>''' e '''R<sub>n</sub>''' tramite l'operatore '''NOR''':
[[File:Flip-Flop logic circuit..png|right]]<br/>
 
::<math>Z_{n+1}=(S_n+Z_n)\cdot \bar R_n=\overline {(S_n+R_n)}\downarrow R_n=(S_n\downarrow Z_n)\downarrow R_n</math><br/>
::<math>Z_{n+1}=(S_n+Z_n)\cdot \bar R_n=\overline {(S_n+R_n)}\downarrow R_n=(S_n\downarrow Z_n)\downarrow R_n</math>
ed inoltre, considerando che in questo caso si ha <math>S_n\bar R_n=S_n</math> si ha anche:<br/>
 
[[File:Simplified circuit diagram of Flip-Flop S-R.png|right]]<br/>
ed inoltre, considerando che in questo caso si ha <math>S_n\bar R_n=S_n</math> si ha anche:
<math>\bar R_{Z+1}=\overline{(S_n+Z_n)\cdot \R_n}=\overline {S_n+Z_n\cdot \bar R_n}=\overline {S_n+(\bar Z_n\downarrow R_n)}=S_n\downarrow (\bar Z_n\downarrow R_n)</math><br/>
 
Queste due funzioni sono realizzate col circuito logico evidenziato a lato.<br/>
[[File:Simplified circuit diagram of Flip-Flop S-R.png|right]]
E' ora sufficiente considerare due circuiti '''NOR''', e connettere simmetricamente l'uscita di uno dei due circuiti ad uno dei due ingressi dell'altro per ottenere uno schema semplificato di Flip-Flop.(vedasi figura)<br/>
 
Pertanto, quando la coppia di transistor di ingresso '''S''' e '''Z''' conduce (caso di saturazione) il potenziale del comune collettore (segnale '''<math>\bar Z</math>''') mantiene a livello basso quello di una delle basi dell'altra coppia di transistor che, per quanto detto, si trova in condizione di interdizione.<br/>
<math>\bar R_{Z+1}=\overline{(S_n+Z_n)\cdot \R_n}=\overline {S_n+Z_n\cdot \bar R_n}=\overline {S_n+(\bar Z_n\downarrow R_n)}=S_n\downarrow (\bar Z_n\downarrow R_n)</math>
Vi sono pertanto due stati di equilibrio stabile, caratterizzati dal fatto che una delle due coppie di transistor è in saturazione e l'altra in interdizione.<br/>
 
Queste due funzioni sono realizzate col circuito logico evidenziato a lato.
 
È ora sufficiente considerare due circuiti '''NOR''', e connettere simmetricamente l'uscita di uno dei due circuiti ad uno dei due ingressi dell'altro per ottenere uno schema semplificato di Flip-Flop.(vedasi figura)
 
Pertanto, quando la coppia di transistor di ingresso '''S''' e '''Z''' conduce (caso di saturazione) il potenziale del comune collettore (segnale '''<math>\bar Z</math>''') mantiene a livello basso quello di una delle basi dell'altra coppia di transistor che, per quanto detto, si trova in condizione di interdizione.
 
Vi sono pertanto due stati di equilibrio stabile, caratterizzati dal fatto che una delle due coppie di transistor è in saturazione e l'altra in interdizione.
 
Quando il circuito si trova in uno dei due stati, identificabili tramite le funzioni di uscita '''<math>Z</math>''' e '''<math>\bar Z</math>''', vi rimane indefinitamente, realizzando cioè la funzione di memoria. Tramite segnali di comando esternisi ottiene che il circuito commuti all'altro dei due possibili stati; questi segnali ('''S''' e '''R''') vengono mandatia una delle basidi una coppia di transistor. Il passaggiodi un Flip-Flop dallo stato '''0''' allo stat '''1''' si dice '''setting''', quello dallo stato '''1''' allo stato '''0''' di '''resettig'''. Il comando che provoca la commutazione può essere o un livello di tensione (comando in continua) o impulso di tensione (comando in alternata).