Altifigence Academy

13 / 24 · Konzept

Übernahmeereignisse und Stabilität während Wartezyklen

Ordnen Sie Sender und Empfänger ihre Aufgaben zu und erhalten Sie angehaltene Nutzdaten.

Eine Übertragung benötigt beide Signale an einer Flanke

Valid sagt zu, dass der Sender Nutzdaten anbietet. Ready sagt zu, dass der Empfänger an der aktuellen Flanke ein Element übernehmen kann. Eine steigende Flanke mit beiden Signalen auf hoch überträgt genau eine Transaktion. Zu den Nutzdaten gehören alle Begleitfelder, etwa Tag, Operation oder Adresse. Ein dauerhaft hohes valid kann ein wartendes Element oder eine Folge von Elementen bedeuten, die an aufeinanderfolgenden Flanken mit ready übertragen werden.

Wenn valid hoch und ready niedrig ist, halten Sie valid und die gesamten Nutzdaten stabil. Unsere Regeln gestatten nur Reset oder ein ausdrückliches Leeren, um diese Verpflichtung aufzuheben. Wartet ein Sender vor dem Setzen von valid auf ready, während der Empfänger vor dem Setzen von ready auf valid wartet, können beide für immer warten. Bieten Sie ein vorbereitetes Element unabhängig von ready an. Diese Handshake- und Stabilitätsprinzipien sind in Arms AMBA-AXI-Spezifikation, Abschnitt A3 dokumentiert. Dieser kleine Datenstrom implementiert nicht die vollständige AXI-Schnittstelle.

FlankevalidreadyNutzdatenÜbertragung
010tag4,y9Keine
110tag4,y9Keine
211tag4,y9tag4 einmal
311tag5,y12tag5 einmal
401UnerheblichKeine

Tag4 muss während der Wartezyklen unverändert bleiben. Nach seiner Übertragung an Flanke 2 darf der Sender tag5 anbieten. Ready allein erzeugt an Flanke 4 keine Transaktion. Wer allein valid zählt, kann Eingaben verlieren; wer allein Daten liest, kann Ausgaben verdoppeln.

Diese Regeln setzen eine einzelne Taktdomäne voraus. Sie lösen weder Taktdomänenübergänge noch Metastabilität. Zählen Sie übernommene Eingaben und ausgegebene Ergebnisse anhand ihrer jeweiligen Handshakes. Ohne Reset muss übernommen minus ausgegeben der intern ausstehenden Arbeit entsprechen. Reihen Sie übernommene Tags in eine Warteschlange ein und entfernen Sie sie erst bei der Ausgabe. Kombinieren Sie diese Bilanz mit Prüfungen angehaltener Nutzdaten, um Verlust, Verdopplung und Identitätsänderungen auch dann zu erkennen, wenn arithmetische Werte zufällig übereinstimmen.

Selbst ausprobieren

Valid ist in der Tabelle an vier Flanken hoch. Wie viele Übertragungen erfolgen und welche Tags werden übertragen? Welche Regel wird verletzt, wenn y an Flanke 1 auf 10 wechselt?

Erklärung lesen

Es erfolgen zwei Übertragungen: Tags 4 und 5 an Flanke 2 und 3. Die Änderung von y an Flanke 1 verletzt die Nutzdatenstabilität der an Flanke 0 angehaltenen Transaktion.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.