Sistemi di clocking

Ciao a tutti,

stavo leggendo la descrizione del "unsymmetric level-sensitive two-phase clocking". Vedi per esempio

formatting link
(
formatting link
)

Due latch in serie formano un Flipflop.

Mi sfugge qualcosa, o questo clocking si può ricondurre al classico "single-edge-triggered one-phase clocking" usando un clock con frequenza dimezzata e duty alterato?

Boiler

Reply to
Boiler
Loading thread data ...

Non sono sicuro di aver capito la tua obiezione.

Un FF edge triggered puo` essere fatto con due latch (a livello) che lavorano sui due livelli del clock.

Ma una soluzione con due clock a impulsi interlacciati permette di aumentare il throughput, o fare circuiti piu` compatti...

Spiega meglio i tuoi dubbi!

--

Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)
Reply to
Franco

Ci provo.

Prensiamo un esempio banale:

formatting link

L'esempio superiore è quello del classico single-edge-triggered clocking. La somma dei contamination delays supera l'hold time. Tutti i transienti sulla logica combinatoria si estinguono prima del setup time e il FF assume correttamente il nuovo valore. We live in the best of all possible worlds ;-)

Sotto abbiamo l'unsymmetric level-sensitive two-phase clocking.

Le condizioni sull'hold time sono ampiamente soddisfatte (ho assunto la peggiore delle possibilità, ovvero un cambio immediato del segnale non appena l'altro latch diventa trasparente).

Per le condizioni di setup ho supposto invece l'arrivo del segnale stabile all'ultimo momento possibile (inizio del setup time).

Come vedi dalla linea "setup condition L1" la condizione è soddisfatta, ma solo perché rispetto allo schema superiore ho ridotto il propagation delay dell'inverter. Se fosse stato lo stesso inverter, la condizione sarebbe stata violata.

Abbiamo quindi per finire che il clock a cui possiamo far lavorare il circuito superiore deve soddisfare T > t_propagation_FF + t_propagation_INV + t_setup_FF

Per il secondo circuito invece abbiamo T > t_propagation_L + t_propagation_INV + t_setup_L + T2

dove T2 è il tempo "morto" tra il primo e il secondo clock.

A me sembra quindi che il throughput diminuisca addirittura. E due latch dovrebbero prendere piú posto di un FF, quindi anche con la compattezza non ci siamo.

Mi sfugge qualcosa?

L'unico vantaggio che vedo è che mentre nel single-edge-triggered la hold condition o è soddisfatta o ci si può attaccare, nell'unsymmetric level-sensitive modificando il clock si può fare in modo che la hold condition sia sempre soddisfatta.

Boiler

Reply to
Boiler

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.