DE19824796B4 - 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 Download PDF

Info

Publication number
DE19824796B4
DE19824796B4 DE19824796A DE19824796A DE19824796B4 DE 19824796 B4 DE19824796 B4 DE 19824796B4 DE 19824796 A DE19824796 A DE 19824796A DE 19824796 A DE19824796 A DE 19824796A DE 19824796 B4 DE19824796 B4 DE 19824796B4
Authority
DE
Germany
Prior art keywords
signal
logic
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.)
Expired - Fee Related
Application number
DE19824796A
Other languages
English (en)
Other versions
DE19824796A1 (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Nonlinear Science (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)
  • Manipulation Of Pulses (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Logikschaltkreis mit
einem ersten Schaltungsblock, der mit einem logischen Eingangssignal und einem Eingangssteuersignal versorgt wird, zum Ausführen einer ersten Logikoperation in Relation zu dem Eingangslogiksignal und dem Eingangssteuersignal, um ein Zwischenlogiksignal zu einem ersten Zeitpunkt zu erzeugen, der durch den Empfangszeitpunkt des Eingangssteuersignals bestimmt wird,
einem zweiten Schaltungsblock, der nur mit dem Eingangslogiksignal versorgt wird, zum Ausführen einer zweiten Logikoperation in Relation zu dem Eingangslogiksignal, 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 Zwischenlogiksignal und dem zusätzlichen Logiksignal versorgt wird, zum Ausführen einer dritten Logikoperation in Relation zu dem Zwischenlogiksignal und dem zusätzlichen Logiksignal, um ein Ausgangslogiksignal zu erzeugen, das den gleichen Logikwert einnimmt, unabhängig von Vorliegen oder Nicht-Vorliegen des zusätzlichen Logiksignals.

Description

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

Claims (27)

  1. Logikschaltkreis mit einem ersten Schaltungsblock, der mit einem logischen Eingangssignal und einem Eingangssteuersignal versorgt wird, zum Ausführen einer ersten Logikoperation in Relation zu dem Eingangslogiksignal und dem Eingangssteuersignal, um ein Zwischenlogiksignal zu einem ersten Zeitpunkt zu erzeugen, der durch den Empfangszeitpunkt des Eingangssteuersignals bestimmt wird, einem zweiten Schaltungsblock, der nur mit dem Eingangslogiksignal versorgt wird, zum Ausführen einer zweiten Logikoperation in Relation zu dem Eingangslogiksignal, 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 Zwischenlogiksignal und dem zusätzlichen Logiksignal versorgt wird, zum Ausführen einer dritten Logikoperation in Relation zu dem Zwischenlogiksignal und dem zusätzlichen Logiksignal, um ein Ausgangslogiksignal zu erzeugen, das den gleichen Logikwert einnimmt, unabhängig von Vorliegen oder Nicht-Vorliegen des zusätzlichen Logiksignals.
  2. Logikschaltung nach Anspruch 1, wobei der erste Schaltungsblock und der dritte Schaltungsblock miteinander als Multiplexer cooperieren, und mit den folgenden weiteren Merkmalen: dem ersten Schaltungsblock werden das erste Eingangslogiksignal und das zweite Eingangslogiksignal als das Eingangslogiksignal zugeführt, um die erste Logikoperation zwischen einem ersten Satz des ersten Logiksignals und dem Steuersignal und zwischen einem zweiten Satz des zweiten Logiksignals und dem Steuersignal auszuführen und als Zwischenlogiksignal erste und zweite Zwischenlogiksignale zu dem ersten Zeitpunkt zu erzeugen, der durch das Steuersignal bestimmt wird, dem zweiten Steuerblock wird als das Eingangslogiksignal das erste Eingangslogiksignal und das zweite Eingangslogiksignal zugeführt, um die zweite Logikoperation zwischen einem dritten Satz des ersten Eingangslogiksignals und dem zweiten Eingangslogiksignal auszuführen und das zusätzliche Logiksignal zu erzeugen, und der dritte Schaltungsblock wird mit dem ersten Zwischenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logiksignal versorgt, um die dritte Logikoperation unter dem ersten Zwischenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logiksignal auszuführen und das Ausgangslogiksignal zu erzeugen.
  3. Logikschaltung nach Anspruch 2, wobei der erste Schaltungsblock aufweist: einen Inverter zum Ausführen der Inversionsoperation 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-Torschaltung zum Ausführen einer UND-Operation zwischen dem ersten Eingangslogiksignal und dem zweiten Eingangslogiksignal aufweist, und wobei der dritte Schaltungsblock eine erste ODER-Torschaltung zum Ausführen einer ODER-Operation zwischen dem ersten Zwischenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logiksignal aufweist und entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal als das Ausgangslogiksignal entsprechend dem Wert des Eingangssteuersignals zu erzeugen.
  4. Multiplexbaum mit einer Kombination mehrerer Logikschaltungen nach Anspruch 3 und dem als Eingangslogiksignal mehr als zwei Eingangslogiksignale zugeführt werden, um ein einziges Eingangslogiksignal unter mehr als zwei Eingangslogiksignalen auszuwählen, wobei einem ersten der Multiplexer zwei Eingangslogiksignale zugeführt werden, die eine maximale Datenkorrelation 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 aufweisen.
  6. Logikschaltkreis mit: einem ersten Schaltungsblock, dem ein erstes Eingangslogiksignal, 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 zweiten Zwischenlogiksignal auszuführen, um ein Ausgangslogiksignal 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 Kombination mehrerer Multiplexer aufweist und dem als Eingangslogiksignal mehr als zwei Eingangslogiksignale zu geführt werden, um ein einziges Eingangslogiksignal unter 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 mit einem ersten Schaltungsblock, dem ein erstes Eingangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, um eine erste Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal auszuführen, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen, und einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, um die zweite Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal auszuführen, um ein Ausgangslogiksignal zu erzeugen, wobei dem ersten Schaltungsblock ein Signal zugeführt wird, das aus einer dritten Logikoperation zwischen dem Eingangssteuersignal und einem Taktsignal, anstelle des Eingangssteuersignals, hervorgeht.
  9. Logikschaltung nach Anspruch 8, wobei das Signal, das aus der dritten Logikoperation zwischen dem Eingangssteuersignal und dem Taktsignal hervorgeht, durch eine UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem Eingangssteuersignal und dem invertierten Taktsignal erhalten wird.
  10. Logikschaltung nach Anspruch 8, wobei das Signal, das durch die dritte Logikoperation zwischen dem Eingangssteuersignal und dem Taktsignal erhalten wird, durch eine ODER-Torschaltung zum Ausführen einer ODER-Opera tion zwischen dem Eingangssteuersignal und dem Taktsignal erhalten wird.
  11. Logikschaltung mit: einem ersten Schaltungsblock, dem ein erstes Eingangslogiksignal, 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 Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal, um ein Ausgangslogiksignal zu erzeugen, wobei der erste Schaltungsblock eine dritte Logikoperation ausführt, um die Steuersignalverzögerung selektiv auszuführen.
  12. Logikschaltung nach Anspruch 11, wobei die erste Logikoperation 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 ausgefü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 Eingangssteuersignal später eingegeben werden kann als das erste Eingangslogiksignal an die erste UND-Torschaltung nur an einer positiven Flanke des invertierten Eingangssteuersignals beim Ausführen der ersten Logikoperation zwischen dem ersten Eingangssignal und dem Eingangssteuersignal, und eine zweite Verzögerungstorschaltung zum Eingeben des Eingangssteuersignals an die zweite UND-Torschaltungsverzögerung, so daß das Eingangssteuersignal zu einem späteren Zeitpunkt eingegeben werden kann, als das zweite Eingangslogiksignal an die zweite UND-Torschaltung nur an der positiven Flanke des Eingangssteuersignals beim Ausführen der ersten Logikoperation zwischen dem zweiten Eingangssignal und dem Eingangssteuersignal.
  13. Logikschaltung nach Anspruch 12, wobei die erste Verzögerungstorschaltung aufweist: ein erstes Verzögerungselement zum Eingeben des invertierten 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 Eingangssteuersignal und dem invertierten Eingangssteuersignal, und wobei das erste Verzögerungselement und die dritte UND-Torschaltung direkt mit einem Eingang der ersten UND-Torschaltung verbunden sind, dem das invertierte Eingangssteuersignal ursprünglich zugeführt werden soll, und wobei die zweite Verzögerungstorschaltung aufweist: ein zweites Verzögerungselement zum Eingeben des Eingangssteuersignals und zum Ausführen der Eingangssteuersignalverzögerung, und eine vierte UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem verzögerten Eingangssteuersignal und dem Eingangssteuersignal, wobei das zweite Verzögerungselement und die vierte UND-Torschaltung mit einem Eingang der zweiten UND-Torschaltung direkt verbunden sind, dem das Eingangssteuersignal ursprünglich zugeführt werden soll.
  14. Logikschaltung mit einem ersten Schaltungsblock, dem ein erstes Eingangslogiksignal, 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 zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals, und einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal zum Erzeugen eines Ausgangslogiksignals, wobei jede Eingangslage des ersten Eingangslogiksignals und des zweiten Eingangslogiksignals in dem ersten Schaltungsblock so eingestellt wird, daß ein spezifiziertes Eingangslogiksignal als das Ausgangslogiksignal unter den Eingangslogiksignalen ausgewählt werden kann, wenn entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal als das Ausgangslogiksignal ausgegeben wird.
  15. Logikschaltung nach Anspruch 14, wobei die erste Logikoperation 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 Eingangssteuersignal 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 Eingangssteuersignals ausgewählt wird, dem das spezifizierte Eingangslogiksignal zugeordnet ist.
  16. Logikschaltung mit: einem ersten Schaltungsblock, dem ein erstes Eingangslogiksignal, 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 zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals, einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Ausfü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 Eingangssteuersignals gleich dem vorgegebenen Wert ist.
  17. Logikschaltung nach Anspruch 16, wobei der dritte Schaltungsblock, eine ODER-Torschaltung zum Ausführen einer ODER-Operation zwischen dem invertierten Eingangssteuersignal und dem ersten Taktsignal aufweist, um das Ergebnis als das Eingangssteuersignal auszugeben.
  18. Verfahren zum Empfangen eines Eingangslogiksignals und eines Eingangssteuersignals, Ausführen einer Logikoperation zwischen dem Eingangslogiksignal und dem Eingangssteuersignal und Erzeugen eines Ausgangslogiksignals zu einem Zeitpunkt, der bestimmt wird durch den Empfangszeitpunkt des Eingangssteuersignals, mit den folgenden Verfahrensschritten: Vorbereiten eines redundanten Logikschaltkreises mit einer redundanten Struktur zum Ausführen der Logikoperation in bezug auf das Eingangslogiksignal und Steuern des Eingangstaktes und/oder Ausgangstaktes, wobei der Eingangstakt bestimmt wird durch den Empfangszeitpunkt entweder des Eingangslogiksignals oder des Eingangssteuersignals in den redundanten Logikschaltkreis, und der Ausgangstakt bestimmt wird durch den Ausgabezeitpunkt eines Ausgangssignals aus dem redundantem Logikschaltkreis, und Unterdrücken eines Störimpulses des Eingangslogiksignals oder eines Störimpulses des Eingangssteuersignals durch Steuern des Takts des redundanten Logikschaltkreises.
  19. Verfahren zum Verarbeiten eines Eingangslogiksignals in ein Ausgangslogiksignal mit den folgenden Verfahrensschritten: 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 Zeitgabe, die durch den Empfangstakt des Eingangssteuersignals bestimmt wird, Versorgen eines zweiten Schaltungsblocks nur mit dem Eingangslogiksignal zum Ausführen einer zweiten Logikoperation in bezug auf das Eingangslogiksignal und zum Erzeugen eines zusätzlichen Logiksignals an einer zweiten Zeitlage unterschiedlich von der ersten Zeitlage, 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 Eingangslogiksignal mehr als zwei Eingangslogiksignale zugeführt werden, 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 Eingangslogiksignale in ein Ausgangslogiksignal mit den folgenden Verfahrensschritten: Versorgen eines ersten Schaltungsblocks mit dem ersten Eingangslogiksignal, dem zweiten Eingangslogiksignal 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 zweiten Zwischenlogiksignal und zum Erzeugen eines Ausgangslogiksignals und Verhindern der Eingabe eines spezifischen Eingangslogiksignals in den ersten Schaltungsblock.
  22. Verfahren zum Verarbeiten erster und zweiter Eingangslogiksignal in ein Ausgangslogiksignal mit den Verfahrensschritten: Versorgen eines ersten Schaltungsblocks mit dem ersten Eingangslogiksignal, einem zweiten Eingangslogiksignal 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 Zwischenlogiksignal und Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Ausgangslogiksignals, 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 Eingangslogiksignals in ein Ausgangslogiksignal mit den folgenden Verfahrensschritten: Versorgen eines ersten Schaltungsblocks mit dem ersten Eingangslogiksignal, dem zweiten Eingangslogiksignal und einem Eingangssteuersignal zum Ausführen einer 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 Ausgangslogiksignals und Ausführen einer dritten Logikoperation in dem ersten Schaltungsblock zur selektiven Steuersignalverzögerung.
  24. Verfahren zum Verarbeiten eines ersten und zweiten Eingangslogiksignals in ein Ausgangslogiksignal mit den folgenden Verfahrensschritten: Versorgen eines ersten Schaltungsblocks mit dem ersten Eingangslogiksignal, dem zweiten Eingangslogiksignal 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 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 Ausgangslogiksignals, und Abstimmen jeder Eingangslage des ersten Eingangslogiksignals und des zweiten Eingangslogiksignals in dem ersten Schaltungsblock, so daß ein spezifiziertes Eingangslogiksignal als das Ausgangslogiksignal unter den Eingangslogiksignalen ausgewählt werden kann, wenn entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal 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 ersten Eingangslogiksignal, dem zweiten Eingangslogiksignal 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ühren einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zu Erzeugen des Ausgangslogiksignals, Versorgen eines Registers mit einem ersten Taktsignal 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 vorgegebenen 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 Verfahrensschritten: (1) Festlegen von Anfangsparametern eines Schaltkreises, basierend auf einer Verhaltens-Design-Spezifikation, (2) Festlegen einer Netzliste durch Kartieren der Implementierungen zu einer vorgegebenen Bibliothek, (3) Festlegen von Zyklus-Zyklus-Vektoren durch Simulieren der Verhaltensspezifikation, (4) Ermitteln der Signalstatistik für den Energieverbrauch durch Simulieren der Netzliste unter Verwendung der Vektoren, (5) Automatisches Selektieren eines Verfahrens unter mehreren Verfahren zum Strukturieren eines Schaltkreises 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 Gesamt-Energieverbrauch des Schaltkreises minimiert ist.
  27. Verfahren zum Verringern des Einflusses eines Störimpulses in einem Eingangssignal, das einem Logikschaltkreis zugeführt wird, der eine Logikoperation in bezug auf das Eingangssignal zum Erzeugen eines Ausgangssignals ausführt, mit den folgenden Schritten: Identifizieren des den Störimpuls enthaltenden Eingangssignals als spezifiziertes Eingangssignal, Aufnehmen entweder der Zeitlage oder der Korrelation zwischen mehreren Kombinationen des spezifizierten Eingangssignals und eines anderen Eingangssignals, und ausgewähltes Ändern der Zeitlage und/oder der Korrelation zwischen den Kombinationen entsprechend dem Ergebnis des Aufnahmeschritts, um den Einfluß des Störimpulses 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 DE19824796A1 (de) 1999-01-07
DE19824796B4 true 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)

Families Citing this family (34)

* 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
AU3529500A (en) * 1999-03-17 2000-10-04 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 半導体集積回路装置の設計方法,回路の消費電力解析方法及び消費電力解析装置
ATE252298T1 (de) * 1999-11-16 2003-11-15 Broadcom Corp Verfahren und netzwerkvermittlungsstelle mit datenserialisierung durch gefahrlose mehrstufige störungsfreie multiplexierung
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
US7766904B2 (en) 2003-01-31 2010-08-03 Iridex Corporation Adjustable laser probe for use in vitreoretinal surgery
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
US7076748B2 (en) * 2003-08-01 2006-07-11 Atrenta Inc. Identification and implementation of clock gating in the design of integrated circuits
US7546559B2 (en) * 2003-08-01 2009-06-09 Atrenta, Inc. Method of optimization of clock gating in integrated circuit designs
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 日本電気株式会社 回路生成システム、回路生成方法及び回路生成プログラム
US8499230B2 (en) 2008-05-07 2013-07-30 Lsi Corporation Critical path monitor for an integrated circuit and method of operation thereof
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
US11195107B1 (en) * 2017-09-13 2021-12-07 Hrl Laboratories, Llc Method of malicious social activity prediction using spatial-temporal social network data
US10528600B1 (en) * 2017-09-13 2020-01-07 Hrl Laboratories, Llc System to identify unknown communication behavior relationships from time series
CN114586036A (zh) * 2020-03-04 2022-06-03 美商新思科技有限公司 利用寄存器传输级矢量的毛刺功率分析
CN111477149B (zh) * 2020-04-22 2023-06-20 京东方科技集团股份有限公司 数据输出电路及数据输出方法、显示装置
TWI768536B (zh) 2020-11-06 2022-06-21 瑞昱半導體股份有限公司 積體電路模擬及設計方法與系統

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4737660A (en) * 1986-11-13 1988-04-12 Transensory Device, Inc. Trimmable microminiature force-sensitive switch
US5237573A (en) * 1992-03-31 1993-08-17 Apple Computer, Inc. Method and apparatus for selectively switching between input signals
FR2726409A1 (fr) * 1994-10-28 1996-05-03 Suisse Electronique Microtech Multiplexeur de variables logiques

Family Cites Families (6)

* 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 半導体集積回路装置
US5155380A (en) * 1991-04-12 1992-10-13 Acer Incorporated Clock switching circuit and method for preventing glitch during switching
US5623223A (en) * 1994-10-12 1997-04-22 National Semiconductor Corporation Glitchless clock switching circuit
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4737660A (en) * 1986-11-13 1988-04-12 Transensory Device, Inc. Trimmable microminiature force-sensitive switch
US5237573A (en) * 1992-03-31 1993-08-17 Apple Computer, Inc. Method and apparatus for selectively switching between input signals
FR2726409A1 (fr) * 1994-10-28 1996-05-03 Suisse Electronique Microtech Multiplexeur de variables logiques

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LICHTENBERGER, B.: Praktische Digitaltechnik, Heidelberg 1987, Hüttig-Verlag, S. 13, ISBN 3-7785-1162-9 *

Also Published As

Publication number Publication date
US6324679B1 (en) 2001-11-27
JP3331968B2 (ja) 2002-10-07
JPH1173302A (ja) 1999-03-16
DE19824796A1 (de) 1999-01-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
US6988255B2 (en) Generation of refined switching windows in static timing analysis
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE69808286T2 (de) Emulationssytem mit zeitmultiplexverbindung
DE69625948T2 (de) Kompiler mit generischem Front-End und dynamisch ladbaren Back-Ends
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
Chen et al. Activity-sensitive clock tree construction for low power
DE69425744T2 (de) Verfahren zur modellierung von bidirektionalen oder multiplikativ gesteuerten signalpfaden in einem system zum erreichen eines statisch geplanten allzwecksimulators
DE10143101A1 (de) Verfahren zur Validierung von Simulationsergebnissen eines Systems sowie darauf aufbauender Äquivalenzvergleich digitaler Schaltungen
DE102005060394A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
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
DE102006020186A1 (de) Vorrichtung und Verfahren von Verzögerungsberechnung für strukturierte ASIC
Stöhr et al. Analysis, reduction and avoidance of crosstalk on VLSI chips
DE69533567T2 (de) Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen
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
US6253356B1 (en) System and method for improving logic synthesis in logic circuits
Chai et al. Temporofunctional crosstalk noise analysis
Corgnati et al. Clustered table-based macromodels for RTL power estimation
DE10300699A1 (de) Analyseverfahren für eine integrierte Schaltung und Programmprodukt
US5649166A (en) Dominator selection method for reducing power consumption in a circuit
DE10355141A1 (de) System und Verfahren zum Schätzen eines Leistungsverbrauchs für zumindest einen Abschnitt einer integrierten Schaltung

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