DE19824796A1 - Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -Reduktion - Google Patents
Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -ReduktionInfo
- Publication number
- DE19824796A1 DE19824796A1 DE19824796A DE19824796A DE19824796A1 DE 19824796 A1 DE19824796 A1 DE 19824796A1 DE 19824796 A DE19824796 A DE 19824796A DE 19824796 A DE19824796 A DE 19824796A DE 19824796 A1 DE19824796 A1 DE 19824796A1
- Authority
- DE
- Germany
- Prior art keywords
- logic
- signal
- input
- logic signal
- control signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/125—Discriminating pulses
- H03K5/1252—Suppression or limitation of noise or interference
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
Description
Die Erfindung betrifft ein Verfahren zur Reduktion des Ener
gieverbrauchs in einem Logikschaltkreis, insbesondere zum
Verhindern des Durchlaufs eines Störimpulses (Glitch) in dem
Schaltkreis.
Eine Reduktion des Energieverbrauchs in VLSI-Schaltkreisen
ist aus mehreren Gründen bedeutsam geworden. Mobile oder
tragbare elektronische Geräte, die bereits in großem Umfang
von aller Konsumentenelektronik verkauft werden, werden mit
Batterien betrieben. Die Reduktion des Energieverbrauchs in
den verschiedenen Komponenten derartiger Systeme verlängert
daher die Lebensdauer der Batterien; dies ist besonders wün
schenswert. Ein übermäßiger Energieverbrauch führt ferner zu
einer Erhöhung der Kosten bei der Chip-Verpackung und Küh
lung, so daß die Gesamtsystem-Kosten erhöht werden. Ein an
derer Vorteil von geringem Energieverbrauch ist die erhöhte
Zuverlässigkeit der VLSI-Schaltkreise. Eine Reduktion des
mittleren Energieverbrauchs oder des Spitzenenergiever
brauchs haben ihre eigenen Vorteile. Beispielsweise ist der
mittlere Energieverbrauch mit der Batterielebensdauer korre
liert, während der Spitzenenergieverbrauch sich insbesondere
auf die Kosten bei der Verpackung und der Kühlung nieder
schlägt. Die vorliegende Erfindung bezieht sich insbesondere
auf die Minimierung des mittleren Energieverbrauchs.
Die größte Einsparung des Energieverbrauchs erhält man durch
eine Kombination verschiedener Techniken in unterschiedli
cher Höhe in der Produkt-Design-Hierarchie. Verschiedene
Design- und Synthese-Techniken sind zur Energieoptimierung
in der jeweiligen Technik vorgeschlagen worden (offenbart
z. B. in Referenz 1 (vgl. die anliegende Referenzliste)),
beim Transistor (Referenz 2), bei der physikalischen Gestal
tung (Referenz 3), und bei der Logik (Referenz 2) der
Design-Hierarchie. Hierbei konzentrieren wir uns auf Techni
ken zum Reduzieren des Energieverbrauchs in Schaltkreisen,
die in der Registerübertragungsebene (RTL) der Design-
Hierarchie spezifiziert sind. Die RTL-Designs können entwe
der durch Designer manuell erzeugt werden oder aus Verhal
tensspezifikationen durch Verhaltenssynthesewerkzeuge syn
thetisiert werden. Zur Leistungsabschätzung der Architektur
wurde in Referenz 4 ein Verfahren vorgestellt, das auf einem
Signalstatistikmodell mit gleichförmig weißem Rauschen ba
siert. Ein genaueres Schätzverfahren basiert auf einem 2-Bit-Typmodell
gemäß den Referenzen 5 und 6. Die Verwendung
der Entropie als Maß für die mittlere Schaltaktivität und
ihre Verwendung bei der Hochpegel-Leistungsschätzung wird in
den Referenzen 7 und 8 vorgeschlagen. Für Arbeiten in der
Architektur-Leistungsoptimierung wird in den Referenzen 1
und 9 beschrieben. In Referenz 1 wird die Verwendung von
Architektur-Parallelismen vorgeschlagen, und zwar basierend
auf einer Datenpfadreplikation und Pipeline-Verarbeitung, um
eine Versorgungsspannungsabstufung zur Leistungsreduktion zu
ermöglichen. In Referenz 9 wird eine Methodologie vorge
schlagen, die eine Vielzahl von Architektur-Transformationen
verwendet, um den Energieverbrauch zu reduzieren. In Refe
renz 10 werden Schaltaktivitätsmessungen eingesetzt, um den
Energieverbrauch in Bit-seriellen Digitalfiltern zu reduzie
ren. Eine Optimierung von speicher-dominierten Berechnungen
zum Energieverbrauch wird in den Referenzen 11 und 12 ange
sprochen. Werkzeuge zur Energieabschätzung und zur Untersu
chung des Design-Raumes im Verhaltenspegel wurden in Refe
renz 13 dargestellt. In Referenz 14 werden eine Modulselek
tion und ein Pipeline-Verfahren verwendet, um die Leistungs
verschlechterung zu bekämpfen, die sich aus einer Reduktion
der Versorgungsspannung ergibt. Verfahren zur Festlegung und
Zuordnung zum Minimalisieren der Schaltaktivität und der
Schaltkapazität im Datenpfad werden in den Referenzen 15,
16, 17 und 18 dargestellt. Die Techniken zur Verringerung
des Energieverbrauchs während der Hochpegel-Synthese basie
rend auf einer Reduktion der Aktivität in funktionalen Ein
heiten wurden in Referenz 19 dargestellt. Die Verwendung von
begrenzten Wichtungscodes zur Minimierung des Energiever
brauchs in Bus-Schaltkreisen und Eingabe/Ausgabe-Schaltkrei
sen wird in Referenz 20 beschrieben. Ein Multiphasen-Takt
schema für RTL-Schatkreise zum Reduzieren der Aktivität
durch natürliches Abschalten inaktiver Teile des Schaltkrei
ses wurde in Referenz 21 beschrieben. Ein Optimierungswerk
zeug für mittleren und Spitzen-Energieverbrauch während der
Verhaltenssynthese basierend auf einem genetischen Suchver
fahren sind in Referenz 22 beschrieben. Techniken zur Soft
ware-Energieabschätzung und Optimierung sind in Referenz 23
beschrieben.
Die Bedeutung zur Elimination von Störspitzen im Design von
digitalen VLSI-Schaltkreisen ist seit langem bekannt. Die
Vermeidung derartiger Störspitzen sind insbesondere von
großer Bedeutung beim Design von asynchronen Schaltkreisen
und beim Design von D/A- und A/D-Wandlern. Verschiedene Stu
dien berichten von der Bedeutung zur Berücksichtigung der
Störspitzen-Leistung während der Leistungsabschätzung und
Optimierung (Referenzen 24 und 25). Die extreme Empfindlich
keit der Störspitzen-Leistung gegenüber Verfahrensverände
rungen sind in den Referenzen 24 und 26 hervorgehoben, wo
gezeigt wird, daß die Schaltaktivität und der Energiever
brauch aufgrund von Störspitzen sehr viel stärker mit Ver
fahrensschwankungen variieren als die anderen Energiever
brauchskomponenten. Das Design einer Multiplizierschaltung
mit stark verringertem Störspitzen-Energieverbrauch wird in
Referenz 27 beschrieben. Es existieren jedoch sehr wenige
automatische Design- und Synthese-Techniken zum Reduzieren
des Störspitzen-Energieverbrauchs in allgemeiner gehaltenen
Schaltkreisen. Bei Architektur- und Verhaltensebenen igno
riert der Stand der Technik bezüglich des Energieverbrauchs
und der Optimierung die Auswirkungen von Störspitzen, insbe
sondere die Auswirkung des Durchlaufs von Störspitzen über
die Blockgrenzen in der Architektur. Während genaue Biblio
theks-Modellverfahren (Referenz 6) verwendet werden können,
um die Auswirkungen von Störspitzen innerhalb von Architek
turblöcken zu berücksichtigen, wird dabei jedoch typischer
weise angenommen, daß die Eingangssignale zu diesen Blöcken
störspitzenfrei sind.
Die meisten Arbeiten bei Architektur- und Verhaltenspegeln
beziehen sich insbesondere auf datenflußintensive Gestaltun
gen, während arithmetische Einheiten, wie Addierglieder und
Multiplizierglieder für den größten Teil des Gesamtenergie
verbrauchs verantwortlich sind. Die Experimente im Rahmen
der Erfindung mit steuerflußintensiven Gestaltungen zeigen
jedoch, daß die durch die funktionalen Einheiten verbrauchte
Energie einen kleinen Anteil des Gesamtenergieverbrauchs
darstellt, während Multiplex-Netze und Register einen großen
Teil der Gesamtenergie derartiger Designs verbrauchen kön
nen.
Die Experimente im Rahmen der Erfindung zeigen ferner, daß
ein großer Teil des Registerenergieverbrauchs sich aufgrund
von Übergängen auf den Registertakteingang ergeben. Die Ent
wickler verwenden meist Techniken zum Betätigen von Takt
schaltungen, um Teile eines Systems selektiv abzuschalten.
Verfahren zum automatischen Detektieren von Bedingungen, un
ter denen die Takteingangssignale an alle Register einer
Schaltung abgeschaltet werden können, basieren auf der Iden
tifizierung von Selbstschleifen und Unerreichbarzuständen im
Zustandsübergangsgraphen (STG), wie in Referenz 28 darge
stellt. Die Techniken in Referenz 28 können jedoch nur auf
die Steuerung und auf äußere Logikteile eines Schaltkreises
angewendet werden, für die es zweckmäßig ist, das STG zu
extrahieren.
Im Rahmen der vorliegenden Erfindung werden Schaltungs-Designs
für Niederenergietechniken für RTL-Steuerschaltun
gen/Datenpfadschaltkreise beschrieben, die steuerflußinten
sive Spezifikation implementieren. Es wird die Erzeugung und
das Fortschreiten von Störimpulsen sowohl in den Steuer- als
auch in den Datenpfadteilen des Schaltkreises analysiert.
Dabei wird demonstriert, daß die Steuerlogik einen wesentli
chen Anteil von Störimpulsen an ihren Ausgängen erzeugen
kann, die wiederum durch die Datenpfade fortschreiten und
damit für einen großen Anteil der Störimpulsleistung im ge
samten Schaltkreis verantwortlich sind. Basierend auf dieser
Analyse, wurden Techniken entwickelt, mit denen versucht
wird, den Störimpuls-Energieverbrauch zu reduzieren, indem
der Durchlauf von Störimpulsen von der Steuerung sowie von
Datensignalen durch den RTL-Schaltkreis zu minimieren. Die
verwendeten Techniken schließen die Restrukturierung von
Multiplex-Netzen, das Takten von Steuersignalen sowie das
Einfügen selektiv ansteigender/fallender Verzögerungen ein,
um das Fortschreiten von Störimpulsen aus Steuer- und Daten
signalen zu unterdrücken. Die wesentlichen Vorteile der vor
liegenden Störimpuls-Reduktionstechniken sind die folgenden:
(i) das Vorliegen von Leerlaufperioden für Komponenten in einem Design ist nicht erforderlich, d. h. die Maßnahmen sind auch anwendbar auf Designs mit vollständigem oder nahezu vollständigem Ausnutzen von Reserven und (ii) es wird der Energieverbrauch in allen Teilen des Designs angesprochen, einschließlich Multiplex-Netze und Register und nicht nur funktionale Einheiten.
(i) das Vorliegen von Leerlaufperioden für Komponenten in einem Design ist nicht erforderlich, d. h. die Maßnahmen sind auch anwendbar auf Designs mit vollständigem oder nahezu vollständigem Ausnutzen von Reserven und (ii) es wird der Energieverbrauch in allen Teilen des Designs angesprochen, einschließlich Multiplex-Netze und Register und nicht nur funktionale Einheiten.
Basierend auf den Beobachtungen im Rahmen der Erfindung, daß
Register einen erheblichen Anteil der Gesamtenergie eines
Designs brauchen können und daß Übergänge an Takteingängen
zu Registern wiederum einen überwiegenden Teil des Register
energieverbrauchs verursachen, wird eine Technik angewandt,
bei der Takteingänge zu Registern geschaltet werden, um
ihren Energieverbrauch zu reduzieren. Im Gegensatz zur Tech
nik in Referenz 28, bei der das STG des Schaltkreises benö
tigt wird, leitet die erfindungsgemäße Technik die Schaltbe
dingungen für Registertakteingänge, basierend auf einer
strukturellen Analyse des RTL-Schaltkreises ab, und kann da
her auf alle Register des Schaltkreises angewendet werden.
Der Erfindung liegt die Aufgabe zugrunde, automatische Tech
niken zum Reduzieren des Störimpuls-Energieverbrauchs in ge
nerellen Schaltkreisen in der Architektur- und Verhaltens
ebene anzugeben. Ferner ist es Aufgabe der Erfindung, Tech
niken für Niederenergie-Designs für RTL-Steuerschaltun
gen/Datenpfadschaltkreise anzugeben, die steuerflußintentise
Spezifikationen implementieren. Nach einer weiteren Aufgabe
der Erfindung sollen Techniken bereitgestellt werden, die
die Restrukturierung von Multiplexnetzen, das Takten von
Steuersignalen und das Einfügen selektiver Anstiegs/Abfall
verzögerungen umfassen, um das Fortschreiten von Störimpul
sen von Steuer- und Datensignalen zu unterdrücken.
Diese Aufgaben werden mit den Merkmalen der Patentansprüche
gelöst.
Die Erfindung wird nachstehend mit Bezug auf die anliegende
Zeichnung näher erläutert. Es zeigen:
Fig. 1 einen RTL-Schaltkreis zur Berechnung des größten
gemeinsamen Teilers (GCD) zweier Zahlen,
Fig. 2 eine Tabelle zur Erläuterung des Energieverbrauchs
in verschiedenen Teilen des GCD-Schaltkreisen,
Fig. 3 eine Tabelle zur Erläuterung der Aktivitäten
mit/ohne Störimpulsen für verschiedene Signale des
GCD-Schaltkreises,
Fig. 4A eine Architektur zur Implementierung einer Funk
tion,
Fig. 4B eine andere Architektur zur Implementierung der
gleichen Funktion der Architektur gemäß Fig. 4A,
Fig. 5 eine Störimpulserzeugung in verschiedenen Daten
pfadblöcken,
Fig. 6A einen Teil der Decoderlogik,
Fig. 6B die Erzeugung von Störimpulsen am Tor G1 der Deco
derlogik gemäß Fig. 6A,
Fig. 7 eine Implementierung des Steuersignals [1] in
einem RTL-Schaltkreis eines Strichcode-Lesers,
Fig. 8A eine teilweise Darstellung eines Zustandsüber
gangsgraphen (STG) für einen Strichcode-Steuer
schaltkreis,
Fig. 8B die Erzeugung von Störimpulsen am Tor G5 in Fig.
8A,
Fig. 9 einen Multiplexer, der zwischen zwei 8-Bit-Daten
signalen A und B selektiert,
Fig. 10A einen Multiplexer in dem Fall, wenn die Bits Ai
und Bi die Werte <0,0< annehmen,
Fig. 10B einen Multiplexer in dem Fall, wenn die Bits Ai
und Bi die Werte <0,1< annehmen,
Fig. 10C einen Multiplexer in dem Fall, wenn die Bits Ai
und Bi die Werte <1,0< annehmen,
Fig. 10D einen Multiplexer in dem Fall, wenn die Bits Ai
und Bi die Werte <1,1< annehmen,
Fig. 11 einen Multiplexer, der an ein zusätzliches Tor Gc
hinzugefügt ist,
Fig. 12A die Ausgabe eines Zuführregisters für ein Anfangs
multiplexnetzwerk im GCD-Schaltkreis gemäß Fig. 1,
Fig. 12B einen abstrakten 3-zu-1-Multiplexer des Multiplex
netzwerks gemäß Fig. 12A,
Fig. 12C ein restrukturiertes Multiplexnetzwerk des Multi
plexnetzwerks gemäß Fig. 12A,
Fig. 13A ein anderes Anfangsmultiplexnetzwerk als Teil des
Strichcodeleser-RTL-Schaltkreises,
Fig. 13B einen abstrakten 3-zu-1-Multiplexers des Multi
plexnetzwerks gemäß Fig. 13A,
Fig. 13C ein restrukturiertes Multiplexnetzwerk des Multi
plexnetzwerks gemäß Fig. 13A,
Fig. 14A einen 2-zu-1-Multiplexers als Teil des RTL-Schalt
kreises, der die Steuerschaltung für ein unbemann
tes Kraftfahrzeug implementiert,
Fig. 14B einen modifizierten Schaltkreis nach dem Takten
des Auswahlsignals an den Multiplexer gemäß
Fig. 14A,
Fig. 14C Beispiel-Wellenformen für das Taktsignal, das ur
sprüngliche Auswahlsignal und das getaktete Aus
wahlsignal in dem modifiziertem Schaltkreis gemäß
Fig. 14B,
Fig. 15 einen Schaltkreis mit drei Addiergliedern und
einen Multiplexer, eine Multiplexer-Bitscheibe mit
eingefügten selektiven Verzögerungen und mit einer
Implementation eines Anstiegs-Verzögerungsblocks,
Fig. 16A ein anfängliches Multiplexnetzwerk eines kleinen
Teils des GCD-RTL-Schaltkreises;
Fig. 16B einen abstrakten 2-zu-1-Multiplexer des Multiplex-Netz
werks gemäß Fig. 16A,
Fig. 16C restrukturiertes Multiplexnetzwerk des Multiplex
netzwerks gemäß Fig. 16A,
Fig. 17A einen modifizierten Schaltkreis nach dem Takten
des Auswahlsignals an einen Multiplexer,
Fig. 17B Beispiel-Wellenformen für das Taktsignal, das ur
sprüngliche Auswahlsignal und das getaktete Aus
wahlsignal in dem modifizierten Schaltkreis gemäß
Fig. 17A,
Fig. 18 einen Pseudocode für ein Störimpuls-Reduktions-
Verfahren,
Fig. 19A einen Schaltkreis mit einem Multiplexer, einen
"kleiner als"-Vergleicher und einem Register,
Fig. 19B zwei Kandidatenschemata mit gesteuerten Taktsigna
len zum Ausgeben des "kleiner als"-Vergleichers
gemäß Fig. 19A,
Fig. 19C Beispielwellenformen für das Taktsignal, das ur
sprüngliche Vergleicherausgangssignal, das gesteu
erte Taktsignal mit Schema 1 und das gesteuerte
Taktsignal mit Schema 2,
Fig. 20 ein Register und ein Multiplexer-Baum, dessen Aus
gabe dem Register zugeführt wird,
Fig. 21 ein Design-Flußschema, das bei den erfindungsge
mäßen Energiereduktionstechniken eingesetzt wird,
und
Fig. 22 eine Tabelle mit den Ergebnissen beim Anwenden der
erfindungsgemäßen Energiereduktionstechniken.
Die vorliegende Arbeit ergibt sich aus der Analyse eines
beispielhaften RTL-Schaltkreises gemäß Fig. 1, der den
größten gemeinsamen Teiler (GCD) zweier Zahlen berechnet.
Die Eingaben werden bei XIN und YIN eingegeben und das GCD
wird in das Register OUTPUT geschrieben. Da die zum Berech
nen des GCD erforderlichen Zyklenzahlen von den gegebenen
Eingangswerten abhängen gibt ein zusätzliches Ausgangssignal
RDY an, wenn das Ergebnis im OUTPUT vorliegt. Dieser Schalt
kreis wurde abgeleitet aus einer Verhaltensbeschreibung des
GCD-Algorithmus. Das hochpegelige Synthesesystem SECONDS
(Referenzen 29, 30 und 31) wurde verwendet, um eine Vorrats
zuordnung, Planung, und Zuordnung auszuführen, so daß man
den RTL-Schaltkreis gemäß Fig. 1 erhält. Der Schaltkreis
besteht aus einer Funktionaleinheit, einem Subtrahierer,
zwei "gleich-zu-" (=)-Vergleicher, einem "kleiner als" (<)-Ver
gleicher, Registern, Multiplexbäumen, der Endzustands
steuerung (FSM) und der Decodierlogik. Die Decodierlogik er
zeugt die Steuersignale, die die Multiplexer in dem Schalt
kreis konfigurieren. Die Steuerung FSM und die Decodierlogik
werden nachstehend kollektiv als Steuerlogik des Schaltkrei
ses bezeichnet. Die logischen Ausdrücke, die durch die Steu
erlogik implementiert werden, sind ebenfalls in der Figur
dargestellt. Die Zeichen x0 bis x4 repräsentieren die deco
dierten aktuellen Leitungen von der Steuerung. Die Zeichen
c9, c10 und c15 repräsentieren die Ergebnisse der drei Ver
gleicher in dem Schaltkreis.
Der in Fig. 1 dargestellte RTL-Schaltkreis wurde der NEC
CMOS6-Bibiliothek zugeordnet (Referenz 32). Einem internen,
simulations-basierten Leistungsberechnungswerkzeug (CSIM
(Referenz 33) wurde zum Messen des Energieverbrauchs in den
verschiedenen Teilen des Designs verwendet. Die Fig. 2
zeigt die Aufspaltung des gesamten Energieverbrauchs in ge
trennte Figuren für die funktionalen Einheiten (Subtrahierer
und drei Vergleicher), die Wahllogik (Steuerung FSM und die
Docodierlogikblöcke), die Register (einschließlich der Ener
gie, die aufgrund von Taktübergängen verbraucht wird) und
Multiplexer. Es zeigt sich, daß der größte Teil dem Energie
verbrauchs in den Multiplexern und den Registern erfolgt.
Ähnliche Figuren wurden beobachtet für mehrere Schaltkreise,
die andere steuerstromintensive und gemischte Spezifikatio
nen implementieren.
Um ein Gefühl für die Glitch-Aktivität in dem GCD-Schalt
kreis zu bekommen, wurden Daten zu der Übergangsaktivität
mit und ohne Glitches in verschiedenen Teilen des Designs
gesammelt. Die Übergangsaktivität ohne (ausschließlich)
Glitches erhält man durch Simulation des Schaltkreises unter
einem Null-Verzögerungsmodell. Die Simulationen erfolgten
unter Verwendung von Eingangsvektoren, die von der Testbank
für die Verhaltensspezifikation abgeleitet wurden. Die Fig.
3 zeigt die gesamten Bit-Übergänge mit und ohne Glitches für
alle Steuersignale und ausgewählten Datenpfadsignale. Der
CSIM zählt jeden Übergang von 0 → 1 oder 1 → 0 als halben
Übergang. Daher können die Übergangszahlen, die hier durch
gängig wiedergegeben werden, fraktional sein. Das Steuersig
nal contr[i] führt zum Wähleingang des Multiplexers, der mit
[i] in Fig. 1 dargestellt ist. Ähnliche Datenpfadsignale
dpi entsprechen dem Ausgang des Multiplexers [i] in Fig. 1.
Ein wesentlicher Teil der gesamten Übergangsaktivität an
verschiedenen Signalen im Schaltkreis ergibt sich aufgrund
der Glitches. Eine andere interessante Beobachtung besteht
darin, daß mehrere Steuersignale in dem GCD-Schaltkreis wie
contr[2] und contr[4] stark Störimpuls-bildend sind. Später
wird die Erzeugung von Störimpulsen auf Steuersignalen ana
lysiert und erläutert, daß die Steuersignal-Störimpulse eine
erhebliche Auswirkung auf den Energieverbrauch im übrigen
Schaltkreis aufgrund der Störimpulse haben kann.
Das folgende Beispiel illustriert, wie ein Ignorieren von
Störimpulsen fehlleiten kann und zu Schaltungsdesigns führen
kann, die hinsichtlich ihres Energieverbrauchs nicht optimal
sind.
Die beiden in den Fig. 4A und 4B gezeigten RTL Architek
turen implementieren die einfache Funktion: wenn (x < y)
dann ist z = c + d, andernfalls z = a + b. Die ARCHITEKTUR 2
verwendet mehr Elemente als die ARCHITEKTUR 1, da erstere
zwei Addierglieder benutzt, im Gegensatz zu dem einen Ad
dierglied bei der ARCHITEKTUR 1. Basierend auf der Anzahl
der durchgeführten Operationen wird gewöhnlich eine Metrik
verwendet, um den Energieverbrauch an den Verhaltensebenen
und Architekturebenen abzuschätzen; dabei scheint, daß die
ARCHITEKTUR 2 mehr Energie verbrachen würde als die
ARCHITEKTUR 1. Dieses Ergebnis wird unterstützt durch die
Energieabschätzungsergebnisse, die Störspitzen nicht berück
sichtigen. Wenn jedoch eine genaue Energieabschätzung, die
auch Störspitzen berücksichtigt, ausgeführt wird, ergibt
sich, daß die ARCHITEKTUR 2 tatsächlich 17,7% weniger Ener
gie als die ARCHITEKTUR 1 verbraucht.
Die obigen Beobachtungen können folgendermaßen erläutert
werden. Wie im nächsten Abschnitt erläutert wird, erzeugt
der Vergleicher Störspitzen an seinem Ausgang, obwohl seine
Eingänge störspitzenfrei sind. Im Falle der ARCHITEKTUR 1
breiten sich diese Störspitzen durch die zwei Multiplexer zu
den Eingängen des Addiergliedes aus; dies führt zu einer er
heblichen Zunahme der Störspitzenaktivität und daher Ener
gieverbrauch in den beiden Multiplexern und dem Addierer. In
der ARCHITEKTUR 2 ist die Auswirkung dieser Störspitzen auf
den einzigen Multiplexer eingeschränkt, obwohl der Verglei
cher wie zuvor Störspitzen erzeugt.
Als nächstes werden die Erzeugung und die Ausbreitung der
Störspitzen in den RTL-Schaltkreisen analysiert. Diese Ana
lyse führt zu Erkenntnissen, die die Basis für die erfin
dungsgemäße Störspitzenreduktion bilden. Zur Klarstellung
wird die Störspitzenerzeugung in den Datenpfadblöcken (funk
tionale Einheiten, Vergleicher und Multiplexbäume) und in
der Steuerlogik getrennt erläutert.
Das folgende Beispiel zeigt, daß die Datenpfadblöcke eine
erhebliche Menge an Störspitzen erzeugen können.
Die in Fig. 5 dargestellten Elemente - ein Substrahierer,
ein "gleich-zu"-Vergleicher, ein "kleiner als" -Vergleicher
und ein 3-zu-1-Multiplexbaum - können als repräsentative Da
tenpfadblöcke zum Studium der Störspitzenerzeugung angesehen
werden. Die Register erzeugen keine Störspitzen an ihren
Ausgängen. Jeder Block wurde der NEC-CNOS6-Bibliothek zuge
ordnet und dann unter langen Eingangssequenzen simuliert,
die aus Zufallsvektoren bestehen. Die Gesamtzahl der Bit-
Übergänge (einschließlich Störspitzen) an den Blockausgängen
und die Anzahl der Null-Verzögerungsübergänge (d. h. die An
zahl der Übergänge ohne Zählung von Störspitzen) wurden ge
messen. Die Blockausgänge in Fig. 5 sind mit den Ergebnis
sen gekennzeichnet, wobei die Zahlen die Übergänge mit bzw.
ohne Störspitzen angeben. Die Ergebnisse zeigen klar eine
erhebliche Erzeugung von Störspitzen in verschiedenen Daten
pfadblöcken. In dem "gleich-zu"-Vergleicher wurden keine
Störspitzen erzeugt, und zwar aufgrund der Tatsache, daß
alle Pfade abgeglichen waren. Selbst in derartigen Fällen
können jedoch Verzögerungen in der Verdrahtung den Abgleich
der Verzögerungen stören und daher die Erzeugung von Stör
spitzen bewirken.
Wenn Datenpfadblöcke, wie die gemäß Fig. 5 miteinander ver
bunden werden, breiten sich die durch die verschiedenen
Blöcke erzeugten Störspitzen über die folgenden Blöcke aus
und verursachen in mehreren Fällen, wie nachstehend näher
erläutert, eine starke Erhöhung der Störspitzen und damit
den Störspitzen-Energieverbrauch. Die erfindungsgemäße Lösung
versucht die Ausbreitung und explosionsartige Vergrößerung
der Störspitzen dadurch unter Kontrolle zu bringen, daß die
meisten und möglichst alle Störspitzen an den verschiedenen
Stellen in dem Schaltkreis völlig zu unterdrücken.
Obwohl die Steuerlogik selbst nur einen kleinen Teil der
Energie für den gesamten Schaltkreis benötigt, spielt sie
eine erhebliche Rolle beim Gesamtenergieverbrauch des
Schaltkreises und zwar aufgrund der Tatsache, daß sie Stör
spitzen auf den Steuersignalen erzeugen kann und sich diese
Störspitzen der Steuersignale auf den Rest des Schaltkreises
auswirken. Daher ist es wichtig zu untersuchen, wie die
Steuerlogik die Störspitzen erzeugt, ein Thema, das bislang
bei der Energieoptimierung in der Architektur- oder Verhal
tensebene nicht angesprochen worden ist. Den Eingängen der
Decodierlogik innerhalb der Steuerlogik werden die Ausgangs
signale der Vergleicher und der Zustands-Flip-Flops der
Steuerschaltung zugeführt. Die Ausgänge der Steuerlogik um
fassen die Steuersignale, die dem Datenpfad zugeführt wer
den. Wie vorstehend erläutert, können die Ausgänge der Ver
gleicher Störsignal-behaftet sein. Die Störsignale auf den
Vergleicher-Ausgangssignalen können sich durch die Steuerlo
gik ausbreiten und auf den Steuersignalen Störspitzen verur
sachen. Die Steuerlogik kann ferner eine große Anzahl von
Störspitzen selbst dann erzeugen, wenn ihre Eingänge stör
spitzenfrei sind. Ziel der vorliegenden Erfindung ist es,
die Erzeugung von Störspitzen in der Steuerlogik durch Bei
spiele zu illustrieren und zu analysieren.
Man betrachte den RTL-Schaltkreis gemäß Fig. 1 erneut. Da
bei konzentriere man sich auf das Steuersignal contr[2], das
gemäß der Statistik von Fig. 3 stark störspitzenbehaftet
ist. Der Teil der Decodierlogik, der dieses Steuersignal
implementiert, ist in Fig. 6A dargestellt. Dabei wird beob
achtet, daß erhebliche Störspitzen an den UND-Torschaltungen
G1 und G2 erzeugt werden, obwohl die Eingänge weitgehend
störspitzenfrei sind. Nach sorgfältiger Analyse wird die Er
zeugung von Störspitzen zwei Bedingungen zugerechnet:
- C1: Ein Anstiegsübergang am Signal x1 ist häufig begleitet von einem Abfallübergang an c11, die daher stark mitein ander korreliert sind.
- C2: Die Übergänge an dem Signal x1 treten früher auf als die Übergänge am Signal c11.
Die Bedingung C1 ergibt sich aufgrund der Funktionalität des
Designs: Wenn der Zustand s1 erreicht wird (Anstiegsübergang
bei x1) führen die Vergleiche meist zu einer Ermittlung von
0, die durch die den Vergleicher mit den Eingängen c9 und
c10 erzielt werden, wobei ein Umschalten von 1 im vorherge
henden Zustand erfolgt. Andererseits ist die Bedingung C2
ein Ergebnis der Verzögerungs- und Zeitcharakteristika des
Designs. Diese Bedingungen, die in Fig. 6B graphisch wie
dergegeben sind, führen zur Erzeugung von Störspitzen am Tor
G1, die sich zu dem Steuersignal contr[2] ausbreiten. Eine
ähnliche Erklärung ergibt sich für den Ausgang des Tores G2,
das ebenfalls störspitzenbehaftet ist.
Für dieses Beispiel wurde ein Abschnitt eines RTL-Schalt
kreises verwendet, der einen Vor-Prozessor für einen Strich
code-Leser bildet. Dabei konzentriere man sich auf ein be
stimmtes Steuersignal contr[1], dessen Implementierung in
Fig. 7 wiedergegeben ist. Die Signale state[2], state[1]
und state[0] werden durch die Flip-Flops der Steuerschaltung
zugeführt. Die Signale x3 und x4 repräsentieren decodierte
Zustandssignale, d. h. x3 (x4) nimmt einen Logikwert von 1
an, wenn und nur wenn die Steuerschaltung im Zustand s3 (s4)
ist, oder äquivalent, state[2] . . . state[0] die Werte 011
(100) annehmen. Die Signale x3, x4 und das Steuersignal
contr[1] sind gekennzeichnet mit ihren Übergangszählwerten
einschließlich und ausschließlich von Störspitzen. Die Figu
ren zeigen an, daß der Ausgang des Tors G5 stark störspit
zenbehaftet ist, obwohl an seinen Eingängen keine Störspit
zen auftreten. Um die Erzeugung von Störspitzen am Tor G5 zu
erläutern, wird auf den Teilzustands-Übergangsgraphen für
die Steuerschaltung gemäß Fig. 8A verwiesen. Die Figur
zeigt eine Schleife mit den Zuständen s3 und s4. Dies ergibt
sich aus einer "während"-Schleife in der VHDK-Verhaltensspe
zifikation. Da diese Schleife die innerste Schleife unter
allen Schleifen in der Verhaltensbeschreibung ist, wird sie
sehr häufig ausgeführt. Daher werden die Zustandsübergänge
von s3 zu s4 und von s4 zu s3 häufiger ausgeführt. Die Fig.
8B zeigt, wie die Eingänge und Ausgänge des Tors G5 unter
diesen zwei Zustandsübergängen variieren. Ein Übergang von
s3 zu s4 bewirkt einen Anstiegsübergang am Signal state[2]
und einen Abfallübergang an den Signalen state[1] und
state[0]. Diese Übergänge bewirken wiederum den Anstieg und
den Abfall von Übergängen an den Signalen x4 bzw. x3. Der
Anstiegsübergang an x4 kommt jedoch später an als der Ab
fallübergang an x3, da die Verzögerungen der Inverter G1 und
G2 in dem Vorherigen reflektiert werden, während die Verzö
gerung des Inverters G0 in dem Späteren nicht reflektiert
wird. Dies führt zu einer statischen Störung oder einer
Störspitze (1-0-1) am Ausgang des Tors G5 gemäß Fig. 8B.
Ähnlich führt ein Zustandsübergang an der Steuerschaltung
von s4 nach s3 zu einem Anstiegsübergang bei x3 und einem
Abfallübergang bei x4, so daß der erstgenannte Übergang spä
ter eintrifft. Dies führt erneut zu Störspitzen am Ausgang
des Tors G5 gemäß Fig. 8B.
Im allgemeinen werden Störspitzen an den Steuersignalen auf
grund der gleichzeitigen Anwesenheit der folgenden zwei Be
dingungen erzeugt:
- (i) Funktional: Korrelation zwischen Anstiegs- und Abfall übergang bei zwei oder mehr einem Tor zugeführten Signalen;
- (ii) Zeitlich: der Übergang von Steuerung zu Nicht-Steue rung erfolgt früher am Tor-Eingang.
Als nächstes wird die Reduktion des Störspitzen-Energiever
brauchs in RTL-Schaltkreisen beschrieben, indem die Ausbrei
tung von Störspitzen durch verschiedene Blöcke in dem Schalt
kreis minimiert wird.
Wie vorstehend erläutert, werden erhebliche Störspitzen auf
Steuersignalen erzeugt. Ferner wurde gefunden, daß diese
Störspitzen sich durch andere Teile des Schaltkreises aus
breiten können und dabei eine erheblich Energiedissipation
verursachen. Ziel der vorliegenden Erfindung ist es, die
Störspitzen auf Steuersignalen möglichst frühzeitig bei ih
rer Quelle zu unterbrechen, um maximale Vorteile bei der
Energieeinsparung zu erzielen. Die erfindungsgemäßen Verfah
ren werden getrennt durch Beispiele erläutert. Diese Maßnah
men werden dann später im größeren Zusammenhang bei der
Energieoptimierung zusammengefaßt.
Gemäß dem in Fig. 9 dargestellten Schaltkreis wählt ein
Multiplexer zwischen zwei 8-Bitdatensignalen A und B aus und
zwar abhängig davon, ob der Ausdruck X < Y mit "wahr" oder
"unwahr" ermittelt wird. Die Ausgabe des Multiplexers wird
in ein Register geschrieben. Da bekanntlich ein "kleiner
als"-Vergleicher an seinem Ausgang Störspitzen erzeugt, ist
das Auswahlsignal des Multiplexers störspitzenbehaftet.
Diese Konfiguration tritt üblicherweise als Teil von Schalt
kreisen auf, die konditionale oder steuerstromintensive Spe
zifikationen implementieren. Die Dateneingänge zum Multiple
xer sind nicht störspitzenbehaftet, und zwar basierend auf
der Annahme, daß A und B primäre Eingänge oder Ausgänge von
Registern sind. Darüber hinaus kommen die Dateneingänge am
Multiplexer frühzeitig an, d. h. ihre Endwerte stellen sich
wesentlich früher ein als das Auswahlsignal.
Die Störspitzen auf dem Auswahlsignal des Multiplexers brei
tet sich zu dessen Ausgang aus. Um diese Ausbreitung zu
untersuchen, wird eine Implementierung einer Bitscheibe des
Multiplexers auf Torebene untersucht, wie dies in den Fig.
10A bis 10D dargestellt ist. Diese vier Figuren reprä
sentieren die Fälle, wenn die relevanten Bits Ai und Bi die
Werte <0,0<, <0,1<, <1,0< bzw. <1,1< annehmen. In jeder Fi
gur ist der Multiplexerausgang mit der Zahl der Übergänge
mit bzw. ohne Störspitzen entsprechend der hier üblichen No
tation gekennzeichnet. Im Fall <0,0< werden die Störspitzen
auf dem Auswahlsignal S an den UND-Toren G1 und G2 durch
Steuerung von früh eintreffenden Seiteneingabesignalen un
terdrückt. Wenn die Dateneingänge <0,1< sind, breiten sich
die Störspitzen auf S nicht durch das Tor g1 aus, jedoch
durch die Tore G2 und G3. Eine ähnliche Erklärung trifft zu
für Dateneingänge <1,0<. Wenn die Dateneingänge <1,1< sind,
breiten sich die Störspitzen auf S durch die Tore G1 und G2
aus. Die Ausgabe des Multiplexers ist störspitzenbehaftet
als Resultat der Wechselwirkung der störspitzenbehafteten
Signalwellenformen bei G1 und G2. Die genaue Art, wie die
Wellenformen wechselwirken, hängt von der Ausbreitung und
den Anfangsverzögerungen der verschiedenen Leitungen und
Tore in der jeweiligen Implementation ab, die durch den Si
mulator modelliert werden, der zum Abschätzen der Schaltak
tivität und des Energieverbrauchs verwendet wurde.
Es bestehen mehrere Wege zum Verhindern der Ausbreitung von
Störspitzen für den <1,1<-Fall. Ein Weg besteht darin, einen
Puffer einzufügen, dessen Verzögerung gleich der Verzögerung
des Inverters G0 ist, und zwar an der Verstärkerausgangsver
zweigung von S, die mit dem Tor G2 verbunden ist. Im idealen
Fall führt die Einfügung des Puffers zu einer komplementären
Wellenform an den Ausgängen von G1 und G2, die sich gegen
seitig auslöschen, d. h. man erhält dauernd ein 1 am Ausgang
des Multiplexers. Diese Lösung hängt jedoch von der exakten
Ausbreitung und den Anfangsverzögerungen der Tore und Lei
tungen im Schaltkreis ab. Ferner können geringfügige Varia
tionen der Schaltungsparameter aufgrund von Prozeßverände
rungen die Auswirkung des Pfadabgleichs ungültig machen.
Eine andere mögliche Lösung, die vermutlich noch robuster
ist, besteht darin, ein zusätzliches Tor Gc gemäß Fig. 11
hinzuzufügen. Gc realisiert Ai, Bi, d. h. der sogenannte Kon
sensus von S.Ai und S.Bi, d. h. ihre Addition ändert nicht
die durch den Ausgang berechnete Funktion. Wenn die Daten
eingänge <1,1< sind, unterdrückt Gc jegliche Störspitzen an
den anderen Eingängen von G3, die nach Einschwingen des Aus
gangs von Gc auf 1 ankommt. Für alle anderen Eingangsfälle
berechnet sich der Ausgang von Gc zu einem 0 und die vorhe
rigen Erläuterungen treffen zu. Eine Simulation der Imple
mentierung gemäß Fig. 11 bestätigt, daß Störspitzen auf dem
Auswahlsignal sich nicht mehr zum Ausgang ausbreiten, wenn
die Dateneingänge <1,1< sind. Für den Schaltkreis gemäß Fig.
9 alleine führt die Addition von Gc zu der Multiple
xerimplenetation zu einer 17,5%igen Abnahme des gesamten
Energieverbrauchs.
Ein Energie- oder Leistungsüberschuß trat beim Hinzufügen
des Tors auf, basierend auf dem Konsensus-Ausdruck aufgrund
seines eigenen Energieverbrauchs sowie aufgrund des Über
schusses mit einem 3-Eingang-ODER-Tor anstelle eines 2-Ein
gang-ODER-Tors. Maximale Vorteile ergeben sich aus der
Zugabe des Konsensus-Ausdrucks zu einem Multiplexer nur
dann, wenn das Auswahlsignal sehr stark störspitzenbehaftet
ist, wobei die Dateneingänge im Vergleich zum Auswahlsignal
früh eintreffen, und die Wahrscheinlichkeit, daß die Daten
eingänge <1,1< sind, ist hoch. Später wird noch erläutert,
wie Multiplexer in dem Design ausgewählt werden, dem noch
Konsensus-Ausdrücke hinzugeführt wurden, so daß die erhal
tene Energieeinsparung maximiert wird.
Festzuhalten ist, daß mit der Ergänzung des Konsensus-Aus
druckes sich die Störspitzen nicht von dem Auswahlsignal zu
dem Multiplexerausgang ausbreiten, denn die Datenwerte kor
reliert sind (<0,0< oder <1,1<), oder die Störspitzen brei
ten sich zu den Multiplexer-Ausgängen aus. Nachstehend wird
erläutert, wie ein Multiplexerbaum restrukturiert werden
kann, um die Datenkorrelationen zu maximieren und daher die
Ausbreitung von Störspitzen von Auswahlsignalen der Multi
plexer zu minimieren.
Zunächst wird das 3-zu-1-Multiplexer-Netzzuführregister
OUTPUT in dem GCD-Schaltkreis von Fig. 1 betrachtet. Der
Baum des 2-zu-1-Multiplexers ist in Fig. 12A dargestellt.
Funktional kann der Multiplexbaum betrachtet werden als ein
abstrakter 3-zu-1-Multiplexer gemäß Fig. 12B. Die Bedingun
gen, unter denen OUTPUT, X und ZERO ausgewählt werden, wer
den durch COUTPUT, CX bzw. CZERO wiedergegeben. Man beachte,
daß COUTPUT, CX und CZERO zueinander exklusiv sein müssen.
Die kumulativen Schaltaktivitäten mit und ohne Störspitzen
sind für verschiedene Signale in der Figur dargestellt.
Mit der gegebenen abstrakten Darstellung des 3-zu-1-Multi
plexnetzwerks ergeben sich mehrere mögliche Implementierun
gen, die die Korrelation der Dateneingänge zu den Multiple
xern in dem Baum erhöhen. Für dieses Beispiel wird das Aus
wahlsignal CZERO als störspitzenbehaftet ermittelt; dies
führt zu einer Ausbreitung von Störspitzen zum Ausgang des
ersten 2-zu-1-Multiplexers in Fig. 12A. Festzuhalten ist,
daß die Datensignale OUTPUT und ZERO an der Bit-Ebene hoch
korreliert sind. Um daher die Ausbreitung von Störspitzen
auf CZERO durch den Multiplexbaum zu minimieren, wird der
Multiplexbaum in die Implementierung gemäß Fig. 12C trans
formiert, so daß die hochkorrelierten Datensignale OUTPUT
und ZERO Eingänge zu dem ersten 2-zu-1-Multiplexer werden.
Dies verringert signifikant die Schaltaktivität am Ausgang
des ersten 2-zu-1-Multiplexers zu 26/20 von ursprünglich
345/20. Die Multiplexer-Restrukturierung kann ferner zur
Eliminierung von Störspitzen behafteten Auswahlsignalen bei
tragen, wie dies nachstehend erläutert wird.
Verwiesen wird erneut auf den 3-zu-1-Multiplexbaum und seine
Darstellungen in den Fig. 12A bzw. 12B. Die Implementie
rung in Fig. 12A verwendet nur zwei Signale aus dem Satz
{COUTPUT, CX, CZERO}. Um einen abstrakten n-zu-1-Multiplexer
mit n Dateneingängen und n-Auswahleingängen als einen Baum
von 2-zu-1-Multiplexern zu implementieren, kann im allgemei
nen gezeigt werden, daß irgendwo zwischen [log2 n] und n-1
der Auswahlbedingungen verwendet werden kann, um die Aus
drücke für die Auswahlsignale für die 2-zu-1-Multiplexer in
der Implementation zu erzeugen in Abhängigkeit von der exak
ten Struktur der Implementierung. Ferner ist es möglich, daß
unter dem Satz von Auswahlsignalen zu einem abstrakten n-zu-1-Mul
tiplexer einige eine große Zahl von Störspitzen in ih
ren Implementierungen haben, während dies bei anderen nicht
zutrifft. Ähnlich wie bei Fig. 7 ist es möglich, daß be
stimmte Ausdrücke, die die Auswahlsignale des abstrakten n-zu-1-Mul
tiplexers involvieren, störspitzenbehaftet sein kön
nen, obwohl die einzelnen Signale dies nicht sind. Ein Ziel
der vorliegenden Erfindung ist es daher auch, den Multiplex
baum so zu restrukturieren, daß so wenig wie möglich stör
spitzenbehaftete Auswahlsignale zu dem abstrakten n-zu-1-Mul
tiplexer (oder Kombinationen von Auswahlsignalen, die
störspitzenbehaftet sind) verwendet werden. Dieses Konzept
wird als nächstes Beispiel illustriert.
Man betrachte das 3-zu-1-Multiplexnetzwerk gemäß Fig. 13A.
Dieses Netzwerk ist Teil des RTL-Schaltkreises des Strich
code-Lesers. Gemäß Fig. 7 ist das Auswahlsignal des zweiten
Multiplexers in Fig. 13A, der den Ausdruck x3+x4 imple
mentiert, störspitzenbehaftet. Eine alternative Implementie
rung des 3-zu-1-Multiplexnetzwerks, die die Verwendung von
störspitzenbehafteten Auswahlsignal-Ausdrücken nicht erfor
dert, ist in Fig. 13C dargestellt.
Wenn alle vorgenannten Verfahren zum Reduzieren der Auswir
kung von Störspitzen auf Steuersignale nicht ausreichen,
wird vorzugsweise das Taktsignal eingesetzt, um Störspitzen
auf Steuersignalen zu unterdrücken, die entweder den Aus
wahleingängen von Multiplexern oder Funktionsauswahleingän
gen von ALUs zugeführt werden. Es sei angenommen, daß das
Design implementiert wird unter Verwendung von Flip-Flops
implementiert wird, die durch die Anstiegsflanke getriggert
werden, und daß ein einphasiges Taktsignal mit einem Tast
verhältnis von 50% angewandt wird.
Die erfindungsgemäßen Maßnahmen können darüber hinaus mit
kleinen Modifikationen zu komplexeren Taktschemata erweitert
werden. Dies ist in den Fig. 14A bis 14C näher erläutert.
Man betrachte den 2-zu-1-Multiplexer gemäß Fig. 14A als
Teil des RTL-Schaltkreises, der die Steuerschaltung für ein
unbemanntes Kraftfahrzeug (UAV) implementiert (Referenz 34).
Die Bedingungen zum Auswählen von ZERO und c21 sind CZERO =
x3.c5 bzw. Cc21 = x3.c5. In diesem Fall sind sowohl CZERO
als auch Cc21 störspitzenbehaftet auf Grund der Erzeugung
von Störspitzen in dem "kleiner als"-Vergleicher, der das
Signal c5 erzeugt. Transformationen zum Restrukturieren von
Multiplexern, die störspitzenbehaftete Steuersignale elimi
nieren, können hier nicht angewendet werden. Fig. 14B zeigt
den modifizierte Schaltkreis nach dem Takten des Auswahl
signals zum Multiplexer. Das ursprüngliche Auswahlsignal
wird mit dem invertierten Taktsignal durch den logischen
Prozeß UND verknüpft; hierzu wird auf den Ausgang des UND-Tors
als das getaktete Auswahlsignal verwiesen. Dies stellt
sicher, daß für die erste Hälfte der Taktperiode, wenn der
Takt hoch liegt, das Ausgangssignal des UND-Tors auf 0 ein
gestellt wird, und zwar trotz der Störspitzen an seinem an
deren Eingang. Fig. 14C zeigt Beispielswellenformen für das
Taktsignal, das ursprüngliche Auswahlsigual und das getak
tete Auswahlsignal. Der ausgewählte Eingang zum Multiplexer
in den Fig. 14A und 14B ist mit der Aktivität mit bzw.
ohne Störspitzen gekennzeichnet. Die Schaltaktivitätszahl in
der Figur zeigt, daß das Takten des Steuersignals zu einer
signifikanten Reduzierung seiner Störspitzenaktivität führt.
Die Technik mit getakteten Steuersignalen muß aus den fol
genden Gründen sehr genau angewendet werden. Durch Takten
des Steuersignals wird verhindert, daß es seinen Endwert bis
zum Zeitpunkt T/2 berechnet, wobei T die Taktperiode ist.
Allgemein könnte dies zu einer Zunahme der Verzögerung des
Schaltkreises führen, wenn das Steuersignal sich auf seinen
Endwert vor T/2 einstellen muß, um spezifizierte Zeitvorga
ben an den Schaltungseingängen zu erfüllen. Eine verschobene
Taktwellenform kann derart abgeleitet werden, daß die erfor
derliche Ankunftszeit des getakteten Steuersignals nicht
verletzt wird. Dies erfordert jedoch eine exakte Anpassung
in der geforderten Ankunftszeit am Steuersignal und der dem
Takt aufgeprägten Verschiebung, wie dies am besten nach dem
Schaltungsdesign erfolgt (Referenz 27). Vorzugsweise wird
die Taktung der Steuersignale konservativer behandelt, d. h.
nur dann, wenn die erforderliche Ankunftszeit am Steuer
signal größer als T/2 um einen vorgegebenen Sicherheitsab
stand ist. Ein anderes Problem kann durch getaktete Steuer
signale verursacht werden, indem zusätzliche Übergänge am
Steuersignal unter bestimmten Bedingungen auftreten. Man be
trachte einen Fall, wo das Steuersignal in einem festen Zu
stand 1 über ein Paar Taktzyklen bleibt. Indem man das Steu
ersignal auf 0 in der ersten Hälfte der beiden Taktzyklen
zwingt, während tatsächlich zusätzliche Übergänge auf dem
Steuersignal eingeführt, was zu einem erhöhten Energiever
brauch führen kann. Daher führt das in Fig. 14B gezeigte
Schema zur größten Energieeinsparung, wenn die Wahrschein
lichkeit, daß das Steuersignal zu 1 berechnet wird (Signal
wahrscheinlichkeit), niedrig ist. Wenn andererseits die
Wahrscheinlichkeit für die Berechnung des Steuersignals zu 1
sehr hoch ist, kann ein alternatives Schema verwendet wer
den, um das Steuersignal durch ODER-Behandlung des ursprüng
lichen Steuersignals mit dem Taktsignal zu takten. Dies
zwingt das getaktete Steuersignal in der ersten Hälfte der
Taktperiode nach 1 - im Gegensatz zu 0 im Falle des ersten
Schemas, so daß zusätzliche Übergänge am getakteten Steuer
signal vermieden werden, wenn es zu 1 berechnet wird.
Die obige Beschreibung erläutert mehrere Wege, in denen die
Ausbreitung von Störspitzen von Steuersignalen zur Energie
einsparung reduziert werden kann. Die Datensignale zum
Schaltungsblock können ebenfalls störspitzenbehaftet sein,
wie dies vorstehend erläutert wurde. Nachstehend werden Maß
nahmen erläutert, um die Ausbreitung von Störspitzen auf Da
tensignalen zu beschränken.
Man betrachte den Beispielschaltkreis gemäß Fig. 15 (a). Ein
2-zu-1-Multiplexer wählt zwischen den Ausgängen der zwei Ad
dierer aus, und der Ausgang des Multiplexers wird einem an
deren Addierglied zugeführt. Dies ergibt sich üblicherweise
in RTL-Strukturen, bei denen Datenverkettungen verwendet
werden. Wie vorstehend erläutert, erzeugen Addierglieder
Störspitzen selbst wenn ihre Eingänge störspitzenfrei sind.
Daher haben die Dateneingänge zu dem Multiplexer Störspit
zen, die sich durch den Multiplexer und dann durch den drit
ten Addierer ausbreiten und zu einer erheblichen Energiedis
sipierung führen. Erfindungsgemäß wird eine selektive Verzö
gerungseinfügung vorgeschlagen, mit der die Ausbreitung von
Störspitzen durch den Schaltkreis wie folgt, verringert wer
den kann.
Man betrachte die Implementierung der Tor-Ebene einer Bit
scheibe des Multiplexers gemäß Fig. 15 (b). Beide Datenein
gänge zum Multiplexer sind störspitzenbehaftet. Ferner be
trachte man ein Paar aufeinanderfolgender Taktzyklen q1 und
q2, so daß das Auswahlsignal zum Multiplexer einen 1 → 0
(abfallenden) Übergang von q1 nach q2 macht. Wenn der Ab
fallübergang bei S frühzeitig ankommt, ergibt sich ein früh
zeitiger Anstiegsübergang am Ausgang des Tors G0, der S im
plementiert. Folglich wird der Seiteneingang von G1 frühzei
tig nicht steuernd, so daß die Dateneingangsstörspitzen sich
durch G1 ausbreiten können. Diese Ausbreitung kann dadurch
minimiert werden, daß man den Seiteneingang zu G1 solange
wie möglich steuernd hält, was erreicht werden kann durch
Verzögern des Anstiegsübergangs am Ausgang von G0 (S). Dies
bedeutet, daß eine "Anstiegsübergangs-Verzögerung" am Aus
gang des G0 (S) hinzugefügt wird. In ähnlicher Weise ist es
zum Minimieren der Störspitzenausbreitung durch das Tor G2,
wenn dort ein früher Anstiegsübergang bei S auftritt, wün
schenswert, den Anstiegsübergang am Verstärkungsausgangs
zweig von S zu verzögern, der mit dem UND-Tor G2 verbunden
ist. Da vorzugsweise die ausgewählten Übergänge (ansteigend
und/oder abfallend) an bestimmten Signalen verzögert werden,
wird dies als selektive Verzögerungseinfügung bezeichnet.
Die Blöcke für die selektive Anstiegsverzögerung werden dar
gestellt durch die schattierten Ellipsen gemäß Fig. 15(b).
Eine mögliche Implementierung eines Anstiegsverzögerungs
blocks unter Verwendung eines UND-Tors und eines Verzöge
rungselements ist in Fig. 15(c) dargestellt. Das Verzöge
rungselement wird aufgebaut, unter Verwendung entweder einer
Reihe von Puffern oder Invertern, die dem Eingang hinzuge
fügt sind. Die Implementierung nutzt die Tatsache, daß ein
abfallender Übergang an irgendeinem Eingang eines UND-Tors
ausreichend ist, um den Ausgang auf 0 zuzwingen, während an
dererseits der zuletzt ankommende Anstiegsübergang unter al
len Eingängen einen Anstiegsübergang am Ausgang triggern
wird. Unter einem vereinfachten Verzögerungsmodell von d1ns
für den Verzögerungsblock und d2ns für das UND-Tor zeigt
sich, daß ein Anstiegsübergang am Eingang durch (d1 + d2)ns
verzögert wird, während ein abfallender Übergang lediglich
um d2ns verzögert wird. Da d1 typischerweise im Vergleich zu
d2 groß ist, wird die geringfügige Vergrößerung der Ausbrei
tung von Störspitzen aufgrund der zusätzlichen Verzögerung
von d2ns, die durch den abfallenden Übergang ausgelöst wird,
bei weitem ausgeglichen durch die Einsparungen, die für den
Fall eines Anstiegsübergangs erhalten werden. Ein selektiver
Abfallverzögerungsblock ist ähnlich dem Schaltkreis gemäß
Fig. 15(c), mit Ausnahme, daß das UND-Tor durch ein ODER-Tor
ersetzt ist.
Die Anwendung der obigen Technik auf den Beispielschaltkreis
gemäß Fig. 15(a) führt zu einer 15,4%igen Abnahme des ge
samten Energieverbrauchs. Die folgenden drei Bedingungen
müssen berücksichtigt werden, wenn selektive Verzögerungen
eingefügt werden:
- 1. Ein selektiver Verzögerungsblock hat einen Preis auf grund des Energieverbrauchs; daher müssen die erwarteten Einsparungen groß genug sein, um diesen Überschuß zu rechtfertigen.
- 2. Die Einfügung eines Anstiegsverzögerungsblocks führt zu einer Reduktion der Ausbreitung von Störspitzen durch einen Multiplexer nur in den Taktzyklen, in denen ein Anstiegsübergang am Verzögerungsblockeingang anliegt. Daher sollte die Wahrscheinlichkeit für einen Anstiegs übergang am Signal, wo ein selektiver Anstiegsverzöge rungsblock eingefügt werden soll, hoch sein.
- 3. Um sicherzustellen, daß die Einfügung des selektiven Verzögerungsblocks nicht zu einer Erhöhung der Verzöge rung des Schaltkreises führt, wird der Verzögerungsblock nur auf Auswahlsignale eingefügt, die ausreichenden Spielraum haben.
Festzuhalten ist, daß es für einen gesamten m-Bit-Multiple
xer ausreichend ist, lediglich eine selektive Anstiegsverzö
gerung jeweils an dem Auswahlsignal S und seinem Komplement
S zu haben. Um diese preisgünstige Lösung zu ermöglichen,
wird vorzugsweise ein m-Bit-Selektor anstelle eines Multi
plexers verwendet (ein Selektor implementiert die Funktion
S1.A + S2.B). Die beiden Auswahlsignale (S1 und S2) werden
explizit außerhalb des Selektors aus S und S erzeugt.
Die Restrukturierungstransformationen von Multiplexern kann
ebenfalls zum Reduzieren der Ausbreitung von Störspitzen auf
Datensignalen eingesetzt werden. Dies kann gezeigt werden
unter Verwendung eines kleinen Abschnitts des GCD-RTL-Schalt
kreises gemäß Fig. 16A. Der Subtrahierausgang c20 hat
eine große Anzahl von Störspitzen, die sich durch den darge
stellten Multiplexer und auch durch die Logikelemente aus
breiten, die dem Multiplexer nachgeschaltet sind. Es sei an
genommen, daß das Signal Y störspitzenfrei ist. Fig. 16B
zeigt den äquivalenten abstrakten 2-zu-1-Multiplexer. Es
wird davon ausgegangen, daß mehrere Fälle vorliegen, wenn
der Wert des Auswahlsignals unbeachtlich ist, d. h. wenn Cc20
+ CY keine Tautologie ist. In Fig. 16A wird der 0-Eingang
(d. h. c20) ausgewählt, wenn CY den Wert 0 berechnet. Dies
schließt nicht nur den Versatz von CY ein, sondern auch den
Satz der unbeachtlichen Bedingungen. In diesem Fall spezifi
ziert das Verhaltenssynthese-Werkzeug das Auswahlsignal auf
0 in allen unbeachtlichen Bedingungen, um die Steuerlogik zu
vereinfachen. Diese unbeachtlichen Bedingungen können ausge
nutzt werden durch Auswählen des weniger störspitzenbehafte
ten Dateneingangs des Multiplexers in den unbeachtlichen
Fällen. Die transformierte Implementierung des 2-zu-1-Mul
tiplexers gemäß Fig. 16C illustriert diese Überlegung.
Durch Anwenden des störspitzenbehafteten Dateneingangs c20
als 1-Eingang des Multiplexers und damit Erzwingen des Aus
wahlsignals auf Cc20 wird sichergestellt, daß der störspit
zenbehaftete Dateneingang so selten wie möglich ausgewählt
wird, so daß die Ausbreitung von Störspitzen zu dem Multi
plexerausgang reduziert wird.
Wenn die vorstehenden Maßnahmen zum Verarbeiten von stör
spitzenbehafteten Datensignalen nicht anwendbar sind oder
nicht adäquat sind, um den Energieverbrauch mit Störspitzen
zu reduzieren, können erfindungsgemäß die Steuersignale ge
taktet werden, um Datensignal-Störspitzen zu unterdrücken.
Wenn beispielsweise sowohl die Auswahl- als auch die Daten
eingänge zu einem Multiplexer störspitzenbehaftet sind, und
die Restrukturierungstransformationen des Multiplexers nicht
ausreichend sind, um das störspitzenbehaftete Auswahlsignal
zu eliminieren, wird erfindungsgemäß vorgeschlagen, die
Steuersignale zu takten. Wie vorstehend erläutert, wird das
Steuersignal dazu gebracht, einen bestimmten Wert in der er
sten Hälfte der Taktperiode einzunehmen. Hierzu wird auf Fig.
17A verwiesen. Der Ausgang c20 des Subtrahierglieds, der
störspitzenbehaftet ist, führt zu den Dateneingang eines 2-
zu-1-Multiplexers. Gemäß der Darstellung führt dies zu er
heblichen Störspitzen am Ausgang des Multiplexers. Ein Tak
ten des Auswahlsignals Cc20 behebt dieses Problem wie nach
stehend erläutert. Da der Wert am Auswahlsignal zum Multi
plexer auf 0 während der ersten Hälfte der Taktperiode ge
halten wird, wählt der Multiplexer den Wert des Datenein
gangs Y während dieser Dauer. Daher werden Störspitzen am
Ausgang des Subtrahierglieds während etwa der ersten Hälfte
der Taktperiode am Multiplexer unterdrückt. Dies führt zu
einer starken Abnahme der Störspitzenaktivität am Multiple
xerausgang, wie dies in der Figur dargestellt ist. Beispiel
wellenformen für das Taktsignal, das ursprüngliche Auswahl
signal und das getaktete Auswahlsignal sind in Fig. 17B
dargestellt. Wie bereits vorstehend erläutert, ist es wich
tig, die geforderte Ankunftszeit am Auswahlsignal zum Multi
plexer und die zusätzlichen Übergänge zu berücksichtigen,
die auf dem getakteten Auswahlsignal potentiell eingeführt
werden können, bevor diese Maßnahmen angewandt werden.
Vorstehend wurden verschiedene Maßnahmen zum Minimieren des
Störspitzen-Energieverbrauchs in RTL-Schaltkreisen sowie die
Bedingungen beschrieben,unter denen die jeweiligen Maßnahmen
anwendbar sind. Nachstehend werden Störspitzen-Reduktions
verfahren beschrieben, die bei verschiedenen Komponenten in
dem RTL-Schaltkreis in geeigneter Reihenfolge anwendbar
sind. Der Pseudocode für das Verfahren ist in Fig. 18 wie
dergegeben. Es wird davon ausgegangen, daß der RTL-Schalt
kreis aus einer Verbindung von RLT-Blöcken oder Knoten be
steht, die durch Register, Multiplexer, Steuerknoten oder
funktionalen Einheiten repräsentiert werden können. Die
funktionalen Einheiten können arithmetische Einheiten, wie
Addierer und Subtrahierer, Vergleicher oder logische Vektor
operatoren umfassen.
Die Prozedur COLLAPSE_MUX_NETWORKS durchläuft den RTL-Schalt
kreis und kollabiert alle Multiplex-Netzwerke in ab
strakte n-zu-1-Multiplexer wie vorstehend beschrieben. Um
die verschiedenen Störspitzen-Reduktionstechniken anzuwen
den, sind Informationen über die Signalstatistik, die Stör
spitzenaktivität sowie die Verzögerungen der verschiedenen
Signale im Schaltkreis einschließlich der Steuersignale und
der Ausgangssignale jeder RTL-Einheit, wie funktionale Ein
heit, Register, Vergleicher und 2-zu-1-Multiplexer erforder
lich. Zunächst erhält man eine tabellierte Torebenen-Imple
mentierung des RTL-Schaltkreises und verwendet eine Simula
tor, um die erforderlichen Informationen über die Signalsta
tistik und Aktivitäten zu sammeln. Die Anwendung der Stör
spitzen-Reduktionstechniken auf einen Knoten in dem RTL-
Schaltkreis beeinflußt die Signalstatistiken und die Stör
spitzenaktivitäten aller anderen Knoten in seinem transiti
ven Ausgangsstrom. Um die obigen Abhängigkeiten zu berück
sichtigen, wird der RTL-Schaltkreis ausgehend von den primä
ren Eingängen oder Registerausgängen zu primären Ausgängen
oder Registereingängen ausgeglichen; dann werden die Stör
spitzen-Reduktionstransformationen durch Ansprechen der Kno
ten in der Ausgleichsreihenfolge angewendet. Die Signalsta
tistiken, die Störspitzenaktivitäten sowie die Verzögerungen
werden durch inkrementelles Modifizieren der tabellierten
Netzliste erneut berechnet, nachdem alle Knoten auf einer
Ebene angesprochen worden sind.
Die Prozedur GR_TRANSFORM reduziert die Störspitzenerzeugung
und Ausbreitung an einem gegebenen Knoten in dem RTL-Schalt
kreis. Wenn der vorgegebene Knoten ein n-zu-1-MUX-Knoten
ist, wird die Prozedur CREATE_MINGLITCH_MUX_TREE_LEVEL auf
gerufen, um den n-zu-1-MUX durch Extrahieren eines Satzes
von 2-zu-1-Multiplexern zu zerlegen, die eine Ebene des ent
sprechenden Multiplexbaums bilden, und zwar derart, daß die
Störspitzenaktivität an den Ausgängen der gebildeten 2-zu-1-Mul
tiplexer minimiert wird. Wenn der vorgegebene Knoten ein
CONTROL-Knoten ist, der ein oder mehrere Steuersignale er
zeugt, werden Störspitzen-Reduktionstechniken angewendet,
damit die Störspitzenaktivität bei den Steuersignalen redu
ziert wird.
Die Prozedur CREATE_MINGLITCH_MUX_TREE_LEVEL zerlegt einen
abstrakten n-zu-1-Multiplexer in └n/2┘2-zu-1-Multiplexer, die
einen abstrakten ┌n/2┐-zu-1-Multiplexer mit einem Eingangs
signal versorgen. Im Rahmen der Erfindung wird dann ver
sucht, die Störspitzenaktivität am Ausgang der verschiedenen
erzeugten 2-zu-1-Multiplexer zu minimieren, indem die Daten
eingänge gruppiert werden, um so störspitzenbehaftete Steu
ersignale zu eliminieren; ferner werden die Dateneingangs
korrelationen maximiert und störspitzenbehaftete Datenein
gangssignale so selten wie möglich ausgewählt. Ferner wurde
ermittelt, welche Bitscheiben, wenn überhaupt, jedes der er
zeugten 2-zu-1-Multiplexer zu dem Konsensus-Ausdruck addiert
werden sollen, zu welche selektiven Verzögerungen die Bit
scheiben addiert werden sollen und ob die Steuersignale, die
den ausgewählten Eingängen der erzeugten 2-zu-1-Multiplexern
zugeführt werden, getaktet werden sollen.
Es wurde beobachtet, daß die Register verantwortlich sind
für einen erheblichen Anteil des Gesamtenergieverbrauchs.
Ein großer Teil des Register-Energieverbrauchs beruht wie
derum auf den Übergängen auf den Takteingängen zu den Regi
stern. Die Taktimpulse zu den Registern werden gesteuert, um
den Energieverbrauch in den Registern zu reduzieren. Dabei
sollte sichergestellt werden, daß auf dem gesteuerten Takt
signal keine Störspitzen sind und daß die erforderlichen
Taktbedingungen für das Taktschema erfüllt sind. Die vorlie
genden Prozeduren zum Ableiten der Steuerbedingungen für die
Takteingänge zu den Registern stellen sicher, daß derartige
Bedingungen erfüllt werden.
Die Verfahren zum automatischen Detektieren der Bedingungen,
unter denen die Taktsignale abgeschaltet werden können, ba
sieren auf identifizierenden Selbstschleifen und unerreich
baren Zuständen in dem Zustandsübergangsgraphen gemäß Refe
renz 28. Die unterscheidenden Merkmale gemäß vorliegender
Erfindung gegenüber herkömmlichen Maßnahmen zum Steuern von
Taktsignalen sind folgende: (i) es werden getrennte Steuer
bedingungen für jedes Register in dem Schaltkreis identifi
ziert, die zu größeren Möglichkeiten zum Steuern der Takt
signale führen können, (ii) ferner wird ein Schema angewen
det, mit dem die Maßnahmen zum Steuern der Taktsignale zu
Designstrukturen mit flankengesteuerten Flip-Flops angewen
det werden, und (iii) die erfindungsgemäßen Prozeduren beru
hen auf einer Strukturanalyse des vorgegebenen RTL-Schalt
kreises und sind anwendbar auf alle Register in einer De
sign-Struktur einschließlich der Datenpfad-Register. Die
Maßnahmen gemäß Referenz 28 erfordern einen STG des Schalt
kreises und können daher nur auf die Steuerlogik und auf die
Zufalls-Logikteile eines Designs angewendet werden.
Die grundlegende Technik zum Steuern von Taktsignalen zu Re
gistern wird in den Fig. 19A bis 19C dargestellt. In dem
Schaltkreis gemäß Fig. 19A lädt das Register seinen vorhe
rigen Wert erneut, wenn der Ausgang des "kleiner als"-Ver
gleichers 0 ist. Wenn daher der Vergleicher am Ausgang den
Wert 0 hat, kann der Takteingang des Registers zum Ausführen
eines Übergangs unterdrückt werden. Bei diesem Beispiel sei
angenommen, daß die Struktur auf einphasigen, durch die An
stiegsflanke getriggerten Flip-Flops basiert. Die Fig. 19B
zeigt zwei vorgeschlagene Schemata zum Steuern des Taktein
gangs zum Register; diese Schemata werden als Schema 1 bzw.
Schema 2 bezeichnet. Das Schema 1 beruht im wesentlichen
darauf, daß der Registertakteingang auf 0 eingestellt wird,
wenn der Ausgang des Vergleichers eine 0 berechnet, so daß
unerwünschte Übergänge auf dem Takt unterdrückt werden. Das
Schema 2 ist ähnlich zum Schema 1 mit der Ausnahme, daß der
Registertakteingang auf 1 eingestellt wird, wenn der Ver
gleicherausgang den Wert 0 berechnet. Eine Anfangsanalyse
geht daher davon aus, daß beide Schemata äquivalent sind.
Wenn jedoch die Taktbedingungen berücksichtigt werden, sind
die Schemata bei weitem nicht äquivalent. Um dies zu illu
strieren, wird auf die Beispielswellenformen gemäß Fig. 19C
für beide Schemata verwiesen. Damit Schema 1 arbeitet, muß
der Ausgang des Vergleichers den Wert 0 berechnen, bevor die
Taktflanke ansteigt, d. h. zum Zeitpunkt t = 0. Dies ist
nicht möglich, da die neuen Eingänge zum Vergleicher nur zum
Zeitpunkt t = 0 anliegen, und der Vergleicher benötigt of
fensichtlich eine endliche Verzögerung ungleich 0, bevor
sein Ausgang stabil ist. Daher arbeitet das Schema 1 nicht,
wenn die Taktbedingungen berücksichtigt werden. Andererseits
arbeitet das Schema 2 solange, wie sich die Steuerbedingun
gen vor der Hälfte der Taktperiode stabilisieren.
Um den Takteingang zu einem Register zu steuern, muß
zunächst der Satz von Bedingungen, unter denen das Register
einen neuen Wert nicht laden muß, berechnet werden. Diese
Steuerbedingungen können während der Verhaltenssynthese
leicht gewonnen werden, wenn das Design aus einer Verhal
tensbeschreibung synthetisiert wird. Die Lebensdaueranalyse,
die während der Verhaltenssynthese zur Betriebsmittelteilung
verwendet wird, zeigt den genauen Satz von Bedingungen, un
ter denen jedes Register einen neuen Wert laden muß. Im all
gemeinen liegen die so erhaltenen Steuerbedingungen in der
Form von Ausdrücken vor, die den gegenwärtigen Zustand der
Steuereinrichtung sowie der Ausgänge der Vergleicher bein
halten, die die verschiedenen Bedingungen der Verhaltensbe
schreibung berechnen.
Alternativ und wenn nur die RTL-Beschreibung des Designs
vorgegeben ist, wird das folgende Verfahren angewendet, um
die Steuerbedingungen abzuleiten. Für jedes Register wird
das zugehörige Multiplex-Netzwerk analysiert, um zu ermit
teln, ob der Registerausgang als einer der Dateneingänge zu
dem Multiplex-Netzwerk zurückgeführt wird. Das Vorliegen ei
ner derartigen Selbstschleife aus einem Register-Ausgangs
signal zurück zu seinem Dateneingang ist typisch für die ma
nuelle Strukturierung von RTL-Schaltkreisen sowie von RTL-Schalt
kreisen, die durch Synthesewerkzeuge auf hohem Niveau
produziert werden. Die Bedingungen, unter denen diese
Selbstschleife logisch aktiviert wird, repräsentiert die Be
dingungen, unter denen das Register seinen vorherigen Daten
wert behält. Der Pfad durch das Multiplex-Netzwerk beginnt
an dem identifizierten Dateneingang zum Multiplex-Netzwerk
und endet am Ausgang des Multiplex-Netzwerks, der mit dem
Eingang des Registers verbunden sind. Dann werden die Bedin
gungen für diesen zu aktivierenden Pfad berechnet, und zwar
in Ausdrücken des ausgewählten Signals, das mit den einzel
nen Multiplexern entlang des Pfades verbunden ist. Die Be
dingung, daß der Pfad aktiviert wird, kann als Konjunktion
der Bedingungen wiedergegeben werden, daß jeder Multiplexer
entlang des Pfades den auf dem Pfad liegenden Eingang aus
wählt.
Man betrachte das Register und den eingangsseitigen Multi
plexbaum gemäß Fig. 20. Unter der Annahme, daß Schema 2 ge
mäß Fig. 19 verwendet wird, ist die Steuerbedingung für den
Takteingang zum Register gleich contr[0].contr[1].
Ferner werden der allgemeine Fall betrachtet, wo ein Regi
ster in einem RTL-Schaltkreis eine Selbstschleife aufweist,
die durch n 2-zu-1-Multiplexer in einem Multiplex-Netzwerk
läuft. Es seien Sel1, Sel2 . . ., Seln die Bedingungen, unter
denen die Multiplexer in dem Pfad, der die Selbstschleife
bildet, die auf dem Pfad liegenden Eingänge auswählt. Dabei
ist Seli entweder gleich dem Steuersignal, das dem Auswahl
eingang des entsprechenden Multiplexers zugeführt wird, oder
sein Komplement, und zwar abhängig davon, ob der auf dem
Pfad liegende Eingang der 1-Eingang oder der 0-Eingang zum
Multiplexer ist. Die Steuerbedingung für den Registertakt
kann dann geschrieben werden als Sel1, Sel2 . . ., Seln.
Da die Logik zum Berechnen der Auswahlsignale zu den ver
schiedenen Multiplexern in dem Multiplex-Netzwerk bereits
implementiert ist, muß lediglich die Logik hinzugefügt wer
den, die gegebenenfalls zum Invertieren der Steuersignale
und zum Berechnen der Einzelbedingungen für jeden Multiple
xer in dem Pfad erforderlich ist. Das vorstehende Verfahren
zum Ableiten der Steuerbedingungen garantiert nicht, daß die
erforderlichen Taktbedingungen, die Steuerbedingung sollte
sich stabilisieren innerhalb der ersten Hälfte der Taktperi
ode) erfüllt sind. Falls die erforderlichen Taktbedingungen
nicht erfüllt werden, kann dies zur Erzeugung von kurzzeiti
gen Übergängen auf den Takteingängen zu den Registern füh
ren. Dies verursacht nicht nur einen zusätzlichen Energie
verbrauch, sondern kann auch dazu führen, daß die Register
unrichtige Werte laden. Eine mögliche Lösung dieses Problems
besteht darin, die Struktur langsamer zu takten. Alternativ
kann die Möglichkeit zum Ändern des Tastverhältnisses der
Taktung untersucht werden, während die gleiche Taktperiode
beibehalten wird. Dies führt jedoch zu einer Verschlechte
rung der Arbeitsbedingungen oder zu einer Änderung des ur
sprünglichen Taktschemas; beide Folgen sind häufig uner
wünscht.
Damit die erforderlichen Taktbedingungen erfüllt werden,
können die vorstehenden Maßnahmen im Rahmen der Erfindung
weiter verbessert werden. Nach der Berechnung des Ausdrucks
für die Steuerbedingung gemäß vorstehendem Abschnitt wird
zunächst unter Verwendung einer Anfangsimplementierung über
prüft, ob die Ankunftszeit bei der Steuerbedingung kleiner
ist als die Hälfte der Taktperiode. Falls diese Bedingung
nicht erfüllt ist, wird eine reduzierte Steuerbedingung ab
geleitet, die sicherstellt, daß die Taktbedingungen erfüllt
werden, und zwar unter Verwendung einer Untermenge der Aus
drücke, die in der ursprünglichen Steuerbedingung verwendet
werden. Der Ausdruck für die Steuerbedingung wird zunächst
zu einer Produktsumme umgewandelt, und der hochpegelige Ver
zögerungsrechner FEST (Referenz 31) wird eingesetzt, um die
Ankunftszeiten an den Signalen, die jeden Produktausdruck
repräsentieren, zu bestimmen. Eine Untermenge der Produkt
ausdrücke wird so identifiziert, daß die größte Ankunftszeit
unter den Produktausdrücken zuzüglich der Verzögerung der
Logik, die zum Berechnen der ODER-Bedingung der ausgewählten
Ausdrücke erforderlich ist, kleiner ist als die halbe Takt
periode. Um reduzierte Steuerbedingungen zu erhalten, wurden
in Referenz 28 heuristische Methoden angewendet. Dort war es
jedoch das Ziel, den Überschuß zu minimieren, der zur Syn
these der die Steuerbedingung implementierenden Logik erfor
derlich war, während im Rahmen der vorliegenden Erfindung in
erster Linie Ausdrücke eliminiert werden sollen, die bewir
ken, daß der Anfangsausdruck die Taktbedingungen verletzt.
Während die vorstehenden erfindungsgemäßen Verfahren eine
getrennte Steuerungsbedingung für jedes Datenpfadregister
ableiten, ist es im Rahmen der Erfindung auch möglich, die
Steuerbedingungen für eine Gruppe von Registern in eine ein
zige Steuerbedingung zu kombinieren, die verwendet werden
kann, um den Takteingang aller Register in der Gruppe zu
steuern. Der Vorteil dieser Kombination besteht darin, daß
unerwünschte Übergänge in Teilen des Taktverteilungsnetzes
ebenfalls unterdrückt werden können. Der Taktübergang zu
mehreren Registern kann jedoch nur dann unterdrückt werden
wenn alle einzelnen Steuerbedingungen erfüllt sind. Daher
kann die Anzahl der Übergänge, die an den Takteingängen ei
niger der Register unterdrückt werden, wenn eine kombinierte
Steuerbedingung angewendet wird, geringer sein als die An
zahl der Übergänge, die bei Verwendung einzelner Steuerbe
dingungen unterdrückt werden könnten.
Es werden Resultate der Anwendung der vorgeschlagenen Ener
giereduktion auf die folgenden sechs RTL-Schaltkreise wie
dergegeben: GCD, einen Strichcodeleser-Vorprozessor (Strich
code) (Referenz 35), die Steuerung für ein unbemanntes
Kraftfahrzeug (UAV) (Referenz 34), eine Steuerung für einen
Verkaufsautomaten (Vendor) (Referenz 36), ein Linienzeichen
verfahren als Teil eines Grafiksteuerbausteins (Referenz 37)
(Graphik), sowie ein Übertragungsverfahren, das einen Teil
des X.25-Kommunikationsprotokolls (X.25) implementiert (Re
ferenz 29). Das für die vorliegenden Versuche verwendete
Flußschema ist in Fig. 21 dargestellt. Die ursprünglichen
RTL-Schaltkreise wurden erhalten durch Synthetisieren von
VHDL-Verhaltensbeschreibungen unter Verwendung des hochwer
tigen Synthesesystems SECONDS (Referenzen 29, 30 und 31).
Sie wurden tabelliert mit der NEC CMOS6-Bibliothek (Referenz
32), und die tabellierten Netzlisten auf Torebene wurden un
ter Verwendung von CSIM (Referenz 33) simuliert, um die
Störspitzenaktivität und die Signalstatistik verschiedener
Signale im Schaltkreis zu bestimmen. Die Simulationsresul
tate wurden zurück zu den erfindungsgemäßen RTL-Energieopti
mierungsverfahren geführt, die das ursprüngliche RTL-Design
transformieren, um die Erzeugung und die Ausbreitung von
Störspitzen zu reduzieren. Wie vorstehend ausgeführt, kann
die Anwendung von störspitzenreduzierenden Transformationen
die Störspitzenaktivitäten und die Signalstatistik in glo
baler Weise beeinflussen. Um eine maximale Energieeinsparung
zu ermöglichen, muß die zum Ansteuern der Transformationen
verwendete Information inkremental erneut berechnet werden.
Daher werden die erfindungsgemäßen störspitzenreduzierenden
Transformationen auf alle RTL-Knoten einer Ebene in dem RTL-
Schaltkreis angewendet, dann wird die so tabellierte Netzli
ste inkremental modifiziert, um die Transformationen wieder
zugeben, und schließlich werden die Störspitzenaktivitäten
und die Signalstatistik zum Ausführen der störspitzenredu
zierenden Transformationen zu den RTL-Knoten auf anderen
Ebenen erneut berechnet. Sowohl die ursprünglichen als auch
die optimierten RTL-Schaltkreise wurden für Bereiche und
Verzögerungen unter Verwendung des VARCHSYNC-Synthesesystems
von NEC-Corporation (Referenz 38) und zum Energieverbrauch
unter Verwendung CSIM berechnet.
Die zur Simulation verwendeten Vektoren wurden folgender
maßen erhalten. Für jedes Design wurde die Verhaltensprüfung
für Designs zum Simulieren der vorgegebenen Verhaltungsbe
schreibung verwendet, und zwar unter Verwendung des VHDL-Si
mulators und des VSIM (Re 08606 00070 552 001000280000000200012000285910849500040 0002019824796 00004 08487ferenz 39); man erhält eine zykli
sche Eingangsvektorenfolge. Der vorstehende Schritt ist ins
besondere wichtig für steuerstromintensive Strukturen, wobei
im Gegensatz zu datenstromintensiven Spezifikation die An
zahl der zum Ausführen der Berechnung erforderlichen Takt
zyklen in Abhängigkeit von den Eingangswerten variiert. Die
zyklische Eingangsvektorfolge wurde verwendet sowohl beim
Sammeln von Information über die Störspitzenaktivität und
die Signalstatistiken sowie zum Berechnen der Anfangsstruk
tur sowie der für den Energieverbrauch optimierten Struktur.
Fig. 22 zeigt die Versuchsergebnisse. Die Energie bzw. Lei
stung, die Fläche (Anzahl der Transistorpaare), und die Ver
zögerungszahlen wurden erhalten nach Tabellieren mit der
verwendeten Technologie-Bibliothek. Die Ergebnisse zeigen,
daß die erfindungsgemäßen Verfahren den Energieverbrauch von
RTL-Strukturen wesentlich reduzieren kann. Dabei zeigt sich,
daß die erfindungsgemäße Störspitzenreduktion auf die Ener
gie- bzw. Leistungsreduktion abzielt, und zwar nur durch Re
duzieren der Ausbreitung der Störspitzen zwischen verschie
denen Blöcken in dem RTL-Schaltkreis. Daher können die er
findungsgemäßen Verfahren mit anderen energiereduzierenden
Verfahren kombiniert werden, die darauf abzielen, Übergänge
zu unterdrücken, die nicht Störspitzen entsprechen. Der
Überschuß an Fläche und Verzögerung, der auf die erfindungs
gemäßen Energieeinsparungsverfahren zurückgeführt werden
kann, kann als nominal angesehen werden. In einigen Fällen
sind die Fläche und die Verzögerung des Schaltkreises nach
Anwenden der erfindungsgemäßen Verfahren geringfügig kleiner
als beim ursprünglichen Schaltkreis. Dies kann auf der Tat
sache beruhen, daß die Multiplexer-Restrukturierungstrans
formationen zu einer Vereinfachung in der Steuerlogik führen
können, was wiederum zur Verringerung der Fläche und der
Verzögerung führen kann.
- 1. A. P. Chandrakasan, S. Sheng, and R. W. Brodersen, "Low power CMOS digital design," IEEE J. Solid-State Circuits, pp. 473-484, Apr. 1992.
- 2. S. Devadas and S. Malik, "A survey of optimization techniques targeting low power VLSI circuits," in Proc. Design Automation Conf., pp. 242-247, June 1995.
- 3. H. Vaishnav and M. Pedram, "PCUBE: A performance driven placement algorithm for low power designs," in Proc. European Conf. Design Automation, pp. 72-77, Sept. 1993.
- 4. S. R. Powell and P.M. Chau, "Estimating power dissipation of VLSI signal processing chips: the PFA technique," in Proc. VLSI Signal Processing IV, pp. 250-259, 1990.
- 5. P. E. Landman and J. M. Rabaey, "Power estimation for high level synthesis," in Proc. European Conf. Design Automation, pp. 361-366, Feb. 1993.
- 6. P. E. Landman and J. M. Rabaey, "Biack-box capacitance models for architectural power analysis," in Proc. Int. Wkshop. Low Power Design, pp. 165-170, Apr. 1994.
- 7. D. Marculescu, R. Marculescu, and M. Pedram, "Information theoretic measures for energy consumption at the register-transfer level." in Proc. Int Symp. Low Power Design, pp. 81-86, Apr. 1995.
- 8. F. N. Najm, "Towards a high-level power estimation capability," in Proc. Int. Symp. Lower Power Design, pp. 87-92, Apr. 1995.
- 9. A. P. Chandrakasan, M Potkonjak, R. Mehra, J. Rabaey, and R. Brodersen, "Optimizing power using transformations," IEEE Trans. Computer-Aided Design, vol. 14, pp. 12-31, Jan. 1995.
- 10. A. Chatterjee and R. K. Roy, "Synthesis of low power DSP circuits using activity metrics," in Proc. 7th Int. Conf. VLSI Design, pp. 265-270, Jan. 1994.
- 11. S. Wytack, F. Catthoor, F. Franssen, L. Nachtergaele, and H. D. Man, "Global communication and memory optimizing transformations for low power systems," in Proc. Int. Wkshp. Low Power Design, pp. 203-208, Apr. 1994.
- 12. D. Lidsky and J. Rabaey, "Low-power design of memory intensitve functions," in Proc. Symp. Low Power Electronics, pp. 16-17, Oct. 1994.
- 13. R. Mehra and J. Rabaey, "Behavioral level power estimation and exploration," in Proc. Int. Wkshp. Low Power Design, pp. 197-202, Apr. 1994.
- 14. L. Goodby, A. Orailoglu, and P. M. Chau, "Microarchitectural synthesis of performance-constrained, low-power VLSI designs," in Proc. Int. Conf. Computer Design, pp. 323-326, Oct. 1994.
- 15. A. Raghunathan and N. K. Jha, "Behavioral synthesis for low power" in Proc. Int. Conf. Computer Design, pp., 318-322, Oct. 1994.
- 16. A. Raghunathan and N. K. Jha, "An ILP formulation for low power based on minimizing switched capacitance during datapath allocation," in Proc. Int. Symp. Circuits & Systems, pp. 1069-1073, May 1995.
- 17. J. M. Chang and M. Pedram, "Register allocation and binding for low power," in Proc. Design Automation Conf., pp. 29-35, June 1995.
- 18. A. Dasgupta and R. Karri, "Simultaneous scheduling and binding for power minimization during microarchitecture synthesis," in Proc. Int. Symp. Low Power Design, pp. 69-74, Apr. 1995.
- 19. E. Musoll and J. Cortadella, "High-level synthesis techniques for reducing the activity of functional units," in Proc. Int. Symp. Low Power Design, pp. 99-104, Apr. 1995.
- 20. M. Stan and W. P. Burleson, "Limited-weight codes for low power I/O," in Proc. Int. Wkshp. Low Power Design, pp. 209-214, Apr. 1994.
- 21. C. Papachristou, M. Spining, and M. Nourani, "A multiple clocking scheme for low power RTL design", in Proc. Int. Symp. Low Power Design, pp. 27-32, Apr. 1995.
- 22. R. S. Martin and J. P. Knight, "Power Profiler: Optimizing ASICs power consumption at the behavioral level", in Proc. Design Automation Conf., pp. 42-47, June 1995.
- 23. V. Tiwari, S. Malik, and A. Wolfe, "Power analysis of embedded software: a first step towards software power minimization", in Proc. Int. Conf. Computer-Aided Design, Nov. 1994.
- 24. M. Favalli and L. Benini, "Analysis of glitch power dissipation in CMOS IC's." in Proc. Int. Symp. Low Power Design, pp. 123-128, Apr. 1995.
- 25. S. Rajagopal and G. Metha, "Experiences with simulation- based schematic-levell power estimation", in Proc. Int. Wkshp. Low Power Design, pp. 9-14, Apr. 1994.
- 26. F. N. Najm and M. Y. Zhang, "Extreme delay sensitivity and the worst-case switching activity in VLSI circuits", in Proc. Design Automation Conf., pp. 623-627, June 1995.
- 27. C. Lemonds and S. S. M. Shetti, "A low power 16 by 16 multiplier using transition reduction circuitry", in Proc. Int. Wkshp. Low Power Design, pp. 139-142, Apr. 1994.
- 28. L. Benini, P. Siegel, and G. DeMicheli, "Saving power by synthesizing gated clocks for sequential circuits", IEEE Design & Test of Computers, pp. 32-41, Winter 1994.
- 29. S. Bhattacharya, S. Dey, and F. Brglez, "Performance analysis and optimizaiton of schedules for conditional and loop-intensive specifications", in Proc. Design Automation Conf., pp. 491-496, June 1994.
- 30. S. Bhattacharya, S. Dey, and F. Brglez, "Clook period optimization during resource sharing and assignment", in Proc. Design Automation Conf., pp. 195-200, June 1994.
- 31. S. Bhattacharya, S. Dey, and F. Brglez, "Provably correct high- level timing analysis without path sensitization", in Proc. Int. Conf., Computer-Aided Design, pp. 736-742, Nov. 1994.
- 32. CMOS6 Library manual, NEC Electronics, Inc. Dec. 1992.
- 33. CSIM Version 5 Users Manual, Systems LSI Division, NEC Corp., 1993.
- 34. K. Hintz and D. Tabak, Microcontrollers: Architecture, Implementation, and Programming. New York, NY 10020: McGraw-Hill, 1992.
- 35. High-level synthesis benchmarks, CAD Benchmarking Laboratory, Research Triangle Park, NC. Benchmarks can be downloaded from http://www.cbl.ncsu.edu.
- 36. D. L. Perry, VHDL, New York, NY 10020: McGraw-Hill, 1991.
- 37. S. Dey, A. Raghunathan, N. K. Jha, and K. Wakabayashi, "Controller re-specification to minimize switching activity in controller/data path circuits", Tech. Rep. 96-C007-4-5016-1, NEC C & C Research Labs, Princeton, NJ, Mar. 1996.
- 38. VARCHSYN Version 2.0 Users Manual, Advanced CAD Development Laboratory, NEC Corporation, Nov. 1993.
- 39. Model Technology, Inc., VSYSTEM users manual.
Claims (28)
1. Logikschaltkreis mit
einem ersten Schaltungsblock, der mit einem logi schen Eingangssignal und einem Eingangssteuersignal ver sorgt wird, zum Ausführen einer ersten Logikoperation in Relation zu dem Eingangslogiksignal und dem Eingangs steuersignal, um ein Zwischenlogiksignal zu einem ersten Zeitpunkt zu erzeugen, der durch den Empfangszeitpunkt des Eingangssteuersignals bestimmt wird,
einem zweiten Schaltungsblock, der nur mit dem Ein gangslogiksignal versorgt wird, zum Ausführen einer zweiten Logikoperation in Relation zu dem Eingangslogik signal, um ein zusätzliches Logiksignal zu einem zweiten Zeitpunkt zu erzeugen, der sich von dem ersten Zeitpunkt unterscheidet, und
einem dritten Schaltungsblock, der mit dem Zwi schenlogiksignal und dem zusätzlichen Logiksignal ver sorgt wird, zum Ausführen einer dritten Logikoperation in Relation zu dem Zwischenlogiksignal und dem zusätzli chen Logiksignal, um ein Ausgangslogiksignal zu erzeu gen, das den gleichen Logikwert einnimmt, unabhängig von Vorliegen oder Nicht-Vorliegen des zusätzlichen Logik signals.
einem ersten Schaltungsblock, der mit einem logi schen Eingangssignal und einem Eingangssteuersignal ver sorgt wird, zum Ausführen einer ersten Logikoperation in Relation zu dem Eingangslogiksignal und dem Eingangs steuersignal, um ein Zwischenlogiksignal zu einem ersten Zeitpunkt zu erzeugen, der durch den Empfangszeitpunkt des Eingangssteuersignals bestimmt wird,
einem zweiten Schaltungsblock, der nur mit dem Ein gangslogiksignal versorgt wird, zum Ausführen einer zweiten Logikoperation in Relation zu dem Eingangslogik signal, um ein zusätzliches Logiksignal zu einem zweiten Zeitpunkt zu erzeugen, der sich von dem ersten Zeitpunkt unterscheidet, und
einem dritten Schaltungsblock, der mit dem Zwi schenlogiksignal und dem zusätzlichen Logiksignal ver sorgt wird, zum Ausführen einer dritten Logikoperation in Relation zu dem Zwischenlogiksignal und dem zusätzli chen Logiksignal, um ein Ausgangslogiksignal zu erzeu gen, das den gleichen Logikwert einnimmt, unabhängig von Vorliegen oder Nicht-Vorliegen des zusätzlichen Logik signals.
2. Logikschaltung nach Anspruch 1, wobei der erste Schal
tungsblock und der dritte Schaltungsblock miteinander
als Multiplexer cooperieren, und mit den folgenden wei
teren Merkmalen:
dem ersten Schaltungsblock werden das erste Ein gangslogiksignal und das zweite Eingangslogiksignal als das Eingangslogiksignal zugeführt, um die erste Logik operation zwischen einem ersten Satz des ersten Logik signals und dem Steuersignal und zwischen einem zweiten Satz des zweiten Logiksignals und dem Steuersignal aus zuführen und als Zwischenlogiksignal erste und zweite Zwischenlogiksignale zu dem ersten Zeitpunkt zu erzeu gen, der durch das Steuersignal bestimmt wird,
dem zweiten Steuerblock wird als das Eingangslogik signal das erste Eingangslogiksignal und das zweite Ein gangslogiksignal zugeführt, um die zweite Logikoperation zwischen einem dritten Satz des ersten Eingangslogik signals und dem zweiten Eingangslogiksignal auszuführen und das zusätzliche Logiksignal zu erzeugen, und
der dritte Schaltungsblock wird mit dem ersten Zwi schenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logiksignal versorgt, um die dritte Logikoperation unter dem ersten Zwischenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logik signal auszuführen und das Ausgangslogiksignal zu erzeu gen.
dem ersten Schaltungsblock werden das erste Ein gangslogiksignal und das zweite Eingangslogiksignal als das Eingangslogiksignal zugeführt, um die erste Logik operation zwischen einem ersten Satz des ersten Logik signals und dem Steuersignal und zwischen einem zweiten Satz des zweiten Logiksignals und dem Steuersignal aus zuführen und als Zwischenlogiksignal erste und zweite Zwischenlogiksignale zu dem ersten Zeitpunkt zu erzeu gen, der durch das Steuersignal bestimmt wird,
dem zweiten Steuerblock wird als das Eingangslogik signal das erste Eingangslogiksignal und das zweite Ein gangslogiksignal zugeführt, um die zweite Logikoperation zwischen einem dritten Satz des ersten Eingangslogik signals und dem zweiten Eingangslogiksignal auszuführen und das zusätzliche Logiksignal zu erzeugen, und
der dritte Schaltungsblock wird mit dem ersten Zwi schenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logiksignal versorgt, um die dritte Logikoperation unter dem ersten Zwischenlogiksignal, dem zweiten Zwischenlogiksignal und dem zusätzlichen Logik signal auszuführen und das Ausgangslogiksignal zu erzeu gen.
3. Logikschaltung nach Anspruch 2, wobei der erste Schal
tungsblock aufweist:
einen Inverter zum Ausführen der Inversionsopera tion in Relation zu dem Eingangssteuersignal,
eine erste UND-Torschaltung zum Ausführen einer AND-Operation zwischen dem ersten Eingangslogiksignal und dem invertierten Eingangssteuersignal, und
eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei der zweite Schaltungsblock eine dritte UND-Tor schaltung zum Ausführen einer UND-Operation zwischen dem ersten Eingangslogiksignal und dem zweiten Eingangs logiksignal aufweist, und
wobei der dritte Schaltungsblock eine erste ODER-Tor schaltung zum Ausführen einer ODER-Operation zwischen dem ersten Zwischenlogiksignal, dem zweiten Zwischenlo giksignal und dem zusätzlichen Logiksignal aufweist und entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal als das Ausgangslogiksignal entspre chend dem Wert des Eingangssteuersignals zu erzeugen.
einen Inverter zum Ausführen der Inversionsopera tion in Relation zu dem Eingangssteuersignal,
eine erste UND-Torschaltung zum Ausführen einer AND-Operation zwischen dem ersten Eingangslogiksignal und dem invertierten Eingangssteuersignal, und
eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei der zweite Schaltungsblock eine dritte UND-Tor schaltung zum Ausführen einer UND-Operation zwischen dem ersten Eingangslogiksignal und dem zweiten Eingangs logiksignal aufweist, und
wobei der dritte Schaltungsblock eine erste ODER-Tor schaltung zum Ausführen einer ODER-Operation zwischen dem ersten Zwischenlogiksignal, dem zweiten Zwischenlo giksignal und dem zusätzlichen Logiksignal aufweist und entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal als das Ausgangslogiksignal entspre chend dem Wert des Eingangssteuersignals zu erzeugen.
4. Multiplexbaum mit einer Kombination mehrerer Multiplexer
nach Anspruch 3 und dem als Eingangslogiksignal mehr als
zwei Eingangslogiksignale zugeführt werden, um ein ein
ziges Eingangslogiksignal unter mehr als zwei Eingangs
logiksignalen auszuwählen,
wobei einem ersten der Multiplexer zwei Eingangslo giksignale zugeführt werden, die eine maximale Datenkor relation zwischen sich aufweisen
wobei einem ersten der Multiplexer zwei Eingangslo giksignale zugeführt werden, die eine maximale Datenkor relation zwischen sich aufweisen
5. Multiplexerbaum nach Anspruch 4,
wobei die beiden Eingangslogiksignale die höchste Wahrscheinlichkeit zur Annahme des gleichen Bitwertes in der gleichen Periode im Vergleich zu dem anderen Paar der Eingangslogiksignale für den Multiplexerbaum aufwei sen.
wobei die beiden Eingangslogiksignale die höchste Wahrscheinlichkeit zur Annahme des gleichen Bitwertes in der gleichen Periode im Vergleich zu dem anderen Paar der Eingangslogiksignale für den Multiplexerbaum aufwei sen.
6. Logikschaltkreis in einem Multiplexer, mit:
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen,
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, um eine zweite Logikoperation zwischen dem ersten und dem zwei ten Zwischenlogiksignal auszuführen, um ein Ausgangslo giksignal zu erzeugen, und
Multiplexer, von denen jeder so aufgebaut ist, daß er spezifizierte Eingangslogiksignale an der Eingabe im Falle eines Multiplexerbaums unterdrückt, der eine Kom bination mehrerer Multiplexer aufweist und dem als Ein gangslogiksignal mehr als zwei Eingangslogiksignale zu geführt werden, um ein einziges Eingangslogiksignal un ter mehr als zwei Eingangslogiksignalen auszuwählen.
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen,
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, um eine zweite Logikoperation zwischen dem ersten und dem zwei ten Zwischenlogiksignal auszuführen, um ein Ausgangslo giksignal zu erzeugen, und
Multiplexer, von denen jeder so aufgebaut ist, daß er spezifizierte Eingangslogiksignale an der Eingabe im Falle eines Multiplexerbaums unterdrückt, der eine Kom bination mehrerer Multiplexer aufweist und dem als Ein gangslogiksignal mehr als zwei Eingangslogiksignale zu geführt werden, um ein einziges Eingangslogiksignal un ter mehr als zwei Eingangslogiksignalen auszuwählen.
7. Logikschaltung nach Anspruch 6, wobei das spezifizierte
Eingangslogiksignal einen Störimpuls aufweist, der eine
Übergangsspannungsspitze ist.
8. Logikschaltkreis in einem Multiplexer, mit
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, um eine erste Logikoperation zwischen einem Satz des ersten Eingangs logiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Ein gangssteuersignal auszuführen, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen, und
einem zweiten Steuerblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, um die zweite Logikoperation zwischen dem ersten und dem zweiten Zwi schenlogiksignal auszuführen, um ein Ausgangslogiksignal zu erzeugen,
wobei dem ersten Schaltungsblock ein Signal zuge führt wird, das aus einer dritten Logikoperation zwi schen dem Eingangssteuersignal und einem Taktsignal, an stelle des Eingangssteuersignals, hervorgeht.
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, um eine erste Logikoperation zwischen einem Satz des ersten Eingangs logiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Ein gangssteuersignal auszuführen, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen, und
einem zweiten Steuerblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, um die zweite Logikoperation zwischen dem ersten und dem zweiten Zwi schenlogiksignal auszuführen, um ein Ausgangslogiksignal zu erzeugen,
wobei dem ersten Schaltungsblock ein Signal zuge führt wird, das aus einer dritten Logikoperation zwi schen dem Eingangssteuersignal und einem Taktsignal, an stelle des Eingangssteuersignals, hervorgeht.
9. Logikschaltung nach Anspruch 8, wobei das Signal, das
aus der dritten Logikoperation zwischen dem Eingangs
steuersignal und dem Taktsignal hervorgeht, durch eine
UND-Torschaltung zum Ausführen einer UND-Operation zwi
schen dem Eingangssteuersignal und dem invertierten
Taktsignal erhalten wird.
10. Logikschaltung nach Anspruch 8, wobei das Signal, das
durch die dritte Logikoperation zwischen dem Eingangs
steuersignal und dem Taktsignal erhalten wird, durch
eine ODER-Torschaltung zum Ausführen einer ODER-Opera
tion zwischen dem Eingangssteuersignal und dem Takt
signal erhalten wird.
11. Logikschaltung in einem Multiplexer, mit:
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen, und
einen zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal, um ein Ausgangslo giksignal zu erzeugen,
wobei der erste Schaltungsblock eine dritte Logik operation ausführt, um die Steuersignalverzögerung se lektiv auszuführen.
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal, um ein erstes und ein zweites Zwischenlogiksignal zu erzeugen, und
einen zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal, um ein Ausgangslo giksignal zu erzeugen,
wobei der erste Schaltungsblock eine dritte Logik operation ausführt, um die Steuersignalverzögerung se lektiv auszuführen.
12. Logikschaltung nach Anspruch 11, wobei die erste Logik
operation durch einen ersten Satz von Torschaltungen in
dem ersten Logikblock ausgeführt wird, wobei
der erste Satz von Torschaltungen aufweist:
eine erste UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem ersten Eingangslogiksignal und dem invertierten Eingangssteuersignal, und
eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei die dritte Logikoperation durch einen zweiten Satz von Torschaltungen in dem ersten Logikblock ausge führt wird,
wobei der zweite Satz von Torschaltungen aufweist:
eine erste Verzögerungstorschaltung zum Eingeben des invertierten Eingangssteuersignals an die erste UND- Torschaltungsverzögerung, so daß das invertierte Ein gangssteuersignal später eingegeben werden kann als das erste Eingangslogiksignal an die erste UND-Torschaltung nur an einer positiven Flanke des invertierten Eingangs steuersignals beim Ausführen der ersten Logikoperation zwischen dem ersten Eingangssignal und dem Eingangssteu ersignal, und
eine zweite Verzögerungstorschaltung zum Eingeben des Eingangssteuersignals an die zweite UND-Torschal tungsverzögerung, so daß das Eingangssteuersignal zu ei nem späteren Zeitpunkt eingegeben werden kann, als das zweite Eingangslogiksignal an die zweite UND-Torschal tung nur an der positiven Flanke des Eingangssteuer signals beim Ausführen der ersten Logikoperation zwi schen dem zweiten Eingangssignal und dem Eingangssteuer signal.
der erste Satz von Torschaltungen aufweist:
eine erste UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem ersten Eingangslogiksignal und dem invertierten Eingangssteuersignal, und
eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei die dritte Logikoperation durch einen zweiten Satz von Torschaltungen in dem ersten Logikblock ausge führt wird,
wobei der zweite Satz von Torschaltungen aufweist:
eine erste Verzögerungstorschaltung zum Eingeben des invertierten Eingangssteuersignals an die erste UND- Torschaltungsverzögerung, so daß das invertierte Ein gangssteuersignal später eingegeben werden kann als das erste Eingangslogiksignal an die erste UND-Torschaltung nur an einer positiven Flanke des invertierten Eingangs steuersignals beim Ausführen der ersten Logikoperation zwischen dem ersten Eingangssignal und dem Eingangssteu ersignal, und
eine zweite Verzögerungstorschaltung zum Eingeben des Eingangssteuersignals an die zweite UND-Torschal tungsverzögerung, so daß das Eingangssteuersignal zu ei nem späteren Zeitpunkt eingegeben werden kann, als das zweite Eingangslogiksignal an die zweite UND-Torschal tung nur an der positiven Flanke des Eingangssteuer signals beim Ausführen der ersten Logikoperation zwi schen dem zweiten Eingangssignal und dem Eingangssteuer signal.
13. Logikschaltung nach Anspruch 12, wobei die erste Verzö
gerungstorschaltung aufweist:
ein erstes Verzögerungselement zum Eingeben des in vertierten Eingangssteuersignals und zum Ausführen der invertierten Eingangssteuersignalverzögerung, und
eine dritte UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem verzögerten invertierten Ein gangssteuersignal und dem invertierten Eingangssteuer signal, und wobei das erste Verzögerungselement und die dritte UND-Torschaltung direkt mit einem Eingang der er sten UND-Torschaltung verbunden sind, dem das inver tierte Eingangssteuersignal ursprünglich zugeführt wer den soll, und
wobei die zweite Verzögerungstorschaltung aufweist:
ein zweites Verzögerungselement zum Eingeben des Eingangssteuersignals und zum Ausführen der Eingangs steuersignalverzögerung, und
eine vierte UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem verzögerten Eingangssteuer signal und dem Eingangssteuersignal, wobei das zweite Verzögerungselement und die vierte UND-Torschaltung mit einem Eingang der zweiten UND-Torschaltung direkt ver bunden sind, dem das Eingangssteuersignal ursprünglich zugeführt werden soll.
ein erstes Verzögerungselement zum Eingeben des in vertierten Eingangssteuersignals und zum Ausführen der invertierten Eingangssteuersignalverzögerung, und
eine dritte UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem verzögerten invertierten Ein gangssteuersignal und dem invertierten Eingangssteuer signal, und wobei das erste Verzögerungselement und die dritte UND-Torschaltung direkt mit einem Eingang der er sten UND-Torschaltung verbunden sind, dem das inver tierte Eingangssteuersignal ursprünglich zugeführt wer den soll, und
wobei die zweite Verzögerungstorschaltung aufweist:
ein zweites Verzögerungselement zum Eingeben des Eingangssteuersignals und zum Ausführen der Eingangs steuersignalverzögerung, und
eine vierte UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem verzögerten Eingangssteuer signal und dem Eingangssteuersignal, wobei das zweite Verzögerungselement und die vierte UND-Torschaltung mit einem Eingang der zweiten UND-Torschaltung direkt ver bunden sind, dem das Eingangssteuersignal ursprünglich zugeführt werden soll.
14. Logikschaltung in einem Multiplexer, mit
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des er sten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals, und
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal zum Erzeugen eines Ausgangslogiksignals,
wobei jede Eingangslage des ersten Eingangslogik signals und des zweiten Eingangslogiksignals in dem er sten Schaltungsblock so eingestellt wird, daß ein spezi fiziertes Eingangslogiksignal als das Ausgangslogik signal unter den Eingangslogiksignalen ausgewählt werden kann, wenn entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal als das Ausgangslogik signal ausgegeben wird.
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des er sten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals, und
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal zum Erzeugen eines Ausgangslogiksignals,
wobei jede Eingangslage des ersten Eingangslogik signals und des zweiten Eingangslogiksignals in dem er sten Schaltungsblock so eingestellt wird, daß ein spezi fiziertes Eingangslogiksignal als das Ausgangslogik signal unter den Eingangslogiksignalen ausgewählt werden kann, wenn entweder das erste Eingangslogiksignal oder das zweite Eingangslogiksignal als das Ausgangslogik signal ausgegeben wird.
15. Logikschaltung nach Anspruch 14, wobei die erste Logik
operation durch einen ersten Satz von Torschaltungen in
dem ersten Schaltungsblock ausgeführt wird,
wobei der erste Satz von Torschaltungen aufweist:
eine erste UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem invertierten Eingangssteuer signal und dem ersten Eingangslogiksignal, und eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei die zweite Logikoperation durch einen zweiten Satz von Torschaltungen in dem zweiten Schaltungsblock ausgeführt wird, der zweite Satz von Torschaltungen eine ODER-Torschaltung zum Ausführen einer ODER-Operation zwischen dem ersten Zwischenlogiksignal und dem zweiten Zwischenlogiksignal aufweist,
wobei das erste Eingangslogiksignal oder das zweite Eingangslogiksignal entsprechend dem Wert des Eingangs steuersignals ausgewählt wird, dem das spezifizierte Eingangslogiksignal zugeordnet ist.
wobei der erste Satz von Torschaltungen aufweist:
eine erste UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem invertierten Eingangssteuer signal und dem ersten Eingangslogiksignal, und eine zweite UND-Torschaltung zum Ausführen einer UND-Operation zwischen dem zweiten Eingangslogiksignal und dem Eingangssteuersignal,
wobei die zweite Logikoperation durch einen zweiten Satz von Torschaltungen in dem zweiten Schaltungsblock ausgeführt wird, der zweite Satz von Torschaltungen eine ODER-Torschaltung zum Ausführen einer ODER-Operation zwischen dem ersten Zwischenlogiksignal und dem zweiten Zwischenlogiksignal aufweist,
wobei das erste Eingangslogiksignal oder das zweite Eingangslogiksignal entsprechend dem Wert des Eingangs steuersignals ausgewählt wird, dem das spezifizierte Eingangslogiksignal zugeordnet ist.
16. Logikschaltung in einem Multiplexer, mit:
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des er sten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal zum Erzeugen eines Ausgangslogiksignals,
einem Register, dem das erste Taktsignal zugeführt wird, zum Speichern des Ausgangslogiksignals, und
einem dritten Schaltungsblock zum Ausführen einer dritten Logikoperation zwischen dem ersten Taktsignal und dem Eingangssteuersignal zum Erzeugen eines zweiten Taktsignals und zum Zuführen des zweiten Taktsignals zu dem Register, wenn die Bedingung vorliegt, daß, wenn der Wert des Eingangssteuersignals gleich einem vorgegebenen Wert ist, das Register das Ausgangslogiksignal nicht speichern muß, und
wobei das zweite Taktsignal intakt gehalten wird, ohne jeglichen Übergang, wenn der Wert des Eingangssteu ersignals gleich dem vorgegebenen Wert ist.
einem ersten Schaltungsblock, dem ein erstes Ein gangslogiksignal, ein zweites Eingangslogiksignal und ein Eingangssteuersignal zugeführt wird, zum Ausführen einer ersten Logikoperation zwischen einem Satz des er sten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
einem zweiten Schaltungsblock, dem das erste und das zweite Zwischenlogiksignal zugeführt wird, zum Aus führen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal zum Erzeugen eines Ausgangslogiksignals,
einem Register, dem das erste Taktsignal zugeführt wird, zum Speichern des Ausgangslogiksignals, und
einem dritten Schaltungsblock zum Ausführen einer dritten Logikoperation zwischen dem ersten Taktsignal und dem Eingangssteuersignal zum Erzeugen eines zweiten Taktsignals und zum Zuführen des zweiten Taktsignals zu dem Register, wenn die Bedingung vorliegt, daß, wenn der Wert des Eingangssteuersignals gleich einem vorgegebenen Wert ist, das Register das Ausgangslogiksignal nicht speichern muß, und
wobei das zweite Taktsignal intakt gehalten wird, ohne jeglichen Übergang, wenn der Wert des Eingangssteu ersignals gleich dem vorgegebenen Wert ist.
17. Logikschaltung nach Anspruch 16, wobei der dritte Schal
tungsblock, eine ODER-Torschaltung zum Ausführen einer
ODER-Operation zwischen dem invertierten Eingangssteuer
signal und dem ersten Taktsignal aufweist, um das Ergeb
nis als das Eingangssteuersignal auszugeben.
18. Verfahren zum Empfangen eines Eingangslogiksignals und
eines Eingangssteuersignals, Ausführen einer Logikopera
tion zwischen dem Eingangslogiksignal und dem Eingangs
steuersignal und Erzeugen eines Ausgangslogiksignals zu
einem Zeitpunkt, der bestimmt wird durch den Empfangs
zeitpunkt des Eingangssteuersignals, mit den folgenden
Verfahrensschritten:
Vorbereiten eines redundanten Logikschaltkreises mit einer redundanten Struktur zum Ausführen der Logik operation in bezug auf das Eingangslogiksignal und
Steuern des Eingangstaktes und/oder Ausgangstaktes, wobei der Eingangstakt bestimmt wird durch den Empfangs zeitpunkt entweder des Eingangslogiksignals oder des Eingangssteuersignals in den redundanten Logikschalt kreis, und der Ausgangstakt bestimmt wird durch den Aus gabezeitpunkt eines Ausgangssignals aus dem redundantem Logikschaltkreis, und
Unterdrücken eines Störimpulses des Eingangslogik signals oder eines Störimpulses des Eingangssteuer signals durch Steuern des Takts des redundanten Logik schaltkreises.
Vorbereiten eines redundanten Logikschaltkreises mit einer redundanten Struktur zum Ausführen der Logik operation in bezug auf das Eingangslogiksignal und
Steuern des Eingangstaktes und/oder Ausgangstaktes, wobei der Eingangstakt bestimmt wird durch den Empfangs zeitpunkt entweder des Eingangslogiksignals oder des Eingangssteuersignals in den redundanten Logikschalt kreis, und der Ausgangstakt bestimmt wird durch den Aus gabezeitpunkt eines Ausgangssignals aus dem redundantem Logikschaltkreis, und
Unterdrücken eines Störimpulses des Eingangslogik signals oder eines Störimpulses des Eingangssteuer signals durch Steuern des Takts des redundanten Logik schaltkreises.
19. Verfahren zum Verarbeiten eines Eingangslogiksignals in
ein Ausgangslogiksignal mit den folgenden Verfahrens
schritten:
Versorgen eines ersten Schaltungsblocks mit einem Eingangslogiksignal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation in bezug auf das Eingangslogiksignals und das Eingangssteuersignal und zum Erzeugen eines Zwischenlogiksignals als erste Zeit gabe, die durch den Empfangstakt des Eingangssteuer signals bestimmt wird,
Versorgen eines zweiten Schaltungsblocks nur mit dem Eingangslogiksignal zum Ausführen einer zweiten Lo gikoperation in bezug auf das Eingangslogiksignal und zum Erzeugen eines zusätzlichen Logiksignals an einer zweiten Zeitlage unterschiedlich von der ersten Zeit lage, und
Versorgen eines dritten Schaltungsblocks mit dem Zwischenlogiksignal und dem zusätzlichen Logiksignal zum Ausführen einer dritten Logikoperation in bezug zu dem Zwischenlogiksignal und dem zusätzlichen Logiksignal und zum Erzeugen des Ausgangslogiksignals, das den gleichen Logikwert einnimmt, unabhängig von dem Vorliegen oder dem Nichtvorliegen des zusätzlichen Logiksignals.
Versorgen eines ersten Schaltungsblocks mit einem Eingangslogiksignal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation in bezug auf das Eingangslogiksignals und das Eingangssteuersignal und zum Erzeugen eines Zwischenlogiksignals als erste Zeit gabe, die durch den Empfangstakt des Eingangssteuer signals bestimmt wird,
Versorgen eines zweiten Schaltungsblocks nur mit dem Eingangslogiksignal zum Ausführen einer zweiten Lo gikoperation in bezug auf das Eingangslogiksignal und zum Erzeugen eines zusätzlichen Logiksignals an einer zweiten Zeitlage unterschiedlich von der ersten Zeit lage, und
Versorgen eines dritten Schaltungsblocks mit dem Zwischenlogiksignal und dem zusätzlichen Logiksignal zum Ausführen einer dritten Logikoperation in bezug zu dem Zwischenlogiksignal und dem zusätzlichen Logiksignal und zum Erzeugen des Ausgangslogiksignals, das den gleichen Logikwert einnimmt, unabhängig von dem Vorliegen oder dem Nichtvorliegen des zusätzlichen Logiksignals.
20. Verfahren nach Anspruch 19, wobei als das Eingangslogik
signal mehr als zwei Eingangslogiksignale zugeführt wer
den, um ein einziges Eingangslogiksignal unter mehr als
zwei Eingangslogiksignalen auszuwählen, wobei dem ersten
Schaltungsblock zwei der Eingangslogiksignale zugeführt
werden, die eine maximale Datenkorrelation untereinander
haben, bei der Zufuhr des Eingangslogiksignals an den
ersten Schaltungsblock.
21. Verfahren zum Verarbeiten erster und zweiter Eingangslo
giksignale in ein Ausgangslogiksignal mit den folgenden
Verfahrensschritten:
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, dem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Logiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zwei ten Zwischenlogiksignal und zum Erzeugen eines Ausgangs logiksignals und
Verhindern der Eingabe eines spezifischen Eingangs logiksignals in den ersten Schaltungsblock.
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, dem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Logiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zwei ten Zwischenlogiksignal und zum Erzeugen eines Ausgangs logiksignals und
Verhindern der Eingabe eines spezifischen Eingangs logiksignals in den ersten Schaltungsblock.
22. Verfahren zum Verarbeiten erster und zweiter Eingangslo
giksignal in ein Ausgangslogiksignal mit den Verfahrens
schritten:
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, einem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen ei ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal und Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus gangslogiksignals, und
Versorgen des ersten Schaltungsblocks mit einem Signal, das aus einer dritten Logikoperation zwischen dem Eingangssteuersignal und einem Taktsignal anstelle des Eingangssteuersignals resultiert.
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, einem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen ei ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal und Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus gangslogiksignals, und
Versorgen des ersten Schaltungsblocks mit einem Signal, das aus einer dritten Logikoperation zwischen dem Eingangssteuersignal und einem Taktsignal anstelle des Eingangssteuersignals resultiert.
23. Verfahren zum Verarbeiten eines ersten und zweiten Ein
gangslogiksignals in ein Ausgangslogiksignal mit den
folgenden Verfahrensschritten:
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, dem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen ei ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Einsatzlogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus gangslogiksignals und
Ausführen einer dritten Logikoperation in dem er sten Schaltungsblock zur selektiven Steuersignalverzöge rung.
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, dem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen ei ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Einsatzlogiksignals und dem Eingangssteuersignal und zum Erzeugen erster und zweiter Zwischenlogiksignale,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus gangslogiksignals und
Ausführen einer dritten Logikoperation in dem er sten Schaltungsblock zur selektiven Steuersignalverzöge rung.
24. Verfahren zum Verarbeiten eines ersten und zweiten Ein
gangslogiksignals in ein Ausgangslogiksignal mit den
folgenden Verfahrensschritten:
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, dem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen ei ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zu Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus gangslogiksignals, und
Abstimmen jeder Eingangslage des ersten Eingangslo giksignals und des zweiten Eingangslogiksignals in dem ersten Schaltungsblock, so daß ein spezifiziertes Ein gangslogiksignal als das Ausgangslogiksignal unter den Eingangslogiksignalen ausgewählt werden kann, wenn ent weder das erste Eingangslogiksignal oder das zweite Ein gangslogiksignal als das Ausgangslogiksignal auszugeben ist.
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, dem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen ei ner ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und dem Eingangssteuersignal und zu Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignal zum Ausführen einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zum Erzeugen des Aus gangslogiksignals, und
Abstimmen jeder Eingangslage des ersten Eingangslo giksignals und des zweiten Eingangslogiksignals in dem ersten Schaltungsblock, so daß ein spezifiziertes Ein gangslogiksignal als das Ausgangslogiksignal unter den Eingangslogiksignalen ausgewählt werden kann, wenn ent weder das erste Eingangslogiksignal oder das zweite Ein gangslogiksignal als das Ausgangslogiksignal auszugeben ist.
25. Verfahren zum Verarbeiten eines ersten und eines zweiten
Eingangslogiksignals in ein Ausgangslogiksignal, mit den
Verfahrensschritten:
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, dem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und des Eingangssteuersignals und zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignals zum Ausfüh ren einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zu Erzeugen des Aus gangslogiksignals,
Versorgen eines Registers mit einem ersten Takt signal zum Speichern des Ausgangslogiksignals und
Ausführen einer dritten Logikoperation in einem dritten Schaltungsblock zwischen dem ersten Taktsignal und dem Eingangssteuersignal zum Erzeugen eines zweiten Taktsignals und zum Zuführen des zweiten Taktsignals zu dem Register, wenn die Bedingung erfüllt ist, daß, wenn der Wert des Eingangssteuersignals gleich einem vorgege benen Wert ist, das Register das Ausgangslogiksignal nicht speichern muß,
wobei das zweite Taktsignal ohne Übergang in Takt gehalten wird, wenn der Wert des Eingangssteuersignals gleich dem vorgegebenen Wert ist.
Versorgen eines ersten Schaltungsblocks mit dem er sten Eingangslogiksignal, dem zweiten Eingangslogik signal und einem Eingangssteuersignal zum Ausführen einer ersten Logikoperation zwischen einem Satz des ersten Eingangslogiksignals und dem Eingangssteuersignal und zwischen einem Satz des zweiten Eingangslogiksignals und des Eingangssteuersignals und zum Erzeugen eines ersten und eines zweiten Zwischenlogiksignals,
Versorgen eines zweiten Schaltungsblocks mit dem ersten und dem zweiten Zwischenlogiksignals zum Ausfüh ren einer zweiten Logikoperation zwischen dem ersten und dem zweiten Zwischenlogiksignal und zu Erzeugen des Aus gangslogiksignals,
Versorgen eines Registers mit einem ersten Takt signal zum Speichern des Ausgangslogiksignals und
Ausführen einer dritten Logikoperation in einem dritten Schaltungsblock zwischen dem ersten Taktsignal und dem Eingangssteuersignal zum Erzeugen eines zweiten Taktsignals und zum Zuführen des zweiten Taktsignals zu dem Register, wenn die Bedingung erfüllt ist, daß, wenn der Wert des Eingangssteuersignals gleich einem vorgege benen Wert ist, das Register das Ausgangslogiksignal nicht speichern muß,
wobei das zweite Taktsignal ohne Übergang in Takt gehalten wird, wenn der Wert des Eingangssteuersignals gleich dem vorgegebenen Wert ist.
26. Verfahren nach Anspruch 19, mit den folgenden Verfah
rensschritten:
- (1) Festlegen von Anfangsparametern eines Schaltkreises, basierend auf einer Verhaltens-Design-Spezifikation,
- (2) Festlegen einer Netzliste durch Kartieren der Imple mentierungen zu einer vorgegebenen Bibliothek,
- (3) Festlegen von Zyklus-Zyklus-Vektoren durch Simulie ren der Verhaltensspezifikation,
- (4) Ermitteln der Signalstatistik für den Energiever brauch durch Simulieren der Netzliste unter Verwen dung der Vektoren,
- (5) Automatisches Selektieren eines Verfahrens unter mehreren Verfahren zum Strukturieren eines Schalt kreises zum Anwenden des ausgewählten Verfahrens auf den Schaltkreis, so daß der Energieverbrauch für eine vorgegebene Designebene optimal reduziert wird, und
- (6) Wiederholen der Schritte (4) und (5), bis der Ge samt-Energieverbrauch des Schaltkreises minimiert ist.
27. Computerlesbares Medium zum Speichern eines Programms,
das betreibbar ist als Reaktion auf ein Eingangslogik
signal und ein Eingangssteuersignal zum Ausführen einer
logischen Operation zwischen dem Eingangslogiksignal und
dem Eingangssteuersignal und zum Erzeugen eines Aus
gangslogiksignals zu einem Zeitpunkt, der durch den
Empfangszeitpunkt des Eingangssteuersignals bestimmt
wird, wobei das Programm die folgenden Schritte auf
weist:
Vorbereiten eines redundanten Logikschaltkreises mit der redundanten Struktur zum Verarbeiten des logi schen Prozesses aufgrund des Eingangslogiksignals,
Steuern des Eingangstaktes und/oder des Aus gangstaktes, wobei der Eingangstakt durch die Empfangs zeitlage entweder des Eingangslogiksignals oder des Ein gangssteuersignals in den redundanten Logikschaltkreis bestimmt wird, und der Ausgangstakt bestimmt wird durch die Ausgangszeitlage eines Ausgangssignals von dem re dundanten Logikschaltkreis, und
Vermeiden des Auftretens eines Störimpulses bei dem Eingangslogiksignal und/oder dem Eingangssteuersignal durch Steuern der Takte für den redundanten Logikschalt kreis.
Vorbereiten eines redundanten Logikschaltkreises mit der redundanten Struktur zum Verarbeiten des logi schen Prozesses aufgrund des Eingangslogiksignals,
Steuern des Eingangstaktes und/oder des Aus gangstaktes, wobei der Eingangstakt durch die Empfangs zeitlage entweder des Eingangslogiksignals oder des Ein gangssteuersignals in den redundanten Logikschaltkreis bestimmt wird, und der Ausgangstakt bestimmt wird durch die Ausgangszeitlage eines Ausgangssignals von dem re dundanten Logikschaltkreis, und
Vermeiden des Auftretens eines Störimpulses bei dem Eingangslogiksignal und/oder dem Eingangssteuersignal durch Steuern der Takte für den redundanten Logikschalt kreis.
28. Verfahren zum Verringern des Einflusses eines Störimpul
ses in einem Eingangssignal, das einem Logikschaltkreis
zugeführt wird, der eine Logikoperation in bezug auf das
Eingangssignal zum Erzeugen eines Ausgangssignals aus
führt, mit den folgenden Schritten:
Identifizieren des den Störimpuls enthaltenden Ein gangssignals als spezifiziertes Eingangssignal,
Aufnehmen entweder der Zeitlage oder der Korrela tion zwischen mehreren Kombinationen des spezifizierten Eingangssignals und eines anderen Eingangssignals, und
ausgewähltes Ändern der Zeitlage und/oder der Kor relation zwischen den Kombinationen entsprechend dem Er gebnis des Aufnahmeschritts, um den Einfluß des Störim pulses auf das Ausgangssignal zu reduzieren.
Identifizieren des den Störimpuls enthaltenden Ein gangssignals als spezifiziertes Eingangssignal,
Aufnehmen entweder der Zeitlage oder der Korrela tion zwischen mehreren Kombinationen des spezifizierten Eingangssignals und eines anderen Eingangssignals, und
ausgewähltes Ändern der Zeitlage und/oder der Kor relation zwischen den Kombinationen entsprechend dem Er gebnis des Aufnahmeschritts, um den Einfluß des Störim pulses auf das Ausgangssignal zu reduzieren.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5093997P | 1997-06-03 | 1997-06-03 | |
US60-050,939 | 1997-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19824796A1 true DE19824796A1 (de) | 1999-01-07 |
DE19824796B4 DE19824796B4 (de) | 2006-08-10 |
Family
ID=21968452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19824796A Expired - Fee Related DE19824796B4 (de) | 1997-06-03 | 1998-06-03 | Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -Reduktion |
Country Status (3)
Country | Link |
---|---|
US (1) | US6324679B1 (de) |
JP (1) | JP3331968B2 (de) |
DE (1) | DE19824796B4 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7766904B2 (en) | 2003-01-31 | 2010-08-03 | Iridex Corporation | Adjustable laser probe for use in vitreoretinal surgery |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643481B2 (en) * | 1999-03-17 | 2010-01-05 | Broadcom Corporation | Network switch having a programmable counter |
US6850521B1 (en) * | 1999-03-17 | 2005-02-01 | Broadcom Corporation | Network switch |
US6523157B1 (en) * | 1999-04-30 | 2003-02-18 | Matsushita Electric Industrial Co., Ltd. | Method for designing integrated circuit device and database for design of integrated circuit device |
US6859454B1 (en) * | 1999-06-30 | 2005-02-22 | Broadcom Corporation | Network switch with high-speed serializing/deserializing hazard-free double data rate switching |
JP3836276B2 (ja) * | 1999-09-17 | 2006-10-25 | 株式会社東芝 | 集積回路のノイズ及び電力の評価方法 |
JP2001142927A (ja) * | 1999-11-16 | 2001-05-25 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置の設計方法,回路の消費電力解析方法及び消費電力解析装置 |
AU1580301A (en) * | 1999-11-16 | 2001-05-30 | Broadcom Corporation | Network switch with high-speed serializing/deserializing hazard-free double datarate switching |
KR20020034540A (ko) * | 2000-11-02 | 2002-05-09 | 박종섭 | 이동통신 제어국 시스템에서의 1pps 그리취 제거방법 |
US6763513B1 (en) * | 2001-12-18 | 2004-07-13 | Cadence Design Systems, Inc. | Clock tree synthesizer for balancing reconvergent and crossover clock trees |
US7003743B2 (en) * | 2002-02-01 | 2006-02-21 | Freescale Semiconductor, Inc. | Method and system of data processor design by sensitizing logical difference |
US7007247B1 (en) * | 2002-05-24 | 2006-02-28 | Cadence Design Systems, Inc. | Method and mechanism for RTL power optimization |
US6904573B1 (en) | 2003-05-27 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Logic gate identification based on hardware description language circuit specification |
DE10324565A1 (de) * | 2003-05-30 | 2004-12-30 | Chipvision Desigin Systems Ag | Verfahren und Vorrichtung zum Schaltungsentwurf mittels High-Level-Synthese |
US7546559B2 (en) * | 2003-08-01 | 2009-06-09 | Atrenta, Inc. | Method of optimization of clock gating in integrated circuit designs |
US7076748B2 (en) * | 2003-08-01 | 2006-07-11 | Atrenta Inc. | Identification and implementation of clock gating in the design of integrated circuits |
US7299436B2 (en) * | 2005-02-10 | 2007-11-20 | International Business Machines Corporation | System and method for accurately modeling an asynchronous interface using expanded logic elements |
JP4528728B2 (ja) * | 2006-01-31 | 2010-08-18 | 株式会社東芝 | デジタル回路の自動設計装置、自動設計方法、および自動設計プログラム |
US7421671B2 (en) * | 2006-08-31 | 2008-09-02 | Sun Microsystems, Inc. | Graph pruning scheme for sensitivity analysis with partitions |
US7555741B1 (en) * | 2006-09-13 | 2009-06-30 | Altera Corporation | Computer-aided-design tools for reducing power consumption in programmable logic devices |
JP5023652B2 (ja) * | 2006-10-17 | 2012-09-12 | 日本電気株式会社 | 回路生成システム、回路生成方法及び回路生成プログラム |
US8010935B2 (en) * | 2008-05-07 | 2011-08-30 | Lsi Corporation | Electronic design automation tool and method for optimizing the placement of process monitors in an integrated circuit |
US8166428B2 (en) * | 2008-08-18 | 2012-04-24 | Lsi Corporation | Synthesized logic replacement |
US8392858B2 (en) * | 2009-03-06 | 2013-03-05 | Skyworks Solutions, Inc. | Detection and removal of hazards during optimization of logic circuits |
US8239805B2 (en) | 2009-07-27 | 2012-08-07 | Lsi Corporation | Method for designing integrated circuits employing a partitioned hierarchical design flow and an apparatus employing the method |
US8365131B2 (en) * | 2010-01-11 | 2013-01-29 | Empire Technology Development Llc | Hardware synthesis using thermally aware scheduling and binding |
US8555228B2 (en) * | 2011-12-29 | 2013-10-08 | Intel Corporation | Tool for glitch removal |
US9038006B2 (en) * | 2013-04-30 | 2015-05-19 | Freescale Semiconductor, Inc. | Method and apparatus for generating gate-level activity data for use in clock gating efficiency analysis |
US20160217239A1 (en) * | 2015-01-22 | 2016-07-28 | Synopsys, Inc. | Method and system for selecting stimulation signals for power estimation |
US10528600B1 (en) * | 2017-09-13 | 2020-01-07 | Hrl Laboratories, Llc | System to identify unknown communication behavior relationships from time series |
US11195107B1 (en) * | 2017-09-13 | 2021-12-07 | Hrl Laboratories, Llc | Method of malicious social activity prediction using spatial-temporal social network data |
US11593543B2 (en) * | 2020-03-04 | 2023-02-28 | Synopsys, Inc. | Glitch power analysis with register transfer level vectors |
CN111477149B (zh) * | 2020-04-22 | 2023-06-20 | 京东方科技集团股份有限公司 | 数据输出电路及数据输出方法、显示装置 |
TWI768536B (zh) * | 2020-11-06 | 2022-06-21 | 瑞昱半導體股份有限公司 | 積體電路模擬及設計方法與系統 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61262827A (ja) | 1985-05-15 | 1986-11-20 | Mitsubishi Electric Corp | 半導体集積回路装置 |
US4737660A (en) * | 1986-11-13 | 1988-04-12 | Transensory Device, Inc. | Trimmable microminiature force-sensitive switch |
US5155380A (en) * | 1991-04-12 | 1992-10-13 | Acer Incorporated | Clock switching circuit and method for preventing glitch during switching |
US5237573A (en) * | 1992-03-31 | 1993-08-17 | Apple Computer, Inc. | Method and apparatus for selectively switching between input signals |
US5623223A (en) * | 1994-10-12 | 1997-04-22 | National Semiconductor Corporation | Glitchless clock switching circuit |
FR2726409B1 (fr) | 1994-10-28 | 1996-12-13 | Suisse Electronique Microtech | Multiplexeur de variables logiques |
US6021381A (en) * | 1996-06-05 | 2000-02-01 | Sharp Kabushiki Kaisha | System for detecting power consumption of integrated circuit |
US5831864A (en) * | 1996-10-31 | 1998-11-03 | Trustees Of Princeton University | Design tools for high-level synthesis of a low-power data path |
US6026220A (en) * | 1996-11-19 | 2000-02-15 | Unisys Corporation | Method and apparatus for incremntally optimizing a circuit design |
-
1998
- 1998-06-01 US US09/088,107 patent/US6324679B1/en not_active Expired - Lifetime
- 1998-06-03 DE DE19824796A patent/DE19824796B4/de not_active Expired - Fee Related
- 1998-06-03 JP JP15448998A patent/JP3331968B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7766904B2 (en) | 2003-01-31 | 2010-08-03 | Iridex Corporation | Adjustable laser probe for use in vitreoretinal surgery |
Also Published As
Publication number | Publication date |
---|---|
DE19824796B4 (de) | 2006-08-10 |
US6324679B1 (en) | 2001-11-27 |
JPH1173302A (ja) | 1999-03-16 |
JP3331968B2 (ja) | 2002-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19824796B4 (de) | Verfahren und Vorrichtung zur Leistungsoptimierung der Registerübertragungsebene, insbesondere mit einer Störimpuls-Analyse und -Reduktion | |
DE10045568B4 (de) | Ereignisgestütztes Halbleiterprüfsystem | |
DE60107904T2 (de) | Gerät und Verfahren zur automatischen Erzeugung von Schaltungen, und Rechnerprogrammprodukt zur Ausführung des Verfahrens | |
US5481695A (en) | System and method for estimating crosstalk between signal lines in a circuit | |
DE19903633A1 (de) | Implementierung von Boolescher Erfüllbarkeit mit nichtchronologischer Rückwärtsverarbeitung in rekonfigurierbarer Hardware | |
DE19860062A1 (de) | Verfahren der erzwungenen Registerteilung für die Konstruktion von leistungsarmen VLSI | |
DE60005670T2 (de) | Aktualisierung der platzierung während der technologieabbildung | |
DE102020113922A1 (de) | Multipliziererschaltungsanordnung mit reduzierter latenz für sehr grosse zahlen | |
DE60221462T2 (de) | Vorrichtung und Verfahren zur High-Level-Synthese, Verfahren zur Produktion von logischen Schaltungen unter Verwendung des Verfahrens zur High-Level-Synthese,und Aufzeichnungsmedium | |
Chen et al. | Activity-sensitive clock tree construction for low power | |
DE102006020186A1 (de) | Vorrichtung und Verfahren von Verzögerungsberechnung für strukturierte ASIC | |
WO1992018944A1 (de) | Verfahren zur verifikation datenverarbeitender systeme | |
DE60101169T2 (de) | Logikschaltkreis mit Pipeline-Struktur | |
DE3146721A1 (de) | Logikschaltkreis mit pruefmoeglichkeit | |
DE112013005833T5 (de) | Analyse zeitlicher Leitungsengpässe zur Steuerung einer Optimierung mit nützlichem Versatz | |
DE19530669A1 (de) | Verfahren zum automatischen Auswählen eines taktsteuernden Signalpfads in umprogrammierbaren Systemen zur Hardware-Emulation | |
Panda et al. | Technology decomposition for low-power synthesis | |
Chai et al. | Temporofunctional crosstalk noise analysis | |
DE10300699A1 (de) | Analyseverfahren für eine integrierte Schaltung und Programmprodukt | |
DE10307268A1 (de) | Ein Verfahren zum Optimieren von integrierten Hochleistungs-CMOS-Schaltungsentwürfen hinsichtlich Leistungsverbrauch und Geschwindigkeit unter Verwendung von globalen und gierigen Optimierungen in Kombination | |
US5555187A (en) | Method and apparatus for determining the timing specification of a digital circuit | |
Hu et al. | Enhanced dual-transition probabilistic power estimation with selective supergate analysis | |
Murgai | Performance optimization under rise and fall parameters | |
EP3657363A1 (de) | Registertransfer-modell und verfahren zur simulation eines integrierten schaltkreises | |
DE4233947A1 (de) | Ausgangsschaltung fuer eine integrierte halbleiterschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20150101 |