DE19824796A1 - Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -Reduktion - Google Patents

Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -Reduktion

Info

Publication number
DE19824796A1
DE19824796A1 DE19824796A DE19824796A DE19824796A1 DE 19824796 A1 DE19824796 A1 DE 19824796A1 DE 19824796 A DE19824796 A DE 19824796A DE 19824796 A DE19824796 A DE 19824796A DE 19824796 A1 DE19824796 A1 DE 19824796A1
Authority
DE
Germany
Prior art keywords
logic
signal
input
logic signal
control signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19824796A
Other languages
English (en)
Other versions
DE19824796B4 (de
Inventor
Anand Raghunathan
Sujit Dey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of DE19824796A1 publication Critical patent/DE19824796A1/de
Application granted granted Critical
Publication of DE19824796B4 publication Critical patent/DE19824796B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/125Discriminating pulses
    • H03K5/1252Suppression or limitation of noise or interference
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Description

Die Erfindung betrifft ein Verfahren zur Reduktion des Ener­ gieverbrauchs 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ün­ schenswert. Ein übermäßiger Energieverbrauch führt ferner zu einer Erhöhung der Kosten bei der Chip-Verpackung und Küh­ lung, so daß die Gesamtsystem-Kosten erhöht werden. Ein an­ derer Vorteil von geringem Energieverbrauch ist die erhöhte Zuverlässigkeit der VLSI-Schaltkreise. Eine Reduktion des mittleren Energieverbrauchs oder des Spitzenenergiever­ brauchs haben ihre eigenen Vorteile. Beispielsweise ist der mittlere Energieverbrauch mit der Batterielebensdauer korre­ liert, während der Spitzenenergieverbrauch sich insbesondere auf die Kosten bei der Verpackung und der Kühlung nieder­ schlä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 unterschiedli­ cher 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 Gestal­ tung (Referenz 3), und bei der Logik (Referenz 2) der Design-Hierarchie. Hierbei konzentrieren wir uns auf Techni­ ken zum Reduzieren des Energieverbrauchs in Schaltkreisen, die in der Registerübertragungsebene (RTL) der Design- Hierarchie spezifiziert sind. Die RTL-Designs können entwe­ der durch Designer manuell erzeugt werden oder aus Verhal­ tensspezifikationen durch Verhaltenssynthesewerkzeuge syn­ thetisiert werden. Zur Leistungsabschätzung der Architektur wurde in Referenz 4 ein Verfahren vorgestellt, das auf einem Signalstatistikmodell mit gleichförmig weißem Rauschen ba­ siert. 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 vorge­ schlagen, die eine Vielzahl von Architektur-Transformationen verwendet, um den Energieverbrauch zu reduzieren. In Refe­ renz 10 werden Schaltaktivitätsmessungen eingesetzt, um den Energieverbrauch in Bit-seriellen Digitalfiltern zu reduzie­ ren. Eine Optimierung von speicher-dominierten Berechnungen zum Energieverbrauch wird in den Referenzen 11 und 12 ange­ sprochen. Werkzeuge zur Energieabschätzung und zur Untersu­ chung des Design-Raumes im Verhaltenspegel wurden in Refe­ renz 13 dargestellt. In Referenz 14 werden eine Modulselek­ tion und ein Pipeline-Verfahren verwendet, um die Leistungs­ verschlechterung 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 basie­ rend auf einer Reduktion der Aktivität in funktionalen Ein­ heiten wurden in Referenz 19 dargestellt. Die Verwendung von begrenzten Wichtungscodes zur Minimierung des Energiever­ brauchs in Bus-Schaltkreisen und Eingabe/Ausgabe-Schaltkrei­ sen wird in Referenz 20 beschrieben. Ein Multiphasen-Takt­ schema für RTL-Schatkreise zum Reduzieren der Aktivität durch natürliches Abschalten inaktiver Teile des Schaltkrei­ ses wurde in Referenz 21 beschrieben. Ein Optimierungswerk­ zeug für mittleren und Spitzen-Energieverbrauch während der Verhaltenssynthese basierend auf einem genetischen Suchver­ fahren sind in Referenz 22 beschrieben. Techniken zur Soft­ ware-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 Stu­ dien berichten von der Bedeutung zur Berücksichtigung der Störspitzen-Leistung während der Leistungsabschätzung und Optimierung (Referenzen 24 und 25). Die extreme Empfindlich­ keit der Störspitzen-Leistung gegenüber Verfahrensverände­ rungen sind in den Referenzen 24 und 26 hervorgehoben, wo gezeigt wird, daß die Schaltaktivität und der Energiever­ brauch aufgrund von Störspitzen sehr viel stärker mit Ver­ fahrensschwankungen variieren als die anderen Energiever­ brauchskomponenten. 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 igno­ riert der Stand der Technik bezüglich des Energieverbrauchs und der Optimierung die Auswirkungen von Störspitzen, insbe­ sondere die Auswirkung des Durchlaufs von Störspitzen über die Blockgrenzen in der Architektur. Während genaue Biblio­ theks-Modellverfahren (Referenz 6) verwendet werden können, um die Auswirkungen von Störspitzen innerhalb von Architek­ turblöcken zu berücksichtigen, wird dabei jedoch typischer­ weise angenommen, daß die Eingangssignale zu diesen Blöcken störspitzenfrei sind.
Die meisten Arbeiten bei Architektur- und Verhaltenspegeln beziehen sich insbesondere auf datenflußintensive Gestaltun­ gen, während arithmetische Einheiten, wie Addierglieder und Multiplizierglieder für den größten Teil des Gesamtenergie­ verbrauchs 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ön­ nen.
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 Ent­ wickler verwenden meist Techniken zum Betätigen von Takt­ schaltungen, um Teile eines Systems selektiv abzuschalten. Verfahren zum automatischen Detektieren von Bedingungen, un­ ter denen die Takteingangssignale an alle Register einer Schaltung abgeschaltet werden können, basieren auf der Iden­ tifizierung von Selbstschleifen und Unerreichbarzuständen im Zustandsübergangsgraphen (STG), wie in Referenz 28 darge­ stellt. 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 zweckmäßig ist, das STG zu extrahieren.
Im Rahmen der vorliegenden Erfindung werden Schaltungs-Designs für Niederenergietechniken für RTL-Steuerschaltun­ gen/Datenpfadschaltkreise beschrieben, die steuerflußinten­ sive 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 wesentli­ chen 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 ge­ samten 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 Daten­ signalen zu unterdrücken. Die wesentlichen Vorteile der vor­ liegenden 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 Register­ energieverbrauchs verursachen, wird eine Technik angewandt, bei der Takteingänge zu Registern geschaltet werden, um ihren Energieverbrauch zu reduzieren. Im Gegensatz zur Tech­ nik in Referenz 28, bei der das STG des Schaltkreises benö­ tigt wird, leitet die erfindungsgemäße Technik die Schaltbe­ dingungen für Registertakteingänge, basierend auf einer strukturellen Analyse des RTL-Schaltkreises ab, und kann da­ her auf alle Register des Schaltkreises angewendet werden.
Der Erfindung liegt die Aufgabe zugrunde, automatische Tech­ niken zum Reduzieren des Störimpuls-Energieverbrauchs in ge­ nerellen Schaltkreisen in der Architektur- und Verhaltens­ ebene anzugeben. Ferner ist es Aufgabe der Erfindung, Tech­ niken für Niederenergie-Designs für RTL-Steuerschaltun­ gen/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/Abfall­ verzögerungen umfassen, um das Fortschreiten von Störimpul­ sen 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:
Fig. 1 einen RTL-Schaltkreis zur Berechnung des größten gemeinsamen Teilers (GCD) zweier Zahlen,
Fig. 2 eine Tabelle zur Erläuterung des Energieverbrauchs in verschiedenen Teilen des GCD-Schaltkreisen,
Fig. 3 eine Tabelle zur Erläuterung der Aktivitäten mit/ohne Störimpulsen für verschiedene Signale des GCD-Schaltkreises,
Fig. 4A eine Architektur zur Implementierung einer Funk­ tion,
Fig. 4B eine andere Architektur zur Implementierung der gleichen Funktion der Architektur gemäß Fig. 4A,
Fig. 5 eine Störimpulserzeugung in verschiedenen Daten­ pfadblöcken,
Fig. 6A einen Teil der Decoderlogik,
Fig. 6B die Erzeugung von Störimpulsen am Tor G1 der Deco­ derlogik gemäß Fig. 6A,
Fig. 7 eine Implementierung des Steuersignals [1] in einem RTL-Schaltkreis eines Strichcode-Lesers,
Fig. 8A eine teilweise Darstellung eines Zustandsüber­ gangsgraphen (STG) für einen Strichcode-Steuer­ schaltkreis,
Fig. 8B die Erzeugung von Störimpulsen am Tor G5 in Fig. 8A,
Fig. 9 einen Multiplexer, der zwischen zwei 8-Bit-Daten­ signalen A und B selektiert,
Fig. 10A einen Multiplexer in dem Fall, wenn die Bits Ai und Bi die Werte <0,0< annehmen,
Fig. 10B einen Multiplexer in dem Fall, wenn die Bits Ai und Bi die Werte <0,1< annehmen,
Fig. 10C einen Multiplexer in dem Fall, wenn die Bits Ai und Bi die Werte <1,0< annehmen,
Fig. 10D einen Multiplexer in dem Fall, wenn die Bits Ai und Bi die Werte <1,1< annehmen,
Fig. 11 einen Multiplexer, der an ein zusätzliches Tor Gc hinzugefügt ist,
Fig. 12A die Ausgabe eines Zuführregisters für ein Anfangs­ multiplexnetzwerk im GCD-Schaltkreis gemäß Fig. 1,
Fig. 12B einen abstrakten 3-zu-1-Multiplexer des Multiplex­ netzwerks gemäß Fig. 12A,
Fig. 12C ein restrukturiertes Multiplexnetzwerk des Multi­ plexnetzwerks gemäß Fig. 12A,
Fig. 13A ein anderes Anfangsmultiplexnetzwerk als Teil des Strichcodeleser-RTL-Schaltkreises,
Fig. 13B einen abstrakten 3-zu-1-Multiplexers des Multi­ plexnetzwerks gemäß Fig. 13A,
Fig. 13C ein restrukturiertes Multiplexnetzwerk des Multi­ plexnetzwerks gemäß Fig. 13A,
Fig. 14A einen 2-zu-1-Multiplexers als Teil des RTL-Schalt­ kreises, der die Steuerschaltung für ein unbemann­ tes Kraftfahrzeug implementiert,
Fig. 14B einen modifizierten Schaltkreis nach dem Takten des Auswahlsignals an den Multiplexer gemäß Fig. 14A,
Fig. 14C Beispiel-Wellenformen für das Taktsignal, das ur­ sprüngliche Auswahlsignal und das getaktete Aus­ wahlsignal in dem modifiziertem Schaltkreis gemäß Fig. 14B,
Fig. 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,
Fig. 16A ein anfängliches Multiplexnetzwerk eines kleinen Teils des GCD-RTL-Schaltkreises;
Fig. 16B einen abstrakten 2-zu-1-Multiplexer des Multiplex-Netz­ werks gemäß Fig. 16A,
Fig. 16C restrukturiertes Multiplexnetzwerk des Multiplex­ netzwerks gemäß Fig. 16A,
Fig. 17A einen modifizierten Schaltkreis nach dem Takten des Auswahlsignals an einen Multiplexer,
Fig. 17B Beispiel-Wellenformen für das Taktsignal, das ur­ sprüngliche Auswahlsignal und das getaktete Aus­ wahlsignal in dem modifizierten Schaltkreis gemäß Fig. 17A,
Fig. 18 einen Pseudocode für ein Störimpuls-Reduktions- Verfahren,
Fig. 19A einen Schaltkreis mit einem Multiplexer, einen "kleiner als"-Vergleicher und einem Register,
Fig. 19B zwei Kandidatenschemata mit gesteuerten Taktsigna­ len zum Ausgeben des "kleiner als"-Vergleichers gemäß Fig. 19A,
Fig. 19C Beispielwellenformen für das Taktsignal, das ur­ sprüngliche Vergleicherausgangssignal, das gesteu­ erte Taktsignal mit Schema 1 und das gesteuerte Taktsignal mit Schema 2,
Fig. 20 ein Register und ein Multiplexer-Baum, dessen Aus­ gabe dem Register zugeführt wird,
Fig. 21 ein Design-Flußschema, das bei den erfindungsge­ mäßen Energiereduktionstechniken eingesetzt wird, und
Fig. 22 eine Tabelle mit den Ergebnissen beim Anwenden der erfindungsgemäßen Energiereduktionstechniken.
1. Erzeugung und Ausbreitung von Störimpulsen (Glitch-Sig­ nalen
Die vorliegende Arbeit ergibt sich aus der Analyse eines beispielhaften RTL-Schaltkreises gemäß Fig. 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 Berech­ nen des GCD erforderlichen Zyklenzahlen von den gegebenen Eingangswerten abhängen gibt ein zusätzliches Ausgangssignal RDY an, wenn das Ergebnis im OUTPUT vorliegt. Dieser Schalt­ kreis wurde abgeleitet aus einer Verhaltensbeschreibung des GCD-Algorithmus. Das hochpegelige Synthesesystem SECONDS (Referenzen 29, 30 und 31) wurde verwendet, um eine Vorrats­ zuordnung, Planung, und Zuordnung auszuführen, so daß man den RTL-Schaltkreis gemäß Fig. 1 erhält. Der Schaltkreis besteht aus einer Funktionaleinheit, einem Subtrahierer, zwei "gleich-zu-" (=)-Vergleicher, einem "kleiner als" (<)-Ver­ gleicher, Registern, Multiplexbäumen, der Endzustands­ steuerung (FSM) und der Decodierlogik. Die Decodierlogik er­ zeugt die Steuersignale, die die Multiplexer in dem Schalt­ kreis konfigurieren. Die Steuerung FSM und die Decodierlogik werden nachstehend kollektiv als Steuerlogik des Schaltkrei­ ses bezeichnet. Die logischen Ausdrücke, die durch die Steu­ erlogik implementiert werden, sind ebenfalls in der Figur dargestellt. Die Zeichen x0 bis x4 repräsentieren die deco­ dierten aktuellen Leitungen von der Steuerung. Die Zeichen c9, c10 und c15 repräsentieren die Ergebnisse der drei Ver­ gleicher in dem Schaltkreis.
Der in Fig. 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 Fig. 2 zeigt die Aufspaltung des gesamten Energieverbrauchs in ge­ trennte Figuren für die funktionalen Einheiten (Subtrahierer und drei Vergleicher), die Wahllogik (Steuerung FSM und die Docodierlogikblöcke), die Register (einschließlich der Ener­ gie, die aufgrund von Taktübergängen verbraucht wird) und Multiplexer. Es zeigt sich, daß der größte Teil dem Energie­ verbrauchs in den Multiplexern und den Registern erfolgt. Ähnliche Figuren wurden beobachtet für mehrere Schaltkreise, die andere steuerstromintensive und gemischte Spezifikatio­ nen implementieren.
Um ein Gefühl für die Glitch-Aktivität in dem GCD-Schalt­ kreis 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 Fig. 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 durch­ gängig wiedergegeben werden, fraktional sein. Das Steuersig­ nal contr[i] führt zum Wähleingang des Multiplexers, der mit [i] in Fig. 1 dargestellt ist. Ähnliche Datenpfadsignale dpi entsprechen dem Ausgang des Multiplexers [i] in Fig. 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 ana­ lysiert 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 Fig. 4A und 4B gezeigten RTL Architek­ turen 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 Ad­ dierglied 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ück­ sichtigen. 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 Ener­ gie 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 er­ heblichen Zunahme der Störspitzenaktivität und daher Ener­ gieverbrauch 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 Verglei­ cher wie zuvor Störspitzen erzeugt.
Als nächstes werden die Erzeugung und die Ausbreitung der Störspitzen in den RTL-Schaltkreisen analysiert. Diese Ana­ lyse führt zu Erkenntnissen, die die Basis für die erfin­ dungsgemäße Störspitzenreduktion bilden. Zur Klarstellung wird die Störspitzenerzeugung in den Datenpfadblöcken (funk­ tionale 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 Fig. 5 dargestellten Elemente - ein Substrahierer, ein "gleich-zu"-Vergleicher, ein "kleiner als" -Vergleicher und ein 3-zu-1-Multiplexbaum - können als repräsentative Da­ tenpfadblö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 zuge­ ordnet 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 An­ zahl der Übergänge ohne Zählung von Störspitzen) wurden ge­ messen. Die Blockausgänge in Fig. 5 sind mit den Ergebnis­ sen 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 Daten­ pfadblö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ör­ spitzen bewirken.
Wenn Datenpfadblöcke, wie die gemäß Fig. 5 miteinander ver­ bunden 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 erfindungsgemäß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ör­ spitzen 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 Verhal­ tensebene nicht angesprochen worden ist. Den Eingängen der Decodierlogik innerhalb der Steuerlogik werden die Ausgangs­ signale der Vergleicher und der Zustands-Flip-Flops der Steuerschaltung zugeführt. Die Ausgänge der Steuerlogik um­ fassen die Steuersignale, die dem Datenpfad zugeführt wer­ den. Wie vorstehend erläutert, können die Ausgänge der Ver­ gleicher Störsignal-behaftet sein. Die Störsignale auf den Vergleicher-Ausgangssignalen können sich durch die Steuerlo­ gik ausbreiten und auf den Steuersignalen Störspitzen verur­ sachen. Die Steuerlogik kann ferner eine große Anzahl von Störspitzen selbst dann erzeugen, wenn ihre Eingänge stör­ spitzenfrei sind. Ziel der vorliegenden Erfindung ist es, die Erzeugung von Störspitzen in der Steuerlogik durch Bei­ spiele zu illustrieren und zu analysieren.
Man betrachte den RTL-Schaltkreis gemäß Fig. 1 erneut. Da­ bei konzentriere man sich auf das Steuersignal contr[2], das gemäß der Statistik von Fig. 3 stark störspitzenbehaftet ist. Der Teil der Decodierlogik, der dieses Steuersignal implementiert, ist in Fig. 6A dargestellt. Dabei wird beob­ achtet, 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 Er­ zeugung 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 mitein­ ander 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 vorherge­ henden Zustand erfolgt. Andererseits ist die Bedingung C2 ein Ergebnis der Verzögerungs- und Zeitcharakteristika des Designs. Diese Bedingungen, die in Fig. 6B graphisch wie­ dergegeben 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-Schalt­ kreises verwendet, der einen Vor-Prozessor für einen Strich­ code-Leser bildet. Dabei konzentriere man sich auf ein be­ stimmtes Steuersignal contr[1], dessen Implementierung in Fig. 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 Figu­ ren zeigen an, daß der Ausgang des Tors G5 stark störspit­ zenbehaftet ist, obwohl an seinen Eingängen keine Störspit­ zen auftreten. Um die Erzeugung von Störspitzen am Tor G5 zu erläutern, wird auf den Teilzustands-Übergangsgraphen für die Steuerschaltung gemäß Fig. 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-Verhaltensspe­ zifikation. 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 Fig. 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äß Fig. 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äß Fig. 8B.
Im allgemeinen werden Störspitzen an den Steuersignalen auf­ grund der gleichzeitigen Anwesenheit der folgenden zwei Be­ dingungen 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-Steue­ rung erfolgt früher am Tor-Eingang.
2. Störspitzenreduktion
Als nächstes wird die Reduktion des Störspitzen-Energiever­ brauchs in RTL-Schaltkreisen beschrieben, indem die Ausbrei­ tung von Störspitzen durch verschiedene Blöcke in dem Schalt­ kreis minimiert wird.
2.1 Reduzierung der Ausbreitung von Störspitzen von Steu­ ersignalen
Wie vorstehend erläutert, werden erhebliche Störspitzen auf Steuersignalen erzeugt. Ferner wurde gefunden, daß diese Störspitzen sich durch andere Teile des Schaltkreises aus­ breiten können und dabei eine erheblich Energiedissipation verursachen. Ziel der vorliegenden Erfindung ist es, die Störspitzen auf Steuersignalen möglichst frühzeitig bei ih­ rer Quelle zu unterbrechen, um maximale Vorteile bei der Energieeinsparung zu erzielen. Die erfindungsgemäßen Verfah­ ren werden getrennt durch Beispiele erläutert. Diese Maßnah­ men 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 Fig. 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 Schalt­ kreisen auf, die konditionale oder steuerstromintensive Spe­ zifikationen implementieren. Die Dateneingänge zum Multiple­ xer 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 brei­ tet sich zu dessen Ausgang aus. Um diese Ausbreitung zu untersuchen, wird eine Implementierung einer Bitscheibe des Multiplexers auf Torebene untersucht, wie dies in den Fig. 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 Fi­ gur ist der Multiplexerausgang mit der Zahl der Übergänge mit bzw. ohne Störspitzen entsprechend der hier üblichen No­ tation 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 un­ terdrü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 Si­ mulator modelliert werden, der zum Abschätzen der Schaltak­ tivitä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ärkerausgangsver­ zweigung 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 gegen­ seitig 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 Lei­ tungen im Schaltkreis ab. Ferner können geringfügige Varia­ tionen der Schaltungsparameter aufgrund von Prozeßverände­ rungen 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äß Fig. 11 hinzuzufügen. Gc realisiert Ai, Bi, d. h. der sogenannte Kon­ sensus von S.Ai und S.Bi, d. h. ihre Addition ändert nicht die durch den Ausgang berechnete Funktion. Wenn die Daten­ eingänge <1,1< sind, unterdrückt Gc jegliche Störspitzen an den anderen Eingängen von G3, die nach Einschwingen des Aus­ gangs von Gc auf 1 ankommt. Für alle anderen Eingangsfälle berechnet sich der Ausgang von Gc zu einem 0 und die vorhe­ rigen Erläuterungen treffen zu. Eine Simulation der Imple­ mentierung gemäß Fig. 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äß Fig. 9 alleine führt die Addition von Gc zu der Multiple­ xerimplenetation 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 Über­ schusses mit einem 3-Eingang-ODER-Tor anstelle eines 2-Ein­ gang-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 Daten­ eingä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 erhal­ tene Energieeinsparung maximiert wird.
Festzuhalten ist, daß mit der Ergänzung des Konsensus-Aus­ druckes sich die Störspitzen nicht von dem Auswahlsignal zu dem Multiplexerausgang ausbreiten, denn die Datenwerte kor­ reliert sind (<0,0< oder <1,1<), oder die Störspitzen brei­ ten 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 Multi­ plexer 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 Fig. 1 betrachtet. Der Baum des 2-zu-1-Multiplexers ist in Fig. 12A dargestellt. Funktional kann der Multiplexbaum betrachtet werden als ein abstrakter 3-zu-1-Multiplexer gemäß Fig. 12B. Die Bedingun­ gen, unter denen OUTPUT, X und ZERO ausgewählt werden, wer­ den 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-Multi­ plexnetzwerks ergeben sich mehrere mögliche Implementierun­ gen, die die Korrelation der Dateneingänge zu den Multiple­ xern in dem Baum erhöhen. Für dieses Beispiel wird das Aus­ wahlsignal CZERO als störspitzenbehaftet ermittelt; dies führt zu einer Ausbreitung von Störspitzen zum Ausgang des ersten 2-zu-1-Multiplexers in Fig. 12A. Festzuhalten ist, daß die Datensignale OUTPUT und ZERO an der Bit-Ebene hoch­ korreliert sind. Um daher die Ausbreitung von Störspitzen auf CZERO durch den Multiplexbaum zu minimieren, wird der Multiplexbaum in die Implementierung gemäß Fig. 12C trans­ formiert, 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 bei­ tragen, wie dies nachstehend erläutert wird.
2.1.3 Restrukturierung von Multiplex-Netzwerken zum Elimi­ nieren störspitzenbehafteter Auswahlsignale
Verwiesen wird erneut auf den 3-zu-1-Multiplexbaum und seine Darstellungen in den Fig. 12A bzw. 12B. Die Implementie­ rung in Fig. 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 allgemei­ nen gezeigt werden, daß irgendwo zwischen [log2 n] und n-1 der Auswahlbedingungen verwendet werden kann, um die Aus­ drücke für die Auswahlsignale für die 2-zu-1-Multiplexer in der Implementation zu erzeugen in Abhängigkeit von der exak­ ten Struktur der Implementierung. Ferner ist es möglich, daß unter dem Satz von Auswahlsignalen zu einem abstrakten n-zu-1-Mul­ tiplexer einige eine große Zahl von Störspitzen in ih­ ren Implementierungen haben, während dies bei anderen nicht zutrifft. Ähnlich wie bei Fig. 7 ist es möglich, daß be­ stimmte Ausdrücke, die die Auswahlsignale des abstrakten n-zu-1-Mul­ tiplexers involvieren, störspitzenbehaftet sein kön­ nen, obwohl die einzelnen Signale dies nicht sind. Ein Ziel der vorliegenden Erfindung ist es daher auch, den Multiplex­ baum so zu restrukturieren, daß so wenig wie möglich stör­ spitzenbehaftete Auswahlsignale zu dem abstrakten n-zu-1-Mul­ tiplexer (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äß Fig. 13A. Dieses Netzwerk ist Teil des RTL-Schaltkreises des Strich­ code-Lesers. Gemäß Fig. 7 ist das Auswahlsignal des zweiten Multiplexers in Fig. 13A, der den Ausdruck x3+x4 imple­ mentiert, störspitzenbehaftet. Eine alternative Implementie­ rung des 3-zu-1-Multiplexnetzwerks, die die Verwendung von störspitzenbehafteten Auswahlsignal-Ausdrücken nicht erfor­ dert, ist in Fig. 13C dargestellt.
2.1.4 Taktung von Steuersignalen zum Unterdrücken von Stör­ spitzen
Wenn alle vorgenannten Verfahren zum Reduzieren der Auswir­ kung von Störspitzen auf Steuersignale nicht ausreichen, wird vorzugsweise das Taktsignal eingesetzt, um Störspitzen auf Steuersignalen zu unterdrücken, die entweder den Aus­ wahleingängen von Multiplexern oder Funktionsauswahleingän­ gen 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 Tast­ verhä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 Fig. 14A bis 14C näher erläutert. Man betrachte den 2-zu-1-Multiplexer gemäß Fig. 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 elimi­ nieren, können hier nicht angewendet werden. Fig. 14B zeigt den modifizierte Schaltkreis nach dem Takten des Auswahl­ signals 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 ein­ gestellt wird, und zwar trotz der Störspitzen an seinem an­ deren Eingang. Fig. 14C zeigt Beispielswellenformen für das Taktsignal, das ursprüngliche Auswahlsigual und das getak­ tete Auswahlsignal. Der ausgewählte Eingang zum Multiplexer in den Fig. 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 fol­ genden 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 Zeitvorga­ ben an den Schaltungseingängen zu erfüllen. Eine verschobene Taktwellenform kann derart abgeleitet werden, daß die erfor­ derliche 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 Steuer­ signal größer als T/2 um einen vorgegebenen Sicherheitsab­ stand ist. Ein anderes Problem kann durch getaktete Steuer­ signale verursacht werden, indem zusätzliche Übergänge am Steuersignal unter bestimmten Bedingungen auftreten. Man be­ trachte einen Fall, wo das Steuersignal in einem festen Zu­ stand 1 über ein Paar Taktzyklen bleibt. Indem man das Steu­ ersignal 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 Energiever­ brauch führen kann. Daher führt das in Fig. 14B gezeigte Schema zur größten Energieeinsparung, wenn die Wahrschein­ lichkeit, daß das Steuersignal zu 1 berechnet wird (Signal­ wahrscheinlichkeit), niedrig ist. Wenn andererseits die Wahrscheinlichkeit für die Berechnung des Steuersignals zu 1 sehr hoch ist, kann ein alternatives Schema verwendet wer­ den, um das Steuersignal durch ODER-Behandlung des ursprüng­ lichen 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 Steuer­ signal vermieden werden, wenn es zu 1 berechnet wird.
2.2 Minimieren der Störspitzenausbreitung von Datensigna­ len
Die obige Beschreibung erläutert mehrere Wege, in denen die Ausbreitung von Störspitzen von Steuersignalen zur Energie­ einsparung reduziert werden kann. Die Datensignale zum Schaltungsblock können ebenfalls störspitzenbehaftet sein, wie dies vorstehend erläutert wurde. Nachstehend werden Maß­ nahmen erläutert, um die Ausbreitung von Störspitzen auf Da­ tensignalen zu beschränken.
2.2.1 Störspitzenreduktion unter Verwendung selektiver An­ stiegs-/Abfall-Verzögerungen
Man betrachte den Beispielschaltkreis gemäß Fig. 15 (a). Ein 2-zu-1-Multiplexer wählt zwischen den Ausgängen der zwei Ad­ dierer aus, und der Ausgang des Multiplexers wird einem an­ deren 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örspit­ zen, die sich durch den Multiplexer und dann durch den drit­ ten Addierer ausbreiten und zu einer erheblichen Energiedis­ sipierung führen. Erfindungsgemäß wird eine selektive Verzö­ gerungseinfügung vorgeschlagen, mit der die Ausbreitung von Störspitzen durch den Schaltkreis wie folgt, verringert wer­ den kann.
Man betrachte die Implementierung der Tor-Ebene einer Bit­ scheibe des Multiplexers gemäß Fig. 15 (b). Beide Datenein­ gänge zum Multiplexer sind störspitzenbehaftet. Ferner be­ trachte 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 Ab­ fallübergang bei S frühzeitig ankommt, ergibt sich ein früh­ zeitiger Anstiegsübergang am Ausgang des Tors G0, der S im­ plementiert. Folglich wird der Seiteneingang von G1 frühzei­ tig 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 Aus­ gang 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ün­ schenswert, den Anstiegsübergang am Verstärkungsausgangs­ zweig 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 dar­ gestellt durch die schattierten Ellipsen gemäß Fig. 15(b). Eine mögliche Implementierung eines Anstiegsverzögerungs­ blocks unter Verwendung eines UND-Tors und eines Verzöge­ rungselements ist in Fig. 15(c) dargestellt. Das Verzöge­ rungselement wird aufgebaut, unter Verwendung entweder einer Reihe von Puffern oder Invertern, die dem Eingang hinzuge­ fü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 an­ dererseits der zuletzt ankommende Anstiegsübergang unter al­ len 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 Ausbrei­ tung 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äß Fig. 15(c), mit Ausnahme, daß das UND-Tor durch ein ODER-Tor ersetzt ist.
Die Anwendung der obigen Technik auf den Beispielschaltkreis gemäß Fig. 15(a) führt zu einer 15,4%igen Abnahme des ge­ samten 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 auf­ grund 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öge­ rungsblock eingefügt werden soll, hoch sein.
  • 3. Um sicherzustellen, daß die Einfügung des selektiven Verzögerungsblocks nicht zu einer Erhöhung der Verzöge­ rung 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-Multiple­ xer 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 Multi­ plexers 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-Restrukturierungstransforma­ tionen 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-Schalt­ kreises gemäß Fig. 16A. Der Subtrahierausgang c20 hat eine große Anzahl von Störspitzen, die sich durch den darge­ stellten Multiplexer und auch durch die Logikelemente aus­ breiten, die dem Multiplexer nachgeschaltet sind. Es sei an­ genommen, daß das Signal Y störspitzenfrei ist. Fig. 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 Fig. 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 spezifi­ ziert das Verhaltenssynthese-Werkzeug das Auswahlsignal auf 0 in allen unbeachtlichen Bedingungen, um die Steuerlogik zu vereinfachen. Diese unbeachtlichen Bedingungen können ausge­ nutzt werden durch Auswählen des weniger störspitzenbehafte­ ten Dateneingangs des Multiplexers in den unbeachtlichen Fällen. Die transformierte Implementierung des 2-zu-1-Mul­ tiplexers gemäß Fig. 16C illustriert diese Überlegung. Durch Anwenden des störspitzenbehafteten Dateneingangs c20 als 1-Eingang des Multiplexers und damit Erzwingen des Aus­ wahlsignals auf Cc20 wird sichergestellt, daß der störspit­ zenbehaftete Dateneingang so selten wie möglich ausgewählt wird, so daß die Ausbreitung von Störspitzen zu dem Multi­ plexerausgang reduziert wird.
2.2.3 Taktung von Steuersignalen zum Unterdrücken von Daten­ signalstörspitzen
Wenn die vorstehenden Maßnahmen zum Verarbeiten von stör­ spitzenbehafteten Datensignalen nicht anwendbar sind oder nicht adäquat sind, um den Energieverbrauch mit Störspitzen zu reduzieren, können erfindungsgemäß die Steuersignale ge­ taktet werden, um Datensignal-Störspitzen zu unterdrücken. Wenn beispielsweise sowohl die Auswahl- als auch die Daten­ eingä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 er­ sten Hälfte der Taktperiode einzunehmen. Hierzu wird auf Fig. 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 er­ heblichen Störspitzen am Ausgang des Multiplexers. Ein Tak­ ten des Auswahlsignals Cc20 behebt dieses Problem wie nach­ stehend erläutert. Da der Wert am Auswahlsignal zum Multi­ plexer auf 0 während der ersten Hälfte der Taktperiode ge­ halten wird, wählt der Multiplexer den Wert des Datenein­ gangs 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 Multiple­ xerausgang, wie dies in der Figur dargestellt ist. Beispiel­ wellenformen für das Taktsignal, das ursprüngliche Auswahl­ signal und das getaktete Auswahlsignal sind in Fig. 17B dargestellt. Wie bereits vorstehend erläutert, ist es wich­ tig, die geforderte Ankunftszeit am Auswahlsignal zum Multi­ plexer 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örspitzenausbrei­ tung
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-Reduktions­ verfahren beschrieben, die bei verschiedenen Komponenten in dem RTL-Schaltkreis in geeigneter Reihenfolge anwendbar sind. Der Pseudocode für das Verfahren ist in Fig. 18 wie­ dergegeben. Es wird davon ausgegangen, daß der RTL-Schalt­ kreis aus einer Verbindung von RLT-Blöcken oder Knoten be­ steht, 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 Vektor­ operatoren umfassen.
Die Prozedur COLLAPSE_MUX_NETWORKS durchläuft den RTL-Schalt­ kreis und kollabiert alle Multiplex-Netzwerke in ab­ strakte n-zu-1-Multiplexer wie vorstehend beschrieben. Um die verschiedenen Störspitzen-Reduktionstechniken anzuwen­ den, sind Informationen über die Signalstatistik, die Stör­ spitzenaktivität sowie die Verzögerungen der verschiedenen Signale im Schaltkreis einschließlich der Steuersignale und der Ausgangssignale jeder RTL-Einheit, wie funktionale Ein­ heit, Register, Vergleicher und 2-zu-1-Multiplexer erforder­ lich. Zunächst erhält man eine tabellierte Torebenen-Imple­ mentierung des RTL-Schaltkreises und verwendet eine Simula­ tor, um die erforderlichen Informationen über die Signalsta­ tistik und Aktivitäten zu sammeln. Die Anwendung der Stör­ spitzen-Reduktionstechniken auf einen Knoten in dem RTL- Schaltkreis beeinflußt die Signalstatistiken und die Stör­ spitzenaktivitäten aller anderen Knoten in seinem transiti­ ven Ausgangsstrom. Um die obigen Abhängigkeiten zu berück­ sichtigen, 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ör­ spitzen-Reduktionstransformationen durch Ansprechen der Kno­ ten in der Ausgleichsreihenfolge angewendet. Die Signalsta­ tistiken, 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-Schalt­ kreis. Wenn der vorgegebene Knoten ein n-zu-1-MUX-Knoten ist, wird die Prozedur CREATE_MINGLITCH_MUX_TREE_LEVEL auf­ gerufen, um den n-zu-1-MUX durch Extrahieren eines Satzes von 2-zu-1-Multiplexern zu zerlegen, die eine Ebene des ent­ sprechenden Multiplexbaums bilden, und zwar derart, daß die Störspitzenaktivität an den Ausgängen der gebildeten 2-zu-1-Mul­ tiplexer minimiert wird. Wenn der vorgegebene Knoten ein CONTROL-Knoten ist, der ein oder mehrere Steuersignale er­ zeugt, werden Störspitzen-Reduktionstechniken angewendet, damit die Störspitzenaktivität bei den Steuersignalen redu­ ziert 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 Eingangs­ signal versorgen. Im Rahmen der Erfindung wird dann ver­ sucht, die Störspitzenaktivität am Ausgang der verschiedenen erzeugten 2-zu-1-Multiplexer zu minimieren, indem die Daten­ eingänge gruppiert werden, um so störspitzenbehaftete Steu­ ersignale zu eliminieren; ferner werden die Dateneingangs­ korrelationen maximiert und störspitzenbehaftete Datenein­ gangssignale so selten wie möglich ausgewählt. Ferner wurde ermittelt, welche Bitscheiben, wenn überhaupt, jedes der er­ zeugten 2-zu-1-Multiplexer zu dem Konsensus-Ausdruck addiert werden sollen, zu welche selektiven Verzögerungen die Bit­ scheiben 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 Steu­ ern 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 wie­ derum auf den Übergängen auf den Takteingängen zu den Regi­ stern. Die Taktimpulse zu den Registern werden gesteuert, um den Energieverbrauch in den Registern zu reduzieren. Dabei sollte sichergestellt werden, daß auf dem gesteuerten Takt­ signal keine Störspitzen sind und daß die erforderlichen Taktbedingungen für das Taktschema erfüllt sind. Die vorlie­ genden 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, ba­ sieren auf identifizierenden Selbstschleifen und unerreich­ baren Zuständen in dem Zustandsübergangsgraphen gemäß Refe­ renz 28. Die unterscheidenden Merkmale gemäß vorliegender Erfindung gegenüber herkömmlichen Maßnahmen zum Steuern von Taktsignalen sind folgende: (i) es werden getrennte Steuer­ bedingungen für jedes Register in dem Schaltkreis identifi­ ziert, die zu größeren Möglichkeiten zum Steuern der Takt­ signale führen können, (ii) ferner wird ein Schema angewen­ det, mit dem die Maßnahmen zum Steuern der Taktsignale zu Designstrukturen mit flankengesteuerten Flip-Flops angewen­ det werden, und (iii) die erfindungsgemäßen Prozeduren beru­ hen auf einer Strukturanalyse des vorgegebenen RTL-Schalt­ kreises und sind anwendbar auf alle Register in einer De­ sign-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 Re­ gistern wird in den Fig. 19A bis 19C dargestellt. In dem Schaltkreis gemäß Fig. 19A lädt das Register seinen vorhe­ rigen Wert erneut, wenn der Ausgang des "kleiner als"-Ver­ gleichers 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 An­ stiegsflanke getriggerten Flip-Flops basiert. Die Fig. 19B zeigt zwei vorgeschlagene Schemata zum Steuern des Taktein­ gangs 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 Ver­ gleicherausgang 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 illu­ strieren, wird auf die Beispielswellenformen gemäß Fig. 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 of­ fensichtlich 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 Steuerbedingun­ gen 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 Verhal­ tensbeschreibung synthetisiert wird. Die Lebensdaueranalyse, die während der Verhaltenssynthese zur Betriebsmittelteilung verwendet wird, zeigt den genauen Satz von Bedingungen, un­ ter denen jedes Register einen neuen Wert laden muß. Im all­ gemeinen 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 bein­ halten, die die verschiedenen Bedingungen der Verhaltensbe­ schreibung 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 ermit­ teln, ob der Registerausgang als einer der Dateneingänge zu dem Multiplex-Netzwerk zurückgeführt wird. Das Vorliegen ei­ ner derartigen Selbstschleife aus einem Register-Ausgangs­ signal zurück zu seinem Dateneingang ist typisch für die ma­ nuelle Strukturierung von RTL-Schaltkreisen sowie von RTL-Schalt­ kreisen, die durch Synthesewerkzeuge auf hohem Niveau produziert werden. Die Bedingungen, unter denen diese Selbstschleife logisch aktiviert wird, repräsentiert die Be­ dingungen, unter denen das Register seinen vorherigen Daten­ wert 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 Bedin­ gungen für diesen zu aktivierenden Pfad berechnet, und zwar in Ausdrücken des ausgewählten Signals, das mit den einzel­ nen Multiplexern entlang des Pfades verbunden ist. Die Be­ dingung, daß der Pfad aktiviert wird, kann als Konjunktion der Bedingungen wiedergegeben werden, daß jeder Multiplexer entlang des Pfades den auf dem Pfad liegenden Eingang aus­ wählt.
Man betrachte das Register und den eingangsseitigen Multi­ plexbaum gemäß Fig. 20. Unter der Annahme, daß Schema 2 ge­ mäß Fig. 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 Regi­ ster 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 Auswahl­ eingang 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 ver­ schiedenen Multiplexern in dem Multiplex-Netzwerk bereits implementiert ist, muß lediglich die Logik hinzugefügt wer­ den, die gegebenenfalls zum Invertieren der Steuersignale und zum Berechnen der Einzelbedingungen für jeden Multiple­ xer 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 Taktperi­ ode) erfüllt sind. Falls die erforderlichen Taktbedingungen nicht erfüllt werden, kann dies zur Erzeugung von kurzzeiti­ gen Übergängen auf den Takteingängen zu den Registern füh­ ren. Dies verursacht nicht nur einen zusätzlichen Energie­ verbrauch, 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 Verschlechte­ rung der Arbeitsbedingungen oder zu einer Änderung des ur­ sprünglichen Taktschemas; beide Folgen sind häufig uner­ wü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 über­ prü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 ab­ geleitet, die sicherstellt, daß die Taktbedingungen erfüllt werden, und zwar unter Verwendung einer Untermenge der Aus­ drü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 Ver­ zögerungsrechner FEST (Referenz 31) wird eingesetzt, um die Ankunftszeiten an den Signalen, die jeden Produktausdruck repräsentieren, zu bestimmen. Eine Untermenge der Produkt­ ausdrü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 Takt­ periode. Um reduzierte Steuerbedingungen zu erhalten, wurden in Referenz 28 heuristische Methoden angewendet. Dort war es jedoch das Ziel, den Überschuß zu minimieren, der zur Syn­ these der die Steuerbedingung implementierenden Logik erfor­ derlich war, während im Rahmen der vorliegenden Erfindung in erster Linie Ausdrücke eliminiert werden sollen, die bewir­ ken, 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 ein­ zige 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 ei­ niger der Register unterdrückt werden, wenn eine kombinierte Steuerbedingung angewendet wird, geringer sein als die An­ zahl der Übergänge, die bei Verwendung einzelner Steuerbe­ dingungen unterdrückt werden könnten.
4. Experimentielle Ergebnisse
Es werden Resultate der Anwendung der vorgeschlagenen Ener­ giereduktion auf die folgenden sechs RTL-Schaltkreise wie­ dergegeben: GCD, einen Strichcodeleser-Vorprozessor (Strich­ code) (Referenz 35), die Steuerung für ein unbemanntes Kraftfahrzeug (UAV) (Referenz 34), eine Steuerung für einen Verkaufsautomaten (Vendor) (Referenz 36), ein Linienzeichen­ verfahren als Teil eines Grafiksteuerbausteins (Referenz 37) (Graphik), sowie ein Übertragungsverfahren, das einen Teil des X.25-Kommunikationsprotokolls (X.25) implementiert (Re­ ferenz 29). Das für die vorliegenden Versuche verwendete Flußschema ist in Fig. 21 dargestellt. Die ursprünglichen RTL-Schaltkreise wurden erhalten durch Synthetisieren von VHDL-Verhaltensbeschreibungen unter Verwendung des hochwer­ tigen Synthesesystems SECONDS (Referenzen 29, 30 und 31). Sie wurden tabelliert mit der NEC CMOS6-Bibliothek (Referenz 32), und die tabellierten Netzlisten auf Torebene wurden un­ ter Verwendung von CSIM (Referenz 33) simuliert, um die Störspitzenaktivität und die Signalstatistik verschiedener Signale im Schaltkreis zu bestimmen. Die Simulationsresul­ tate 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 glo­ baler 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 Netzli­ ste inkremental modifiziert, um die Transformationen wieder­ zugeben, und schließlich werden die Störspitzenaktivitäten und die Signalstatistik zum Ausführen der störspitzenredu­ zierenden 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 folgender­ maßen erhalten. Für jedes Design wurde die Verhaltensprüfung für Designs zum Simulieren der vorgegebenen Verhaltungsbe­ schreibung verwendet, und zwar unter Verwendung des VHDL-Si­ mulators und des VSIM (Re 08606 00070 552 001000280000000200012000285910849500040 0002019824796 00004 08487ferenz 39); man erhält eine zykli­ sche Eingangsvektorenfolge. Der vorstehende Schritt ist ins­ besondere wichtig für steuerstromintensive Strukturen, wobei im Gegensatz zu datenstromintensiven Spezifikation die An­ zahl der zum Ausführen der Berechnung erforderlichen Takt­ zyklen 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 Anfangsstruk­ tur sowie der für den Energieverbrauch optimierten Struktur.
Fig. 22 zeigt die Versuchsergebnisse. Die Energie bzw. Lei­ stung, die Fläche (Anzahl der Transistorpaare), und die Ver­ zö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 Ener­ gie- bzw. Leistungsreduktion abzielt, und zwar nur durch Re­ duzieren der Ausbreitung der Störspitzen zwischen verschie­ denen Blöcken in dem RTL-Schaltkreis. Daher können die er­ findungsgemäß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 erfindungs­ gemäß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 Tat­ sache beruhen, daß die Multiplexer-Restrukturierungstrans­ formationen 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. H. 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. M. 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, "Biack-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 Proc. 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. 27-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. Metha, "Experiences with simulation- based schematic-levell 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, "Clook 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, "Provably 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, Implementation, 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.

Claims (28)

1. Logikschaltkreis mit
einem ersten Schaltungsblock, der mit einem logi­ schen Eingangssignal und einem Eingangssteuersignal ver­ sorgt wird, zum Ausführen einer ersten Logikoperation in Relation zu dem Eingangslogiksignal und dem Eingangs­ steuersignal, um ein Zwischenlogiksignal zu einem ersten Zeitpunkt zu erzeugen, der durch den Empfangszeitpunkt des Eingangssteuersignals bestimmt wird,
einem zweiten Schaltungsblock, der nur mit dem Ein­ gangslogiksignal versorgt wird, zum Ausführen einer zweiten Logikoperation in Relation zu dem Eingangslogik­ signal, um ein zusätzliches Logiksignal zu einem zweiten Zeitpunkt zu erzeugen, der sich von dem ersten Zeitpunkt unterscheidet, und
einem dritten Schaltungsblock, der mit dem Zwi­ schenlogiksignal und dem zusätzlichen Logiksignal ver­ sorgt wird, zum Ausführen einer dritten Logikoperation in Relation zu dem Zwischenlogiksignal und dem zusätzli­ chen Logiksignal, um ein Ausgangslogiksignal zu erzeu­ gen, das den gleichen Logikwert einnimmt, unabhängig von Vorliegen oder Nicht-Vorliegen des zusätzlichen Logik­ signals.
2. Logikschaltung nach Anspruch 1, wobei der erste Schal­ tungsblock und der dritte Schaltungsblock miteinander als Multiplexer cooperieren, und mit den folgenden wei­ teren Merkmalen:
dem ersten Schaltungsblock werden das erste Ein­ gangslogiksignal und das zweite Eingangslogiksignal als das Eingangslogiksignal zugeführt, um die erste Logik­ operation zwischen einem ersten Satz des ersten Logik­ signals und dem Steuersignal und zwischen einem zweiten Satz des zweiten Logiksignals und dem Steuersignal aus­ zuführen und als Zwischenlogiksignal erste und zweite Zwischenlogiksignale zu dem ersten Zeitpunkt zu erzeu­ gen, der durch das Steuersignal bestimmt wird,
dem zweiten Steuerblock wird als das Eingangslogik­ signal das erste Eingangslogiksignal und das zweite Ein­ gangslogiksignal zugeführt, um die zweite Logikoperation zwischen einem dritten Satz des ersten Eingangslogik­ signals und dem zweiten Eingangslogiksignal auszuführen und das zusätzliche Logiksignal zu erzeugen, und
der dritte Schaltungsblock wird mit dem ersten Zwi­ schenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logiksignal versorgt, um die dritte Logikoperation unter dem ersten Zwischenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logik­ signal auszuführen und das Ausgangslogiksignal zu erzeu­ gen.
3. Logikschaltung nach Anspruch 2, wobei der erste Schal­ tungsblock aufweist:
einen Inverter zum Ausführen der Inversionsopera­ tion in Relation zu dem Eingangssteuersignal,
eine erste UND-Torschaltung zum Ausführen einer AND-Operation zwischen dem ersten Eingangslogiksignal und dem invertierten Eingangssteuersignal, und
eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei der zweite Schaltungsblock eine dritte UND-Tor­ schaltung zum Ausführen einer UND-Operation zwischen dem ersten Eingangslogiksignal und dem zweiten Eingangs­ logiksignal aufweist, und
wobei der dritte Schaltungsblock eine erste ODER-Tor­ schaltung zum Ausführen einer ODER-Operation zwischen dem ersten Zwischenlogiksignal, dem zweiten Zwischenlo­ giksignal und dem zusätzlichen Logiksignal aufweist und entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal als das Ausgangslogiksignal entspre­ chend dem Wert des Eingangssteuersignals zu erzeugen.
4. Multiplexbaum mit einer Kombination mehrerer Multiplexer nach Anspruch 3 und dem als Eingangslogiksignal mehr als zwei Eingangslogiksignale zugeführt werden, um ein ein­ ziges Eingangslogiksignal unter mehr als zwei Eingangs­ logiksignalen auszuwählen,
wobei einem ersten der Multiplexer zwei Eingangslo­ giksignale zugeführt werden, die eine maximale Datenkor­ relation zwischen sich aufweisen
5. Multiplexerbaum nach Anspruch 4,
wobei die beiden Eingangslogiksignale die höchste Wahrscheinlichkeit zur Annahme des gleichen Bitwertes in der gleichen Periode im Vergleich zu dem anderen Paar der Eingangslogiksignale für den Multiplexerbaum aufwei­ sen.
6. Logikschaltkreis in einem Multiplexer, mit:
einem ersten Schaltungsblock, dem ein erstes Ein­ gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen,
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, um eine zweite Logikoperation zwischen dem ersten und dem zwei­ ten Zwischenlogiksignal auszuführen, um ein Ausgangslo­ giksignal zu erzeugen, und
Multiplexer, von denen jeder so aufgebaut ist, daß er spezifizierte Eingangslogiksignale an der Eingabe im Falle eines Multiplexerbaums unterdrückt, der eine Kom­ bination mehrerer Multiplexer aufweist und dem als Ein­ gangslogiksignal mehr als zwei Eingangslogiksignale zu­ geführt werden, um ein einziges Eingangslogiksignal un­ ter mehr als zwei Eingangslogiksignalen auszuwählen.
7. Logikschaltung nach Anspruch 6, wobei das spezifizierte Eingangslogiksignal einen Störimpuls aufweist, der eine Übergangsspannungsspitze ist.
8. Logikschaltkreis in einem Multiplexer, mit
einem ersten Schaltungsblock, dem ein erstes Ein­ gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, um eine erste Logikoperation zwischen einem Satz des ersten Eingangs­ logiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Ein­ gangssteuersignal auszuführen, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen, und
einem zweiten Steuerblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, um die zweite Logikoperation zwischen dem ersten und dem zweiten Zwi­ schenlogiksignal auszuführen, um ein Ausgangslogiksignal zu erzeugen,
wobei dem ersten Schaltungsblock ein Signal zuge­ führt wird, das aus einer dritten Logikoperation zwi­ schen dem Eingangssteuersignal und einem Taktsignal, an­ stelle des Eingangssteuersignals, hervorgeht.
9. Logikschaltung nach Anspruch 8, wobei das Signal, das aus der dritten Logikoperation zwischen dem Eingangs­ steuersignal und dem Taktsignal hervorgeht, durch eine UND-Torschaltung zum Ausführen einer UND-Operation zwi­ schen dem Eingangssteuersignal und dem invertierten Taktsignal erhalten wird.
10. Logikschaltung nach Anspruch 8, wobei das Signal, das durch die dritte Logikoperation zwischen dem Eingangs­ steuersignal und dem Taktsignal erhalten wird, durch eine ODER-Torschaltung zum Ausführen einer ODER-Opera­ tion zwischen dem Eingangssteuersignal und dem Takt­ signal erhalten wird.
11. Logikschaltung in einem Multiplexer, mit:
einem ersten Schaltungsblock, dem ein erstes Ein­ gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen, und
einen zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus­ führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal, um ein Ausgangslo­ giksignal zu erzeugen,
wobei der erste Schaltungsblock eine dritte Logik­ operation ausführt, um die Steuersignalverzögerung se­ lektiv auszuführen.
12. Logikschaltung nach Anspruch 11, wobei die erste Logik­ operation durch einen ersten Satz von Torschaltungen in dem ersten Logikblock ausgeführt wird, wobei
der erste Satz von Torschaltungen aufweist:
eine erste UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem ersten Eingangslogiksignal und dem invertierten Eingangssteuersignal, und
eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei die dritte Logikoperation durch einen zweiten Satz von Torschaltungen in dem ersten Logikblock ausge­ führt wird,
wobei der zweite Satz von Torschaltungen aufweist:
eine erste Verzögerungstorschaltung zum Eingeben des invertierten Eingangssteuersignals an die erste UND- Torschaltungsverzögerung, so daß das invertierte Ein­ gangssteuersignal später eingegeben werden kann als das erste Eingangslogiksignal an die erste UND-Torschaltung nur an einer positiven Flanke des invertierten Eingangs­ steuersignals beim Ausführen der ersten Logikoperation zwischen dem ersten Eingangssignal und dem Eingangssteu­ ersignal, und
eine zweite Verzögerungstorschaltung zum Eingeben des Eingangssteuersignals an die zweite UND-Torschal­ tungsverzögerung, so daß das Eingangssteuersignal zu ei­ nem späteren Zeitpunkt eingegeben werden kann, als das zweite Eingangslogiksignal an die zweite UND-Torschal­ tung nur an der positiven Flanke des Eingangssteuer­ signals beim Ausführen der ersten Logikoperation zwi­ schen dem zweiten Eingangssignal und dem Eingangssteuer­ signal.
13. Logikschaltung nach Anspruch 12, wobei die erste Verzö­ gerungstorschaltung aufweist:
ein erstes Verzögerungselement zum Eingeben des in­ vertierten Eingangssteuersignals und zum Ausführen der invertierten Eingangssteuersignalverzögerung, und
eine dritte UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem verzögerten invertierten Ein­ gangssteuersignal und dem invertierten Eingangssteuer­ signal, und wobei das erste Verzögerungselement und die dritte UND-Torschaltung direkt mit einem Eingang der er­ sten UND-Torschaltung verbunden sind, dem das inver­ tierte Eingangssteuersignal ursprünglich zugeführt wer­ den soll, und
wobei die zweite Verzögerungstorschaltung aufweist:
ein zweites Verzögerungselement zum Eingeben des Eingangssteuersignals und zum Ausführen der Eingangs­ steuersignalverzögerung, und
eine vierte UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem verzögerten Eingangssteuer­ signal und dem Eingangssteuersignal, wobei das zweite Verzögerungselement und die vierte UND-Torschaltung mit einem Eingang der zweiten UND-Torschaltung direkt ver­ bunden sind, dem das Eingangssteuersignal ursprünglich zugeführt werden soll.
14. Logikschaltung in einem Multiplexer, mit
einem ersten Schaltungsblock, dem ein erstes Ein­ gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des er­ sten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals, und
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus­ führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal zum Erzeugen eines Ausgangslogiksignals,
wobei jede Eingangslage des ersten Eingangslogik­ signals und des zweiten Eingangslogiksignals in dem er­ sten Schaltungsblock so eingestellt wird, daß ein spezi­ fiziertes Eingangslogiksignal als das Ausgangslogik­ signal unter den Eingangslogiksignalen ausgewählt werden kann, wenn entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal als das Ausgangslogik­ signal ausgegeben wird.
15. Logikschaltung nach Anspruch 14, wobei die erste Logik­ operation durch einen ersten Satz von Torschaltungen in dem ersten Schaltungsblock ausgeführt wird,
wobei der erste Satz von Torschaltungen aufweist:
eine erste UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem invertierten Eingangssteuer­ signal und dem ersten Eingangslogiksignal, und eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei die zweite Logikoperation durch einen zweiten Satz von Torschaltungen in dem zweiten Schaltungsblock ausgeführt wird, der zweite Satz von Torschaltungen eine ODER-Torschaltung zum Ausführen einer ODER-Operation zwischen dem ersten Zwischenlogiksignal und dem zweiten Zwischenlogiksignal aufweist,
wobei das erste Eingangslogiksignal oder das zweite Eingangslogiksignal entsprechend dem Wert des Eingangs­ steuersignals ausgewählt wird, dem das spezifizierte Eingangslogiksignal zugeordnet ist.
16. Logikschaltung in einem Multiplexer, mit:
einem ersten Schaltungsblock, dem ein erstes Ein­ gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des er­ sten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus­ führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal zum Erzeugen eines Ausgangslogiksignals,
einem Register, dem das erste Taktsignal zugeführt wird, zum Speichern des Ausgangslogiksignals, und
einem dritten Schaltungsblock zum Ausführen einer dritten Logikoperation zwischen dem ersten Taktsignal und dem Eingangssteuersignal zum Erzeugen eines zweiten Taktsignals und zum Zuführen des zweiten Taktsignals zu dem Register, wenn die Bedingung vorliegt, daß, wenn der Wert des Eingangssteuersignals gleich einem vorgegebenen Wert ist, das Register das Ausgangslogiksignal nicht speichern muß, und
wobei das zweite Taktsignal intakt gehalten wird, ohne jeglichen Übergang, wenn der Wert des Eingangssteu­ ersignals gleich dem vorgegebenen Wert ist.
17. Logikschaltung nach Anspruch 16, wobei der dritte Schal­ tungsblock, eine ODER-Torschaltung zum Ausführen einer ODER-Operation zwischen dem invertierten Eingangssteuer­ signal und dem ersten Taktsignal aufweist, um das Ergeb­ nis als das Eingangssteuersignal auszugeben.
18. Verfahren zum Empfangen eines Eingangslogiksignals und eines Eingangssteuersignals, Ausführen einer Logikopera­ tion zwischen dem Eingangslogiksignal und dem Eingangs­ steuersignal und Erzeugen eines Ausgangslogiksignals zu einem Zeitpunkt, der bestimmt wird durch den Empfangs­ zeitpunkt des Eingangssteuersignals, mit den folgenden Verfahrensschritten:
Vorbereiten eines redundanten Logikschaltkreises mit einer redundanten Struktur zum Ausführen der Logik­ operation in bezug auf das Eingangslogiksignal und
Steuern des Eingangstaktes und/oder Ausgangstaktes, wobei der Eingangstakt bestimmt wird durch den Empfangs­ zeitpunkt entweder des Eingangslogiksignals oder des Eingangssteuersignals in den redundanten Logikschalt­ kreis, und der Ausgangstakt bestimmt wird durch den Aus­ gabezeitpunkt eines Ausgangssignals aus dem redundantem Logikschaltkreis, und
Unterdrücken eines Störimpulses des Eingangslogik­ signals oder eines Störimpulses des Eingangssteuer­ signals durch Steuern des Takts des redundanten Logik­ schaltkreises.
19. Verfahren zum Verarbeiten eines Eingangslogiksignals in ein Ausgangslogiksignal mit den folgenden Verfahrens­ schritten:
Versorgen eines ersten Schaltungsblocks mit einem Eingangslogiksignal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation in bezug auf das Eingangslogiksignals und das Eingangssteuersignal und zum Erzeugen eines Zwischenlogiksignals als erste Zeit­ gabe, die durch den Empfangstakt des Eingangssteuer­ signals bestimmt wird,
Versorgen eines zweiten Schaltungsblocks nur mit dem Eingangslogiksignal zum Ausführen einer zweiten Lo­ gikoperation in bezug auf das Eingangslogiksignal und zum Erzeugen eines zusätzlichen Logiksignals an einer zweiten Zeitlage unterschiedlich von der ersten Zeit­ lage, und
Versorgen eines dritten Schaltungsblocks mit dem Zwischenlogiksignal und dem zusätzlichen Logiksignal zum Ausführen einer dritten Logikoperation in bezug zu dem Zwischenlogiksignal und dem zusätzlichen Logiksignal und zum Erzeugen des Ausgangslogiksignals, das den gleichen Logikwert einnimmt, unabhängig von dem Vorliegen oder dem Nichtvorliegen des zusätzlichen Logiksignals.
20. Verfahren nach Anspruch 19, wobei als das Eingangslogik­ signal mehr als zwei Eingangslogiksignale zugeführt wer­ den, um ein einziges Eingangslogiksignal unter mehr als zwei Eingangslogiksignalen auszuwählen, wobei dem ersten Schaltungsblock zwei der Eingangslogiksignale zugeführt werden, die eine maximale Datenkorrelation untereinander haben, bei der Zufuhr des Eingangslogiksignals an den ersten Schaltungsblock.
21. Verfahren zum Verarbeiten erster und zweiter Eingangslo­ giksignale in ein Ausgangslogiksignal mit den folgenden Verfahrensschritten:
Versorgen eines ersten Schaltungsblocks mit dem er­ sten Eingangslogiksignal, dem zweiten Eingangslogik­ signal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Logiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zwei­ ten Zwischenlogiksignal und zum Erzeugen eines Ausgangs­ logiksignals und
Verhindern der Eingabe eines spezifischen Eingangs­ logiksignals in den ersten Schaltungsblock.
22. Verfahren zum Verarbeiten erster und zweiter Eingangslo­ giksignal in ein Ausgangslogiksignal mit den Verfahrens­ schritten:
Versorgen eines ersten Schaltungsblocks mit dem er­ sten Eingangslogiksignal, einem zweiten Eingangslogik­ signal und einem Eingangssteuersignal zum Ausführen ei­ ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal und Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus­ gangslogiksignals, und
Versorgen des ersten Schaltungsblocks mit einem Signal, das aus einer dritten Logikoperation zwischen dem Eingangssteuersignal und einem Taktsignal anstelle des Eingangssteuersignals resultiert.
23. Verfahren zum Verarbeiten eines ersten und zweiten Ein­ gangslogiksignals in ein Ausgangslogiksignal mit den folgenden Verfahrensschritten:
Versorgen eines ersten Schaltungsblocks mit dem er­ sten Eingangslogiksignal, dem zweiten Eingangslogik­ signal und einem Eingangssteuersignal zum Ausführen ei­ ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Einsatzlogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus­ gangslogiksignals und
Ausführen einer dritten Logikoperation in dem er­ sten Schaltungsblock zur selektiven Steuersignalverzöge­ rung.
24. Verfahren zum Verarbeiten eines ersten und zweiten Ein­ gangslogiksignals in ein Ausgangslogiksignal mit den folgenden Verfahrensschritten:
Versorgen eines ersten Schaltungsblocks mit dem er­ sten Eingangslogiksignal, dem zweiten Eingangslogik­ signal und einem Eingangssteuersignal zum Ausführen ei­ ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zu Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus­ gangslogiksignals, und
Abstimmen jeder Eingangslage des ersten Eingangslo­ giksignals und des zweiten Eingangslogiksignals in dem ersten Schaltungsblock, so daß ein spezifiziertes Ein­ gangslogiksignal als das Ausgangslogiksignal unter den Eingangslogiksignalen ausgewählt werden kann, wenn ent­ weder das erste Eingangslogiksignal oder das zweite Ein­ gangslogiksignal als das Ausgangslogiksignal auszugeben ist.
25. Verfahren zum Verarbeiten eines ersten und eines zweiten Eingangslogiksignals in ein Ausgangslogiksignal, mit den Verfahrensschritten:
Versorgen eines ersten Schaltungsblocks mit dem er­ sten Eingangslogiksignal, dem zweiten Eingangslogik­ signal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und des Eingangssteuersignals und zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignals zum Ausfüh­ ren einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zu Erzeugen des Aus­ gangslogiksignals,
Versorgen eines Registers mit einem ersten Takt­ signal zum Speichern des Ausgangslogiksignals und
Ausführen einer dritten Logikoperation in einem dritten Schaltungsblock zwischen dem ersten Taktsignal und dem Eingangssteuersignal zum Erzeugen eines zweiten Taktsignals und zum Zuführen des zweiten Taktsignals zu dem Register, wenn die Bedingung erfüllt ist, daß, wenn der Wert des Eingangssteuersignals gleich einem vorgege­ benen Wert ist, das Register das Ausgangslogiksignal nicht speichern muß,
wobei das zweite Taktsignal ohne Übergang in Takt gehalten wird, wenn der Wert des Eingangssteuersignals gleich dem vorgegebenen Wert ist.
26. Verfahren nach Anspruch 19, mit den folgenden Verfah­ rensschritten:
  • (1) Festlegen von Anfangsparametern eines Schaltkreises, basierend auf einer Verhaltens-Design-Spezifikation,
  • (2) Festlegen einer Netzliste durch Kartieren der Imple­ mentierungen zu einer vorgegebenen Bibliothek,
  • (3) Festlegen von Zyklus-Zyklus-Vektoren durch Simulie­ ren der Verhaltensspezifikation,
  • (4) Ermitteln der Signalstatistik für den Energiever­ brauch durch Simulieren der Netzliste unter Verwen­ dung der Vektoren,
  • (5) Automatisches Selektieren eines Verfahrens unter mehreren Verfahren zum Strukturieren eines Schalt­ kreises zum Anwenden des ausgewählten Verfahrens auf den Schaltkreis, so daß der Energieverbrauch für eine vorgegebene Designebene optimal reduziert wird, und
  • (6) Wiederholen der Schritte (4) und (5), bis der Ge­ samt-Energieverbrauch des Schaltkreises minimiert ist.
27. Computerlesbares Medium zum Speichern eines Programms, das betreibbar ist als Reaktion auf ein Eingangslogik­ signal und ein Eingangssteuersignal zum Ausführen einer logischen Operation zwischen dem Eingangslogiksignal und dem Eingangssteuersignal und zum Erzeugen eines Aus­ gangslogiksignals zu einem Zeitpunkt, der durch den Empfangszeitpunkt des Eingangssteuersignals bestimmt wird, wobei das Programm die folgenden Schritte auf­ weist:
Vorbereiten eines redundanten Logikschaltkreises mit der redundanten Struktur zum Verarbeiten des logi­ schen Prozesses aufgrund des Eingangslogiksignals,
Steuern des Eingangstaktes und/oder des Aus­ gangstaktes, wobei der Eingangstakt durch die Empfangs­ zeitlage entweder des Eingangslogiksignals oder des Ein­ gangssteuersignals in den redundanten Logikschaltkreis bestimmt wird, und der Ausgangstakt bestimmt wird durch die Ausgangszeitlage eines Ausgangssignals von dem re­ dundanten Logikschaltkreis, und
Vermeiden des Auftretens eines Störimpulses bei dem Eingangslogiksignal und/oder dem Eingangssteuersignal durch Steuern der Takte für den redundanten Logikschalt­ kreis.
28. Verfahren zum Verringern des Einflusses eines Störimpul­ ses in einem Eingangssignal, das einem Logikschaltkreis zugeführt wird, der eine Logikoperation in bezug auf das Eingangssignal zum Erzeugen eines Ausgangssignals aus­ führt, mit den folgenden Schritten:
Identifizieren des den Störimpuls enthaltenden Ein­ gangssignals als spezifiziertes Eingangssignal,
Aufnehmen entweder der Zeitlage oder der Korrela­ tion zwischen mehreren Kombinationen des spezifizierten Eingangssignals und eines anderen Eingangssignals, und
ausgewähltes Ändern der Zeitlage und/oder der Kor­ relation zwischen den Kombinationen entsprechend dem Er­ gebnis des Aufnahmeschritts, um den Einfluß des Störim­ pulses auf das Ausgangssignal zu reduzieren.
DE19824796A 1997-06-03 1998-06-03 Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -Reduktion Expired - Fee Related DE19824796B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5093997P 1997-06-03 1997-06-03
US60-050,939 1997-06-03

Publications (2)

Publication Number Publication Date
DE19824796A1 true DE19824796A1 (de) 1999-01-07
DE19824796B4 DE19824796B4 (de) 2006-08-10

Family

ID=21968452

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19824796A Expired - Fee Related DE19824796B4 (de) 1997-06-03 1998-06-03 Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -Reduktion

Country Status (3)

Country Link
US (1) US6324679B1 (de)
JP (1) JP3331968B2 (de)
DE (1) DE19824796B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7766904B2 (en) 2003-01-31 2010-08-03 Iridex Corporation Adjustable laser probe for use in vitreoretinal surgery

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7643481B2 (en) * 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
US6850521B1 (en) * 1999-03-17 2005-02-01 Broadcom Corporation Network switch
US6523157B1 (en) * 1999-04-30 2003-02-18 Matsushita Electric Industrial Co., Ltd. Method for designing integrated circuit device and database for design of integrated circuit device
US6859454B1 (en) * 1999-06-30 2005-02-22 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double data rate switching
JP3836276B2 (ja) * 1999-09-17 2006-10-25 株式会社東芝 集積回路のノイズ及び電力の評価方法
JP2001142927A (ja) * 1999-11-16 2001-05-25 Matsushita Electric Ind Co Ltd 半導体集積回路装置の設計方法,回路の消費電力解析方法及び消費電力解析装置
AU1580301A (en) * 1999-11-16 2001-05-30 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double datarate switching
KR20020034540A (ko) * 2000-11-02 2002-05-09 박종섭 이동통신 제어국 시스템에서의 1pps 그리취 제거방법
US6763513B1 (en) * 2001-12-18 2004-07-13 Cadence Design Systems, Inc. Clock tree synthesizer for balancing reconvergent and crossover clock trees
US7003743B2 (en) * 2002-02-01 2006-02-21 Freescale Semiconductor, Inc. Method and system of data processor design by sensitizing logical difference
US7007247B1 (en) * 2002-05-24 2006-02-28 Cadence Design Systems, Inc. Method and mechanism for RTL power optimization
US6904573B1 (en) 2003-05-27 2005-06-07 Hewlett-Packard Development Company, L.P. Logic gate identification based on hardware description language circuit specification
DE10324565A1 (de) * 2003-05-30 2004-12-30 Chipvision Desigin Systems Ag Verfahren und Vorrichtung zum Schaltungsentwurf mittels High-Level-Synthese
US7546559B2 (en) * 2003-08-01 2009-06-09 Atrenta, Inc. Method of optimization of clock gating in integrated circuit designs
US7076748B2 (en) * 2003-08-01 2006-07-11 Atrenta Inc. Identification and implementation of clock gating in the design of integrated circuits
US7299436B2 (en) * 2005-02-10 2007-11-20 International Business Machines Corporation System and method for accurately modeling an asynchronous interface using expanded logic elements
JP4528728B2 (ja) * 2006-01-31 2010-08-18 株式会社東芝 デジタル回路の自動設計装置、自動設計方法、および自動設計プログラム
US7421671B2 (en) * 2006-08-31 2008-09-02 Sun Microsystems, Inc. Graph pruning scheme for sensitivity analysis with partitions
US7555741B1 (en) * 2006-09-13 2009-06-30 Altera Corporation Computer-aided-design tools for reducing power consumption in programmable logic devices
JP5023652B2 (ja) * 2006-10-17 2012-09-12 日本電気株式会社 回路生成システム、回路生成方法及び回路生成プログラム
US8010935B2 (en) * 2008-05-07 2011-08-30 Lsi Corporation Electronic design automation tool and method for optimizing the placement of process monitors in an integrated circuit
US8166428B2 (en) * 2008-08-18 2012-04-24 Lsi Corporation Synthesized logic replacement
US8392858B2 (en) * 2009-03-06 2013-03-05 Skyworks Solutions, Inc. Detection and removal of hazards during optimization of logic circuits
US8239805B2 (en) 2009-07-27 2012-08-07 Lsi Corporation Method for designing integrated circuits employing a partitioned hierarchical design flow and an apparatus employing the method
US8365131B2 (en) * 2010-01-11 2013-01-29 Empire Technology Development Llc Hardware synthesis using thermally aware scheduling and binding
US8555228B2 (en) * 2011-12-29 2013-10-08 Intel Corporation Tool for glitch removal
US9038006B2 (en) * 2013-04-30 2015-05-19 Freescale Semiconductor, Inc. Method and apparatus for generating gate-level activity data for use in clock gating efficiency analysis
US20160217239A1 (en) * 2015-01-22 2016-07-28 Synopsys, Inc. Method and system for selecting stimulation signals for power estimation
US10528600B1 (en) * 2017-09-13 2020-01-07 Hrl Laboratories, Llc System to identify unknown communication behavior relationships from time series
US11195107B1 (en) * 2017-09-13 2021-12-07 Hrl Laboratories, Llc Method of malicious social activity prediction using spatial-temporal social network data
US11593543B2 (en) * 2020-03-04 2023-02-28 Synopsys, Inc. Glitch power analysis with register transfer level vectors
CN111477149B (zh) * 2020-04-22 2023-06-20 京东方科技集团股份有限公司 数据输出电路及数据输出方法、显示装置
TWI768536B (zh) * 2020-11-06 2022-06-21 瑞昱半導體股份有限公司 積體電路模擬及設計方法與系統

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61262827A (ja) 1985-05-15 1986-11-20 Mitsubishi Electric Corp 半導体集積回路装置
US4737660A (en) * 1986-11-13 1988-04-12 Transensory Device, Inc. Trimmable microminiature force-sensitive switch
US5155380A (en) * 1991-04-12 1992-10-13 Acer Incorporated Clock switching circuit and method for preventing glitch during switching
US5237573A (en) * 1992-03-31 1993-08-17 Apple Computer, Inc. Method and apparatus for selectively switching between input signals
US5623223A (en) * 1994-10-12 1997-04-22 National Semiconductor Corporation Glitchless clock switching circuit
FR2726409B1 (fr) 1994-10-28 1996-12-13 Suisse Electronique Microtech Multiplexeur de variables logiques
US6021381A (en) * 1996-06-05 2000-02-01 Sharp Kabushiki Kaisha System for detecting power consumption of integrated circuit
US5831864A (en) * 1996-10-31 1998-11-03 Trustees Of Princeton University Design tools for high-level synthesis of a low-power data path
US6026220A (en) * 1996-11-19 2000-02-15 Unisys Corporation Method and apparatus for incremntally optimizing a circuit design

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7766904B2 (en) 2003-01-31 2010-08-03 Iridex Corporation Adjustable laser probe for use in vitreoretinal surgery

Also Published As

Publication number Publication date
DE19824796B4 (de) 2006-08-10
US6324679B1 (en) 2001-11-27
JPH1173302A (ja) 1999-03-16
JP3331968B2 (ja) 2002-10-07

Similar Documents

Publication Publication Date Title
DE19824796B4 (de) Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -Reduktion
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE60107904T2 (de) Gerät und Verfahren zur automatischen Erzeugung von Schaltungen, und Rechnerprogrammprodukt zur Ausführung des Verfahrens
US5481695A (en) System and method for estimating crosstalk between signal lines in a circuit
DE19903633A1 (de) Implementierung von Boolescher Erfüllbarkeit mit nichtchronologischer Rückwärtsverarbeitung in rekonfigurierbarer Hardware
DE19860062A1 (de) Verfahren der erzwungenen Registerteilung für die Konstruktion von leistungsarmen VLSI
DE60005670T2 (de) Aktualisierung der platzierung während der technologieabbildung
DE102020113922A1 (de) Multipliziererschaltungsanordnung mit reduzierter latenz für sehr grosse zahlen
DE60221462T2 (de) Vorrichtung und Verfahren zur High-Level-Synthese, Verfahren zur Produktion von logischen Schaltungen unter Verwendung des Verfahrens zur High-Level-Synthese,und Aufzeichnungsmedium
Chen et al. Activity-sensitive clock tree construction for low power
DE102006020186A1 (de) Vorrichtung und Verfahren von Verzögerungsberechnung für strukturierte ASIC
WO1992018944A1 (de) Verfahren zur verifikation datenverarbeitender systeme
DE60101169T2 (de) Logikschaltkreis mit Pipeline-Struktur
DE3146721A1 (de) Logikschaltkreis mit pruefmoeglichkeit
DE112013005833T5 (de) Analyse zeitlicher Leitungsengpässe zur Steuerung einer Optimierung mit nützlichem Versatz
DE19530669A1 (de) Verfahren zum automatischen Auswählen eines taktsteuernden Signalpfads in umprogrammierbaren Systemen zur Hardware-Emulation
Panda et al. Technology decomposition for low-power synthesis
Chai et al. Temporofunctional crosstalk noise analysis
DE10300699A1 (de) Analyseverfahren für eine integrierte Schaltung und Programmprodukt
DE10307268A1 (de) Ein Verfahren zum Optimieren von integrierten Hochleistungs-CMOS-Schaltungsentwürfen hinsichtlich Leistungsverbrauch und Geschwindigkeit unter Verwendung von globalen und gierigen Optimierungen in Kombination
US5555187A (en) Method and apparatus for determining the timing specification of a digital circuit
Hu et al. Enhanced dual-transition probabilistic power estimation with selective supergate analysis
Murgai Performance optimization under rise and fall parameters
EP3657363A1 (de) Registertransfer-modell und verfahren zur simulation eines integrierten schaltkreises
DE4233947A1 (de) Ausgangsschaltung fuer eine integrierte halbleiterschaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20150101