Differenza tra latch e flip-flop?


51

Qual è la differenza tra un latch e un flip-flop?

Quello che sto pensando è che un latch equivale a un flip-flop poiché viene utilizzato per archiviare i bit ed è anche equivalente a un registro che viene utilizzato anche per archiviare i dati. Ma dopo aver letto alcuni articoli su Internet ho trovato differenze tra i latch e le infradito basate sulla funzionalità edge triggered e level sensitive?

Cosa significa? Un infradito è lo stesso di un fermo o no?

Risposte:


23

La differenza di base è un meccanismo di gate o clock. Ad esempio, parliamo del latch SR e delle infradito SR.

Un fermo SR sarà simile a questo

SR Latch utilizzando porte NAND

In questo circuito quando si imposta S come attivo l'uscita Q sarebbe alta e Q 'sarà bassa. Questo è indipendentemente da qualsiasi altra cosa. (Questo è un circuito attivo basso, quindi attivo qui significa basso, ma per un circuito attivo alto significa alto)

Un Flip-Flop SR (chiamato anche chiavistello SR gated o con clock) si presenta così.

inserisci qui la descrizione dell'immagine

In questo circuito l'uscita viene modificata (ovvero i dati memorizzati vengono modificati) solo quando si fornisce un segnale di orologio attivo. Altrimenti, anche se S o R sono attivi i dati non cambieranno. Questo meccanismo viene utilizzato per sincronizzare circuiti e registri in modo che i dati non vengano modificati inutilmente.


quindi posso concludere che i fermi sono attivati ​​dal livello e che le infradito sono attivate dal bordo?
trapaank

5
I fermi non si attivano affatto. Non appena do l'input, ottengo l'output in blocchi. I Flip-flop vengono attivati ​​come in Devo dare un trigger di clock per convertire il mio input in output.
Rick_2047

1
Questo non è un infradito SR. Questo è un chiavistello SR gated. I tempi di configurazione e di attesa di questo circuito funzioneranno come qualsiasi altro dispositivo di chiusura con un pin "abilita trasparenza". Un flip flop è una configurazione master-slave. Basta pensare di passare da un ciclo all'altro con questo fermo. Non puoi. Avresti bisogno di due chiavistelli con clock di fase opposti (quindi un infradito)
jbord39

19

Un infradito è costruito da due chiavistelli da una parte all'altra con orologi a polarità opposte, che formano una topologia master slave.

Il tipo di blocco è irrilevante (JK, SR, D, T) per questo vincolo, ma è importante che la trasparenza sia controllata da un pin (chiamalo clock o abilita o come preferisci).

Le chiusure SR lanciano tutti in loop perché il design più semplice è sempre trasparente. Quindi, una volta aggiunta l'abilitazione dell'orologio, le persone iniziano a chiamarlo infradito. Bene, non lo è; è un chiavistello gated. Tuttavia, è possibile creare un infradito SR da due chiavistelli SR con gate:

infradito true SR

O due chiavistelli JK:

vero jk ff

O due chiavistelli D: inserisci qui la descrizione dell'immagine

L'aggiunta di un segnaposto a un dispositivo di chiusura (SR o JK) non lo rende un infradito, ma lo rende un dispositivo di chiusura. L'impulso dell'orologio a un fermo chiuso non lo rende neanche un infradito; lo rende una chiusura a impulsi ( descrizione della chiusura a impulsi ).

Le infradito sono innescate dai bordi e i tempi di configurazione e di attesa sono entrambi relativi a questo fronte attivo. Un tradizionale flip flop non consentirà in qualsiasi momento di prendere in prestito attraverso i bordi del ciclo, poiché la topologia master-slave agisce come un sistema di blocco e diga per creare un bordo duro sull'orologio attivo.

I fermi, d'altra parte, si adattano alla trasparenza del fermo e lo tengono premuto fino alla chiusura del fermo. Consentono inoltre di prendere in prestito tempo durante l'intera fase di trasparenza. Ciò significa che se una mezza ciclabile è lenta e l'altra mezza ciclabile è veloce; con un design basato su latch, il percorso lento può prendere in prestito tempo nel ciclo dei percorsi rapidi.

Un trucco di progettazione molto comune quando è necessario spremere ogni picosecondo da un percorso è quello di dividere il flip-flop (in due chiavistelli separati) e fare la logica in mezzo.

Fondamentalmente i tempi di installazione e attesa sono completamente diversi tra un latch e un flip flop; in termini di come vengono gestiti i limiti del ciclo. La distinzione è importante se si esegue una progettazione basata su latch. Molte persone (anche su questo sito) mescoleranno i due. Ma una volta che inizi a cronometrare attraverso di loro, la differenza diventa cristallina.

Vedi anche:

buon testo che descrive chiusure e infradito

Che cos'è un infradito?

Modificare:

Mostra solo un D-flip flop basato su t-gate (nota che è costruito da due chiavistelli D basati su t-gate back to back con clock di fase opposti).

basato su t-gate d ff


Ciao, stai andando per il vecchio distintivo di rinascita? Nei miei libri un "latch" è un registro di memoria asincrono mentre un "flip flop" è un registro di memoria sincrono, alcuni con funzioni asincrone chiamato Set / Reset. Di fatto, tutte le operazioni sincrone sono sensibili ai bordi.
Tony Stewart Sunnyskyguy EE75,

@ TonyStewart.EEsince'75: Heh, qualcun altro ha risposto proprio davanti a me. Sì, ho familiarità con questa definizione, ma è un po 'ondulata. Penso che sia molto più chiaro rendersi conto che il flip-flop è costruito da due chiavistelli con clock di fase opposti. Ciò fornisce un quadro molto preciso di ciò che sta accadendo all'interno e una maggiore comprensione del tempo di installazione e di attesa. È una distinzione importante quando si caratterizzano le celle standard o si esegue qualsiasi progettazione di percorsi di dati personalizzati. Inoltre lascia spazio all'ambiguità: le infradito che richiedono tempo, ad esempio, hanno un carattere asincrono attorno al bordo attivo del clk.
jbord39,

La sostituzione dei flop con coppie di chiavistelli che operano su diverse fasi dell'orologio introduce la possibilità di includere il tempo morto tra quelle fasi. Se alcuni chip attivano i loro latch front-end solo quando l'ingresso del clock è inferiore a (1/3) VDD e il back-end si blocca solo quando l'ingresso del clock è sopra (2/3) VDD, i chip che condividono lo stesso clock essere in grado di comunicare in modo affidabile anche se non vedono l'interruttore dell'orologio nello stesso preciso istante, a condizione che tutti i chip abbiano visto l'orologio salire sopra (1/3) VDD prima di vederlo sopra (2/3) VDD. Un tale disegno sembrerebbe essere ...
supercat

... funzionalmente migliore di un trigger Schmidt in quasi tutti i modi; Mi chiedo perché sia ​​più comune per i registri utilizzare i trigger Schmidt piuttosto che dividere i tempi front-end e back-end?
supercat

1
+1. Questa è la risposta migliore, IMO. Gli altri, in un modo o nell'altro, confondono la differenza tra edge-trigger (FF) e gating (chiavistelli gated). Un po 'pesante dal punto di vista dell'implementazione, soprattutto per i principianti. Un nitpick: sembra che insinui che l'unica tecnica per implementare il trigger dei bordi sia accoppiare due chiavistelli in una configurazione master-slave. Non sono un esperto, ma penso (IIRC) ci siano altri trucchi per implementare il edge-trigger.
Lorenzo Donati supporta Monica il

6

Un latch passa i dati di input direttamente nello stato aperto e congela l'output nello stato latch. Il fermo risponde al livello del segnale di controllo.

Esistono vari tipi di flip-flop, ma sostanzialmente cambiano stato al limite del segnale di controllo e, in alcuni casi, gli input di dati. Un classico flip-flip D è più simile a un latch, tranne che guarda solo l'ingresso su un particolare bordo dell'orologio e congela l'uscita tutto il tempo rimanente.


quindi c'è qualche differenza tra latch e flip flop o no?
trapaank

@ ankur.trapasiya: Sì.
Olin Lathrop,

hmmm ... cancellato un po '.. !! quello che ho capito è che il Flip-flop ha bisogno di un orologio e un fermo non ne ha bisogno.
trapaank

1
@ ankur.trapasiya: sì, i latch non hanno un input di clock ma hanno un input corrispondente: il più delle volte chiamato ENABLE. L'ingresso di clock di un D-Flip-Flop è sensibile ai bordi, l'ingresso di abilitazione di un latch è sensibile al livello, ovvero l'uscita cambia quando l'abilitazione è attiva e l'ingresso cambia.
Cagliata

1
@Jbord: lo stai rendendo troppo complicato. Le chiusure sono a livello e le infradito sono dotate di clock. È praticamente tutto quello che c'è da fare.
Olin Lathrop,

6

Un latch è un esempio di multivibratore bistabile, ovvero un dispositivo con esattamente due stati stabili.
Questi stati sono ad alto rendimento e basso rendimento.
Un fermo ha un percorso di feedback, quindi le informazioni possono essere conservate dal dispositivo.
Pertanto i latch possono essere dispositivi di memoria e possono archiviare un bit di dati fino a quando il dispositivo è alimentato.
Come suggerisce il nome, i latch vengono utilizzati per "agganciare" le informazioni e mantenerle in posizione.
I latch sono molto simili ai flip-flop, ma non sono dispositivi sincroni e non funzionano sui bordi dell'orologio come fanno i flip-flop.

inserisci qui la descrizione dell'immagine

Un flip-flop è un dispositivo molto simile a un latch in quanto è un mutivibratore bistabile, con due stati e un percorso di feedback che gli consente di memorizzare un po 'di informazioni.
La differenza tra un latch e un flip-flop è che un latch è asincrono e le uscite possono cambiare non appena gli input lo fanno (o almeno dopo un piccolo ritardo di propagazione).
Un flip-flop, d'altra parte, è innescato dal fronte e cambia stato solo quando un segnale di controllo passa da alto a basso o da basso a alto.
Questa distinzione è relativamente recente e non formale, con molte autorità che fanno ancora riferimento alle infradito come chiusure e viceversa, ma è una distinzione utile per motivi di chiarezza.

inserisci qui la descrizione dell'immagine


Un fermo non è un multivibratore (bistabile o altro).
Cagliata

2

La differenza tra latch e flip-flop è che le loro uscite sono costantemente influenzate dai loro ingressi fintanto che è presente il segnale di abilitazione. Quando sono abilitati, il loro contenuto cambia immediatamente quando cambiano i loro input. Le infradito cambiano il loro contenuto solo sul fronte di salita o di fine del segnale di abilitazione. Questo segnale di abilitazione controlla il segnale dell'orologio. Dopo il fronte di salita o di discesa dell'orologio, il contenuto del flip-flop rimane costante anche se l'ingresso cambia.


2

La differenza sta nell'uso previsto, principalmente. Un flip-flop è un'idea generale e presenta delle variazioni: come viene attivato, input JK o D, e tutto il resto. Le lancette possono essere utilizzate per contatori, registri a turni e tutti gli altri usi che si trovano nei testi e negli articoli online sulle infradito.

Un latch è un uso particolare, in cui un set di infradito (potrebbe essere solo uno, suppongo) viene dato livelli booleani, con clock, e da allora in poi mantengono costantemente quei valori sulle loro uscite. Un'istantanea, per così dire, di un valore binario. Non si verifica alcuna alterazione dei valori delle uscite, tranne quando vengono registrati nuovi ingressi o viene annullato il latch, il che significa che tutte le uscite sono a zero.

Le infradito di tipo D sono la scelta ovvia, ma esattamente ciò che usi o come viene attivato non è vitale per l'idea di cosa sia un latch, anche se importante nel particolare circuito o chip che stai progettando o usando.


2

Un fermo trasparente è un dispositivo con un input di dati e un input di controllo. L'ingresso di controllo ha due stati che possono essere chiamati "track" e "hold". Alcuni dispositivi considerano un "high" sull'ingresso di controllo come "track" e un input basso come "hold"; altri fanno il contrario. Ogni volta che l'ingresso di controllo si trova nello stato "traccia", lo stato dell'uscita tenterà continuamente di seguire lo stato dell'input dei dati (ci sarà un breve ritardo tra il momento in cui l'input dei dati cambia e l'output riflette il cambiamento). Se l'ingresso di controllo passa dallo stato "track" allo stato "hold", a condizione che l'ultima modifica dell'ingresso dati abbia avuto la possibilità di raggiungere l'output, l'uscita manterrà il suo valore fino al momento in cui l'ingresso di controllo va torna allo stato "traccia".

Sebbene i latch trasparenti possano essere utilizzati in molti modi, è importante comprendere almeno due scenari di utilizzo. In uno scenario, il latch viene utilizzato per trasformare un segnale che a volte conterrà dati validi e talvolta con dati non validi, in un segnale che conterrà sempre dati validi. Questo viene fatto mantenendo il fermo nello stato "hold" ogni volta che l'input di dati potrebbe non corrispondere ai dati di output desiderati. Per modificare i dati bloccati, si inseriscono i dati desiderati sull'input, quindi si imposta brevemente il latch sullo stato "track" e lo stato "hold", facendo attenzione che l'input dei dati non cambi in un valore indesiderato mentre il " hold "è attivo. Questa disposizione potrebbe essere usata per esempio per controllare 64 uscite usando otto segnali di controllo e otto segnali di dati. Ogni segnale di controllo aziona otto chiavistelli, uno dei quali è collegato a ciascuno degli otto segnali di dati. Si potrebbero usare le infradito innescate dal bordo con la stessa facilità delle chiusure, ma i circuiti per una chiusura sono in qualche modo più semplici. Si noti che in questo scenario un flip flop innescato dal limite innescerebbe idealmente il passaggio da "hold" a "track".

Nel secondo scenario di utilizzo, l'input potrebbe non essere significativo nel momento in cui il latch passa a "trasparente", ma diventerà significativo prima che il latch passi a "hold". Se i dispositivi che usano il suo output non si occuperanno del suo stato fino a qualche tempo dopo che il latch è passato a "hold", allora sarà lo stato dell'input di dati in quel momento che verrà inviato all'output. Uno può essere in grado di utilizzare un flip flop innescato dal limite in questo scenario, ma deve innescarsi sulla transizione da "traccia" a "hold". Si noti che se i dati immessi nel latch diventano validi un tempo significativo prima del passaggio da "hold" a "track", anche l'output farà lo stesso. Al contrario, l'output di un flip flop diventerebbe valido solo quando l'orologio cambiava.


1

la differenza principale è che il latch è attivato dal livello per cui si verifica la condizione di aggancio in JK-latch e T-latch in cui non vi è alcuna condizione di aggancio in JK-FF e T-FF..e le infradito sono innescate dal bordo, quindi nessuna condizione di aggancio in FF.


0

La principale differenza tra i latch e i flip-flop è che per i latch, le loro uscite sono costantemente influenzate dai loro input fintanto che viene affermato il segnale di abilitazione. In altre parole, quando sono abilitati, il loro contenuto cambia immediatamente quando cambiano i loro input. Le infradito, d'altro canto, hanno il loro contenuto cambiare solo sul fronte di salita o di discesa del segnale di abilitazione. Questo segnale di abilitazione è generalmente il segnale di controllo dell'orologio. Dopo il fronte di salita o di discesa dell'orologio, il contenuto del flip-flop rimane costante anche se l'ingresso cambia


5
Ciò non sembra aggiungere nulla che non sia già stato trattato nella risposta di Prasanth pubblicata più di due anni fa.
PeterJ,

@PeterJ: corregge la grammatica (la risposta originale aveva un precedente irrisolto). Tuttavia, avrebbe dovuto essere una modifica alla risposta precedente.
Ben Voigt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.