Register-Transfer Architektur (RTL)

Ziele

  • Verständnis der Funktionsweise von registerbasierter Datenverrabeitung durch Trennung in Daten- und Kontrollpfade

  • Verständnis von Syntheseverfahren auf RT Ebene, Unterscheidung von Struktur- und Verhaltensbeschreibung

  • Aufbau und Funktionsweise von Zustandsautomaten

Entwurfs- und Syntheseverfahren

Der Entwurfsprozeß gliedert sich in mehrere Stufen:

  1. Systemebene

    • Aufteilung des Gesamtsystems in Subsysteme. Man spricht von der Partitionierung in kooperierende Prozesse.
    • Es liegt noch kein Zeitmodell, sondern nur ein Kausalitätsschema vor (Abhängigkeitsmodell).
    • Spezifikation der Funktionalität
  2. Algorithmische Ebene

    • Verhaltensbeschreibung
    • Festlegung von Datenbreiten, globalen Speichergrössen und Befehlssätzen von Mikroprozessoren.
    • Hardware-Software-Co-Design, d.h. Partitionierung des Gesamtentwurfs in einen hardwareabhängigen Teil (Mikroprozessoresysteme) und Software (Assemblercode).
    • Einsatz von Hardwarebeschreibungssprachen zur Implementierung und Beschreibung der Algorithmik.
    • Zeitmodell: verfeinertes Kausalitätsmodell.

Entwurfs- und Syntheseverfahren

  1. Register-Transfer-Ebene

    • Mikroprogrammebene

    • Aufteilung des Entwurfs von Algorithmen in Daten- und Kontrollfluss bzw. -pfaden.

    • Einführung digitaler Komponenten:

      • Register/Speicher
      • Multiplexer
      • Arithmetische und logische Einheiten
    • Zeitmodell: zeitdiskret bei synchronen Systemen, der Kontrollfluss ist takt- und zustandsgesteuert; Deadlines bei asynchronen Systemen.

    • Festlegung von Größe und Anzahl von Registern und Verarbeitungswerken.

Entwurfs- und Syntheseverfahren

  1. Logikebene

    • Schaltungsentwurf mit Makrobibliotheken von digitalen Komponenten, abhängig von der Zieltechnologie.

    • Boolesche Minimierung kombinatorischer Logik.

    • Sequenzielle Optimierung im Kontrollfluss (Z.B. Entfernung von nicht erreichbaren Zuständen eines Zustandsautomaten).

    • Festlegung des zeitlichen Verhaltens (noch diskret): Verzögerungszeiten, FAN-In / FAN-Out, d.h. das zeitliche Verhalten von Logikgattern und Registern wird von der Art und signifikant von der Anzahl an Senken (weitere Logikgatter und Register) bestimmt, die am Ausgang eines Logikgatters angeschlossen sind.

      • Gegebenfalls Einfügen von Pufferstufen in den Signalweg zur Verbesserung des Schaltverhaltens.

Entwurfs- und Syntheseverfahren

  1. Schaltkreisebene (Transistorebene) → Logik

    • Netzwerke aus Transistoren
    • Zeitmodell: kontinuierlich, Signal-Wertverlauf: kontinuierlich
  2. Schaltkreisebene (Physikalische Layoutebene)

    • Konkretes Chip-Layout mit konkreten Abmessungen und Dimensionierung (nur bei ASICs).

Beim Systementwurf gibt es einen zweidimensionalen Entwurfsraum, der aus der Systemlaufzeit (kleinste Periodendauer des Taktsignals bei einem synchronen System) und der Chip-Fläche (Anzahl von Logikgattern und Registern) gebildet wird. Das Ziel beim Systementwurf ist i.A. ein Kompromiss aus Minimierung der Systemlaufzeit und Chip-Fläche.

Entwurfs- und Syntheseverfahren

figsynth1


Abb. 1. Kriterien für den Systementwurf auf Logikebene

Entwurfs- und Syntheseverfahren

figsynth2


Abb. 2. Ebenen beim Schaltkreisentwurf [Lehmann, Wunderm Selz]

Entwurfs- und Syntheseverfahren

Entwurfsablauf

  1. Der Systementwurf wird durch Simulation und Verifikation rückgekoppelt.

  2. Dem eigentlichen Syntheseprozess schließt sich das so genannte Technologieabbildung an, welches eine Netzliste mit Logikkomponenten auf die Zielhardware abbildet.

  3. Simulation kann sowohl auf höheren Ebenen vor der Synthese durch Verhaltensmodellierung, aber auch nach der Synthese auf Logikebene stattfinden.

  4. Fehlersuche im Testsystem

Entwurfs- und Syntheseverfahren