Wie berechnet man die Latenz einer Schaltung?

Nehmen wir an, wir haben diese Schaltung:

Geben Sie hier die Bildbeschreibung ein

tpd(AND)=5 ns, tpd(OR)=5ns, tpd(NOT)=3ns und tcd aller Gatter =1ns

FlipFlops: tpcq=1ns, tccq=1ns, tsetup=1ns thold=1ns

Zuerst möchte ich diese Schaltung auf Haltezeitverletzungen überprüfen. Und dann möchte ich die Latenz berechnen.

Was genau ist tccq und tpcq von FlipFlops? Ich verstehe, dass tcd + tccp > thold für die Haltezeit nicht verletzt wird. Zuerst würde ich nach dem kürzesten Weg suchen. Dies wäre vom FF "D" zum FF "F". Die tccq welcher FF (D oder F oder beides?) muss ich berücksichtigen?

Antworten (2)

T P C Q ist die Takt-zu-Q-Fortpflanzungsverzögerung eines Flip-Flops. Das ist die Zeitdauer, um den Wert bei D zu seinem Q fortzupflanzen, nachdem eine Taktflanke mit ansteigender Flanke aufgetreten ist. Bekannt als einfache Ausbreitungsverzögerung oder Takt-zu-Q-Verzögerung .

T C C Q ist die Zeitdauer, die für eine anfängliche Änderung des Ausgangs Q aufgrund des Eingangs D benötigt wird, nachdem eine Taktflanke mit ansteigender Flanke aufgetreten ist. Bekannt als Kontaminationsverzögerung .

T C D Und T P D sind dieselben Dinge. Aber die Begriffe, die für kombinatorische Tore verwendet werden.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

So T P C Q = Summe von T C C Q und die Zeitdauer für die Ausgabe Q, um stabil und gültig zu werden, seit die anfängliche Änderung aufgetreten ist. Das gleiche für T P D Und T C D .

Angenommen, ein Flip-Flop A sendet die Daten und Flip-Flop B erfasst sie.

  • Für keine Setup-Verletzung im Flip-Flop-zu-Flip-Flop-Pfad,

    T P C Q ( A ) + T P D + T S e T u P ( B ) < T C l k + T S k e w

  • Für keine Halteverletzung im Flip-Flop-zu-Flip-Flop-Pfad,

    T C C Q ( A ) + T C D > T H Ö l D ( B ) + T S k e w

In Ihrer Schaltung wird die Schräglage auf Null gesetzt.

Betrachten Sie den kürzesten Weg, um auf Halteverletzungen zu prüfen. Es ist von Q bis AND und OR:

Wie:

Geben Sie hier die Bildbeschreibung ein

Berücksichtigen Sie den längsten Pfad, um auf eine Setup-Verletzung zu prüfen.

Geben Sie hier die Bildbeschreibung ein

Aus den obigen Ausdrücken denke ich, dass die Antwort selbsterklärend ist.

Danke: Das bedeutet für mein obiges Beispiel: tccq(D) + tcd(AND) + tcd(OR) = 1+1+1=3ns > thold(F). Ist das richtig? Und auch die Latenz berechnen wollen: t_pd(NOT) + t_pd(AND) + t_pd(OR) + t_pcq(A) + t_setup(F) = 15ns Ist das richtig? Habe ich die richtigen FlipFlop-Delays für die Berechnungen gewählt?
ja das ist es..

In einfachen Worten:

Die Parameter beschreiben die Zeitverzögerungen unmittelbar nach der Taktflanke. Tccq tritt zuerst auf und ist die Zeitverzögerung von der Taktflanke, bis sich der Q-Ausgang möglicherweise nicht geändert hat, aber möglicherweise instabil ist. Tpcq ist die Gesamtverzögerung, die Tccq und jede zusätzliche instabile Periode enthält, nach der der Q-Ausgang garantiert stabil ist.

Lehrbuchdefinitionen:

Tccq: Kontaminationsverzögerung. Die Zeit nach einer Taktflanke, in der der Q-Ausgang möglicherweise instabil ist.

Tpcq: Ausbreitungsverzögerung. Die Zeit nach der Taktflanke, in der die Ausgangs-Qs garantiert stabil sind.

Vollständiger Artikel: (Kapitel 3, S. 64) http://sceweb.uhcl.edu/koch/ceng5133/notes/ch3.pdf

Vielen Dank für die Antwort. Ich verstehe nicht, was die FlipFlops ("A"-"D") am Anfang machen und welchen Zweck sie haben, welche Auswirkungen sie auf das Timing haben und vor allem, welche Auswirkungen sie haben, wenn ich die Latenz berechnen wollte. Wenn ich die FlipFlops am Anfang ignoriere: t_pd(NOT) + t_pd(AND) + t_pd(OR) + t_pcq("F") + t_setup("F") = 15ns