Imposta e mantieni il tempo di uscita in caso di violazione


9

Considera un flip flop D attivato dal fronte positivo con segnale di ingresso X con un tempo di configurazione di 20 ns e un tempo di mantenimento di 0 ns. Quale sarà l'output?

C è un segnale di clock con un periodo di 40 ns.

Inserisci qui la descrizione dell'immagine

Durante il sesto fronte positivo, vediamo che i dati (o X) non sono stabili per 20 ns (tempo di installazione) prima che passino da 1 a 0. Quindi l'output non è prevedibile, giusto?

Quando ho chiesto questo al mio professore, ha detto che l'output del flip flop sarebbe il valore dell'input (X) prima di 20 ns che è 1 qui.

Ha ragione?

Risposte:


17

Se il tempo di installazione del flip-flop è di 20 ns, significa che i dati devono essere stabili almeno 20 n prima del limite di acquisizione. Allo stesso modo il tempo di attesa è la quantità di tempo, i dati devono rimanere stabili dopo che è apparso un fronte di clock. Quindi insieme definiscono una "finestra di configurazione", in cui i dati devono rimanere stabili.

inserisci qui la descrizione dell'immagine Se i dati cambiano / si alternano in questa finestra, l'output è imprevedibile o metastabile.

Nella tua domanda i dati si alternano nella finestra di configurazione prima del sesto limite dell'orologio, significa che l'output è imprevedibile.


Forse puoi correggere il tuo professore tomo.
Mitu Raj,

8
E vale la pena ricordare che, a seconda dei ritardi interni, i tempi di attesa possono essere negativi. Cioè, per alcuni circuiti integrati è possibile effettivamente rilasciare i dati prima che arrivi il limite dell'orologio. Ma rimane una finestra in cui i dati devono essere stabili.
WhatRoughBeast il

1
Correzione minore: sui processi moderni la vera metastabilità avviene solo in una finestra dell'ordine dei femtosecondi. La stragrande maggioranza dei casi in cui viene violata l'installazione / sospensione non vedrà la metastabilità. Il risultato in questi casi sarà in realtà deterministico ma fortemente dipendente dalla temperatura oltre agli input. Non sarei ancora d'accordo con il professore e sarei d'accordo con te sul fatto che l'output sia imprevedibile a tutti gli effetti, ma la metastabilità non è il problema (e in realtà raramente è sempre il problema).
jalalipop,

7

Il tuo professore deve tagliare le erbe.

Poiché i dati cambiano entro il tempo di impostazione e poiché il tempo di installazione è un periodo di tempo minimo prima dell'orologio che i dati devono essere stabili, è impossibile stabilire se l'output sarà zero o uno. In effetti potrebbe persino entrare in uno stato metastabile e oscillare.


5

Se i dati sono stabili tra i tempi di installazione e di attesa, il produttore del fermo D garantisce che l'output del fermo D sarà prevedibile, ciò che dice che sarà nella scheda tecnica.

Se i dati cambiano durante l'installazione per mantenere la finestra, è probabile che l'output sarà 0 o 1, ma il produttore non fa affermazioni su quale.

È probabile che sia solo uno 0 o 1, non è garantito. L'output potrebbe diventare metastabile. Ciò significa che potrebbe esserci un tempo extra limitato e imprevedibile, oltre il normale ritardo di propagazione citato nella scheda tecnica, per il quale due porte guidate da questo output potrebbero prendere decisioni diverse sul fatto che fosse uno 0 o 1. Questa è una cosa negativa.


4

Se l'input soddisfa i requisiti di impostazione e tempo di attesa, l'output è essenzialmente "garantito" per riflettere l'input; se viola il tempo di installazione, il comportamento non è più garantito o completamente prevedibile, come dici tu.

Il tuo professore potrebbe essere "un po 'probabilmente" giusto nel senso che potrebbe esprimere quello che il segnale di uscita è probabilmente destinato a finire, soprattutto se sta interpretando il tempo di installazione come una descrizione deterministica del comportamento del flip-flop, piuttosto che un requisito minimo con possibile variazione da una serie di condizioni alla successiva. Ma la tua interpretazione e il tuo istinto sono davvero sul bersaglio. I tempi di impostazione e di attesa sono generalmente utilizzati per esprimere valori min / max per i quali è possibile prevedere in modo affidabile il comportamento attraverso le variazioni di processo / tensione / temperatura e ogni volta che l'ingresso li viola, non è possibile prevedere in modo affidabile l'uscita .

Se il flip-flop generalmente ha fino a 20 n di ritardo dall'ingresso al punto in cui ha effetto il limite dell'orologio, è più probabile che l'output finisca per essere quello che era "attorno" (fino a) 20 ns prima del limite dell'orologio, come suggerisce il tuo professore. Ma l'unica cosa specificata per il dispositivo è che se vengono rispettati i tempi di configurazione e di attesa, l'output seguirà l'input.

Quindi, in altre parole, immagino che entrambi abbiate ragione in una certa misura, ma la vostra interpretazione è corretta al 100%, mentre la risposta del vostro professore è solo "probabilmente" giusta, e il grado in cui la sua risposta sarà giusta è - come dici tu - imprevedibile.

(E ovviamente in senso pratico - piuttosto che accademico - useresti quella risposta solo in un progetto in cui era accettabile che l'output in quel ciclo di clock fosse "probabilmente 1" senza alcuna specifica della probabilità che fosse, o dove non ci sono state conseguenze reali per far sì che il flip-flop entri in uno stato metastabile "per un po '". Tali applicazioni tendono ad essere più rare.)


3

L'output sarà sconosciuto e un simulatore lo rifletterà impostando il valore di output su "X".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.