Ich lese ein Buch über Computerarchitektur, und darin steht, dass bei getakteten flankengesteuerten Geräten die Kontaminationsverzögerung normalerweise nicht Null ist und dass die Kontaminationsverzögerung für Register größer als ihre Haltezeit angenommen wird, "was ihm die wichtige Eigenschaft, dass seine Ein- und Ausgänge gleichzeitig gelesen und geschrieben werden können (d. h. von ähnlichen Geräten, die denselben Takteingang teilen)".
Aber diese Aussage habe ich nicht ganz verstanden. Soweit ich weiß (ich bin sehr neu in diesem Thema), ist die Kontaminationsverzögerung eine Mindestzeit, gemessen nach der aktiven Taktflanke, während der der Ausgang gültig bleibt, nachdem sich der Eingang geändert hat (gemessen nach der aktiven Taktflanke). und die Haltezeit ist eine minimale Zeitanforderung, gemessen von der aktiven Taktflanke, während der die Eingangsdaten stabil gehalten werden müssen. Warum ist die Kontaminationsverzögerung des Registers größer als die Haltezeit, und wie genau ermöglicht diese Tatsache, dass es gleichzeitig gelesen und geschrieben werden kann? Könnte jemand eine genauere Erklärung geben?
Aktualisieren: Ich verstehe grundsätzlich, wie wichtig es ist, dass die Kontaminationsverzögerung in einem flankengesteuerten Flipflop größer als die Haltezeit ist, wenn zwei verkettete Flipflops vorhanden sind (dh der Ausgang des ersten dient als Eingang für den zweiten). ). Wenn der Takt ansteigt, wird der Eingang zum ersten Flip-Flop abgetastet und zum zweiten Flip-Flop weitergeleitet. Dann, nach einer Taktperiode, wenn der Takt wieder ansteigt, tastet das zweite Flipflop seinen Eingang ab. Aber der Eingang des zweiten Flip-Flops muss für mindestens eine Haltezeit auf dem gleichen Wert bleiben, nachdem die Uhr ansteigt, wenn wir wollen, dass er korrekt gespeichert wird. Das erste Flip-Flop muss also garantieren, dass sich sein Ausgang (der der Eingang für das zweite Flip-Flop ist) für mindestens eine Haltezeit nicht ändert. Das ist,
Ist das richtig? Der Teil, den ich nicht verstehe, ist, warum diese Tatsache den Registern "die wichtige Eigenschaft verleiht, dass ihre Ein- und Ausgänge gleichzeitig gelesen und geschrieben werden können (dh von ähnlichen Geräten, die denselben Takteingang teilen)".
Aus meinem Lehrbuch, Digital Design and Computer Architecture , Harris and Harris, pg. 88
Ein wichtiger Hinweis
Wenn Sie versuchen, die Ausbreitungsverzögerung einer kombinatorischen Schaltung mit mehreren Elementen zu finden, müssen Sie die Ausbreitungsverzögerung durch den kritischen Pfad hinzufügen .
Wenn Sie jedoch versuchen, die Kontaminationsverzögerung einer kombinatorischen Schaltung mit mehreren Elementen zu finden, müssen Sie die Kontaminationsverzögerung über den kürzesten Weg addieren .
So viel ist Ihnen wahrscheinlich klar.
Eigentlich klingt es für mich so, als würden Sie sich auf die Kontaminationsverzögerung beziehen. Sie sagten, die Kontaminationsverzögerung ist die Zeit, die gemessen wird, nachdem sich eine Eingabe geändert hat, bis die Ausgabe gültig bleibt. Wenn Sie die vorherige Ausgabe meinen , dann ja, denn das bedeutet dasselbe wie bis die Ausgabe beginnt, sich auf den neuen Wert zu ändern.
Zusatz
Zu Ihrer Frage, wie das mit dem Lesen und Schreiben aus einem Register umgeht. Das hat mich eine Weile verwirrt, aber ich denke, es macht jetzt vollkommen Sinn für mich.
Was Sie also über die Kontaminationsverzögerung und die Haltezeit gesagt haben, ist richtig. Dieses Problem tritt auf, wenn Flip-Flops verkettet sind. Und wenn Sie darüber nachdenken, gilt es auch nur, wenn Sie gleichzeitig lesen und schreiben möchten.
Stellen Sie sich eine Schaltung mit nur 2 Flip-Flops vor. Es muss nicht unbedingt ein Register sein, nur das erste Flip-Flop ist das Speicherelement, in das geschrieben wird , und das 2. Flip-Flop ist das Speicherelement, das das erste liest . Wenn Sie nur in verschiedenen Taktzyklen lesen und schreiben müssten, wäre nichts von diesem Verzögerungszeug von Bedeutung, da das Lesen immer in einem anderen Taktzyklus erfolgen würde, wenn die Ausgabe des ersten stabil wäre, und sich nicht ändern könnte, da das Schreiben möglich ist. t treten im selben Taktzyklus auf.
Wenn Sie jedoch im selben Taktzyklus einen neuen Wert in das 1. Flipflop schreiben und den vorherigen Wert ordnungsgemäß in das 2. einlesen möchten, ist dies genau die von Ihnen beschriebene Situation, bei der die Verschmutzung des ersten kleiner als die Haltezeit des zweiten war, dann würde das Schreiben auf das erste dadurch das Lesen des zweiten verunreinigen. Es macht absolut Sinn. Das Lesen muss erfolgreich erfolgen, bevor das Schreiben beginnt, das Gelesene zu ändern, sonst geht der Wert verloren.
Ich habe den Begriff "Kontaminationsverzögerung" noch nie gehört, aber es hört sich so an, als würden Sie über die Anforderungen an die Eingangshaltezeit sprechen.
Flankengetriggerte Speichergeräte haben ein Zeitfenster relativ zur Taktflanke, während dessen die Eingabe stabil gehalten werden muss, um ihren Wert zuverlässig zu erfassen (und Metastabilitätsprobleme zu vermeiden). Der Beginn dieses Fensters wird "Eingabe-Setup-Zeit" genannt und das Ende des Fensters wird "Eingabe-Haltezeit" genannt. Die Eingangshaltezeit ist oft Null und kann sogar negativ sein.
Der Ausgang eines solchen Geräts hat ein Zeitfenster, in dem er sich ändert, wenn der neue Wert vom alten Wert abweicht. Normalerweise gibt es eine minimale Takt-zu-Ausgabe-Zeit, auch "Ausgangshaltezeit" genannt, die immer ein kleiner positiver Wert ist. Es gibt auch eine maximale Laufzeit von der Uhr zum Ausgang, nach deren Ablauf der Ausgang garantiert den neuen Wert hat.
Ihre Frage bezieht sich auf die Beziehung zwischen der Ausgangshaltezeit und der Eingangshaltezeit. Solange Ersteres größer ist als Letzteres, können Reihen identischer Geräte (z. B. Flip-Flops in einem Schieberegister) direkt miteinander verbunden werden, Ausgang an Eingang, ohne Bedenken hinsichtlich unerwarteten Verhaltens.
Ich denke, der Begriff "Kontaminationsverzögerung" wird verwendet, um sich auf die minimal mögliche Dauer zwischen dem Zeitpunkt zu beziehen, an dem die Eingänge ihre alten gültigen Eingangspegel nicht mehr halten, und dem frühesten Moment, an dem die Ausgänge möglicherweise nicht mehr ihre alten gültigen Ausgangspegel halten. Der Begriff "minimale Ausbreitungsverzögerung" wird häufig für diesen Zweck verwendet, aber eine solche Verwendung impliziert, dass der Begriff "Ausbreitungsverzögerung" tatsächlich zwei Dinge misst:
Die Zeitspanne zwischen dem Zeitpunkt, an dem eine Eingabe zum ersten Mal aufhört, eine gültige Darstellung der alten Ebene zu sein, und dem Zeitpunkt, an dem die Ausgabe zum ersten Mal als gültige Ebene angesehen werden darf.
Die Zeitspanne zwischen dem Zeitpunkt, zu dem ein Eingang einen stabilen gültigen Logikpegel annimmt, und dem Zeitpunkt, bis zu dem der Ausgang einen stabilen Logikpegel angenommen haben muss.
Wenn man davon ausgeht, dass ein Eingang gleichzeitig aufhört, ein gültiges Low zu sein und ein gültiges High wird, oder umgekehrt, ist die Startreferenz für diese beiden Zeiten dieselbe. In einigen Fällen können sie jedoch unterschiedlich sein. Ferner impliziert der Begriff "Fortpflanzungsverzögerung" im Allgemeinen, dass etwas Nützliches weitergegeben wird, aber in einigen Fällen kann ein Eingangsstimulus dazu führen, dass eine Ausgabe, die gültig war und in ihrem gegenwärtigen Zustand bleiben sollte, vorübergehend ungültig wird, bevor sie in den Zustand zurückkehrt es hatte zuvor gehalten.
Stellen Sie sich zum Beispiel eine Schaltung vor, die "high" ausgeben soll, wenn ein 16-Bit-Ripple-Ripple-Zähler einen Wert von 32767 bis einschließlich 65534 hat. Idealerweise würde die Schaltung genau beim Eintreffen des 32.767. Impulses ein "Hoch" ausgeben (unter der Annahme, dass der Zähler bei Null gestartet ist) und beim Eintreffen des 65.535. Impulses auf "Low" gehen. Ohne zusätzliche Schaltkreise kann die Schaltung jedoch sehr gut beim Eintreffen des 32.768. Impulses kurz auf Low gehen (wenn sie gerade hoch sitzen sollte) und beim Eintreffen des 65.536. Impulses kurz auf High gehen (wenn sie gerade sitzen sollte niedrig). Abhängig davon, was der "compare"-Ausgang tut, kann die Tatsache, dass er bei diesen Impulsen kurzzeitig ungültig wird, ein Problem sein oder auch nicht, aber es scheint ein wenig umständlich, sein Verhalten in Bezug auf "
favq
krb686
krb686
favq