Nella logica sequenziale si pongono alcune problematiche:
l'influenza delle alee
l'attesa della stabilizzazione dei dati che non è possibile sincronizzare ordinatamente durante le loro transizioni.
il controllo dell'evoluzione temporale del sistema
La soluzione è imporre che gli ingressi possano influenzare l'uscita solo in brevissimi intervalli di tempo (finestra temporale di apertura), quando si è certi che tutti i transitori si siano esauriti. E' importante che il valore minimo e massimo dell'intervallo di tempo di apertura sia ben dimensionato.
Si dice che in tal modo non si ha trasparenza.
Una cella di memoria non trasparente si chiama flip flop.
Il circuito NOT-AND, utilizzato per simulare il glitch, in realtà svolge funzione utilizzabile: genera un impulso di brevissima durata in corrispondenza del fronte di salita del segnale di ingresso (studieremo che un circuito che in corrispondenza di un gradino genera un impulso si chiama derivatore).
Questo circuito può essere utilizzato per trasformare il latch in flip-flop: basta applicarlo all'enable e il latch rimarrà sempre nello stato di memoria tranne durante il fronte attivo ( di salita o di discesa) del clock.
Non si parla più di enable ma di clock, in quanto segnale di sincronismo che può coinvolgere tutto il sistema digitale in cui il FF è inserito: il sistema si evolve (le uscite si aggiornano) in istanti discreti cadenzati dal clock. Si possono realizzare in tal modo sistemi sincroni.
SCHEMA DI PRINCIPIO DI UN FF SR EDGE TRIGGERED POSITIVE
L'enable del latch è alto solo in seguito ai fronti di salita del clock, e per brevissimo tempo.
Solo in questi istanti la finestra si apre e gli ingressi SR possono influenzare Q.
Aumentando il numero dispari delle porte NOT si può aumentare l'apertura della finestra.
Il nuovo circuito si chiama flip-flop edge triggered positive per sottolineare la non trasparenza e l'apertura della finestra (per un breve intervallo temporale)in corrispondenza dei fronti positivi del clock.
Il triangolo sul CK indica la dipendenza dai fronti e un eventuale pallino la sensibilità ai fronti di discesa.
Con il termine trigger si intende un segnale di sincronismo, comando, innesco.
La struttura può essere più complessa (due latch abilitati in modo complementare per evitare la diretta trasparenza tra ingressi ed uscite...) come anche le problematiche connesse (metastabilità...).
FF tipo D
E' analogo al latch D a parte la commutazione delle uscite sui fronti del clock
ES. Octal D-type flip-flop with reset; positive-edge trigger
https://assets.nexperia.com/documents/data-sheet/74HC_HCT273.pdf
TEMPO DI SETUP E DI HOLD
Il diagramma temporale in fig. è tratto dalla Fig 9. Data set-up and hold times del FF 74AHC_AHCT273. Nell'intorno del fronte attivo del clock i dati devono rimanere stabili.
La linea orizzontale centrale (indicata sui datasheet come zona grigia ) significa che D può variare.
Si osservano i seguenti tempi, valutati al 50% del fronte:
tsu tempo di setup: intervallo di tempo in cui D deve rimanere stabile prima del fronte attivo del clock
tempo di hold: intervallo di tempo in cui D deve rimanere stabile dopo il fronte attivo del clock
tp ritardo di propagazione
Dai datasheet del 74AHC_AHCT273 risulta:
tsu = 1 ns (valore minimo)
th = 3 ns (valore minimo)
tp = 4-9 ns (valore medio-massimo)
INGRESSI ASINCRONI: CLEAR ( RESET ) E PRESET
Sono ingressi aggiuntivi che forzano l'uscita rispettivamente allo stato basso e alto indipendentemente da tutti gli altri segnali, anche del clock.
Servono in fase di inizializzazione o di situazioni particolari per riportare il sistema in stati ben precisi e quindi controllare l'evoluzione del sistema.
FF tipo JK
Rispetto al FF SR viene aggiunta la funzionalità toggle, inversione dell'uscita, al posto dello stato NU. Gli ingressi S e R sono ora indicati con le lettere J e K rispettivamente.
https://assets.nexperia.com/documents/data-sheet/74HC_HCT107.pdf
"The 74HC107; 74HCT107 is a dual negative edge triggered JK flip-flop featuring individual J and K inputs, clock (CP) and reset (R) inputs and complementary Q and Q outputs. The reset is an asynchronous active LOW input and operates independently of the clock input. The J and K inputs control the state changes of the flip-flops as described in the mode select function table. The J and K inputs must be stable one set-up time prior to the HIGH-to-LOW clock transition for predictable operation. Inputs include clamp diodes that enable the use of current limiting resistors to interface inputs to voltages in excess of VCC."
ES.
Scaricare il datasheet e studiare il Logic symbol ( Fig 1.) e la Function table (Table 3).
DIVISORE DI FREQUENZA
Un FF con J=K=1, detto tipo T, divide per 2 la frequenza del clock dato che l'uscita Q commuta soltanto in seguito ad uno dei due fronti del ciclo di clock.
Questa funzionalità può trovare ampi impieghi.
Insiemi di FF in cascata possono dividere ulteriormente per 4, 8,16 ecc..
ES.
Si consideri un FFD; collegare l'uscita negata all'ingresso D; applicare un segnale di clock e determinare il funzionamento.
ES.
Il circuito di figura rappresenta un comune gioco. Quale?
Descrivere il comportamento dei led.
Il blocco a sinistra genera un clock a 1KHz.