Provo a spiegarti gli esercizi, anche se non sono Tauraso..
Cominciamo dal primo esercizio..
Allora, innanzitutto il clock ti dice quando lo stato Q del tuo flipflop può cambiare da 0 a 1 o viceversa: in questo caso il flip flop è edge-triggered in discesa, cioè Q può cambiare SOLO quando il clock si abbassa;
NB!!!! in generale non è detto che il flipflop sia edgetriggered solo in discesa, ma può esserlo anche in salita (cioè Q cambia quando il clock si alza, come nel terzo esercizio).
Quindi lo stato Q può cambiare solo quando il clock passa da alto (o 1) a basso ( 0 ).
Come cambia Q? Nel caso del flipflop D (quello edge triggered), Q è uguale all'ingresso (segnato con D), ma SOLO quando il clock è su un fronte di salita o discesa!!!!
Nell'esercizio Q parte da 1.
Nel momento in cui il clock si abbassa (dove sta il pallettone sul grafico ^_^ ) e l'ingresso D è 0: solo ora Q può cambiare, e si porta a 0.
Bisogna però considerare che ogni volta che lo stato Q cambia livello, lo fa con un ritardo:
c'è un certo ritardo per passare da alto a basso (il TpHL), e un altro per andare da basso a alto (il TpLH), e sono i ritardi per passare dal 50% di 'cambiamento' di clock al 50% di cambiamento dello stato Q. Per capirsi meglio guarda il disegno: il 50% del clock è il pallettone a metà tra alto e basso, mentre il 50% del cambiamento di Q è l'altro pallettone su Q; la distanza tra le due metà è di 3ns (3 caselle), che è proprio il TpHL: poichè Q passa da alto a basso il ritardo è TpHL.
Nel secondo fronte di discesa del clock invece il ritardo è di 2ns perchè Q passa da alto a basso, ed è in pratica TpLH.
--------------------------------
Come puoi notare, visto che il flip flop è edge triggered, anche se D cambia, Q resta lo stesso 0; quando invece il clock si abbassa di nuovo (il freccione), allora Q cambia da 0 a 1 perchè D=1.
Quando il clock si abbassa per la terza volta, Q non cambia: Q è già uguale all'ingresso (cioè 1), quindi non bisogna far niente..
Per quanto riguarda il secondo esercizio, è più o meno lo stesso con patate.
Stavolta il flipflop non è più edge-triggered, ma è un latch (gated-latch): la differenza è che ora Q può cambiare per tutto il tempo in cui il clock ha valore alto ( 1).
Il flipflop è sempre di tipo D, quindi 'insegue' l'ingresso (come prima).
Nel disegno puoi quindi vedere che finche clock=0, Q resta invariato. Quando clock=1, Q insegue l'ingresso.
Resta ancora valido il discorso dei ritardi!!
La prima volta:
Q=0, D=1, CLK passa a 1 ---> Q passa da 0 a 1, con un ritardo TpLH (ritardo basso-alto) di 2ns;
Poi D passa a 0 ---> Q da 1 passa a 0 con un ritardo TpHL=1 ns (ritardo alto-basso).
Infine D ripassa a 1, e Q passa da 0 a 1 con un ritardo TpLH.
Dopo il clock si riabbassa a 0, quindi non puoi più cambiare stato e Q resta a 1 anche se D cambia.
L'ultimo è un po' più infame..
Il flipflop è di tipo D (quindi insegue l'ingresso) ed è anche edge-triggered in salita (quindi Q cambia solo quando il clock sale).
NB: che il flipflop sia edge-triggered o latch lo capisci anche dal disegno del flipflop, oltre che dai freccioni: il triangolo disegnato vicino all'ingresso del flipflop significa proprio edge-triggered.
Quindi:
Flipflop D, edge triggered in salita, perciò Q insegue l'ingresso D solo con il clock in salita.
Come varia D?
Al tempo t, D(t) = ( 1 AND Q'(t) ) = Q'(t)
(Q negato).
In pratica in questo esercizio, Q e D si inseguono a vicenda
devi tenere a mente solo questa cosa, il resto è uguale a prima.
Ora in pratica sai tutto per risolvere l'esercizio:
1) Quando il clock si alza, Q da 1 passa a 0 con il solito ritardo TpHL (alto-basso).
2) poichè Q ora diventa 0, anche D cambia e scende a 0, perchè come abbiamo visto prima
D(t)=Q'(t)--> Q=0, Q'=1 --> D=1
tuttavia anche l'ingresso cambia con un certo ritardo, che è quello dovuto alla porta AND!!
Cmq niente di preoccupante, è la solita solfa che hai visto prima, devi solo vedere se D passa da alto a basso o viceversa (TpLH in questo caso)
3) Q non passa a 1, perchè il clock non è in salita
4) Q, quando il clock sale, può cambiare stato ---> Q(t+1)=D(t)=1
(Q(t+1) è un modo più formale :P )
quindi Q cambia col solito ritardo (indovina quale? :P :P)
5) Poichè Q ora è cambiato, anche D cambia (sempre perchè D=Q ), e cambia col solito ritardo..
6) Consegni il compito con soddisfazione e una goccia di sudore :P :P
Spero di esserti stato utile, anche se non garantisco niente perchè ho scritto tutto ascoltando i Cure :P
in bocca a Confettino (bleah) per domani!