Altifigence Academy

1 / 24 · Konzept

Aus einer Gleichung eine Datenpfadspezifikation machen

Definieren Sie neben der Arithmetik auch Bitbreiten, Übernahmeereignisse und gültige Ergebnisse.

Festlegen, was die Schaltung zusichert

Ein Datenpfad speichert, wählt und berechnet Werte. Sein Steuerwerk entscheidet, welche Werte wann weitergegeben werden. Dies sind getrennte Entwurfsaufgaben, aber keine unabhängig laufenden Softwareprozesse. An einer Taktflanke bestimmen Steuersignale die Registeraktualisierungen; diese Registerwerte dienen der kombinatorischen Logik während des folgenden Takts als Eingaben. Eine Gleichung ohne diese zeitlichen Verhaltensregeln kann die richtige Zahl für die falsche Transaktion liefern.

Unser kleiner Rechner übernimmt die vorzeichenlosen Acht-Bit-Operanden a und b und eine Zwei-Bit-Operation. Operation 0 addiert, 1 subtrahiert, 2 berechnet AND und 3 berechnet XOR. Arithmetische Operationen liefern die unteren acht Bits sowie einen separaten Übertrag bei der Addition oder eine Entlehnung bei der Subtraktion. Spätere Projekte führen außerdem eine Kennung, den Tag, mit. Ein Tag verändert die Berechnung nicht, identifiziert aber die Eingabe, aus der ein Ergebnis entstand, und muss daher mit diesem Ergebnis weitergegeben werden.

Teil der SpezifikationFestlegung in diesem Kurs
Bedeutung der OperandenVorzeichenlose ganze Zahlen von 0 bis 255
Verringerung der BitbreiteUntere acht Bits, modulo 256
Informationen zu GrenzüberschreitungenADD-Übertrag und SUB-Entlehnung
ÜbernahmeSteigende Flanke bei gleichzeitig gesetztem valid und ready
ReihenfolgeErgebnisse folgen der Reihenfolge der übernommenen Eingaben
ResetAusstehende Arbeit verwerfen und den Gültigkeitszustand löschen

Für a=250, b=10 und ADD beträgt die mathematische Summe 260. Die Ausgabe ist 4 mit carry=1. Eine vorzeichenbehaftete Interpretation oder Sättigung würde andere Verhaltensregeln ergeben. Überlassen Sie die Festlegung nicht einer unbeabsichtigten Typumwandlung der Programmiersprache. Arithmetik mit Umlauf kann für Adresszähler geeignet sein, während eine Helligkeitsberechnung möglicherweise Sättigung erfordert.

Transaktionspfad
  1. Übernehmen: Operanden, Operation und Tag erfassen
  2. Berechnen: Festgelegte numerische Regeln anwenden
  3. Ausgeben: Ergebnis und zugehörigen Tag übertragen

Eine ungültige ALU-Ausgabe kann sich elektrisch trotzdem verändern; sie stellt keine Transaktion dar. Auch ein gültiges Ergebnis mit einem alten Tag ist falsch. Prüfen Sie Daten, Tag und valid gemeinsam. Klären Sie für jede Ausgabe sowohl die Bedeutung der Bits als auch den Zeitpunkt, ab dem ein Empfänger ihnen vertrauen darf. Die Taktmodelle hier prüfen Funktion und Reihenfolge, keine physikalischen Gatterlaufzeiten. Überführen Sie die Spezifikation in ein Referenzmodell, bevor Sie Registergrenzen für ein Latenz- oder Durchsatzziel festlegen.

Selbst ausprobieren

Notieren Sie das Acht-Bit-ADD-Ergebnis und den Übertrag für a=250 und b=10. Erklären Sie den Wert 4 und weshalb der Tag zusammen mit dem Ergebnis gespeichert werden muss.

Erklärung lesen

260=1×256+4, also data=4 und carry=1. Die Festlegung auf die unteren acht Bits reduziert die Summe modulo 256. Speichern Sie den Tag unter denselben Übernahme-, Warte- und Ausgabebedingungen wie die Daten, damit das Ergebnis seiner Eingabe zugeordnet bleibt.

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