-
Die
Erfindung betrifft ein Verfahren zur Reduktion des Energieverbrauchs
in einem Logikschaltkreis, insbesondere zum Verhindern des Durchlaufs eines
Störimpulses
(Glitch) in dem Schaltkreis.
-
Eine
Reduktion des Energieverbrauchs in VLSI-Schaltkreisen ist aus mehreren
Gründen
bedeutsam geworden. Mobile oder tragbare elektronische Geräte, die
bereits in großem
Umfang von aller Konsumentenelektronik verkauft werden, werden mit Batterien
betrieben. Die Reduktion des Energieverbrauchs in den verschiedenen
Komponenten derartiger Systeme verlängert daher die Lebensdauer
der Batterien; dies ist besonders wünschenswert. Ein übermäßiger Energieverbrauch
führt ferner
zu einer Erhöhung
der Kosten bei der Chip-Verpackung und Kühlung, so daß die Gesamtsystem-Kosten
erhöht werden.
Ein anderer Vorteil von geringem Energieverbrauch ist die erhöhte Zuverlässigkeit
der VLSI-Schaltkreise. Eine Reduktion des mittleren Energieverbrauchs
oder des Spitzenenergieverbrauchs haben ihre eigenen Vorteile. Beispielsweise
ist der mittlere Energieverbrauch mit der Batterielebensdauer korreliert,
während
der Spitzenenergieverbrauch sich insbesondere auf die Kosten bei
der Verpackung und der Kühlung
niederschlägt.
Die vorliegende Erfindung bezieht sich insbesondere auf die Minimierung
des mittleren Energieverbrauchs.
-
Die
größte Einsparung
des Energieverbrauchs erhält
man durch eine Kombination verschiedener Techniken in unterschiedlicher
Höhe in der
Produkt-Design-Hierarchie. Verschiedene Design- und Synthese-Techniken
sind zur Energieoptimierung in der jeweiligen Technik vorgeschlagen worden
(offenbart z.B. in Referenz 1 (vgl. die anliegende Referenzliste)),
beim Transistor (Referenz 2), bei der physikalischen Gestaltung
(Referenz 3), und bei der Logik (Referenz 2) der Design-Hierarchie. Hierbei
konzentrieren wir uns auf Techniken zum Reduzieren des Energieverbrauchs
in Schaltkreisen, die in der Registerübertragungsebene (RTL) der
Design-Hierarchie
spezifiziert sind. Die RTL-Designs können entweder durch Designer
manuell erzeugt werden oder aus Verhaltensspezifikationen durch Verhaltenssynthesewerkzeuge
synthetisiert werden. Zur Leistungsabschätzung der Architektur wurde
in Referenz 4 ein Verfahren vorgestellt, das auf einem Signalstatistikmodell
mit gleichförmig
weißem
Rauschen basiert. Ein genaueres Schätzverfahren basiert auf einem
2-Bit-Typmodell
gemäß den Referenzen
5 und 6. Die Verwendung der Entropie als Maß für die mittlere Schaltaktivität und ihre
Verwendung bei der Hochpegel-Leistungsschätzung wird in den Referenzen
7 und 8 vorgeschlagen. Für
Arbeiten in der Architektur-Leistungsoptimierung wird in den Referenzen
1 und 9 beschrieben. In Referenz 1 wird die Verwendung von Architektur-Parallelismen
vorgeschlagen, und zwar basierend auf einer Datenpfadreplikation
und Pipeline-Verarbeitung, um eine Versorgungsspannungsabstufung
zur Leistungsreduktion zu ermöglichen.
In Referenz 9 wird eine Methodologie vorgeschlagen, die eine Vielzahl
von Architektur-Transformationen verwendet, um den Energieverbrauch
zu reduzieren. In Referenz 10 werden Schaltaktivitätsmessungen
eingesetzt, um den Energieverbrauch in Bit-seriellen Digitalfiltern
zu reduzieren. Eine Optimierung von speicher-dominierten Berechnungen
zum Energieverbrauch wird in den Referenzen 11 und 12 angesprochen.
Werkzeuge zur Energieabschätzung
und zur Untersuchung des Design-Raumes im Verhaltenspegel wurden
in Referenz 13 dargestellt. In Referenz 14 werden eine Modulselektion
und ein Pipeline-Verfahren verwendet, um die Leistungsverschlechterung
zu bekämpfen, die
sich aus einer Reduktion der Versorgungsspannung ergibt. Verfahren
zur Festlegung und Zuordnung zum Minimalisieren der Schaltaktivität und der Schaltkapazität im Datenpfad
werden in den Referenzen 15, 16, 17 und 18 dargestellt. Die Techniken zur
Verringerung des Energieverbrauchs während der Hochpegel-Synthese
basierend auf einer Reduktion der Aktivität in funktionalen Einheiten
wurden in Referenz 19 dargestellt. Die Verwendung von begrenzten
Wichtungscodes zur Minimierung des Energieverbrauchs in Bus-Schaltkreisen
und Eingabe/Ausgabe-Schaltkreisen wird in Referenz 20 beschrieben.
Ein Multiphasen-Taktschema für RTL-Schatkreise
zum Reduzieren der Aktivität
durch natürliches
Abschalten inaktiver Teile des Schaltkreises wurde in Referenz 21
beschrieben. Ein Optimierungswerkzeug für mittleren und Spitzen-Energieverbrauch
während
der Verhaltenssynthese basierend auf einem genetischen Suchverfahren
sind in Referenz 22 beschrieben. Techniken zur Software-Energieabschätzung und
Optimierung sind in Referenz 23 beschrieben.
-
Die
Bedeutung zur Elimination von Störspitzen
im Design von digitalen VLSI-Schaltkreisen ist seit langem bekannt.
Die Vermeidung derartiger Störspitzen
sind insbesondere von großer
Bedeutung beim Design von asynchronen Schaltkreisen und beim Design
von D/A- und A/D-Wandlern. Verschiedene Studien berichten von der
Bedeutung zur Berücksichtigung
der Störspitzen-Leistung
während
der Leistungsabschätzung
und Optimierung (Referenzen 24 und 25). Die extreme Empfindlichkeit
der Störspitzen-Leistung
gegenüber
Verfahrensveränderungen sind
in den Referenzen 24 und 26 hervorgehoben, wo gezeigt wird, daß die Schaltaktivität und der
Energieverbrauch aufgrund von Störspitzen
sehr viel stärker
mit Verfahrensschwankungen variieren als die anderen Energieverbrauchskomponenten.
Das Design einer Multiplizierschaltung mit stark verringertem Störspitzen-Energieverbrauch
wird in Referenz 27 beschrieben. Es existieren jedoch sehr wenige
automatische Design- und Synthese-Techniken zum Reduzieren des Störspitzen-Energieverbrauchs
in allgemeiner gehaltenen Schaltkreisen. Bei Architektur- und Verhaltensebenen
ignoriert der Stand der Technik bezüglich des Energieverbrauchs
und der Optimierung die Auswirkungen von Störspitzen, insbesondere die
Auswirkung des Durchlaufs von Störspitzen über die
Blockgrenzen in der Architektur. Während genaue Bibliotheks-Modellverfahren
(Referenz 6) verwendet werden können,
um die Auswirkungen von Störspitzen
innerhalb von Architekturblöcken
zu berücksichtigen,
wird dabei jedoch typischerweise angenommen, daß die Eingangssignale zu diesen Blöcken störspitzenfrei
sind.
-
Die
meisten Arbeiten bei Architektur- und Verhaltenspegeln beziehen
sich insbesondere auf datenflußintensive
Gestaltungen, während
arithmetische Einheiten, wie Addierglieder und Multiplizierglieder
für den
größten Teil
des Gesamtenergieverbrauchs verantwortlich sind. Die Experimente
im Rahmen der Erfindung mit steuerflußintensiven Gestaltungen zeigen
jedoch, daß die
durch die funktionalen Einheiten verbrauchte Energie einen kleinen Anteil
des Gesamtenergieverbrauchs darstellt, während Multiplex-Netze und Register
einen großen
Teil der Gesamtenergie derartiger Designs verbrauchen können.
-
Die
Experimente im Rahmen der Erfindung zeigen ferner, daß ein großer Teil
des Registerenergieverbrauchs sich aufgrund von Übergängen auf den Registertakteingang
ergeben. Die Entwickler verwenden meist Techniken zum Betätigen von
Taktschaltungen, um Teile eines Systems selektiv abzuschalten. Verfahren
zum automatischen Detektieren von Bedingungen, unter denen die Takteingangssignale
an alle Register einer Schaltung abgeschaltet werden können, basieren
auf der Identifizierung von Selbstschleifen und Unerreichbarzuständen im
Zustandsübergangsgraphen
(STG), wie in Referenz 28 dargestellt. Die Techniken in Referenz
28 können
jedoch nur auf die Steuerung und auf äußere Logikteile eines Schaltkreises
angewendet werden, für
die es zweickmäßig ist,
das STG zu extrahieren.
-
Im
Rahmen der vorliegenden Erfindung werden Schaltungs-Designs für Niederenergietechniken für RTL-Steuerschaltungen/Datenpfadschaltkreise beschrieben,
die steuerflußintensive
Spezifikation implementieren. Es wird die Erzeugung und das Fortschreiten
von Störimpulsen
sowohl in den Steuer- als auch in den Datenpfadteilen des Schaltkreises
analysiert. Dabei wird demonstriert, daß die Steuerlogik einen wesentlichen
Anteil von Störimpulsen
an ihren Ausgängen
erzeugen kann, die wiederum durch die Datenpfade fortschreiten und
damit für
einen großen Anteil
der Störimpulsleistung
im gesamten Schaltkreis verantwortlich sind. Basierend auf dieser
Analyse, wurden Techniken entwickelt, mit denen versucht wird, den
Störimpuls-Energieverbrauch
zu reduzieren, indem der Durchlauf von Störimpulsen von der Steuerung
sowie von Datensignalen durch den RTL-Schaltkreis zu minimieren.
Die verwendeten Techniken schließen die Restrukturierung von
Multiplex-Netzen, das Takten von Steuersignalen sowie das Einfügen selektiv
ansteigender/fallender Verzögerungen
ein, um das Fortschreiten von Störimpulsen
aus Steuer- und Datensignalen zu unterdrücken. Die wesentlichen Vorteile
der vorliegenden Störimpuls-Reduktionstechniken
sind die folgenden: (i) das Vorliegen von Leerlaufperioden für Komponenten
in einem Design ist nicht erforderlich, d.h. die Maßnahmen
sind auch anwendbar auf Designs mit vollständigem oder nahezu vollständigem Ausnutzen
von Reserven und (ii) es wird der Energieverbrauch in allen Teilen
des Designs angesprochen, einschließlich Multiplex-Netze und Register
und nicht nur funktionale Einheiten.
-
Basierend
auf den Beobachtungen im Rahmen der Erfindung, daß Register
einen erheblichen Anteil der Gesamtenergie eines Designs brauchen können und
daß Übergänge an Takteingängen zu Registern
wiederum einen überwiegenden
Teil des Registerenergieverbrauchs verursachen, wird eine Technik
angewandt, bei der Takteingänge
zu Registern geschaltet werden, um ihren Energieverbrauch zu reduzieren.
Im Gegensatz zur Technik in Referenz 28, bei der das STG des Schaltkreises
benötigt
wird, leitet die erfindungsgemäße Technik
die Schaltbedingungen für
Registertakteingänge,
basierend auf einer strukturellen Analyse des RTL-Schaltkreises
ab, und kann daher auf alle Register des Schaltkreises angewendet
werden.
-
Der
Erfindung liegt die Aufgabe zugrunde, automatische Techniken zum
Reduzieren des Störimpuls-Energieverbrauchs
in generellen Schaltkreisen in der Architektur- und Verhaltensebene
anzugeben. Ferner ist es Aufgabe der Erfindung, Techniken für Niederenergie-Designs
für RTL-Steuerschaltungen/Datenpfadschaltkreise
anzugeben, die steuerflußintentise
Spezifikationen implementieren. Nach einer weiteren Aufgabe der
Erfindung sollen Techniken bereitgestellt werden, die die Restrukturierung von
Multiplexnetzen, das Takten von Steuersignalen und das Einfügen selektiver
Anstiegs/Abfallverzögerungen
umfassen, um das Fortschreiten von Störimpulsen von Steuer- und Datensignalen
zu unterdrücken.
-
Diese
Aufgaben werden mit den Merkmalen der Patentansprüche gelöst.
-
Die
Erfindung wird nachstehend mit Bezug auf die anliegende Zeichnung
näher erläutert. Es
zeigen:
-
1 einen
RTL-Schaltkreis zur Berechnung des größten gemeinsamen Teilers (GCD)
zweier Zahlen,
-
2 eine
Tabelle zur Erläuterung
des Energieverbrauchs in verschiedenen Teilen des GCD-Schaltkreisen,
-
3 eine
Tabelle zur Erläuterung
der Aktivitäten
mit/ohne Störimpulsen
für verschiedene
Signale des GCD-Schaltkreises,
-
4A eine
Architektur zur Implementierung einer Funktion,
-
4B eine
andere Architektur zur Implementierung der gleichen Funktion der
Architektur gemäß 4A,
-
5 eine
Störimpulserzeugung
in verschiedenen Datenpfadblöcken,
-
6A einen
Teil der Decoderlogik,
-
6B die
Erzeugung von Störimpulsen
am Tor G1 der Decoderlogik gemäß 6A,
-
7 eine
Implementierung des Steuersignals [1] in einem RTL-Schaltkreis eines
Strichcode-Lesers,
-
8A eine
teilweise Darstellung eines Zustandsübergangsgraphen (STG) für einen
Strichcode-Steuerschaltkreis,
-
8B die
Erzeugung von Störimpulsen
am Tor G5 in 8A,
-
9 einen
Multiplexer, der zwischen zwei 8-Bit-Datensignalen A und B selektiert,
-
10A einen Multiplexer in dem Fall, wenn die Bits
Ai und Bi die Werte <0,0> annehmen,
-
10B einen Multiplexer in dem Fall, wenn die Bits
Ai und Bi die Werte <0,1> annehmen,
-
10C einen Multiplexer in dem Fall, wenn die Bits
Ai und Bi die Werte <1,0> annehmen,
-
10D einen Multiplexer in dem Fall, wenn die Bits
Ai und Bi die Werte <1,1> annehmen,
-
11 einen
Multiplexer, der an ein zusätzliches
Tor Gc hinzugefügt
ist,
-
12A die Ausgabe eines Zuführregisters für ein Anfangsmultiplexnetzwerk
im GCD-Schaltkreis gemäß 1,
-
12B einen abstrakten 3-zu-1-Multiplexer des Multiplexnetzwerks
gemäß 12A,
-
12C ein restrukturiertes Multiplexnetzwerk des
Multiplexnetzwerks gemäß 12A,
-
13A ein anderes Anfangsmultiplexnetzwerk als Teil
des Strichcodeleser-RTL-Schaltkreises,
-
13B einen abstrakten 3-zu-1-Multiplexers des Multiplexnetzwerks
gemäß 13A,
-
13C ein restrukturiertes Multiplexnetzwerk des
Multiplexnetzwerks gemäß 13A,
-
14A einen 2-zu-1-Multiplexers als Teil des RTL-Schaltkreises,
der die Steuerschaltung für ein
unbemanntes Kraftfahrzeug implementiert,
-
14B einen modifizierten Schaltkreis nach dem Takten
des Auswahlsignals an den Multiplexer gemäß 14A,
-
14C Beispiel-Wellenformen für das Taktsignal, das ursprüngliche
Auswahlsignal und das getaktete Auswahlsignal in dem modifiziertem
Schaltkreis gemäß 14B,
-
15 einen
Schaltkreis mit drei Addiergliedern und einen Multiplexer, eine
Multiplexer-Bitscheibe mit eingefügten selektiven Verzögerungen
und mit einer Implementation eines Anstiegs-Verzögerungsblocks,
-
16A ein anfängliches
Multiplexnetzwerk eines kleinen Teils des GCD-RTL-Schaltkreises;
-
16B einen abstrakten 2-zu-1-Multiplexer des Multiplex-Netzwerks gemäß 16A,
-
16C restrukturiertes Multiplexnetzwerk des Multiplexnetzwerks
gemäß 16A,
-
17A einen modifizierten Schaltkreis nach dem Takten
des Auswahlsignals an einen Multiplexer,
-
17B Beispiel-Wellenformen für das Taktsignal, das ursprüngliche
Auswahlsignal und das getaktete Aus wahlsignal in dem modifizierten
Schaltkreis gemäß 17A,
-
18 einen
Pseudocode für
ein Störimpuls-Reduktions-Verfahren,
-
19A einen Schaltkreis mit einem Multiplexer, einen "kleiner als"-Vergleicher und
einem Register,
-
19B zwei Kandidatenschemata mit gesteuerten Taktsignalen
zum Ausgeben des "kleiner als"-Vergleichers gemäß 19A,
-
19C Beispielwellenformen für das Taktsignal, das ursprüngliche
Vergleicherausgangssignal, das gesteuerte Taktsignal mit Schema
1 und das gesteuerte Taktsignal mit Schema 2,
-
20 ein
Register und ein Multiplexer-Baum, dessen Ausgabe dem Register zugeführt wird,
-
21 ein
Design-Flußschema,
das bei den erfindungsgemäßen Energiereduktionstechniken eingesetzt
wird, und
-
22 eine
Tabelle mit den Ergebnissen beim Anwenden der erfindungsgemäßen Energiereduktionstechniken.
-
1. Erzeugung und Ausbreitung
von Störimpulsen (Glitch-Signalen
-
Die
vorliegende Arbeit ergibt sich aus der Analyse eines beispielhaften
RTL-Schaltkreises gemäß 1,
der den größten gemeinsamen
Teiler (GCD) zweier Zahlen berechnet. Die Eingaben werden bei XIN
und YIN eingegeben und das GCD wird in das Register OUTPUT geschrieben.
Da die zum Berechnen des GCD erforderlichen Zyklenzahlen von den
gegebenen Eingangswerten abhängen
gibt ein zusätzliches
Ausgangssignal RDY an, wenn das Ergebnis im OUTPUT vorliegt. Dieser
Schaltkreis wurde abgeleitet aus einer Verhaltensbeschreibung des
GCD-Algorithmus. Das hochpegelige Synthesesystem SECONDS (Referenzen
29, 30 und 31) wurde verwendet, um eine Vorratszuordnung, Planung, und
Zuordnung auszuführen,
so daß man
den RTL-Schaltkreis gemäß 1 erhält. Der
Schaltkreis besteht aus einer Funktionaleinheit, einem Subtrahierer,
zwei "gleich-zu-" (=)-Vergleicher,
einem "kleiner als" (<)-Vergleicher, Registern,
Multiplexbäumen, der
Endzustandssteuerung (FSM) und der Decodierlogik. Die Decodierlogik
erzeugt die Steuersignale, die die Multiplexer in dem Schaltkreis
konfigurieren. Die Steuerung FSM und die Decodierlogik werden nachstehend
kollektiv als Steuerlogik des Schaltkreises bezeichnet. Die logischen
Ausdrücke,
die durch die Steuerlogik implementiert werden, sind ebenfalls in
der Figur dargestellt. Die Zeichen x0 bis x4 repräsentieren
die decodierten aktuellen Leitungen von der Steuerung. Die Zeichen
c9, c10 und c15 repräsentieren
die Ergebnisse der drei Vergleicher in dem Schaltkreis.
-
Der
in 1 dargestellte RTL-Schaltkreis wurde der NEC CMOS6-Bibiliothek
zugeordnet (Referenz 32). Einem internen, simulations-basierten Leistungsberechnungswerkzeug
(CSIM (Referenz 33)) wurde zum Messen des Energieverbrauchs in den
verschiedenen Teilen des Designs verwendet. Die 2 zeigt
die Aufspaltung des gesamten Energieverbrauchs in getrennte Figuren
für die
funktionalen Einheiten (Subtrahierer und drei Vergleicher), die Wahllogik
(Steuerung FSM und die Docodierlogikblöcke), die Register (einschließlich der
Energie, die aufgrund von Taktübergängen verbraucht
wird) und Multiplexer. Es zeigt sich, daß der größte Teil des Energieverbrauchs
in den Multiplexern und den Registern erfolgt. Ähnliche Figuren wurden beobachtet
für mehrere
Schaltkreise, die andere steuerstromintensive und gemischte Spezifikationen
implementieren.
-
Um
ein Gefühl
für die
Glitch-Aktivität
in dem GCD-Schaltkreis zu bekommen, wurden Daten zu der Übergangsaktivität mit und
ohne Glitches in verschiedenen Teilen des Designs gesammelt. Die Übergangsaktivität ohne (ausschließlich) Glitches
erhält
man durch Simulation des Schaltkreises unter einem Null-Verzögerungsmodell.
Die Simulationen erfolgten unter Verwendung von Eingangsvektoren,
die von der Testbank für
die Verhaltensspezifikation abgeleitet wurden. Die 3 zeigt
die gesamten Bit-Übergänge mit
und ohne Glitches für
alle Steuersignale und ausgewählten
Datenpfadsignale. Der CSIM zählt
jeden übergang
von 0 → 1
oder 1 → 0
als halben Übergang.
Daher können
die Übergangszahlen,
die hier durchgängig
wiedergegeben werden, fraktional sein. Das Steuersignal contr[i]
führt zum Wähleingang
des Multiplexers, der mit [i] in 1 dargestellt
ist. Ähnliche
Datenpfadsignale dpi entsprechen dem Ausgang des Multiplexers [i]
in 1. Ein wesentlicher Teil der gesamten Übergangsaktivität an verschiedenen
Signalen im Schaltkreis ergibt sich aufgrund der Glitches. Eine
andere interessante Beobachtung besteht darin, daß mehrere
Steuersignale in dem GCD-Schaltkreis wie contr[2] und contr[4] stark
Störimpuls-bildend
sind. Später
wird die Erzeugung von Störimpulsen
auf Steuersignalen analysiert und erläutert, daß die Steuersignal-Störimpulse eine
erhebliche Auswirkung auf den Energieverbrauch im übrigen Schaltkreis
aufgrund der Störimpulse
haben kann.
-
Das
folgende Beispiel illustriert, wie ein Ignorieren von Störimpulsen
fehlleiten kann und zu Schaltungsdesigns führen kann, die hinsichtlich
ihres Energieverbrauchs nicht optimal sind.
-
Die
beiden in den 4A und 4B gezeigten
RTL Architekturen implementieren die einfache Funktion: wenn (x < y) dann ist z =
c + d, andernfalls z = a + b. Die ARCHITEKTUR 2 verwendet mehr Elemente
als die ARCHITEKTUR 1, da erstere zwei Addierglieder benutzt, im
Gegensatz zu dem einen Addierglied bei der ARCHITEKTUR 1. Basierend
auf der Anzahl der durchgeführten
Operationen wird gewöhnlich
eine Metrik verwendet, um den Energieverbrauch an den Verhaltensebenen
und Architekturebenen abzuschätzen;
dabei scheint, daß die
ARCHITEKTUR 2 mehr Energie verbrachen würde als die ARCHITEKTUR 1.
Dieses Ergebnis wird unterstützt durch
die Energieabschätzungsergebnisse,
die Störspitzen
nicht berücksichtigen.
Wenn jedoch eine genaue Energieabschätzung, die auch Störspitzen
berücksichtigt,
ausgeführt
wird, ergibt sich, daß die
ARCHITEKTUR 2 tatsächlich
17,7% weniger Energie als die ARCHITEKTUR 1 verbraucht.
-
Die
obigen Beobachtungen können
folgendermaßen
erläutert
werden. Wie im nächsten
Abschnitt erläutert
wird, erzeugt der Vergleicher Störspitzen
an seinem Ausgang, obwohl seine Eingänge störspitzenfrei sind. Im Falle
der ARCHITEKTUR 1 breiten sich diese Störspitzen durch die zwei Multiplexer
zu den Eingängen
des Addiergliedes aus; dies führt
zu einer erheblichen Zunahme der Störspitzenaktivität und daher
Energieverbrauch in den beiden Multiplexern und dem Addierer. In
der ARCHITEKTUR 2 ist die Auswirkung dieser Störspitzen auf den einzigen Multiplexer
eingeschränkt,
obwohl der Vergleicher wie zuvor Störspitzen erzeugt.
-
Als
nächstes
werden die Erzeugung und die Ausbreitung der Störspitzen in den RTL-Schaltkreisen
analysiert. Diese Analyse führt
zu Erkenntnissen, die die Basis für die erfindungsgemäße Störspitzenreduktion
bilden. Zur Klarstellung wird die Störspitzenerzeugung in den Datenpfadblöcken (funktionale Einheiten,
Vergleicher und Multiplexbäume)
und in der Steuerlogik getrennt erläutert.
-
1.1 Störspitzenerzeugung in den Datenpfadblöcken
-
Das
folgende Beispiel zeigt, daß die
Datenpfadblöcke
eine erhebliche Menge an Störspitzen
erzeugen können.
-
Die
in 5 dargestellten Elemente – ein Substrahierer, ein "gleich-zu"-Vergleicher, ein "kleiner als"-Vergleicher und
ein 3-zu-1-Multiplexbaum – können als
repräsentative
Datenpfadblöcke
zum Studium der Störspitzenerzeugung
angesehen werden. Die Register erzeugen keine Störspitzen an ihren Ausgängen. Jeder
Block wurde der NEC-CNOS6-Bibliothek zugeordnet und dann unter langen
Eingangssequenzen simuliert, die aus Zufallsvektoren bestehen. Die
Gesamtzahl der Bit- Übergänge (einschließlich Störspitzen)
an den Blockausgängen
und die Anzahl der Null-Verzögerungsübergänge (d.h.
die Anzahl der Übergänge ohne
Zählung
von Störspitzen)
wurden gemessen. Die Blockausgänge
in 5 sind mit den Ergebnissen gekennzeichnet, wobei
die Zahlen die Übergänge mit
bzw. ohne Störspitzen
angeben. Die Ergebnisse zeigen klar eine erhebliche Erzeugung von
Störspitzen
in verschiedenen Datenpfadblöcken.
In dem "gleich-zu"-Vergleicher wurden keine
Störspitzen
erzeugt, und zwar aufgrund der Tatsache, daß alle Pfade abgeglichen waren.
Selbst in derartigen Fällen
können
jedoch Verzögerungen
in der Verdrahtung den Abgleich der Verzögerungen stören und daher die Erzeugung
von Störspitzen
bewirken.
-
Wenn
Datenpfadblöcke,
wie die gemäß 5 miteinander
verbunden werden, breiten sich die durch die verschiedenen Blöcke erzeugten
Störspitzen über die
folgenden Blöcke
aus und verursachen in mehreren Fällen, wie nachstehend näher erläutert, eine
starke Erhöhung
der Störspitzen
und damit den Störspitzen-Energieverbrauch.
Die erfindungsemäße Lösung versucht
die Ausbreitung und explosionsartige Vergrößerung der Störspitzen
dadurch unter Kontrolle zu bringen, daß die meisten und möglichst
alle Störspitzen
an den verschiedenen Stellen in dem Schaltkreis völlig zu
unterdrücken.
-
1.2 Störspitzenerzeugung in der Steuerlogik
-
Obwohl
die Steuerlogik selbst nur einen kleinen Teil der Energie für den gesamten
Schaltkreis benötigt,
spielt sie eine erhebliche Rolle beim Gesamtenergieverbrauch des
Schaltkreises und zwar aufgrund der Tatsache, daß sie Störspitzen auf den Steuersignalen
erzeugen kann und sich diese Störspitzen
der Steuersignale auf den Rest des Schaltkreises auswirken. Daher
ist es wichtig zu untersuchen, wie die Steuerlogik die Störspitzen
erzeugt, ein Thema, das bislang bei der Energieoptimierung in der
Architektur- oder Verhaltensebene nicht angesprochen worden ist.
Den Eingängen
der Decodierlogik innerhalb der Steuerlogik werden die Ausgangssignale
der Vergleicher und der Zustands-Flip-Flops der Steuerschaltung
zugeführt.
Die Ausgänge
der Steuerlogik umfassen die Steuersignale, die dem Datenpfad zugeführt werden.
Wie vorstehend erläutert, können die
Ausgänge
der Vergleicher Störsignal-behaftet
sein. Die Störsignale
auf den Vergleicher-Ausgangssignalen können sich durch die Steuerlogik ausbreiten
und auf den Steuersignalen Störspitzen verursachen.
Die Steuerlogik kann ferner eine große Anzahl von Störspitzen
selbst dann erzeugen, wenn ihre Eingänge störspitzenfrei sind. Ziel der
vorliegenden Erfindung ist es, die Erzeugung von Störspitzen in
der Steuerlogik durch Beispiele zu illustrieren und zu analysieren.
-
Man
betrachte den RTL-Schaltkreis gemäß 1 erneut.
Dabei konzentriere man sich auf das Steuersignal contr[2], das gemäß der Statistik
von 3 stark störspitzenbehaftet
ist. Der Teil der Decodierlogik, der dieses Steuersignal implementiert,
ist in 6A dargestellt. Dabei wird beobachtet,
daß erhebliche
Störspitzen
an den UND-Torschaltungen G1 und G2 erzeugt werden, obwohl die Eingänge weitgehend
störspitzenfrei
sind. Nach sorgfältiger
Analyse wird die Erzeugung von Störspitzen zwei Bedingungen zugerechnet:
- C1: Ein Anstiegsübergang am Signal x1 ist häufig begleitet
von einem Abfallübergang
an c11, die daher stark miteinander korreliert sind.
- C2: Die Übergänge an dem
Signal x1 treten früher auf
als die Übergänge am Signal
c11.
-
Die
Bedingung C1 ergibt sich aufgrund der Funktionalität des Designs:
Wenn der Zustand s1 erreicht wird (Anstiegsübergang
bei x1) führen
die Vergleiche meist zu einer Ermittlung von 0, die durch die den
Vergleicher mit den Eingängen
c9 und c10 erzielt werden, wobei ein Umschalten von 1 im vorhergehenden
Zustand erfolgt. Andererseits ist die Bedingung C2 ein Ergebnis
der Verzögerungs-
und Zeitcharakteristika des Designs. Diese Bedingungen, die in 6B graphisch
wiedergegeben sind, führen zur
Erzeugung von Störspitzen
am Tor G1, die sich zu dem Steuersignal contr[2] ausbreiten. Eine ähnliche
Erklärung
ergibt sich für
den Ausgang des Tores G2, das ebenfalls störspitzenbehaftet ist.
-
Für dieses
Beispiel wurde ein Abschnitt eines RTL-Schaltkreises verwendet,
der einen Vor-Prozessor für
einen Strichcode-Leser bildet. Dabei konzentriere man sich auf ein
bestimmtes Steuersignal contr[1], dessen Implementierung in 7 wiedergegeben
ist. Die Signale state[2], state[1] und state[0] werden durch die
Flip-Flops der Steuerschaltung zugeführt. Die Signale x3 und
x4 repräsentieren decodierte
Zustandssignale, d.h. x3 (x4)
nimmt einen Logikwert von 1 an, wenn und nur wenn die Steuerschaltung
im Zustand s3 (s4)
ist, oder äquivalent,
state[2] ... state[0] die Werte 011 (100) annehmen. Die Signale
x3, x4 und das Steuersignal
contr[1] sind gekennzeichnet mit ihren Übergangszählwerten einschließlich und
ausschließlich
von Störspitzen.
Die Figuren zeigen an, daß der
Ausgang des Tors G5 stark störspitzenbehaftet
ist, obwohl an seinen Eingängen
keine Störspitzen
auftreten. Um die Erzeugung von Störspitzen am Tor G5 zu erläutern, wird auf
den Teilzustands-Übergangsgraphen
für die Steuerschaltung
gemäß 8A verwiesen.
Die Figur zeigt eine Schleife mit den Zuständen s3 und
s4. Dies ergibt sich aus einer "während"-Schleife in der VHDK-Verhaltensspezifikation.
Da diese Schleife die innerste Schleife unter allen Schleifen in
der Verhaltensbeschreibung ist, wird sie sehr häufig ausgeführt. Daher werden die Zustandsübergänge von s3 zu s4 und von
s4 zu s3 häufiger ausgeführt. Die 8B zeigt,
wie die Eingänge
und Ausgänge
des Tors G5 unter diesen zwei Zustandsübergängen variieren. Ein Übergang
von s3 zu s4 bewirkt
einen Anstiegsübergang
am Signal state[2] und einen Abfallübergang an den Signalen state[1]
und state[0]. Diese Übergänge bewirken
wiederum den Anstieg und den Abfall von Übergängen an den Signalen x4 bzw. x3. Der Anstiegsübergang
an x4 kommt jedoch später an als der Ab fallübergang
an x3, da die Verzögerungen der Inverter G1 und
G2 in dem Vorherigen reflektiert werden, während die Verzögerung des
Inverters G0 in dem Späteren
nicht reflektiert wird. Dies führt
zu einer statischen Störung
oder einer Störspitze
(1-0-1) am Ausgang des Tors G5 gemäß 8B. Ähnlich führt ein
Zustandsübergang
an der Steuerschaltung von s4 nach s3 zu einem Anstiegsübergang bei x3 und einem
Abfallübergang
bei x4, so daß der erstgenannte Übergang
später
eintrifft. Dies führt
erneut zu Störspitzen
am Ausgang des Tors G5 gemäß 8B.
-
Im
allgemeinen werden Störspitzen
an den Steuersignalen aufgrund der gleichzeitigen Anwesenheit der
folgenden zwei Bedingungen erzeugt:
- (i) Funktional:
Korrelation zwischen Anstiegs- und Abfallübergang bei zwei oder mehr
einem Tor zugeführten
Signalen;
- (ii) Zeitlich: der Übergang
von Steuerung zu Nicht-Steuerung erfolgt früher am Tor-Eingang.
-
2. Störspitzenreduktion
-
Als
nächstes
wird die Reduktion des Störspitzen-Energieverbrauchs
in RTL-Schaltkreisen beschrieben, indem die Ausbreitung von Sörspitzen durch
verschiedene Blöcke
in dem Schaltkreis minimiert wird.
-
2.1 Reduzierung der Ausbreitung
von Störspitzen von
Steuersignalen
-
Wie
vorstehend erläutert,
werden erhebliche Störspitzen
auf Steuersignalen erzeugt. Ferner wurde gefunden, daß diese
Störspitzen
sich durch andere Teile des Schaltkreises ausbreiten können und
dabei eine erheblich Energiedissipation verursachen. Ziel der vorliegenden
Erfindung ist es, die Störspitzen auf
Steuersignalen möglichst
frühzeitig
bei ihrer Quelle zu unterbrechen, um maximale Vorteile bei der Energieeinsparung
zu erzielen. Die erfindungsgemäßen Verfahren
werden getrennt durch Beispiele erläutert. Diese Maßnahmen
werden dann später
im größeren Zusammenhang
bei der Energieoptimierung zusammengefaßt.
-
2.1.1 Steuersignale mit
Störspitzen
und Datenkorrelationen
-
Gemäß dem in 9 dargestellten
Schaltkreis wählt
ein Multiplexer zwischen zwei 8-Bitdatensignalen A und B aus und
zwar abhängig
davon, ob der Ausdruck X < Y
mit "wahr" oder "unwahr" ermittelt wird.
Die Ausgabe des Multiplexers wird in ein Register geschrieben. Da
bekanntlich ein "kleiner
als"-Vergleicher
an seinem Ausgang Störspitzen
erzeugt, ist das Auswahlsignal des Multiplexers störspitzenbehaftet.
Diese Konfiguration tritt üblicherweise
als Teil von Schaltkreisen auf, die konditionale oder steuerstromintensive
Spezifikationen implementieren. Die Dateneingänge zum Multiplexer sind nicht
störspitzenbehaftet,
und zwar basierend auf der Annahme, daß A und B primäre Eingänge oder
Ausgänge
von Registern sind. Darüber
hinaus kommen die Dateneingänge
am Multiplexer frühzeitig
an, d.h. ihre Endwerte stellen sich wesentlich früher ein
als das Auswahlsignal.
-
Die
Störspitzen
auf dem Auswahlsignal des Multiplexers breitet sich zu dessen Ausgang
aus. Um diese Ausbreitung zu untersuchen, wird eine Implementierung
einer Bitscheibe des Multiplexers auf Torebene untersucht, wie dies
in den 10A bis 10D dargestellt
ist. Diese vier Figuren repräsentieren
die Fälle,
wenn die relevanten Bits Ai und Bi die Werte <0,0>, <0,1>, <1,0> bzw. <1,1> annehmen. In jeder
Figur ist der Multiplexerausgang mit der Zahl der Übergänge mit
bzw. ohne Störspitzen
entsprechend der hier üblichen
Notation gekennzeichnet. Im Fall <0,0> werden die Störspitzen
auf dem Auswahlsignal S an den UND-Toren G1 und G2 durch Steuerung
von früh
eintreffenden Seiteneingabesignalen unterdrückt. Wenn die Dateneingänge <0,1> sind, breiten sich
die Störspitzen
auf S nicht durch das Tor g1 aus, jedoch durch die Tore G2 und G3.
Eine ähnliche
Erklärung
trifft zu für
Dateneingänge <1,0>. Wenn die Dateneingänge <1,1> sind, breiten sich
die Störspitzen
auf S durch die Tore G1 und G2 aus. Die Ausgabe des Multiplexers
ist störspitzenbehaftet
als Resultat der Wechselwirkung der störspitzenbehafteten Signalwellenformen
bei G1 und G2. Die genaue Art, wie die Wellenformen Wechselwirken,
hängt von der
Ausbreitung und den Anfangsverzögerungen
der verschiedenen Leitungen und Tore in der jeweiligen Implementation
ab, die durch den Simulator modelliert werden, der zum Abschätzen der
Schaltaktivität und
des Energieverbrauchs verwendet wurde.
-
Es
bestehen mehrere Wege zum Verhindern der Ausbreitung von Störspitzen
für den <1,1>-Fall. Ein Weg besteht
darin, einen Puffer einzufügen,
dessen Verzögerung
gleich der Verzögerung
des Inverters G0 ist, und zwar an der Verstärkerausgangsverzweigung von
S, die mit dem Tor G2 verbunden ist. Im idealen Fall führt die
Einfügung
des Puffers zu einer komplementären
Wellenform an den Ausgängen von
G1 und G2, die sich gegenseitig auslöschen, d.h. man erhält dauernd
ein 1 am Ausgang des Multiplexers. Diese Lösung hängt jedoch von der exakten Ausbreitung
und den Anfangsverzögerungen
der Tore und Leitungen im Schaltkreis ab. Ferner können geringfügige Variationen
der Schaltungsparameter aufgrund von Prozeßveränderungen die Auswirkung des
Pfadabgleichs ungültig
machen. Eine andere mögliche
Lösung,
die vermutlich noch robuster ist, besteht darin, ein zusätzliches
Tor Gc gemäß 11 hinzuzufügen. Gc
realisiert Ai, Bi,
d.h. der sogenannte Konsensus von S.Ai und S.Bi, d.h.
ihre Addition ändert
nicht die durch den Ausgang berechnete Funktion. Wenn die Dateneingänge <1,1> sind, unterdrückt Gc jegliche
Störspitzen
an den anderen Eingängen von
G3, die nach Einschwingen des Ausgangs von Gc auf 1 ankommt. Für alle anderen
Eingangsfälle berechnet
sich der Ausgang von Gc zu einem 0 und die vorherigen Erläuterungen
treffen zu. Eine Simulation der Implementierung gemäß 11 bestätigt, daß Störspitzen
auf dem Auswahlsignal sich nicht mehr zum Ausgang ausbreiten, wenn die
Dateneingänge <1,1> sind. Für den Schaltkreis
gemäß 9 alleine
führt die
Addition von Gc zu der Multiplexerimplenetation zu einer 17,5%igen
Abnahme des gesamten Energieverbrauchs.
-
Ein
Energie- oder Leistungsüberschuß trat beim
Hinzufügen
des Tors auf, basierend auf dem Konsensus-Ausdruck aufgrund seines
eigenen Energieverbrauchs sowie aufgrund des Überschusses mit einem 3-Eingang-ODER-Tor
anstelle eines 2-Eingang-ODER-Tors. Maximale Vorteile ergeben sich aus
der Zugabe des Konsensus-Ausdrucks zu einem Multiplexer nur dann,
wenn das Auswahlsignal sehr stark störspitzenbehaftet ist, wobei
die Dateneingänge
im Vergleich zum Auswahlsignal früh eintreffen, und die Wahrscheinlichkeit,
daß die
Dateneingänge <1,1> sind, ist hoch. Später wird
noch erläutert,
wie Multiplexer in dem Design ausgewählt werden, dem noch Konsensus-Ausdrücke hinzugeführt wurden,
so daß die
erhaltene Energieeinsparung maximiert wird.
-
Festzuhalten
ist, daß mit
der Ergänzung
des Konsensus-Ausdruckes sich die Störspitzen nicht von dem Auswahlsignal
zu dem Multiplexerausgang ausbreiten, denn die Datenwerte korreliert
sind (<0,0> oder <1,1>), oder die Störspitzen
breiten sich zu den Multiplexer-Ausgängen aus. Nachstehend wird
erläutert,
wie ein Multiplexerbaum restrukturiert werden kann, um die Datenkorrelationen
zu maximieren und daher die Ausbreitung von Störspitzen von Auswahlsignalen
der Multiplexer zu minimieren.
-
2.1.2 Erhöhung der
Datenkorrelationen durch Restrukturieren von Multiplex-Netzwerken
-
Zunächst wird
das 3-zu-1-Multiplexer-Netzzuführregister
OUTPUT in dem GCD-Schaltkreis von 1 betrachtet.
Der Baum des 2-zu-1-Multiplexers ist in 12A dargestellt.
Funktional kann der Multiplexbaum betrachtet werden als ein abstrakter 3-zu-1-Multiplexer
gemäß 12B. Die Bedingun gen, unter denen OUTPUT, X und
ZERO ausgewählt werden,
werden durch COUTPUT, CX bzw.
CZERO wiedergegeben. Man beachte, daß COUTPUT, CX und CZERO zueinander exklusiv sein müssen. Die
kumulativen Schaltaktivitäten
mit und ohne Störspitzen
sind für verschiedene
Signale in der Figur dargestellt.
-
Mit
der gegebenen abstrakten Darstellung des 3-zu-1-Multiplexnetzwerks
ergeben sich mehrere mögliche
Implementierungen, die die Korrelation der Dateneingänge zu den
Multiplexern in dem Baum erhöhen.
Für dieses
Beispiel wird das Auswahlsignal CZERO als
störspitzenbehaftet
ermittelt; dies führt
zu einer Ausbreitung von Störspitzen
zum Ausgang des ersten 2-zu-1-Multiplexers in 12A. Festzuhalten ist, daß die Datensignale OUTPUT und
ZERO an der Bit-Ebene hochkorreliert sind. Um daher die Ausbreitung
von Störspitzen
auf CZERO durch den Multiplexbaum zu minimieren,
wird der Multiplexbaum in die Implementierung gemäß 12C transformiert, so daß die hochkorrelierten Datensignale
OUTPUT und ZERO Eingänge
zu dem ersten 2-zu-1-Multiplexer werden. Dies verringert signifikant
die Schaltaktivität am
Ausgang des ersten 2-zu-1-Multiplexers zu 26/20 von ursprünglich 345/20.
Die Multiplexer-Restrukturierung kann ferner zur Eliminierung von
Störspitzen behafteten
Auswahlsignalen beitragen, wie dies nachstehend erläutert wird.
-
2.1.3 Restrukturierung
von Multiplex-Netzwerken zum Eliminieren störspitzenbehafteter Auswahlsignale
-
Verwiesen
wird erneut auf den 3-zu-1-Multiplexbaum und seine Darstellungen
in den 12A bzw. 12B.
Die Implementierung in 12A verwendet
nur zwei Signale aus dem Satz {COUTPUT,
CX, CZERO}. Um einen
abstrakten n-zu-1-Multiplexer mit n Dateneingängen und n-Auswahleingängen als
einen Baum von 2-zu-1-Multiplexern zu implementieren, kann im allgemeinen
gezeigt werden, daß irgendwo zwischen
[log2 n] und n – 1 der Auswahlbedingungen verwendet
werden kann, um die Ausdrücke
für die Auswahlsignale
für die
2-zu-1-Multiplexer in der Implementation zu erzeugen in Abhängigkeit
von der exakten Struktur der Implementierung. Ferner ist es möglich, daß unter
dem Satz von Auswahlsignalen zu einem abstrakten n-zu-1-Multiplexer einige
eine große
Zahl von Störspitzen
in ihren Implementierungen haben, während dies bei anderen nicht
zutrifft. Ähnlich
wie bei 7 ist es möglich, daß bestimmte Ausdrücke, die
die Auswahlsignale des abstrakten n-zu-1-Multiplexers involvieren, störspitzenbehaftet sein
können,
obwohl die einzelnen Signale dies nicht sind. Ein Ziel der vorliegenden
Erfindung ist es daher auch, den Multiplexbaum so zu restrukturieren,
daß so
wenig wie möglich
störspitzenbehaftete
Auswahlsignale zu dem abstrakten n-zu-1-Multiplexer (oder Kombinationen von
Auswahlsignalen, die störspitzenbehaftet
sind) verwendet werden. Dieses Konzept wird als nächstes Beispiel
illustriert.
-
Man
betrachte das 3-zu-1-Multiplexnetzwerk gemäß 13A.
Dieses Netzwerk ist Teil des RTL-Schaltkreises des Strichcode-Lesers.
Gemäß 7 ist
das Auswahlsignal des zweiten Multiplexers in 13A, der den Ausdruck x3 + x4 implementiert, störspitzenbehaftet.
Eine alternative Implementierung des 3-zu-1-Multiplexnetzwerks,
die die Verwendung von störspitzenbehafteten
Auswahlsignal-Ausdrücken
nicht erfordert, ist in 13C dargestellt.
-
2.1.4 Taktung von Steuersignalen
zum Unterdrücken von
Störspitzen
-
Wenn
alle vorgenannten Verfahren zum Reduzieren der Auswirkung von Störspitzen
auf Steuersignale nicht ausreichen, wird vorzugsweise das Taktsignal
eingesetzt, um Störspitzen
auf Steuersignalen zu unterdrücken,
die entweder den Auswahleingängen
von Multiplexern oder Funktionsauswahleingängen von ALUs zugeführt werden.
Es sei angenommen, daß das
Design implementiert wird unter Verwendung von Flip-Flops implementiert
wird, die durch die Anstiegsflanke getriggert werden, und daß ein einphasiges
Taktsignal mit einem Tastverhältnis von
50 % angewandt wird.
-
Die
erfindungsgemäßen Maßnahmen
können
darüber
hinaus mit kleinen Modifikationen zu komplexeren Taktschemata erweitert
werden. Dies ist in den 14A bis 14C näher
erläutert.
Man betrachte den 2-zu-1-Multiplexer gemäß 14A als Teil
des RTL-Schaltkreises, der die Steuerschaltung für ein unbemanntes Kraftfahrzeug
(UAV) implementiert (Referenz 34). Die Bedingungen zum Auswählen von
ZERO und c21 sind CZERO = x3.c5 bzw. Cc21 = x3.c5.
In diesem Fall sind sowohl CZERO als auch
Cc21 störspitzenbehaftet
auf Grund der Erzeugung von Störspitzen
in dem "kleiner
als"-Vergleicher,
der das Signal c5 erzeugt. Transformationen zum Restrukturieren
von Multiplexern, die störspitzenbehaftete Steuersignale
eliminieren, können
hier nicht angewendet werden. 14B zeigt
den modifizierte Schaltkreis nach dem Takten des Auswahlsignals zum
Multiplexer. Das ursprüngliche
Auswahlsignal wird mit dem invertierten Taktsignal durch den logischen
Prozeß UND
verknüpft;
hierzu wird auf den Ausgang des UND-Tors als das getaktete Auswahlsignal
verwiesen. Dies stellt sicher, daß für die erste Hälfte der
Taktperiode, wenn der Takt hoch liegt, das Ausgangssignal des UND-Tors
auf 0 eingestellt wird, und zwar trotz der Störspitzen an seinem anderen Eingang. 14C zeigt Beispielswellenformen für das Taktsignal,
das ursprüngliche
Auswahlsignal und das getaktete Auswahlsignal. Der ausgewählte Eingang
zum Multiplexer in den 14A und 14B ist mit der Aktivität mit bzw. ohne Störspitzen
gekennzeichnet. Die Schaltaktivitätszahl in der Figur zeigt, daß das Takten
des Steuersignals zu einer signifikanten Reduzierung seiner Störspitzenaktivität führt.
-
Die
Technik mit getakteten Steuersignalen muß aus den folgenden Gründen sehr
genau angewendet werden. Durch Takten des Steuersignals wird verhindert,
daß es
seinen Endwert bis zum Zeitpunkt T/2 berechnet, wobei T die Taktperiode
ist. Allgemein könnte
dies zu einer Zunahme der Verzögerung
des Schaltkreises führen,
wenn das Steuersignal sich auf seinen Endwert vor T/2 einstellen
muß, um
spezifizierte Zeitvorgaben an den Schaltungseingängen zu erfüllen. Eine verschobene Taktwellenform
kann derart abgeleitet werden, daß die erforderliche Ankunftszeit
des getakteten Steuersignals nicht verletzt wird. Dies erfordert
jedoch eine exakte Anpassung in der geforderten Ankunftszeit am
Steuersignal und der dem Takt aufgeprägten Verschiebung, wie dies
am besten nach dem Schaltungsdesign erfolgt (Referenz 27). Vorzugsweise
wird die Taktung der Steuersignale konservativer behandelt, d.h.
nur dann, wenn die erforderliche Ankunftszeit am Steuersignal größer als T/2
um einen vorgegebenen Sicherheitsabstand ist. Ein anderes Problem
kann durch getaktete Steuersignale verursacht werden, indem zusätzliche Übergänge am Steuersignal
unter bestimmten Bedingungen auftreten. Man betrachte einen Fall,
wo das Steuersignal in einem festen Zustand 1 über ein Paar Taktzyklen bleibt.
Indem man das Steuersignal auf 0 in der ersten Hälfte der beiden Taktzyklen
zwingt, während
tatsächlich
zusätzliche Übergänge auf
dem Steuersignal eingeführt,
was zu einem erhöhten
Energieverbrauch führen
kann. Daher führt
das in 14B gezeigte Schema zur größten Energieeinsparung,
wenn die Wahrscheinlichkeit, daß das
Steuersignal zu 1 berechnet wird (Signalwahrscheinlichkeit), niedrig
ist. Wenn andererseits die Wahrscheinlichkeit für die Berechnung des Steuersignals
zu 1 sehr hoch ist, kann ein alternatives Schema verwendet werden,
um das Steuersignal durch ODER-Behandlung des ursprünglichen
Steuersignals mit dem Taktsignal zu takten. Dies zwingt das getaktete
Steuersignal in der ersten Hälfte
der Taktperiode nach 1 – im
Gegensatz zu 0 im Falle des ersten Schemas, so daß zusätzliche Übergänge am getakteten
Steuersignal vermieden werden, wenn es zu 1 berechnet wird.
-
2.2 Minimieren der Störspitzenausbreitung
von Datensignalen
-
Die
obige Beschreibung erläutert
mehrere Wege, in denen die Ausbreitung von Störspitzen von Steuersignalen
zur Energieeinsparung reduziert werden kann. Die Datensignale zum
Schaltungsblock können
ebenfalls störspitzenbehaftet
sein, wie dies vorstehend erläutert
wurde. Nachstehend werden Maßnahmen
erkäutert,
um die Ausbreitung von Störspitzen
auf Datensignalen zu beschränken.
-
2.2.1 Störspitzenreduktion
unter Verwendung selektiver Anstiegs-/Abfall-Verzögerungen
-
Man
betrachte den Beispielschaltkreis gemäß 15(a).
Ein 2-zu-1-Multiplexer wählt
zwischen den Ausgängen
der zwei Addierer aus, und der Ausgang des Multiplexers wird einem
anderen Addierglied zugeführt.
Dies ergibt sich üblicherweise in
RTL-Strukturen, bei denen Datenverkettungen verwendet werden. Wie
vorstehend erläutert,
erzeugen Addierglieder Störspitzen
selbst wenn ihre Eingänge störspitzenfrei
sind. Daher haben die Dateneingänge zu
dem Multiplexer Störspitzen,
die sich durch den Multiplexer und dann durch den dritten Addierer
ausbreiten und zu einer erheblichen Energiedissipierung führen. Erfindungsgemäß wird eine
selektive Verzögerungseinfügung vorgeschlagen,
mit der die Ausbreitung von Störspitzen
durch den Schaltkreis wie folgt, verringert werden kann.
-
Man
betrachte die Implementierung der Tor-Ebene einer Bitscheibe des
Multiplexers gemäß 15(b). Beide Dateneingänge zum Multiplexer sind störspitzenbehaftet.
Ferner betrachte man ein Paar aufeinanderfolgender Taktzyklen q1 und q2, so daß das Auswahlsignal
zum Multiplexer einen 1 → 0 (abfallenden) Übergang
von q1 nach q2 macht.
Wenn der Abfallübergang
bei S frühzeitig
ankommt, ergibt sich ein frühzeitiger
Anstiegsübergang
am Ausgang des Tors G0, der S im plementiert.
Folglich wird der Seiteneingang von G1 frühzeitig nicht steuernd, so daß die Dateneingangsstörspitzen
sich durch G1 ausbreiten können.
Diese Ausbreitung kann dadurch minimiert werden, daß man den
Seiteneingang zu G1 solange wie möglich steuernd hält, was
erreicht werden kann durch Verzögern
des Anstiegsübergangs am
Ausgang von G0 (S). Dies bedeutet,
daß eine "Anstiegsübergangs-Verzögerung" am Ausgang des G0
(S) hinzugefügt wird.
In ähnlicher
Weise ist es zum Minimieren der Störspitzenausbreitung durch das
Tor G2, wenn dort ein früher
Anstiegsübergang bei
S auftritt, wünschenswert,
den Anstiegsübergang am
Verstärkungsausgangszweig
von S zu verzögern, der
mit dem UND-Tor G2 verbunden ist. Da vorzugsweise die ausgewählten Übergänge (ansteigend und/oder
abfallend) an bestimmten Signalen verzögert werden, wird dies als
selektive Verzögerungseinfügung bezeichnet.
Die Blöcke
für die
selektive Anstiegsverzögerung
werden dargestellt durch die schattierten Ellipsen, gemäß 15(b). Eine mögliche Implementierung eines
Anstiegsverzögerungsblocks
unter Verwendung eines UND-Tors und eines Verzögerungselements ist in 15(c) dargestellt. Das Verzögerungselement
wird aufgebaut, unter Verwendung entweder einer Reihe von Puffern
oder Invertern, die dem Eingang hinzugefügt sind. Die Implementierung
nutzt die Tatsache, daß ein
abfallender Übergang
an irgendeinem Eingang eines UND-Tors ausreichend ist, um den Ausgang
auf 0 zuzwingen, während
andererseits der zuletzt ankommende Anstiegsübergang unter allen Eingängen einen
Anstiegsübergang
am Ausgang triggern wird. Unter einem vereinfachten Verzögerungsmodell
von d1ns für den Verzögerungsblock und d2ns
für das
UND-Tor zeigt sich, daß ein
Anstiegsübergang
am Eingang durch (d1 + d2)ns
verzögert
wird, während
ein abfallender Übergang
lediglich um d2ns verzögert wird. Da d1 typischerweise
im Vergleich zu d2 groß ist, wird die geringfügige Vergrößerung der
Ausbreitung von Störspitzen
aufgrund der zusätzlichen
Verzögerung
von d2ns, die durch den abfallenden Übergang
ausgelöst wird,
bei weitem ausgeglichen durch die Einsparungen, die für den Fall
eines Anstiegsübergangs
erhalten werden. Ein selektiver Abfallverzögerungsblock ist ähnlich dem
Schaltkreis gemäß 15(c), mit Ausnahme, daß das UND-Tor
durch ein ODER-Tor ersetzt
ist.
-
Die
Anwendung der obigen Technik auf den Beispielschaltkreis gemäß 15(a) führt zu einer 15,4%igen Abnahme
des gesamten Energieverbrauchs. Die folgenden drei Bedingungen müssen berücksichtigt
werden, wenn selektive Verzögerungen
eingefügt
werden:
- 1. Ein selektiver Verzögerungsblock
hat einen Preis aufgrund des Energieverbrauchs; daher müssen die
erwarteten Einsparungen groß genug sein,
um diesen Überschuß zu rechtfertigen.
- 2. Die Einfügung
eines Anstiegsverzögerungsblocks
führt zu
einer Reduktion der Ausbreitung von Störspitzen durch einen Multiplexer
nur in den Taktzyklen, in denen ein Anstiegsübergang am Verzögerungsblockeingang
anliegt. Daher sollte die Wahrscheinlichkeit für einen Anstiegsübergang
am Signal, wo ein selektiver Anstiegsverzögerungsblock eingefügt werden
soll, hoch sein.
- 3. Um sicherzustellen, daß die
Einfügung
des selektiven Verzögerungsblocks
nicht zu einer Erhöhung
der Verzögerung
des Schaltkreises führt, wird
der Verzögerungsblock
nur auf Auswahlsignale eingefügt,
die ausreichenden Spielraum haben.
-
Festzuhalten
ist, daß es
für einen
gesamten m-Bit-Multiplexer ausreichend ist, lediglich eine selektive
Anstiegsverzögerung
jeweils an dem Auswahlsignal S und seinem Komplement S zu haben. Um diese preisgünstige Lösung zu
ermöglichen,
wird vorzugsweise ein m-Bit-Selektor anstelle eines Multiplexers
verwendet (ein Selektor implementiert die Funktion S1.A
+ S2.B). Die beiden Auswahlsignale (S1 und S2) werden
explizit außerhalb
des Selektors aus S und S erzeugt.
-
2.2.2 Wirkung von Multiplexer-Restrukturierungtstransformationen
auf störspitzenbehaftete
Datensignale
-
Die
Restrukturierungstransformationen von Multiplexern kann ebenfalls
zum Reduzieren der Ausbreitung von Störspitzen auf Datensignalen
eingesetzt werden. Dies kann gezeigt werden unter Verwendung eines
kleinen Abschnitts des GCD-RTL-Schaltkreises
gemäß 16A. Der Subtrahierausgang c20 hat eine große Anzahl
von Störspitzen,
die sich durch den dargestellten Multiplexer und auch durch die
Logikelemente ausbreiten, die dem Multiplexer nachgeschaltet sind.
Es sei angenommen, daß das
Signal Y störspitzenfrei
ist. 16B zeigt den äquivalenten
abstrakten 2-zu-1-Multiplexer. Es wird davon ausgegangen, daß mehrere
Fälle vorliegen,
wenn der Wert des Auswahlsignals unbeachtlich ist, d.h. wenn Cc20 + CY keine Tautologie
ist. In 16A wird der 0-Eingang (d.h. c20)
ausgewählt,
wenn CY den Wert 0 berechnet. Dies schließt nicht
nur den Versatz von CY ein, sondern auch
den Satz der unbeachtlichen Bedingungen. in diesem Fall spezifiziert
das Verhaltenssynthese-Werkzeug das Auswahlsignal auf 0 in allen
unbeachtlichen Bedingungen, um die Steuerlogik zu vereinfachen.
Diese unbeachtlichen Bedingungen können ausgenutzt werden durch
Auswählen
des weniger störspitzenbehafteten
Dateneingangs des Multiplexers in den unbeachtlichen Fällen. Die
transformierte Implementiertung des 2-zu-1-Multiplexers gemäß 16C illustriert diese Überlegung. Durch Anwenden des
störspitzenbehafteten
Dateneingangs c20 als 1-Eingang des Multiplexers und damit Erzwingen
des Auswahlsignals auf Cc20 wird sichergestellt,
daß der
störspitzenbehaftete
Dateneingang so selten wie möglich
ausgewählt
wird, so daß die
Ausbreitung von Störspitzen
zu dem Multiplexerausgang reduziert wird.
-
2.2.3 Taktung von Steuersignalen
zum Unterdrücken von
Datensignalstörspitzen
-
Wenn
die vorstehenden Maßnahmen
zum Verarbeiten von störspitzenbehafteten
Datensignalen nicht anwendbar sind oder nicht adäquat sind, um den Energieverbrauch
mit Störspitzen
zu reduzieren, können
erfindungsgemäß die Steuersignale
getaktet werden, um Datensignah-Störspitzen zu unterdrücken. Wenn
beispielsweise sowohl die Auswahl- als auch die Dateneingänge zu einem
Multiplexer störspitzenbehaftet
sind, und die Restrukturierungstransformationen des Multiplexers
nicht ausreichend sind, um das störspitzenbehaftete Auswahlsignal
zu eliminieren, wird erfindungsgemäß vorgeschlagen, die Steuersignale
zu takten. Wie vorstehend erläutert, wird
das Steuersignal dazu gebracht, einen bestimmten Wert in der ersten
Hälfte
der Taktperiode einzunehmen. Hirzu wird auf 17A verwiesen.
Der Ausgang c20 des Subtrahierglieds, der störspitzenbehaftet ist, führt zu den
Dateneingang eines 2-zu-1-Multiplexers.
Gemäß der Darstellung
führt dies
zu erheblichen Störspitzen
am Ausgang des Multiplexers. Ein Takten des Auswahlsignals Cc20 behebt dieses Problem wie nachstehend
erläutert.
Da der Wert am Auswahlsignal zum Multiplexer auf 0 während der ersten
Hälfte
der Taktperiode gehalten wird, wählt
der Multiplexer den Wert des Dateneingangs Y während dieser Dauer. Daher werden
Störspitzen
am Ausgang des Subtrahierglieds während etwa der ersten Hälfte der
Taktperiode am Multiplexer unterdrückt. Dies führt zu einer starken Abnahme
der Störspitzenaktivität am Multiplexerausgang,
wie dies in der Figur dargestellt ist. Beispielwellenformen für das Taktsignal,
das ursprüngliche
Auswahlsignal und das getaktete Auswahlsignal sind in 17B dargestellt. Wie bereits vorstehend erläutert, ist
es wichtig, die geforderte Ankunftszeit am Auswahlsignal zum Multiplexer
und die zusätzlichen Übergänge zu berücksichtigen,
die auf dem getakteten Auswahlsignal potentiell eingeführt werden
können,
bevor diese Maßnahmen
angewandt werden.
-
2.3 Der Algorithmus zum
Reduzieren der Störspitzenausbreitung
-
Vorstehend
wurden verschiedene Maßnahmen
zum Minimieren des Störspitzen-Energieverbrauchs
in RTL-Schaltkreisen sowie die Bedingungen beschrieben unter denen
die jeweiligen Maßnahmen
anwendbar sind. Nachstehend werden Störspitzen-Reduktionsverfahren
beschrieben, die bei verschiedenen Komponenten in dem RTL-Schaltkreis
in geeigneter Reihenfolge anwendbar sind. Der Pseudocode für das Verfahren
ist in 18 wiedergegeben. Es wird davon
ausgegangen, daß der RTL-Schaltkreis
aus einer Verbindung von RLT-Blöcken
oder Knoten besteht, die durch Register, Multiplexer, Steuerknoten
oder funktionalen Einheiten repräsentiert
werden können.
Die funktionalen Einheiten können
arithmetische Einheiten, wie Addierer und Subtrahierer, Vergleicher
oder logische Vektoroperatoren umfassen.
-
Die
Prozedur COLLAPSE_MUX_NETWORKS durchläuft den RTL-Schaltkreis und kollabiert alle Multiplex-Netzwerke
in abstrakte n-zu-1-Multiplexer wie vorstehend beschrieben. Um die
verschiedenen Störspitzen-Reduktionstechniken
anzuwenden, sind Informationen über
die Signalstatistik, die Störspitzenaktivität sowie die
Verzögerungen
der verschiedenen Signale im Schaltkreis einschließlich der
Steuersignale und der Ausgangssignale jeder RTL-Einheit, wie funktionale Einheit,
Register, Vergleicher und 2-zu-1-Multiplexer erforderlich. Zunächst erhält man eine
tabellierte Torebenen-Implementierung des RTL-Schaltkreises und
verwendet eine Simulator, um die erforderlichen Informationen über die
Signalstatistik und Aktivitäten zu
sammeln. Die Anwendung der Störspitzen-Reduktionstechniken
auf einen Knoten in dem RTL-Schaltkreis
beeinflußt
die Signalstatistiken und die Störspitzenaktivitäten aller
anderen Knoten in seinem transitiven Ausgangsstrom. Um die obigen
Abhängigkeiten zu
berücksichtigen,
wird der RTL-Schaltkreis ausgehend von den primären Eingängen oder Registerausgängen zu
primären
Ausgängen oder
Registereingängen
ausgeglichen; dann werden die Störspitzen-Reduktionstransformationen
durch Ansprechen der Knoten in der Ausgleichsreihenfolge angewendet.
Die Signalstatistiken, die Störspitzenaktivitäten sowie
die Verzögerungen
werden durch inkrementelles Modifizieren der tabellierten Netzliste
erneut berechnet, nachdem alle Knoten auf einer Ebene angesprochen
worden sind.
-
Die
Prozedur GR_TRANSFORM reduziert die Störspitzenerzeugung und Ausbreitung
an einem gegebenen Knoten in dem RTL-Schaltkreis. Wenn der vorgegebene
Knoten ein n-zu-1-MUX-Knoten ist, wird die Prozedur CREATE_MINGLITCH_MUX_TREE_LEVEL
aufgerufen, um den n-zu-1-MUX durch Extrahieren eines Satzes von
2-zu-1-Multiplexern zu zerlegen, die eine Ebene des entsprechenden
Multiplexbaums bilden, und zwar derart, daß die Störspitzenaktivität an den Ausgängen der
gebildeten 2-zu-1-Multiplexer
minimiert wird. Wenn der vorgegebene Knoten ein CONTROL-Knoten ist,
der ein oder mehrere Steuersignale erzeugt, werden Störspitzen-Reduktionstechniken angewendet,
damit die Störspitzenaktivität bei den Steuersignalen
reduziert wird.
-
Die
Prozedur CREATE_MINGLITCH_MUX_TREE_LEVEL zerlegt einen abstrakten
n-zu-1-Multiplexer in ⌊n/2⌋2-zu-1-Multiplexer,
die einen abstrakten ⌈n/2⌉-zu-1-Multiplexer mit
einem Eingangssignal versorgen. Im Rahmen der Erfindung wird dann
versucht, die Störspitzenaktivität am Ausgang
der verschiedenen erzeugten 2-zu-1-Multiplexer zu minimieren, indem
die Dateneingänge
gruppiert werden, um so störspitzenbehaftete
Steuersignale zu eliminieren; ferner werden die Dateneingangskorrelationen
maximiert und störspitzenbehaftete
Dateneingangssignale so selten wie möglich ausgewählt. Ferner
wurde ermittelt, welche Bitscheiben, wenn überhaupt, jedes der erzeugten
2-zu-1-Multiplexer zu dem Konsensus-Ausdruck addiert werden sollen,
zu welche selektiven Verzögerungen
die Bitscheiben addiert werden sollen und ob die Steuersignale,
die den ausgewählten
Eingängen
der erzeugten 2-zu-1-Multiplexern zugeführt werden, getaktet werden
sollen.
-
3. Reduzierung
des Register-Energieverbrauchs durch Steuern der Takteingänge der
Register
-
Es
wurde beobachtet, daß die
Register verantwortlich sind für
einen erheblichen Anteil des Gesamtenergieverbrauchs. Ein großer Teil
des Register-Energieverbrauchs beruht wiederum auf den Übergängen auf
den Takteingängen
zu den Registern. Die Taktimpulse zu den Registern werden gesteuert,
um den Energieverbrauch in den Registern zu reduzieren. Dabei sollte
sichergestellt werden, daß auf
dem gesteuerten Taktsignal keine Störspitzen sind und daß die erforderlichen
Taktbedingungen für
das Taktschema erfüllt
sind. Die vorliegenden Prozeduren zum Ableiten der Steuerbedingungen
für die Takteingänge zu den
Registern stellen sicher, daß derartige
Bedingungen erfüllt
werden.
-
Die
Verfahren zum automatischen Detektieren der Bedingungen, unter denen
die Taktsignale abgeschaltet werden können, basieren auf identifizierenden
Selbstschleifen und unerreichbaren Zuständen in dem Zustandsübergangsgraphen
gemäß Referenz
28. Die unterscheidenden Merkmale gemäß vorliegender Erfindung gegenüber kerkömmlichen
Maßnahmen
zum Steuern von Taktsignalen sind folgende: (i) es werden getrennte
Steuerbedingungen für
jedes Register in dem Schaltkeis identifiziert, die zu größeren Möglichkeiten
zum Steuern der Taktsignale führen
können,
(ii) ferner wird ein Schema angewendet, mit dem die Maßnahmen
zum Steuern der Taktsignale zu Designstrukturen mit flankengesteuerten
Flip-Flops angewendet werden, und (iii) die erfindungsgemäßen Prozeduren
beruhen auf einer Strukturanalyse des vorgegebenen RTL-Schaltkreises
und sind anwendbar auf alle Register in einer Design-Struktur einschließlich der
Datenpfad-Register. Die Maßnahmen
gemäß Referenz
28 erfordern einen STG des Schalt kreises und können daher nur auf die Steuerlogik
und auf die Zufalls-Logikteile eines Designs angewendet werden.
-
Die
grundlegende Technik zum Steuern von Taktsignalen zu Registern wird
in den 19A bis 19C dargestellt.
In dem Schaltkreis gemäß 19A lädt
das Register seinen vorherigen Wert erneut, wenn der Ausgang des "kleiner als"-Vergleichers 0 ist.
Wenn daher der Vergleicher am Ausgang den Wert 0 hat, kann der Takteingang
des Registers zum Ausführen
eines Übergangs
unterdrückt
werden. Bei diesem Beispiel sei angenommen, daß die Struktur auf einphasigen,
durch die Anstiegsflanke getriggerten Flip-Flops basiert. Die 19B zeigt zwei vorgeschlagene Schemata zum Steuern
des Takteingangs zum Register; diese Schemata werden als Schema
1 bzw. Schema 2 bezeichnet. Das Schema 1 beruht im wesentlichen
darauf, daß der
Registertakteingang auf 0 eingestellt wird, wenn der Ausgang des
Vergleichers eine 0 berechnet, so daß unerwünschte Übergänge auf dem Takt unterdrückt werden.
Das Schema 2 ist ähnlich
zum Schema 1 mit der Ausnahme, daß der Registertakteingang auf
1 eingestellt wird, wenn der Vergleicherausgang den Wert 0 berechnet.
Eine Anfangsanalyse geht daher davon aus, daß beide Schemata äquivalent
sind. Wenn jedoch die Taktbedingungen berücksichtigt werden, sind die
Schemata bei weitem nicht äquivalent.
Um dies zu illustrieren, wird auf die Beispielswellenformen gemäß 19C für
beide Schemata verwiesen. Damit Schema 1 arbeitet, muß der Ausgang des
Vergleichers den Wert 0 berechnen, bevor die Taktflanke ansteigt,
d.h. zum Zeitpunkt t = 0. Dies ist nicht möglich, da die neuen Eingänge zum
Vergleicher nur zum Zeitpunkt t = 0 anliegen, und der Vergleicher
benötigt
offensichtlich eine endliche Verzögerung ungleich 0, bevor sein
Ausgang stabil ist. Daher arbeitet das Schema 1 nicht, wenn die
Taktbedingungen berücksichtigt
werden. Andererseits arbeitet das Schema 2 solange, wie sich die
Steuerbedingungen vor der Hälfte
der Taktperiode stabilisieren.
-
Um
den Takteingang zu einem Register zu steuern, muß zunächst der Satz von Bedingungen, unter
denen das Register einen neuen Wert nicht laden muß, berechnet
werden. Diese Steuerbedingungen können während der Verhaltenssynthese
leicht gewonnen werden, wenn das Design aus einer Verhaltensbeschreibung
synthetisiert wird. Die Lebensdaueranalyse, die während der
Verhaltenssynthese zur Betriebsmittelteilung verwendet wird, zeigt
den genauen Satz von Bedingungen, unter denen jedes Register einen
neuen Wert laden muß.
Im allgemeinen liegen die so erhaltenen Steuerbedingungen in der
Form von Ausdrücken
vor, die den gegenwärtigen
Zustand der Steuereinrichtung sowie der Ausgänge der Vergleicher beinhalten,
die die verschiedenen Bedingungen der Verhaltensbeschreibung berechnen.
-
Alternativ
und wenn nur die RTL-Beschreibung des Designs vorgegeben ist, wird
das folgende Verfahren angewendet, um die Steuerbedingungen abzuleiten.
Für jedes
Register wird das zugehörige Multiplex-Netzwerk
analysiert, um zu ermitteln, ob der Registerausgang als einer der
Dateneingänge
zu dem Multiplex-Netzwerk zurückgeführt wird.
Das Vorliegen einer derartigen Selbstschleife aus einem Register-Ausgangssignal
zurück
zu seinem Dateneingang ist typisch für die manuelle Strukturierung
von RTL-Schaltkreisen sowie von RTL-Schaltkreisen, die durch Synthesewerkzeuge
auf hohem Niveau produziert werden. Die Bedingungen, unter denen
diese Selbstschleife logisch aktiviert wird, repräsentiert
die Bedingungen, unter denen das Register seinen vorherigen Datenwert
behält.
Der Pfad durch das Multiplex-Netzwerk beginnt an dem identifizierten
Dateneingang zum Multiplex-Netzwerk und endet am Ausgang des Multiplex-Netzwerks,
der mit dem Eingang des Registers verbunden sind. Dann werden die
Bedingungen für
diesen zu aktivierenden Pfad berechnet, und zwar in Ausdrücken des
ausgewählten
Signals, das mit den einzelnen Multiplexern entlang des Pfades verbunden
ist. Die Bedingung, daß der
Pfad aktiviert wird, kann als Konjunktion der Bedingungen wiedergegeben
werden, daß jeder
Multiplexer entlang des Pfades den auf dem Pfad liegenden Eingang
auswählt.
-
Man
betrachte das Register und den eingangsseitigen Multiplexbaum gemäß 20.
Unter der Annahme, daß Schema
2 gemäß 19 verwendet wird, ist die Steuerbedingung
für den
Takteingang zum Register gleich contr[0].contr[1].
-
Ferner
werden der allgemeine Fall betrachtet, wo ein Register in einem
RTL-Schaltkreis eine Selbstschleife aufweist, die durch n 2-zu-1-Multiplexer
in einem Multiplex-Netzwerk läuft.
Es seien Sel1, Sel2 ...,
Seln die Bedingungen, unter denen die Multiplexer
in dem Pfad, der die Selbstschleife bildet, die auf dem Pfad liegenden
Eingänge
auswählt.
Dabei ist Seli entweder gleich dem Steuersignal,
das dem Auswahleingang des entsprechenden Multiplexers zugeführt wird,
oder sein Komplement, und zwar abhängig davon, ob der auf dem
Pfad liegende Eingang der 1-Eingang oder der 0-Eingang zum Multiplexer
ist. Die Steuerbedingung für
den Registertakt kann dann geschrieben werden als Sel1,
Sel2 ..., Seln.
-
Da
die Logik zum Berechnen der Auswahlsignale zu den verschiedenen
Multiplexern in dem Multiplex-Netzwerk bereits implementiert ist,
muß lediglich
die Logik hinzugefügt
werden, die gegebenenfalls zum Invertieren der Steuersignale und
zum Berechnen der Einzelbedingungen für jeden Multiplexer in dem
Pfad erforderlich ist. Das vorstehende Verfahren zum Ableiten der
Steuerbedingungen garantiert nicht, daß die erforderlichen Taktbedingungen,
die Steuerbedingung sollte sich stabilisieren innerhalb der ersten
Hälfte
der Taktperiode) erfüllt
sind. Falls die erforderlichen Taktbedingungen nicht erfüllt werden,
kann dies zur Erzeugung von kurzzeitigen Übergängen auf den Takteingängen zu
den Registern führen.
Dies verursacht nicht nur einen zusätzlichen Energieverbrauch,
sondern kann auch dazu führen,
daß die
Register unrichtige Werte laden. Eine mögliche Lösung dieses Problems besteht
darin, die Struktur langsamer zu takten. Alternativ kann die Möglichkeit zum Ändern des
Tastverhältnisses
der Taktung untersucht werden, während
die gleiche Taktperiode beibehalten wird. Dies führt jedoch zu einer Verschlechterung
der Arbeitsbedingungen oder zu einer Änderung des ursprünglichen
Taktschemas; beide Folgen sind häufig
unerwünscht.
-
Damit
die erforderlichen Taktbedingungen erfüllt werden, können die
vorstehenden Maßnahmen
im Rahmen der Erfindung weiter verbessert werden. Nach der Berechnung
des Ausdrucks für
die Steuerbedingung gemäß vorstehendem
Abschnitt wird zunächst
unter Verwendung einer Anfangsimplementierung überprüft, ob die Ankunftszeit bei
der Steuerbedingung kleiner ist als die Hälfte der Taktperiode. Falls
diese Bedingung nicht erfüllt
ist, wird eine reduzierte Steuerbedingung abgeleitet, die sicherstellt,
daß die
Taktbedingungen erfüllt
werden, und zwar unter Verwendung einer Untermenge der Ausdrücke, die
in der ursprünglichen
Steuerbedingung verwendet werden. Der Ausdruck für die Steuerbedingung wird
zunächst
zu einer Produktsumme umgewandelt, und der hochpegelige Verzögerungsrechner
FEST (Referenz 31) wird eingesetzt, um die Ankunftszeiten an den
Signalen, die jeden Produktausdruck repräsentieren, zu bestimmen. Eine
Untermenge der Produktausdrücke
wird so identifiziert, daß die größte Ankunftszeit
unter den Produktausdrücken zuzüglich der
Verzögerung
der Logik, die zum Berechnen der ODER-Bedingung der ausgewählten Ausdrücke erforderlich
ist, kleiner ist als die halbe Taktperiode. Um reduzierte Steuerbedingungen
zu erhalten, wurden in Referenz 28 heuristische Methoden angewendet.
Dort war es jedoch das Ziel, den Überschuß zu minimieren, der zur Synthese
der die Steuerbedingung implementierenden Logik erforderlich war,
während
im Rahmen der vorliegenden Erfindung in erster Linie Ausdrücke eliminiert
werden sollen, die bewirken, daß der
Anfangsausdruck die Taktbedingungen verletzt.
-
Während die
vorstehenden erfindungsgemäßen Verfahren
eine getrennte Steuerungsbedingung für jedes Datenpfadregister ableiten,
ist es im Rahmen der Erfindung auch möglich, die Steuerbedingungen
für eine
Gruppe von Registern in eine einzige Steuerbedingung zu kombinieren,
die verwendet werden kann, um den Takteingang aller Register in der
Gruppe zu steuern. Der Vorteil dieser Kombination besteht darin,
daß unerwünschte Übergänge in Teilen
des Taktverteilungsnetzes ebenfalls unterdrückt werden können. Der
Taktübergang
zu mehreren Registern kann jedoch nur dann unterdrückt werden
wenn alle einzelnen Steuerbedingungen erfüllt sind. Daher kann die Anzahl
der Übergänge, die
an den Takteingängen
einiger der Register unterdrückt werden,
wenn eine kombinierte Steuerbedingung angewendet wird, geringer
sein als die Anzahl der Übergänge, die
bei Verwendung einzelner Steuerbedingungen unterdrückt werden
könnten.
-
4. Experimentielle
Ergebnisse
-
Es
werden Resultate der Anwendung der vorgeschlagenen Energiereduktion
auf die folgenden sechs RTL-Schaltkreise wiedergegeben: GCD, einen Strichcodeleser-Vorprozessor
(Strichcode) (Referenz 35), die Steuerung für ein unbemanntes Kraftfahrzeug
(UAV) (Referenz 34), eine Steuerung für einen Verkaufsautomaten (Vendor)
(Referenz 36), ein Linienzeichenverfahren als Teil eines Grafiksteuerbausteins
(Referenz 37) (Graphik), sowie ein Übertragungsverfahren, das einen
Teil des X.25-Kommunikationsprotokolls (X.25) implementiert (Referenz 29).
Das für
die vorliegenden Versuche verwendete Flußschema ist in 21 dargestellt.
Die ursprünglichen
RTL-Schaltkreise wurden erhalten durch Synthetisieren von VHDL-Verhaltensbeschreibungen
unter Verwendung des hochwertigen Synthesesystems SECONDS (Referenzen
29, 30 und 31). Sie wurden tabelliert mit der NEC CMOS6-Bibliothek
(Referenz 32), und die tabellierten Netzlisten auf Torebene wurden
unter Verwendung von CSIM (Referenz 33) simuliert, um die Störspitzenaktivität und die
Signalstatistik verschiedener Signale im Schaltkreis zu bestimmen.
Die Simulationsresultate wurden zurück zu den erfindungsgemäßen RTL-Energieopti mierungsverfahren
geführt,
die das ursprüngliche
RTL-Design transformieren, um die Erzeugung und die Ausbreitung
von Störspitzen
zu reduzieren. Wie vorstehend ausgeführt, kann die Anwendung von
störspitzenreduzierenden
Transformationen die Störspitzenaktivitäten und
die Signalstatistik in globaler Weise beeinflussen. Um eine maximale
Energieeinsparung zu ermöglichen,
muß die
zum Ansteuern der Transformationen verwendete Information inkremental
erneut berechnet werden. Daher werden die erfindungsgemäßen störspitzenreduzierenden
Transformationen auf alle RTL-Knoten einer Ebene in dem RTL-Schaltkreis angewendet,
dann wird die so tabellierte Netzliste inkremental modifiziert,
um die Transformationen wiederzugeben, und schließlich werden
die Störspitzenaktivitäten und
die Signalstatistik zum Ausführen
der störspitzenreduzierenden
Transformationen zu den RTL-Knoten auf anderen Ebenen erneut berechnet.
Sowohl die ursprünglichen
als auch die optimierten RTL-Schaltkreise wurden für Bereiche
und Verzögerungen
unter Verwendung des VARCHSYNC-Synthesesystems von NEC-Corporation
(Referenz 38) und zum Energieverbrauch unter Verwendung CSIM berechnet.
-
Die
zur Simulation verwendeten Vektoren wurden folgendermaßen erhalten.
Für jedes
Design wurde die Verhaltensprüfung
für Designs
zum Simulieren der vorgegebenen Verhaltungsbeschreibung verwendet,
und zwar unter Verwendung des VHDL-Simulators und des VSIM (Referenz
39); man erhält
eine zyklische Eingangsvektorenfolge. Der vorstehende Schritt ist
insbesondere wichtig für
steuerstromintensive Strukturen, wobei im Gegensatz zu datenstromintensiven
Spezifikation die Anzahl der zum Ausführen der Berechnung erforderlichen
Taktzyklen in Abhängigkeit
von den Eingangswerten variiert. Die zyklische Eingangsvektorfolge
wurde verwendet sowohl beim Sammeln von Information über die
Störspitzenaktivität und die
Signalstatistiken sowie zum Berechnen der Anfangsstruktur sowie
der für
den Energieverbrauch optimierten Struktur.
-
22 zeigt
die Versuchsergebnisse, Die Energie bzw. Leistung, die Fläche (Anzahl
der Transistorpaare), und die Verzögerungszahlen wurden erhalten
nach Tabellieren mit der verwendeten Technologie-Bibliothek. Die
Ergebnisse zeigen, daß die
erfindungsgemäßen Verfahren
den Energieverbrauch von RTL-Strukturen wesentlich reduzieren kann.
Dabei zeigt sich, daß die
erfindungsgemäße Störspitzenreduktion
auf die Energie- bzw. Leistungsreduktion abzielt, und zwar nur durch
Reduzieren der Ausbreitung der Störspitzen zwischen verschiedenen Blöcken in
dem RTL-Schaltkreis. Daher können
die erfindungsgemäßen Verfahren
mit anderen energiereduzierenden Verfahren kombiniert werden, die
darauf abzielen, Übergänge zu unterdrücken, die
nicht Störspitzen
entsprechen. Der Überschuß an Fläche und
Verzögerung,
der auf die erfindungsgemäßen Energieeinsparungsverfahren
zurückgeführt werden kann,
kann als nominal angesehen werden. In einigen Fällen sind die Fläche und
die Verzögerung
des Schaltkreises nach Anwenden der erfindungsgemäßen Verfahren
geringfügig
kleiner als beim ursprünglichen
Schaltkreis. Dies kann auf der Tatsache beruhen, daß die Multiplexer-Restrukturierungstransformationen
zu einer Vereinfachung in der Steuerlogik führen können, was wiederum zur Verringerung
der Fläche
und der Verzögerung
führen
kann.
-
REFERENZLISTE
-
- 1. A. P. Chandrakasan, S. Sheng, and R. W. Brodersen, "Low-power CMOS digital
design," IEEE J.
Solid-State Circuits, pp. 473-484, Apr. 1992.
- 2. S. Devadas and S. Malik, "A
survey of optimization techniques targeting low power VLSI circuits," in Proc. Design
Automation Conf., pp. 242-247, June 1995.
- 3. K Vaishnav and M. Pedram, "PCUBE: A performance driven placement
algorithm for low power designs," in
Proc. European Conf. Design Automation, pp. 72-77, Sept. 1993.
- 4. S. R. Powell and P.M. Chau, "Estimating power dissipation of VLSI
signal processing chips: the PFA technique," in Proc. VLSI Signal Processing IV,
pp. 250-259, 1990.
- 5. P. E. Landman and J. 141. Rabaey, "Power estimation for high level synthesis," in Proc. European
Conf. Design Automation, pp. 361-366, Feb. 1993.
- 6. P. E. Landman and J. M. Rabaey, "Black-box capacitance models for architectural
power analysis," in Proc.
Int. Wkshop. Low Power Design, pp. 165-170, Apr. 1994.
- 7. D. Marculescu, R. Marculescu, and M. Pedram, "Information theoretic
measures for energy consumption at the register-transfer level." in Proc. Int. Symp. Low
Power Design, pp. 81-86, Apr. 1995.
- 8. F. N. Najm, "Towards
a high-level power estimation capability," in Proc. Int. Symp. Lower Power Design, pp.
87-92, Apr. 1995.
- 9. A. P. Chandrakasan, M. Potkonjak, R. Mehra, J. Rabaey, and
R. Brodersen, "Optimizing
power using transformations," IEEE
Trans. Computer-Aided Design, vol. 14, pp. 12-31, Jan. 1995.
- 10. A. Chatterjee and R. K. Roy, "Synthesis of low power DSP circuits
using activity metrics," in
Proc. 7th Int. Conf. VLSI Design, pp. 265-270, Jan. 1994.
- 11. S. Wytack, F. Catthoor, F. Franssen, L. Nachtergaele, and
H. D. Man, "Global
communication and memory optimizing transformations for low power systems," in Prac. Int. Wkshp.
Low Power Design, pp. 203-208, Apr. 1994.
- 12. D. Lidsky and J. Rabaey, "Low-power design of memory intensitve
functions," in Proc.
Symp. Low Power Electronics, pp. 16-17, Oct. 1994.
- 13. R. Mehra and J. Rabaey, "Behavioral
level power estimation and exploration," in Proc. Int. Wkshp. Low Power Design,
pp. 197-202, Apr. 1994.
- 14. L. Goodby, A. Orailoglu, and P. M. Chau, "Microarchitectural
synthesis of performance-constrained, low-power VLSI designs," in Proc. Int. Conf. Computer
Design, pp. 323-326, Oct. 1994.
- 15. A. Raghunathan and N. K. Jha, "Behavioral synthesis for low power" in Proc. Int. Conf.
Computer Design, pp., 318-322, Oct. 1994.
- 16. A. Raghunathan and N. K. Jha, "An ILP formulation for low power based
on minimizing switched capacitance during datapath allocation," in Proc. Int. Symp.
Circuits & Systems,
pp. 1069-1073, May 1995.
- 17. J. M. Chang and M. Pedram, "Register allocation and binding for
low power," in Proc.
Design Automation Conf., pp. 29-35, June 1995.
- 18. A. Dasgupta and R. Karri, "Simultaneous scheduling and binding
for power minimization during microarchitecture synthesis," in Proc. Int. Symp.
Low Power Design, pp. 69-74, Apr. 1995.
- 19. E. Musoll and J. Cortadella, "High-level synthesis techniques for
reducing the activity of functional units," in Proc. Int. Symp. Low Power Design,
pp. 99-104, Apr. 1995.
- 20. M. Stan and W. P. Burleson, "Limited-weight codes for low-power I/O," in Proc. Int. Wkshp.
Low Power Design, pp. 209-214, Apr. 1994.
- 21. C. Papachristou, M. Spining, and M. Nourani, "A multiple clocking
scheme for low power RTL design," in
Proc. Int. Symp. Low Power Design, pp. 21-32, Apr. 1995.
- 22. R. S. Martin and J. P. Knight, "Power Profiler: Optimizing ASICs power
consumption at the behavioral level," in Proc. Design Automation Conf., pp.
42-47, June 1995.
- 23. V. Tiwari, S. Malik, and A. Wolfe, "Power analysis of embedded software:
a first step towards software power minimization," in Proc. Int. Conf.
Computer-Aided Design, Nov. 1994.
- 24. M. Favalli and L. Benini, "Analysis of glitch power dissipation
in CMOS IC's." in Proc. Int. Symp.
Low Power Design, pp. 123-128, Apr. 1995.
- 25. S. Rajagopal and G. Mehta, "Experiences with simulationbased schematic-level
power estimation," in Proc.
Int. Wkshp. Low Power Design, pp. 9-14, Apr. 1994.
- 26. F. N. Najm and M. Y. Zhang, "Extreme delay sensitivity and the worst-case
switching activity in VLSI circuits," in Proc. Design Automation Conf., pp. 623-627,
June 1995.
- 27. C. Lemonds and S. S. M Shetti. "A low power 16 by 16 multiplier using
transition reduction circuitry," in Proc.
Int. Wkshp. Low Power Design, pp. 139-142, Apr. 1994.
- 28. L. Benini, P. Siegel, and G. DeMicheli, "Saving power by synthesizing gated clocks
for sequential circuits," IEEE
Design & Test
of Computers, pp. 32-41, Winter 1994.
- 29. S. Bhattacharya, S. Dey, and F. Brglez, "Performance analysis and optimizaiton
of schedules for conditional and loop-intensive specifications," in Proc. Design
Automation Conf., pp. 491-496, June 1994.
- 30. S. Bhattacharya, S. Dey, and F. Brglez, "Clock period optimization during resource
sharing and assignment," in
Proc. Design Automation Conf., pp. 195-200, June 1994.
- 31. S. Bhattacharya, S. Dey, and F. Brglez, "Propably correct high-level timing analysis
without path sensitization," in
Proc. Int. Conf. Computer-Aided Design, pp. 736-742, Nov. 1994.
- 32. CMOS6 Library manual, NEC Electronics, Inc. Dec. 1992.
- 33. CSIM Version 5 Users Manual, Systems LSI Division, NEC Corp.,
1993.
- 34. K Hintz and D. Tabak, Microcontrollers: Architecture, Implemeatation,
and Programming. New York, NY 10020: McGraw-Hill, 1992.
- 35. High-level synthesis benchmarks, CAD Benchmarking Laboratory,
Research Triangle Park, NC. Benchmarks can be downloaded from http://www.cbl.ncsu.edu.
- 36. D. L. Perry, VHDL, New York, NY 10020: McGraw-Hill, 1991.
- 37. S. Dey, A. Raghunathan, N. K Jha, and K. Wakabayashi, "Controller re-specification
to minimize switching activity in controller/data path circuits," Tech. Rep. 96-C007-4.5016.1,
NEC C&C Research
Labs, Princeton, NJ, Mar. 1996.
- 38. VARCHSYN Version 2.0 Users Manual, Advanced CAD Development
Laboratory, NEC Corporation, Nov. 1993.
- 39. Model Technology, Inc., VSYSTEM users manual.