Flip-flop SR, latch multiplexer e memorie RAM
Flip-flop SR ottimizzato
Section titled “Flip-flop SR ottimizzato”

Una versione più compatta del flip-flop SR con clock si può realizzare ponendo dei pull-down di fronte agli invertitori.
I pull-down aggiunti devono essere ‘più forti’ di quelli degli invertitori, ovvero devono portare la tensione in entrata al di sotto della tensione di soglia dell’invertitore.
Ritardo di commutazione
Section titled “Ritardo di commutazione”Il ritardo tra l’attivazione del reset e la commutazione di è dato da 2 componenti:
- Il ritardo per portare a dovuto all’inverter pseudo nMOS fatto da e .
- Il ritardo dovuto all’inverter CMOS composto da e .
Latch basato su multiplexer
Section titled “Latch basato su multiplexer”Il flip-flop può essere realizzato utilizzando dei multiplexer, che sono molto facili da realizzare in logica transmission gate.
Quando il clock viene letto l’ingresso , mentre quando va a il dato resta memorizzato.

Il vantaggio è un minore consumo, dato che non c’è un pull-down che deve continuamente ‘combattere’ il pull-up per portare l’uscita a massa. Tuttavia bisogna usare un maggior numero di transistor.
Flip-flop master-slave
Section titled “Flip-flop master-slave”Tutte le memorie viste finora lavorano su un livello. Se l’ingresso si aggiorna in mezzo al ciclo alto di clock, l’uscita si aggiorna subito. In molte applicazioni è utile invece aspettare di cambiare l’uscita fino al prossimo fronte del clock.
Per fare questo, si mettono in cascata 2 latch SR: il primo aperto quando il clock è alto e il secondo quando il clock è basso.
Non c’è mai un cammino diretto tra ingresso e uscita e quindi non si possono trasmettere modifiche avvenute durante il ciclo di clock.
Memorie RAM
Section titled “Memorie RAM”Le memorie RAM sono organizzate a matrice:
- un decoder seleziona la riga (wordline) dalla prima metà dell’indirizzo;
- tutta la riga viene letta;
- i sense amplifier amplificano i valori nelle celle lette;
- un multiplexer (column decoder) seleziona la colonna (bitline) e quindi la cella desiderata usando l’altra metà dell’indirizzo;

Ogni cella funziona come visto in precedenza: 2 invertitori incrociati (flip-flop statico), controllati da pass transistors.
