Registerübertragungsstufe
Im Digital Circuit Design, Registerübertragungsstufe (RTL) ist eine Designabstraktion, die a modelliert a synchron Digitaler Schaltung In Bezug auf den Fluss digitaler Signale (Daten) zwischen Hardwareregister, und die logische Operationen auf diesen Signalen durchgeführt.
Die Abstraktion auf Register-Transfer-Ebene wird in verwendet Hardware -Beschreibung Sprachen (HDLs) wie Verilog und VHDL Um hochrangige Darstellungen einer Schaltung zu erzeugen, von der aus niedrigere Darstellungen und letztendlich tatsächliche Verkabelung abgeleitet werden können. Das Design auf RTL -Ebene ist eine typische Praxis im modernen digitalen Design.[1]
Im Gegensatz zum Software-Compiler-Design, bei dem die Registerübertragungsstufe eine Zwischendarstellung ist und auf der niedrigsten Ebene die RTL-Ebene der übliche Eingang ist, auf dem Leiterdesigner betrieben werden. Tatsächlich in der Schaltungssynthese eine Zwischensprache zwischen der Darstellung der Übertragungsebene der Eingaberegister und dem Ziel Netzliste wird manchmal verwendet. Im Gegensatz zur Netzliste stehen Konstrukte wie Zellen, Funktionen und Multi-Bit-Register zur Verfügung.[2] Beispiele sind firrtl und rtlil.
Modellierung auf Transaktionsebene ist eine höhere Ebene von elektronisches Systemdesign.
RTL Beschreibung

Eine synchrone Schaltung besteht aus zwei Arten von Elementen: Register (sequentielle Logik) und Kombinationslogik. Register (normalerweise implementiert als D Flip-Flops) Synchronisieren Sie den Betrieb des Stromkreises mit den Kanten des Taktsignals und sind die einzigen Elemente in der Schaltung mit Speichereigenschaften. Die Kombinationslogik führt alle logischen Funktionen in der Schaltung aus und sie besteht typischerweise aus Logik -Tore.
Beispielsweise ist in der Abbildung eine sehr einfache Synchronschaltung dargestellt. Das Wandler ist mit der Ausgabe q eines Registers mit der Eingabe des Registers D verbunden, um eine Schaltung zu erstellen, die seinen Zustand an jeder steigenden Kante der Uhr, CLK, ändert. In dieser Schaltung besteht die Kombinationslogik aus dem Wechselrichter.
Bei der Gestaltung digital integrierter Schaltkreise mit a Hardware -Beschreibung Sprache (HDL) werden die Konstruktionen normalerweise auf einem höheren Abstraktionsniveau als Transistor -Ebene entwickelt (Niveau (Logikfamilien) oder Logik -Gate -Ebene. In HDLs deklariert der Designer die Register (die in etwa Variablen in Computerprogrammiersprachen entsprechen) und beschreibt die Kombinationslogik unter Verwendung von Konstrukten, die aus Programmiersprachen wie IF-Then-ELSE- und arithmetischen Operationen vertraut sind. Diese Ebene wird genannt Registerübertragungsstufe. Der Begriff bezieht sich auf die Tatsache, dass sich RTL auf die Beschreibung des Signaleflusss zwischen Registern konzentriert.
Beispielsweise kann die oben erwähnte Schaltung in VHDL wie folgt beschrieben werden:
D <= nicht Q; Prozess(clk) Start wenn steigende Flanke(clk) dann Q <= D; Ende wenn; Ende Prozess;
Mit an ein Eda Tool für die Synthese kann diese Beschreibung normalerweise direkt in eine äquivalente Hardware -Implementierungsdatei für eine übersetzt werden Asic oder an FPGA. Das Synthese Tool führt auch aus logische Optimierung.
Auf der Register-Transfer-Ebene können einige Arten von Schaltungen erkannt werden. Wenn es einen zyklischen Pfad der Logik von der Ausgabe eines Registers zu seiner Eingabe (oder von einem Satz von Registernausgängen zu seinen Eingängen) gibt, wird die Schaltung als a genannt Zustandsmaschine oder kann gesagt werden Sequentielle Logik. Wenn es logische Pfade von einem Register zu einem anderen ohne Zyklus gibt, wird es a genannt Pipeline.
RTL im Schaltungskonstruktionszyklus
RTL wird in der verwendet Logikdesign Phase der Integriertes Schaltungsdesign Kreislauf.
Eine RTL -Beschreibung wird normalerweise in a konvertiert Beschreibung auf Gate-Ebene der Schaltung durch a Logiksynthese Werkzeug. Die Syntheseergebnisse werden dann von verwendet von Platzierung und Routing Werkzeuge zum Erstellen eines physischen Erstellens Layout.
Logiksimulation Tools können die RTL -Beschreibung eines Designs verwenden, um seine Richtigkeit zu überprüfen.
Leistungsschätzungstechniken für RTL
Die genauesten Stromanalyse-Tools stehen für die Schaltungsebene zur Verfügung, aber leider haben die Werkzeuge auf der Schaltungsebene selbst bei der Modellierung auf Geräteebene eher Nachteile, als wären sie entweder zu langsam oder erfordern zu viel Speicher, wodurch ein großes Chip-Handling hemmt. Die meisten davon sind Simulatoren wie WÜRZEN und werden seit vielen Jahren von den Designern als Leistungsanalyse -Tools verwendet. Aufgrund dieser Nachteile haben Tools auf Power-Schätzung auf Gate-Ebene eine gewisse Akzeptanz erhalten, wenn schnellere, probabilistische Techniken begonnen haben, Fuß zu fassen. Es hat aber auch einen Kompromiss, da beschleunigte, insbesondere bei korrelierten Signalen die Kosten der Genauigkeit erreicht. Im Laufe der Jahre wurde erkannt, dass die größten Siege des Designs mit geringer Leistung nicht von Optimierungen auf Schaltungs- und Gate-Ebene stammen, während Architektur, System- und Algorithmusoptimierungen tendenziell den größten Einfluss auf den Stromverbrauch haben. Daher hat sich die Neigung der Werkzeugentwickler zu Analyse- und Optimierungsinstrumenten für die Leistung auf hoher Ebene verändert.
Motivation
Es ist bekannt [3] Dies bietet den Entwicklern die erforderliche Motivation, sich auf die Entwicklung neuer Tools für die Stromanalyse der Architekturebene zu konzentrieren. Dies bedeutet in keiner Weise, dass Tools auf niedrigerer Ebene unwichtig sind. Stattdessen bietet jede Werkzeugschicht eine Grundlage, auf der die nächste Stufe erstellt werden kann. Die Abstraktionen der Schätztechniken auf einer niedrigeren Ebene können auf höherer Ebene mit geringfügigen Modifikationen verwendet werden.
Vorteile der Leistungsschätzung auf RTL oder architektonischer Ebene
- Designer verwenden eine RTL-Beschreibung des Designs (Register-Transfer Level), um sehr früh im Designfluss Optimierungen und Kompromisse zu erzielen.
- Das Vorhandensein von Funktionsblöcken in einer RTL-Beschreibung macht die Komplexität des architektonischen Designs auch für große Chips viel besser überschaubar, da RTL Granularität ausreichend größer ist als Beschreibungen auf Gate- oder Schaltungsebene.
Toräquivalente[4]
Es ist eine Technik, die auf dem Konzept der Gate -Äquivalente basiert. Die Komplexität einer Chiparchitektur kann ungefähr in Bezug auf Gate -Äquivalente beschrieben werden Toräquivalent Count gibt die durchschnittliche Anzahl von Referenztoren an, die zur Implementierung der jeweiligen Funktion erforderlich sind. Die für die bestimmte Funktion erforderliche Gesamtleistung wird geschätzt, indem die ungefähre Anzahl von Gate -Äquivalenten mit der durchschnittlichen Leistung pro Gate vermehrt wird. Das Referenztor kann jedes Tor sein, z. 2-Input-NAND-Tor.
Beispiele für die äquivalente Gate -Technik
- Klassenunabhängige Leistungsmodellierung: Es ist eine Technik, die versucht, den Chipbereich, die Geschwindigkeit und die Stromversorgung auf der Grundlage von Informationen über die Komplexität des Designs in Bezug auf Gate -Äquivalente zu schätzen. Die Funktionalität wird zwischen verschiedenen Blöcken unterteilt, es wird jedoch keine Unterscheidung über die Funktionalität der Blöcke getroffen, d. H. Es ist im Grunde genommen klassenunabhängig. Dies ist die Technik, die vom Chipschätzungssystem (CES) verwendet wird.
- Schritte:
- Identifizieren Sie die Funktionsblöcke wie Zähler, Decoder, Multiplikatoren, Erinnerungen usw.
- Weisen Sie eine Komplexität in Bezug auf Gate -Äquivalente zu. Die Anzahl der GEs für jeden Einheitstyp wird entweder direkt als Eingabe vom Benutzer oder aus einer Bibliothek gefüttert.
- Schritte:
- Wo eTyp ist der angenommene durchschnittliche dissipierte Energie durch ein Gate -Äquivalent, wenn es aktiv ist. Der Aktivitätsfaktor aint, bezeichnet den durchschnittlichen Prozentsatz der Gateswechsel pro Taktzyklus und darf von Funktion zu Funktion variieren. Die kapazitive Last, cL, ist eine Kombination aus Fan-Out-Laden und Verkabelung. Eine Schätzung der durchschnittlichen Drahtlänge kann verwendet werden, um die Verkabelungskapazität zu berechnen. Dies wird vom Benutzer bereitgestellt und unter Verwendung eines Derivats der Rent-Regel überprüft.
- Annahmen:
- Ein einzelnes Referenztor wird als Grundlage für alle Leistungsschätzungen angesehen, die nicht unterschiedliche Schaltungsstile, Taktstrategien oder Layouttechniken berücksichtigen.
- Es wird angenommen, dass der Prozentsatz der Tore pro Taktzyklus, die durch Aktivitätsfaktoren gekennzeichnet ist, unabhängig von den Eingangsmustern behoben werden.
- Typische Gate -Switching -Energie wird durch völlig zufällige Uniform gekennzeichnet weißes Rauschen (UWN) Verteilung der Eingabedaten. Dies impliziert, dass die Leistungsschätzung unabhängig von der Schaltung im Leerlauf oder bei maximaler Belastung gleich ist, da dieses UWN -Modell ignoriert, wie unterschiedliche Eingangsverteilungen den Leistungsverbrauch von Toren und Modulen beeinflussen.[5]
- Annahmen:
- Klassenabhängige Leistungsmodellierung: Dieser Ansatz ist etwas besser als der vorherige Ansatz, da er angepasste Schätztechniken für die verschiedenen Arten von Funktionsblöcken berücksichtigt wird, um die Modellierungsgenauigkeit zu erhöhen, die bei der vorherigen Technik wie Logik, Speicher, Interconnect und in der vorherigen Technik nicht der Fall war Uhr daher der Name. Die Leistungsschätzung erfolgt sehr ähnlich wie der unabhängige Fall. Die grundlegende Umschaltergie basiert auf einem Drei-Eingab und einem Gate und wird aus Technologieparametern berechnet, z. Gate -Breite, Tox und Metallbreite vom Benutzer bereitgestellt.
- Wo CKabel bezeichnet die Bit -Line -Verkabelungskapazität pro Länge der Einheit und cZelle Bezeichnet die Belastung aufgrund einer einzelnen Zelle, die von der Bitlinie hängt. Die Taktkapazität basiert auf der Annahme eines H-Baum Vertriebsnetz. Die Aktivität wird unter Verwendung eines UWN -Modells modelliert. Wie durch die Gleichung ersichtlich ist, bezieht sich der Stromverbrauch jeder Komponenten mit der Anzahl der Spalten (ncol) und Reihen (ndie Zeile) im Speicherarray.
- Nachteile:
- Die Schaltungsaktivitäten werden nicht genau modelliert, da ein Gesamtaktivitätsfaktor für den gesamten Chip angenommen wird, was auch nicht vertrauenswürdig ist, wie vom Benutzer bereitgestellt. Tatsache variieren Aktivitätsfaktoren im gesamten Chip daher nicht sehr genau und fehleranfällig. Dies führt zu dem Problem, dass selbst wenn das Modell eine korrekte Schätzung für den Gesamtstromverbrauch durch den Chip liefert, die Modulbezogene Leistungsverteilung ziemlich ungenau ist.
- Der ausgewählte Aktivitätsfaktor gibt die korrekte Gesamtleistung an, aber die Aufschlüsselung der Leistung in Logik, Uhr, Speicher usw. ist weniger genau. Daher ist dieses Tool im Vergleich zu CES nicht viel oder verbessert.
- Nachteile:
Pregakterisierte Zellbibliotheken
Diese Technik passt die Leistungsschätzung verschiedener Funktionsblöcke weiter an, indem sie ein separates Leistungsmodell für Logik, Speicher und Interconnect aufweisen, was a vorschlägt Leistungsfaktor ANNAY (PFA) -Methode zur individuellen Charakterisierung einer gesamten Bibliothek von Funktionsblöcken wie Multiplikatoren, Addierern usw. Anstelle eines einzelnen Gate-äquivalenten Modells für „Logik“ -Blockungen.
Die Leistung über den gesamten Chip wird durch den Ausdruck angenähert:
Wo ki ist PFA -Verhältnismäßigkeitskonstante, die das i charakterisiertth Funktionselement ist das Maß für die Hardwarekomplexität und bezeichnet die Aktivierungsfrequenz.
Beispiel
Gi Die Bezeichnung der Hardwarekomplexität des Multiplikators bezieht sich auf das Quadrat der Eingangswortlänge, d. H. N2 wo n ist die Wortlänge. Die Aktivierungsfrequenz ist die Rate, mit der Multiplikes durch den von dem Algorithmus gekennzeichneten Multiplikes durchgeführt werden und die PFA -Konstante, , wird empirisch aus früheren Multiplikatordesigns extrahiert und für eine 1,2 uM-Technologie bei 5 V etwa 15 FW/Bit2-Hz gezeigt. Das resultierende Leistungsmodell für den Multiplikator auf der Grundlage der oben genannten Annahmen ist:
Vorteile:
- Die Anpassung ist in Bezug auf alle Komplexitätsparameter möglich, die für diesen Block geeignet sind. Z.B. Für einen Multiplikator war das Quadrat der Wortlänge angemessen. Für den Speicher wird die Speicherkapazität in Bits verwendet und für die E/A -Treiber allein ist die Wortlänge ausreichend.
Die Schwäche:
- Es besteht die implizite Annahme, dass die Eingaben die Multiplikatoraktivität nicht beeinflussen, was der Tatsache widerspricht, dass die PFA -Konstante soll die intrinsische interne Aktivität erfassen, die mit dem Multiplikationsbetrieb verbunden ist, da sie als Konstante angesehen wird.
Der Schätzfehler (relativ zur Simulation auf Switch-Level) für einen 16x16-Multiplikator wird experimentiert, und es wird beobachtet, dass das UWN-Modell, wenn der Dynamikbereich der Eingänge die Wortlänge des Multiplikators nicht vollständig einnimmt, äußerst ungenau.[6] Zugegeben, gute Designer versuchen, die Nutzung der Wortlänge zu maximieren. Trotzdem sind Fehler im Bereich von 50 bis 100% nicht ungewöhnlich. Die Abbildung deutet deutlich auf einen Fehler im UWN -Modell hin.
Siehe auch
- Datenweg
- Elektronische Designautomatisierung (EDA)
- Elektronischer Systemebene
- Finite-State-Maschine mit DataPath
- Integriertes Schaltungsdesign
- Synchronschaltung
- Algorithmische Zustandsmaschine
Leistungsschätzung
Verweise
- ^ Frank Vahid (2010). Digitales Design mit RTL -Design, Verilog und VHDL (2. Aufl.). John Wiley und Söhne. p. 247. ISBN 978-0-470-53108-2.
- ^ Yosys Handbuch (Rtlil)
- ^ "Leistungsschätzungstechniken für integrierte Schaltkreise"
- ^ "Architekturarchitektur mit geringer Leistung" Methoden "
- ^ "Schätzungstechniken der Register-Transfer-Ebene zum Umschalten der Aktivität und des Stromverbrauchs"
- ^ "Leistungsmakromodell für hochrangige Leistungsschätzung"