Flip-flop: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullata la modifica di 109.54.165.44 (discussione), riportata alla versione precedente di Solipsistico
Etichetta: Rollback
 
(503 versioni intermedie di oltre 100 utenti non mostrate)
Riga 1:
In [[elettronica digitale]], il '''flip-flop''' è uno dei più importanti circuiti logici sequenziali sincroni.
I '''flip-flop''' sono dei dispositivi elettronici utilizzati nell'[[elettronica digitale]] come dispositivi di memoria elementare sincroni. Essi prevedono due soli stati logici possibili, come il ''[[latch]]'' SR, ma a differenza di questi utilizzano ingressi di comando sincroni, ovvero regolati con un ingresso dinamico detto [[clock]].
Costituisce una delle possibili [[implementazione|implementazioni]] della cella di [[Memoria (elettronica)|memoria]] elementare, ed è un elemento essenziale alla realizzazione di tutte le [[circuito sequenziale|reti logiche sequenziali]].
È importante non confondere il flip-flop con il [[latch]]: un circuito asincrono con la stessa funzione.<ref name="definizione di flip-flop">{{cita|Mano, Kime, Martin 2019|pp. 184-186}};<br/>{{cita|Napoli 2023|p. 200}}.</ref>
 
Il nome deriva dal rumore che facevano i primi [[Circuito elettronico|circuiti elettronici]] di questo tipo, costruiti con dei [[relè]] che realizzavano il cambiamento di stato.
Esistono diversi tipi: D, SR, JK, T.
 
Per definizione il flip-flop rientra nella categoria dei [[multivibratori]] bistabili: è cioè un dispositivo caratterizzato da esattamente due stati stabili tra i quali può transire a comando.<br/>
==Flip-flop tipo D==
Questo lo rende adatto come cella di memoria, in quanto l'insieme delle configurazioni di output codifica esattamente [[bit|1 bit di informazione]].<ref name="definizione di flip-flop"/><ref>{{cita pubblicazione|titolo = A mathematical theory of communication|autore = [[Claude Elwood Shannon]]|rivista = ACM SIGMOBILE Mobile Computing and Communications Review|volume = 5|numero = 1|editore = [[Association for Computing Machinery]]|città = New York (NY, USA)|data =1º gennaio 2001|lingua = en|p = 1|issn = 1559-1662|doi = 10.1145/584091.584093|cid = Shannon 2001}}</ref>
Ha un ingresso, due uscite complementari e un ingresso di sincronizzazione ([[clock]]).
In corrispondenza del comando di [[clock]], trasferisce l'ingresso in uscita e ve lo mantiene fino al successivo fonte attivo di [[clock]].
Quando E = 1 il latch è in TRASPARENZA, cioè l'uscita Q insegue l'ingresso vale a dire Q=D.
Se E=0 il lacth è in CONSERVAZIONE ossia Q mantiene l'ultimo valore che aveva prima
 
Diversamente dal latch, il flip-flop è un dispositivo sensibile unicamente allo stato del [[Clock|segnale di sincronizzazione]], in particolare durante le sue fasi transitorie.
In generale questo vuol dire che una transizione dello stato di uscita può essere innescata solamente mentre il segnale si trova a sua volta in uno stato di transizione.
Questa caratteristica risulta altamente desiderabile poiché, previa accurata temporizzazione del circuito, consente di ignorare tutta una serie di stati indesiderati in cui potrebbero venirsi a trovare il resto degli ingressi durante la normale operazione.<br/>
Questo rende i flip-flop un'alternativa quasi universalmente preferibile ai [[latch]].<ref>{{cita|Mano, Kime, Martin 2019|pp. 190-191}}.</ref>
 
Oltre che come memoria il flip-flop trova applicazione come meccanismo per la mitigazione delle [[alea (elettronica)|alee]] nelle [[reti logiche]] multi-stadio e come [[circuito anti-rimbalzo|dispositivo anti-rimbalzo]] nei circuiti che comprendono componenti elettromeccanici come [[pulsanti]], [[interruttori]] e commutatori.
{| border=1
! D!! Q+!!
|-
| 0|| 0|| (reset)||
|-
| 1|| 1|| (set)||
|}
 
==Flip-flop tipoStoria JK==
[[File:Eccles-Jordan trigger circuit flip-flip drawings.png|thumb|Schemi circuitali dal brevetto del ''trigger relay'' di Ecceles e Jordan del 1918. Il primo è disegnato come una cascata di amplificatori con un percorso di ''feedback'' positivo, l'altro come una coppia simmetrica ad accoppiamento incrociato.]]
E' caratterizzato da due ingressi, due uscite complementari e un ingresso di sincronizzazione.
Ha funzioni di memoria, reset, set o [[toggle]].
A differenza dei Flip Flpo SR non ha stati proibiti, ovvero le due entrate posso assumere qualsiasi valore (0-0,0-1,1-0,1-1).
 
Il primo latch elettronico è stato inventato nel 1928 dai fisici britannici [[William Eccles]] e [[F. W. Jordan]].<ref>
{| border=1
{{cita brevetto|paese=GB|numeropubblicazione=148582|dataregistrazione=1920-08-05|titolo=Improvements in ionic relays|inventore=William Henry Eccles|altri=Frank Wilfred Jordan|lingua=en}}
! J!! k !! Q+!! Qn+!!
</ref><ref>
|-
Vedere:
| 0|| 0|| Q|| Qn|| (nessun cambiamento)||
* {{cita pubblicazione|autore=William Henry Eccles|autore2=Frank Wilfred Jordan|data=19 settembre 1919 |url=https://archive.org/details/electricaljourna83lond#page/298/mode/2up |titolo=A trigger relay utilizing three-electrode thermionic vacuum tubes |pubblicazione=The Electrician |volume=83 |p=298|lingua=en}}
|-
* Ristampato in: {{cita pubblicazione|autore=William Henry Eccles|autore2=Frank Wilfred Jordan|data=dicembre 1919 |url=https://babel.hathitrust.org/cgi/pt?id=mdp.39015021318277;view=1up;seq=165 |titolo=A trigger relay utilizing three-electrode thermionic vacuum tubes |pubblicazione=The Radio Review |volume=1 |numero=3 |pp=143-6|lingua=en}}
| 0|| 1|| 0|| 1|| (reset)||
* Riassunto in: {{cita libro|autore=William Henry Eccles|autore2=Frank Wilfred Jordan|data=1919 |urlcapitolo=https://archive.org/stream/reportofbritisha20adva#page/270/mode/2up |capitolo=A trigger relay utilising three electrode thermionic vacuum tubes |titolo=Report of the Eighty-seventh Meeting of the British Association for the Advancement of Science: Bournemouth: 1919, September 9–13 |pp=271-2|lingua=en}}
|-
</ref>
| 1|| 0|| 1|| 0|| (set)||
Originariamente chiamato "circuito ''trigger'' Eccles-Jordan", consisteva in due elementi attivi ([[valvole termoioniche]]).<ref>{{cita libro|autore=Emerson W. Pugh|autore2=Lyle R. Johnson|autore3=John H. Palmer|titolo=IBM's 360 and early 370 systems|url=https://archive.org/details/ibms360early370s0000pugh |data=1991 |editore=MIT Press |ISBN=978-0-262-16123-7 |p=[https://archive.org/details/ibms360early370s0000pugh/page/10 10]|lingua=en}}</ref>
|-
Il dispositivo è stato usato nel 1943 come parte del computer decifratore britannico [[Colossus]].<ref>{{cita pubblicazione|autore=[[Thomas H. Flowers]]|url=http://www.ivorcatt.com/47c.htm | titolo =The Design of Colossus |pubblicazione=Annals of the History of Computing |volume=5 |numero=3 |anno= 1983|p=249 |doi=10.1109/MAHC.1983.10079|lingua=en }}</ref>
| 1|| 1|| Qn|| Q|| (complemento)||
Circuiti del genere e le loro versioni a [[transistor]] rimasero di uso comune nella progettazione dei computer anche dopo l'introduzione dei [[circuiti integrati]], sebbene oggi siano comuni anche latch e flip-flop realizzati con [[porte logiche]].<ref>
|}
{{cita libro |autore=Earl D. Gates |titolo=Introduction to electronics |url=https://books.google.com/books?id=IwC5GIA0cREC |edizione=4 |anno=2000 |editore=Delmar Thomson (Cengage) Learning |isbn=978-0-7668-1698-5 |p=299|lingua=en}}
</ref><ref>
{{cita libro|autore=Max Fogiel|autore2=You-Liang Gu|titolo=The Electronics problem solver|url=https://books.google.com/books?id=6oXuRAAACAAJ|volume=1|data=1998|editore=Research & Education Assoc.|isbn=978-0-87891-543-9|p=1223|lingua=en}}
</ref>
I primi latch erano conosciuti anche come "circuiti trigger" o [[multivibratori]].
 
Secondo P. L. Lindley, un ingegnere al [[Jet Propulsion Laboratory]] (USA), i tipi di flip-flop illustrati più avanti (SR, D, T, JK) erano stati discussi per la prima volta in un corso di progettazione dei calcolatori tenuto all'[[UCLA]] nel 1954 da [[Montgomery Phister]] e sono successivamente apparsi nel suo libro ''Logical Design of Digital Computers''.<ref>
{{cita libro|titolo = Logical Design of Digital Computers.|autore=Montgomery Phister|editore = Wiley|anno = 1958|p = 128|isbn=9780608102658|url = https://books.google.com/books?id=Ri1IAAAAIAAJ}}
</ref><ref>
{{cita pubblicazione |autore=P.L. Lindley |data=agosto 1968 |pubblicazione=EDN |titolo=letter dated June 13, 1968|lingua=en}}
</ref>
Lindley al tempo lavorava alla [[Hughes Aircraft Company]] sotto la supervisione di Eldred Nelson, che aveva coniato il termine JK per un flip-flop che cambiava stato quando entrambi gli ingressi erano attivi. Gli altri nomi sono stati coniati da Phister. Essi differiscono leggermente da alcune delle definizioni date di seguito. Lindley spiega che ha sentito la storia del flip-flop JK da Eldred Nelson, che è responsabile per l'invenzione del termine mentre lavorava alla Hughes Aircraft. I flip-flop in uso alla Hughes al tempo erano tutti del tipo che sarebbe stato conosciuto come J-K. Nel progettare un sistema logico Nelson assegnava lettere agli ingressi dei flip-flop nel modo seguente: #1: A & B, #2: C & D, #3: E & F, #4: G & H, #5: J & K. Nelson ha usato le notazioni "j-input" e "k-input" in una richiesta di brevetto presentata nel 1953.<ref>{{cita brevetto|paese=US|numeropubblicazione=2850566|titolo=High-speed printing system|datapubblicazione=1958-09-02|assign1=[[Hughes Aircraft Co.]]|inventore=Eldred Nelson|citazione=Each flip-flop or bistable multivibrator includes two input terminals, hereinafter termed the j-input and the k-input terminals, respectively, and two output terminals for producing complementary bivalued electrical output signals hereinafter termed Q and Qbar, respectively. Signals applied separately to the j-input and k-input terminals set the flip-flop to conduction states corresponding to the binary values one and zero, respectively, while signals applied simultaneously to both input terminals trigger or change the conduction state of the flip-flop.|url=https://patentimages.storage.googleapis.com/49/3f/6d/4c7a70038c41f0/US2850566.pdf}}</ref>
 
== Flip-flop SR ==
Quindi quando J e K valgono entrambi 1 le uscite vengono complementate, quando valgono zero vengono mantenute in memoria.
[[File:SR (Clocked) Flip-flop.svg|thumb|Simbolo circuitale [[ISO]] del flip-flop SR. Il triangolo (>) denota un ingresso sensibile al fronte del segnale, in questo caso il clock.]]
Il Flip-flop SR, è un'estensione di Latch SR sincronizzato da un segnale di Clock che, al contrario del Latch SR, permette di memorizzare uno stato.
 
Quando il circuito riceve un segnale di Clock: "0", qualsiasi siano i segnali S R, lo stato rimane invariato; invece quando, riceve un segnale di Clock: "1" il circuito segue la stessa logica del latch SR.
==Flip-flop tipo T==
{{clear}}
Ha un ingresso, due uscite complementari e un ingresso di sincronizzazione. Ha funzioni di memoria e [[toggle]], che consiste nel valore negato di quello memorizzato precedentemente.
 
{{clear}}
==Flip-flop tipo SR==
 
Ha due ingressi S (da ''set'') ed R (da ''reset'') che assume il valore alto (valore logico 1) nel caso in cui sia alto l'ingresso S ed assume il valore basso (valore logico 0) nel caso in cui sia alto l'ingresso R.
== Flip-flop JK ==
Quando entrambi i valori R ed S sono bassi il flip-flop si trova nello stato neutro e mantiene il valore registrato. Quando entrambi gli ingressi sono con valore 1, invece, si ha una condizione di non specificazione.
[[File:JK Flip-flop (Simple) Symbol.svg|thumb|Simbolo circuitale [[ISO]] del flip-flop JK. Il triangolo (>) denota un ingresso sensibile al fronte del segnale, in questo caso il clock.]]
[[File:JK-FlipFlop (4-NAND).PNG|thumb|Schema circuitale di un flip-flop JK.]]
 
È caratterizzato da due ingressi, due uscite complementari e un ingresso di sincronizzazione.<br/>
Ha funzioni di memoria, reset, set. A differenza dei Flip-flop SR non ha stati proibiti, ovvero le due entrate possono assumere qualsiasi valore (0-0,0-1,1-0,1-1).
 
Equazione caratteristica:
Q+ = KnQ + JQn
 
Tabella di verità
(Q+ e Qn+ indicano gli stati futuri della memoria all'istante t+1 in base agli ingressi all'istante t)
{| border=1
! SJ!! RK !! Q+!! Qn+!!
Descrizione
|-
| 0|| 0|| Q|| Qn|| Memoria (nessun cambiamento)||
|-
| 0|| 1|| 0|| 1|| (reset)||Reset
|-
| 1|| 0|| 1|| 0|| (set)||Set
|-
| 1|| 1|| Qn || Q || Toggle (complemento)
|-
| 1|| 1|| ?|| ?|| (non specificazione)||
|}
 
Quindi, quando J e K valgono entrambi 1, le uscite vengono completamente scambiate (ossia se erano 1 diventano 0 e viceversa), trasformandosi in un flip-flop T; quando valgono zero, vengono mantenute in memoria.
==Bibliografia==
 
''Sistemi digitali'' - ISBN 8839513779
{{clear}}
[[Categoria:Componenti elettronici]]
== Flip-flop T (toggle) ==
[[File:T-Type Flip-flop.svg|thumb|Simbolo circuitale [[ISO]] del flip-flop T. Il triangolo (>) denota un ingresso sensibile al fronte del segnale, in questo caso il clock.]]
 
Ha un ingresso, due uscite complementari e un ingresso di sincronizzazione. Ha funzioni di memoria e [[toggle]], che consiste nella negazione del valore precedentemente memorizzato. Può venir realizzato con un flip-flop JK, con i due ingressi J e K collegati assieme e formanti quindi l'ingresso T.
 
Equazione caratteristica:
Q+ = TnQ + TQn = T <span style="font-size: 140%;">[[disgiunzione esclusiva|⊕]]</span> Q
 
Proprietà: Se T=1 l'uscita Q ha frequenza dimezzata rispetto al clock.
 
Applicazioni: È il componente base dei [[contatore|contatori]], infatti collegando a cascata vari flip-flop T ad ogni uscita si ottiene un clock dimezzato rispetto al clock precedente.
 
{{clear}}
== Flip-flop D ==
[[File:D Flip-flop (Simple) Symbol.svg|thumb|Simbolo circuitale [[ISO]] del flip-flop D. Il triangolo (>) denota un ingresso sensibile al fronte del segnale, in questo caso il clock.]]
[[File:Edge triggered D flip flop with set and reset.svg|thumb|Schema logico di un flip-flop D con funzione Set e Reset]]
 
Ha un ingresso per il dato, un ingresso di [[clock|sincronizzazione]] e un'uscita. In corrispondenza di un fronte di [[clock]], trasferisce l'ingresso in uscita e ve lo mantiene fin quando non cambia il suddetto ingresso.
<!-- Se E=1, il latch è in trasparenza, cioè l'uscita Q insegue l'ingresso, vale a dire Q=D.
Se E=0, il latch è in conservazione, ossia Q mantiene l'ultimo valore campionato. È POSSIBILE MA MANCA UN'IMMAGINE CHE FACCIA RIFERIMENTO A QUESTO TIPO DI FLIP-FLOP -->
{{clear}}
== Flip-flop MS ==
[[File:Negative-edge triggered master slave D flip-flop.svg|thumb|Flip-flop D-MS realizzato ponendo in cascata due latch D.]]
La realizzazione di questo tipo di flip-flop può essere effettuata ponendo in modalità [[Architettura master-slave|master-slave]] due [[Latch]] D, negando l'ingresso E del primo flip-flop nel caso in cui si volesse un FF-D pilotato sul fronte di salita, mentre negando il secondo nel caso in cui si volesse realizzare un FF-D di tipo pilotato sul fronte di discesa.
 
{{clear}}
== Flip-flop con preset e clear ==
[[File:JK Flip-flop.svg|thumb|Simbolo circuitale [[ISO]] del flip-flop JK con ''Preset'' (S) e ''Clear'' (R).]]
{{...|informatica}}
{{clear}}
== Circuiti integrati flip-flop ==
Sono disponibili circuiti integrati che contengono flip-flop singoli oppure multipli. Ad esempio il flip-flop di tipo D è disponibile come integrato con otto unità logiche ma con l'ingresso di clock in comune.<ref>{{cita web| url=http://www.onsemi.com/pub/Collateral/74HC374.REV0.PDF| titolo=Circuito integrato 74HC374 costituito da otto flip-flop di tipo D con ingresso di clock in comune ed in più un controllo (prioritario) di abilitazione/disabilitazione delle uscite| accesso=4 giugno 2010| editore=[http://www.onsemi.com/ ON Semiconductor Corp]| lingua=en| formato=PDF| urlarchivio=https://web.archive.org/web/20201027173904/https://www.onsemi.com/pub/Collateral/74HC374.REV0.PDF}}</ref><br/>
Generalmente non sono disponibili in commercio flip-flop di tipo T, poiché sono facilmente realizzabili utilizzando un flip-flop JK con i due ingressi collegati tra di loro.
 
== Note ==
<references/>
 
== Bibliografia ==
* {{Cita libro|titolo = Sistemi digitali. Per gli Istituti Tecnici|autore = Giuseppe Licata|editore = Thecna|anno = 2002|edizione = 1|p = 512|ISBN = 978-88-395-1377-9}}
* {{Cita libro|titolo = Manuale di elettrotecnica e automazione|autore = Giuliano Ortolani|curatore = Enzo Venturi|editore = Hoepli|città = Milano|anno = 2010|edizione = 2|ISBN = 978-88-203-4456-6}}
* {{Cita libro|titolo = Reti logiche|autore = M. Morris Mano|autore2 = Charles R. Kime|autore3 = Tom Martin|curatore = Antonio Gentile|curatore2 = Filippo Sorbello|curatore3 = Salvatore Vitabile|traduttore=Silvia Franchini|altri = et al.|editore = Pearson|città = Milano - Torino|anno = 2019|edizione = 5|ISBN = 978-88-919-0581-9|cid = Mano, Kime, Martin 2019}}
*{{cita libro|titolo = Progetto di circuiti digitali e implementazione su FPGA|autore = Ettore Napoli|editore = Società Editrice Esculapio|città = Bologna|anno = 2023|ISBN = 978-88-9385-350-7|cid = Napoli 2023}}
 
== Voci correlate ==
* [[Latch]]
* [[Clock]]
 
== Altri progetti ==
{{Interprogetto|wikt=flip-flop|preposizione=sul}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||flip-flop}}.
 
{{Controllo di autorità}}
{{portale|elettrotecnica}}
 
[[Categoria:Memorie informatiche]]
[[ar:قلاب]]
[[Categoria:Oscillatori]]
[[cs:Klopný obvod]]
[[da:Flip-flop (digital elektronik)]]
[[de:Flipflop]]
[[en:Flip-flop (electronics)]]
[[es:Biestable]]
[[fr:Bascule]]
[[he:פליפ פלופ]]
[[hr:Bistabil]]
[[ja:フリップフロップ]]
[[nl:Flip-flop]]
[[pl:Przerzutnik]]
[[pt:Flip-flop]]
[[sv:Vippa]]
[[zh:触发器]]