1 / 24 · Konzept
Aus einer Gleichung eine Datenpfadspezifikation machen
Definieren Sie neben der Arithmetik auch Bitbreiten, Übernahmeereignisse und gültige Ergebnisse.
Lektionen sind frei lesbar. Schreibe dich ein, um deinen Fortschritt zu speichern.
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 Spezifikation | Festlegung in diesem Kurs |
|---|---|
| Bedeutung der Operanden | Vorzeichenlose ganze Zahlen von 0 bis 255 |
| Verringerung der Bitbreite | Untere acht Bits, modulo 256 |
| Informationen zu Grenzüberschreitungen | ADD-Übertrag und SUB-Entlehnung |
| Übernahme | Steigende Flanke bei gleichzeitig gesetztem valid und ready |
| Reihenfolge | Ergebnisse folgen der Reihenfolge der übernommenen Eingaben |
| Reset | Ausstehende 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.
- Übernehmen: Operanden, Operation und Tag erfassen
- Berechnen: Festgelegte numerische Regeln anwenden
- 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.