Altifigence Academy

20 / 63 · Concetto

Flip-flop D: dal livello al fronte

Confrontare l’aggiornamento di latch e flip-flop collegandolo a registri, setup e hold.

Clock alto e fronte di salita sono diversi

Un latchLatch Elemento che segue l’ingresso quando il controllo è attivo e mantiene il valore quando inattivo. Differisce dal flip-flop che acquisisce solo ai fronti. Approfondisci attivo alto segue D per tutto l'intervallo CLK=1. Un flip-flopFlip-flop Acquisisce al fronte di clock specificato e mantiene fino al successivo. Gli ingressi devono rispettare setup e hold. D acquisisce D solo al passaggio da CLK=0 a 1, il fronte di salitaFronte di salita Passaggio del clock da 0 a 1, distinto dall’intero intervallo di livello CLK=1., e lo conserva fino al successivo. La sola condizione clk=1 non rende equivalenti i due comportamenti.

Eseguite questo confronto:

  1. Con CLK=0 portate D a 1. Entrambi i Q restano 0.
  2. Portate CLK a 1. Entrambi i Q diventano 1.
  3. Lasciate CLK=1 e portate D a 0. Solo Q del latch diventa 0.
  4. Abbassate CLK a 0 e rialzatelo a 1. Anche il flip-flop acquisisce 0.
Due elementi di memoria con comportamento diverso a parità di D e CLK

Si assume che entrambi i valori q partano da 0. Il latch D segue D con CLK=1 e mantiene il valore con CLK=0. Il flip-flop D acquisisce D solo alla transizione del clock 0→1.

Un ciclo di un circuito sequenziale

Quando Q attraversa la logica combinatoria e genera il prossimo D, si realizza una transizione di stato. Indicando con DkD_k l'ingresso prima del fronte e con Qk+1Q_{k+1} lo stato dopo, il modello ideale è:

Qk+1=DkQ_{k+1}=D_k

Le uscite reali cambiano dopo il ritardo clock-to-Q, non istantaneamente al fronte. Più flip-flop acquisiscono i rispettivi ingressi allo stesso fronte e calcolano quindi lo stato successivo a partire dagli stati precedenti. È la base di contatori e registriRegistro Memorizza uno stato di più bit. I registri sincroni del corso acquisiscono gli ingressi specificati al fronte di clock. a scorrimento.

Dallo stato attuale al successivo
  1. Q attuale: Stato memorizzato nel ciclo attuale
  2. Circuito combinatorio: Calcolare D da Q e dagli ingressi esterni
  3. Prossimo fronte di salita: Memorizzare D se sono rispettati i vincoli temporali
  4. Nuovo Q: Presentare lo stato successivo dopo il ritardo clock-to-Q

Setup e hold sono presupposti del campionamento

D deve essere stabile durante il setupSetup Tempo minimo prima del fronte di acquisizione in cui i dati devono essere stabili. Una violazione rende non garantito il valore memorizzato. Approfondisci prima del fronte e l'holdTempo di hold Tempo minimo dopo il fronte di acquisizione in cui i dati devono restare stabili. Va distinto dal generico mantenimento di un valore. Approfondisci dopo. Cambiando D vicino al fronte non è garantito semplicemente il vecchio o il nuovo valore: può insorgere metastabilità. Il laboratorio non simula questo fenomeno analogico.

Un registro raggruppa più flip-flop. Una larghezza di otto bit non garantisce da sola che gli otto ingressi costituiscano un dato coerente. Servono condizioni temporali e regole comuni di trasferimento.

Stato iniziale e reset

Inizializzare Q=0 in simulazione non garantisce che l'hardware si accenda a 0. La prossima lezione aggiunge reset ed enable per definire inizializzazione e mantenimento. Il reset sincrono agisce al fronte; quello asincrono indipendentemente dal fronte, ma anche il suo rilascio richiede attenzione temporale.

Prova tu

Con CLK=1, D varia 0→1→0 e si stabilizza a 1 prima del successivo fronte di salita. Quando cambiano i Q? Il flip-flop si aggiorna due volte al fronte?

Leggi la spiegazione

Il latch segue D mentre CLK=1. Il flip-flop ignora quelle variazioni e acquisisce una sola volta D=1 valido al successivo fronte di salita. Nel circuito reale vanno inclusi setup, hold e clock-to-Q.

La scelta vale per questo browser. Puoi modificarla in qualsiasi momento dal piè di pagina.