Wie können Sie bei dieser Schaltung die minimale Zykluszeit berechnen, damit die Schaltung ordnungsgemäß funktioniert? Du musst mir erklären, wie ich mit Verzögerungen umgehe?
Es muss etwas mit dieser Formel sein? Tclk>= Tpd (FF1) + Tpd (CL) + Tsetup (FF2) wenn ja, wie kombiniert man hier die "Verzögerung"?
Neben dem ersten Beispiel habe ich über einen anderen Fall nachgedacht. Um zu versuchen, die Formel zu verstehen, fügen Sie ein weiteres Flip-Flop hinzu. Ich bin mir nicht so sicher, wie ich im Falle von: FF2 -> FF3, FF3 -> FF2 und: FF3 -> FF1 vorgehen soll. Kannst du mir helfen?
Das ist richtig (?):
Tper12 +Tdelay1[min] ≥ Tpd(FF1)+Tpd(CL1)+Tsetup(FF2)
Tper23 +Tdelay2[min]-Tdelay1[max] ≥ Tpd(FF2)+Tpd(CL2)+ Tsetup(FF3)
Tper31 -Tdelay1[max]-Tdelay2[max] ≥ Tpd(FF3) + Tpd(CL3) + Tsetup(FF1)
Tper32 -Tdelay1[max]-Tdelay2[max]+Tdelay2[min]≥Tpd(FF3 )+Tpd(CL3)+Tsetup(FF2)
Da dies eine "Hausaufgaben"-Frage ist, werde ich nur eine Teilantwort geben. Sie scheinen festgefahren zu sein, wie Sie mit der Tatsache umgehen sollen, dass die beiden FFs unterschiedliche Uhren haben.
Die zwei FFs werden von Takten angesteuert, die zwei unterschiedliche Verzögerungen von einem gemeinsamen Takt haben. Beginnen Sie mit dem Zeichnen eines Zeitdiagramms:
reference time
|________________ ________________
Clock ____/ \________________/ \_________
|
-->| |<-- Delay1(min)
-->| | |<--Delay1(max)
| |__|________________ ___________________
Clk(FF1) ____|_/__/ \__\_____________/__/ \__\____
|
-->| |<-- Delay2(min)
-->| | |<--Delay2(max)
|___|_________________ _____________________
Clk(FF2) _______/___/ \___\___________/___/ \___\_
Wie Sie sehen können, gibt es eine beträchtliche Menge an potenziellem Taktversatz zwischen den beiden Takten.
Sie müssen zwei Extremfälle berücksichtigen:
Es kann einfacher sein, wenn Sie eine der FF-Uhren als Referenz verwenden, wodurch Sie den Gesamtversatz zwischen den beiden FFs direkt anzeigen können. Folgendes erhalten Sie, wenn Sie Clk(FF1) als Referenz verwenden:
reference time
|________________ ________________
Clk(FF1) _______/ \________________/ \______
|
-->| |<-- Delay1(min)
-->| | |<--Delay1(max)
|__|_|______________ ___________________
Clock __/__/ | \__\_____________/__/ \__\________
| | |
-->| |<-- Delay2(min)
-->| | |<--Delay2(max)
|_|____|________________ _______________________
Clk(FF2) _____/_|____/ \______\__________/______/ \_____\
| |
|<------ total path delay ------>|
from FF1 to FF2
Beachten Sie, dass wir den Minimalwert von Delay2 relativ zur frühestmöglichen Clock-Flanke zeigen, während wir den Maximalwert relativ zur spätestmöglichen Flanke zeigen. Dies zeigt, dass der Gesamtversatz zwischen den beiden FF-Takten gleich der Summe der Versätze (Differenzen zwischen minimalen und maximalen Verzögerungen) für Delay1 und Delay2 ist.
Wenn Sie den kombinatorischen Pfad von FF1 zu FF2 betrachten, müssen Sie berücksichtigen, dass die FF2-Uhr frühestens Delay2(min)-Delay1(max) relativ zur FF1-Uhr auftreten kann und Ihre Setup-Zeit für FF2 relativ sein muss zu diesem Zeitpunkt. Bei Betrachtung des Pfades von FF2 nach FF1 ergibt sich ein entsprechender Zusammenhang.
Ich hoffe, das ist genug, um dich zum Laufen zu bringen.
Da Sie immer noch festzustecken scheinen, hier ist mehr:
Die allgemeine Regel lautet, dass bei Betrachtung des FF1→CL1→FF2-Pfads der Takt bei FF2 nicht früher kommen kann als die Summe der maximalen Verzögerungen, beginnend mit dem Takt bei FF1, einschließlich der Clock-to-Out-Verzögerung von FF1 und dem Setup Zeit von FF2. Die Dinge, über die ich oben gesprochen habe, zeigen, wie sich diese Gesamtwegverzögerung auf die Taktperiode mit den beiden Verzögerungen bezieht.
Wenn die Uhren identisch sind, können Sie sagen:
Tper(min) ≥ TpdFF1(max) + TpdCL1(max) + TsuFF2(max)
Wenn dies nicht der Fall ist, müssen Sie die allgemeinere Formel verwenden:
Tclk(FF2) - Tclk(FF1) ≥ TpdFF1(max) + TpdCL1(max) + TsuFF2(max)
Zu wissen, dass das früheste Tclk(FF2) ist:
Tclk(FF2) - Tclk(FF1) = Tper12(min) - Delay1(max) + Delay2(min)
Sie können diese miteinander kombinieren, um Folgendes zu erhalten:
Tper12(min) ≥ TpdFF1(max) + TpdCL1(max) + TsuFF2(max) + Verzögerung1(max) - Verzögerung2(min)
Wenn Sie den Pfad FF2→CL2→FF1 betrachten, erhalten Sie eine ähnliche Formel:
Tper21(min) ≥ TpdFF2(max) + TpdCL2(max) + TsuFF1(max) + Verzögerung2(max) - Verzögerung1(min)
Die endgültige Antwort wird der größere dieser beiden Werte sein.
David Tweed
Mathematisch
David Tweed
Mathematisch
David Tweed
Mathematisch
David Tweed
Mathematisch