AT512192B1 - Synchrone sequentielle logikvorrichtung mit doppelt getriggerten flipflops sowie eine methode zum gezielt zeitversetzten triggern solcher zustandspeichernden register - Google Patents
Synchrone sequentielle logikvorrichtung mit doppelt getriggerten flipflops sowie eine methode zum gezielt zeitversetzten triggern solcher zustandspeichernden register Download PDFInfo
- Publication number
- AT512192B1 AT512192B1 ATA9459/2008A AT94592008A AT512192B1 AT 512192 B1 AT512192 B1 AT 512192B1 AT 94592008 A AT94592008 A AT 94592008A AT 512192 B1 AT512192 B1 AT 512192B1
- Authority
- AT
- Austria
- Prior art keywords
- flip
- clock
- edge
- data
- input
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/356—Bistable circuits
- H03K3/3562—Bistable circuits of the primary-secondary type
- H03K3/35625—Bistable circuits of the primary-secondary type using complementary field-effect transistors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/094—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
- H03K19/096—Synchronous circuits, i.e. using clock signals
- H03K19/0963—Synchronous circuits, i.e. using clock signals using transistors of complementary type
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/01—Details
- H03K3/012—Modifications of generator to improve response time or to decrease power consumption
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
Es wird ein verbesserter Entwurf oder auch Redesign-Vorschlag für synchrone logische Vorrichtungen vorgestellt, wobei eine alternative Art von Registern eingesetzt wird. Darüber hinaus wird ein dafür geeignetes Taktbaumkonzept vorgeschlagen.Die hier verwendeten besonderen Register verwenden typischerweise ein drittes Latch zusätzlich zu den traditionellen Master-Slave-Latches (zwei Zustandsspeicher). Damit wird eine Wartezeit zwischen der Übernahme und der Weitergabe von Informationsbits eingeführt, die zwischen zwei Flanken von einem oder zwei Taktsignalen liegt. Diese Register können mit extremer Taktverschiebung getaktet werden.Durch diesen neuen Ansatz werden vorteilhaft die Zeitmargen für Setup- und Haltezeit von kombinatorisch verbundenen Registern verändert. Der übergroße Zeitversetzungsbereich verringert die Spitzenströme. Das Konzept erlaubt es zusätzlich Verlustleistungen zu reduzieren. Netzlistenbasierte bestehende Designs können rasch an die neue Technologie angepasst werden; dafür müssen lediglich die verwendeten Registertypen gegen die hier vorgeschlagenen ausgetauscht werden und der Taktbaum optimiert werden.
Description
Bstereidissdiis KSieftis.Tif: AT512 192B1 2013-07-15
Beschreibung
SYNCHRONE SEQUENTIELLE LOGIKVORRICHTUNG MIT DOPPELT GETRIGGERTEN FLIPFLOPS SOWIE EINE METHODE ZUM GEZIELT ZEITVERSETZTEN TRIGGERN SOLCHER ZUSTANDSPEICHERNDEN REGISTER
[0001] Die vorgestellte Erfindung gehört zum technischen Gebiet der Elektronik, insbesondere betrifft sie Details von Halbleiterschaltkreisen für integrierte digitale Signale oder Analog-Digital-(=Gemischt-) Signal-Logikvorrichtungen. Es handelt sich um einen neuen Ansatz zum Aufbau oder zum Re-Synthetisieren von digitalen Designblöcken durch die Einführung systematisch eingesetzter doppelt getriggerter Flipflops in Kombination mit einem geeigneten Taktbaumdesign welcher Durchlaufzeit-Rückkopplung verwendet. Die neu konfigurierten Vorrichtungen ermöglichen positive Auswirkungen in Form von Reduktion der erforderlichen Stromversorgungsspitzen, in der Reduktion des Energieverbrauchs und aufgrund der Reduktion des beeinträchtigenden Einflusses von Rauschen, welches im schlimmsten Fall eine Störung und eine Fehlfunktion oder, im besonderen Fall bei Vorliegen von analogen Bauteilen, eine Qualitätsverminderung von Signalen verursacht.
BEKANNTE TECHNOLOGIEN - STAND DER TECHNIK
[0002] Herkömmliche zustandsfolgen-basierte Schaltungs-Entwürfe (State Maschinen) oder sequentielle Logiksteuer-Einrichtungen verwenden flankengesteuerte Flipflops. Solche Register halten den Ausgangzustand stabil, bis die Triggerflanke ein Überschreiben des Ausgangwerts durch den Eingangswert bewirkt. Die Eingangsdaten sollen eine Zeit lang vor dem Auslösen (Setupzeit) konstant bleiben, und manchmal auch eine Zeit lang nach dem Auslösen (Haltezeit), um verlässliches Funktionieren zu gewährleisten. Die Hauptansätze für synchrone Zustandsmaschinen wurden von Mealy und Moore entwickelt. Die Mealy-Maschine ist eine endliche Zustandsmaschine. Sie generiert einen neuen Ausgangzustand anhand der Kombination eines aktuellen Zustands aus einer Anzahl von Registern und Eingangsignalen bei einer Signalflanke. Die Moore-Maschine generiert einen neuen Ausgangzustand aus einem bereits existierenden Zustand ohne externe Eingangsignalsteuerungen.
[0003] Die meisten digitalen Elektroniksysteme sind als getaktete sequentielle Systeme entworfen. Diese Systeme sind eine eingeschränkter Form der Moore-Maschine wobei der Zustand sich nur ändert, wenn sich das allumfassende Taktsignal ändert. Typischerweise ist der gegenwärtige Zustand in den Flipflops gespeichert, und ein allumfassendes Taktsignal ist mit den Takteingängen der Flipflops verbunden. Eine typische elektronische Moore-Maschine enthält eine kombinatorische logische Kette zur Kodierung um den gegenwärtigen Zustands für die Ausgänge zu kodieren.
[0004] Eine Vielfalt integrierter flankengestriggerter Flipflops wird in gegenwärtigen sequentiellen Logikentwürfen verwendet. Die Veröffentlichung "Digital System Clocking: Highperformance and Low-power Aspects" von Vojin G. Oklobdzija, mit Wiley & Sons als Herausgeber (ISBN-10: 047127447X), gibt einen Überblick über den bestehenden Stand der Technik. Die meisten Schaltungsentwürfe verwenden Doppel-Latch-Gebilde für jedes Registerbit. Diese Master-Slave-Konfigurationen erlauben schnelle und zuverlässige Operationen bei einem niedrigen Bedarf an Siliziumfläche. (Ein Latch ist ein Auffangregister).
[0005] Die Publikation "Analysis and Design of Low-Energy Flip-Flops" von Markovic, D.; Niko-lic, B.; Brodersen, R. W. in: Low Power Electronics and Design, International Symposium on, Vol. 2001, Issue 2001, S. 52 - 55, ISBN: 1-58113-371-5, beschreibt die meist verwendeten typischen Entwürfe von Master-Slave-Latch-Paaren wie z.B. T-Gate (Transmission Gate, T-Gatter) basierte Master-Slave-Flipflops, veränderte C2MOS-MS-Flipflops (MS = Master-Slave), die Power PC603-Kombination von den beiden erstgenannten, oder NAND-NOR-MS-Flipflops.
[0006] Eine jüngere Publikation ist: "An Efficient Implementation of D-Flip-Flop Using the GDI-Technique" von Arkadiyi Morgensthtein, in: ISCAS Ό4, Proceedings of the 2004 International 1/29 psiiötsnit AT512 192B1 2013-07-15
Symposium on Circuits and Systems, 23. - 26. Mai 2004, Vol. 2, S. II- 673-6, ISBN: 0-7803-8251 -X. In diesem Artikel werden GDI-Flipflops (GDI = Gate-Diffusion-Input) Flipflop-Technologien mit anderen Flipflop-Technologien verglichen.
[0007] US 6,459,313 B1 beschreibt einen über IO Leistungsverwaltung synchron regulierten Ausgangs-Zeitversatz, in dem eine Anzahl von n Ausgängen bei einer ersten parallelen Taktflanke gehalten werden, dann in einem zweiten Schritt durch weitere n D-Flipflops mit sequentiell verschobenen Taktsignalen an Ausgangs-Kontaktflächen weitergeleitet werden.
[0008] Ein FIFO ist bekannt als ein Register, das Daten nach einem Durchschieben durch eine Registerreihe ausgibt. Die ersten Datenbits, die hereinkommen, werden zuerst ausgegeben (First-In-First-Out). Ein 2-Bit-FIFO überträgt die Daten vom Eingang in 2 Schritten, 2 Taktzyklen übertragen die Eingangsdaten an den Ausgang.
[0009] Doppel-Latch basierte Flipflops, die in synchronen Schaltungsentwürfen verwendet werden, erlauben keinen maßgeblichen Zeitversatz. Die Verzögerung auf dem Taktpfad ist abhängig von der Verzögerung auf dem kombinatorischen Logikpfad.
AUFGABE DER ERFINDUNG
[0010] Basierend auf diese bestehende Technologie wurde nach einer neuen Entwurfstechnik für synchrone sequentielle Schaltkreise gesucht, um eine bessere Performance zu erreichen, nämlich in Bezug auf den Stromverbrauch, für geringeres Rauschen, zur Verringerung des Spitzenstrombedarfes und folglich weniger Störungen oder Auswirkungen auf analoge Schaltungsteile.
[0011] Die neue Entwurfsmethodik soll eine Neuzusammenstellung bereits existierender digitaler Schaltungsdesigns mit kleinstem Aufwand erlauben. Ebenso sollen bereits bekannte Tools weiterhin verwendbar bleiben. Die erforderliche Entwurfsfläche soll vergleichbar zu jener herkömmlich entworfener Schaltungsblöcken sein. Folglich soll es ohne große Veränderung der Entwicklungs-Werkzeuge möglich sein, automatisch zu platzieren und zu verbinden. Die Generierung einer Netliste soll genauso einfach sein wie bisher.
[0012] Der neue sequentielle synchrone Entwurf soll als Ziel eine optimale Nutzung der sich wiederholenden Zeitfenster die von zwei alternierenden Flanken des Systemtakts definiert sind, haben. Die Schaltenergie soll mithilfe von synchronem Zeitversatz entkonzentriert werden. Die Nachteile aufgrund der Gleichzeitigkeit einer parallelen Datenübertragung von allen Eingängen der verwendeten Flipflops an deren Ausgänge sollen beseitigt werden. Die Erfindung soll helfen, den Zeitpunkt der Datenübernahme an einem Flipflop und die Zeitpunkte der Datenweitergabe an die Vorbereitungslogik für den nächsten Zustand voneinander zu trennen. Dies führt zu einer systematischen Verwendung von doppelt getriggerten Flipflops. Solche Flipflops müssen von denjenigen unterschieden werden, die Daten vom Eingang zum Ausgang an beiden Flanken übertragen, wie dies der Fall von Doppel- oder Dualflanken getriggerten Flipflops ist. Doppeltriggerflipflops in diesem Kontext sind Zustandspeicherflipflops, die zwei Flanken benötigen: eine fürs Speichern der Eingangssignale und eine für die Speicherinhaltfreigabe an den Ausgang.
ZUSAMMENFASSUNG DER ERFINDUNG
[0013] Die Aufgaben der Erfindung werden durch die in den Ansprüchen beschriebenen Merkmale gelöst. Vorgeschlagen wird eine synchrone sequentielle Logikvorrichtung mit einem kombinatorischen Logik- Schaltung zur sequentiellen Kombination von Zustandspeicherregister-Ausgangwerten und Eingangsdaten und zur Rückkopplung des aktuellen Status zwecks Bildung nachfolgender logischer Zustände und Kontroll- oder Anzeigeausgänge wie dies in Zählern, sequentiellen Kontrollsystemen oder Zustandsmaschinen (state machines) der Fall ist.
[0014] Die Erfindung benötigt eine Mehrzahl von Flipflops, die bei jedem Taktzyklus zweimal getriggert werden. Dies erfolgt derart, dass jedes Flipflop einen unterschiedlichen Übernahmezeitpunkt für neue Werte an den Dateneingängen gegenüber der Freigabe der Datenwerte beim 2/29
österreichisches paiattsmt AT512 192B1 2013-07-15
Datenausgang aufweist. Zwischen diesen Zeitpunkten wird ein unsichtbarer „eingefrorener" Inhaltszustand an den Schnittstellen zwischen den Flipflops gespeichert. Die Zeitpunkte werden von verschiedenen Flanken an zwei unterschiedliche Takteingänge definiert, am besten durch aufeinanderfolgenden Flanken eines einzigen Taktsignals an beiden Takteingängen. Dementsprechend werden verschiedene Flanken eines Taktsignals (oder zweier Taktsignale) zur Übertragung des Signals in zwei Schritten durch jedes Flipflop verwendet. Funktionell ist dies vergleichbar mit einem 1-Bit-FIFO mit zwei seriell verbundenen flankengetriggerten Flipflops. Die für die Erfindung verwendeten Flipflops können so gebaut werden, dass sie Daten am Eingang an der positiven Flanke eines Signals annehmen und den Inhaltswert an der negativen Flanke eines Signals ausgeben, was die erste Bauart wäre. Die zugehörigen Takteingänge können von einer oder zwei Taktsignalen gesteuert werden. Der Dateneingang und -ausgang sind ähnlich wie bei bekannten Registern.
[0015] Umgekehrt ist eine weitere Bauart der erfundenen Flipflops gebaut, welche Daten bei der negativen Flanke eines Signals annimmt und Daten bei der positiven Flanke ausgibt.
[0016] Zur Vervollständigung wird eine dritte Form eines Zustandspeicherregisters für nützlich gehalten, welche Daten an beiden Flanken eines Signals beim ersten Takteingang annimmt und den Pufferinhalt bei der nächsten positiven oder negativen Flanke am zweiten Takteingang über den Ausgang ausgibt.
[0017] Vorteilhaft für testfähige Entwürfe ist ein zweiter Scan-Dateneingang für Prüfzwecke unter Testbedingungen. Ein Eingangsselektor, insbesondere ein Multiplexer, ist erforderlich, um die kombinatorische Logikgruppe von den Registern zu trennen und dann mit dem Test-Signal-Pfad neu zu verbinden.
[0018] Der dritte Form des Zustandspeicherregister-Flipflops kann mithilfe einer parallelen Kombination eines Flipflop der ersten Bauform und eines modifizierten Flipflops der zweiten Bauform gebildet werden, wobei die Dateneingänge, die für die Daten-Aufnahme erforderlichen Taktanschlüsse und die für die Inhaltsfreigabe triggernden Taktsignalanschlüsse miteinander verbunden werden. Der Datenausgang dieser dritten Bauform könnten die multigeplexten Ausgänge der verwendeten Flipflops sein wobei das Taktsignal zum Durchschalten des Inhaltswertes an den Ausgang als Wahlsignal dient.
[0019] Anstatt zwei seriell getriggerte Flipflops zu kombinieren, um die Zustandspeicherregister zu erhalten, ist es vorteilhafter, eine Kombination von drei seriellen Latches zu nehmen. Ein Master-Slave-Flipflop und ein Latch führen auch zu demselben Ergebnis. Die neue Konfiguration stellt eine zweistufige Master-Slave-Konfiguration dar, und wird infolge als „Master-Slave-Subslave"-Konfiguration bezeichnet.
[0020] Viele Latch-Arten sind verwendbar. Die interessantesten Technologien sind die auf Basis von mC2MOS, PowerPC, Transmissiongate (T-Gates), NAND-NOR-Gatter, Gate-Diffusion-Input oder Differenzverstärker, die allesamt bereits als Master-Slave-Konfigurationen bekannt sind.
[0021] Im Einzelnen: [0022] Durch die Verwendung von Submikrontechnologie z.B. 0,18pm CMOS-Halbeiterpro-zesstechnologie ist es besser, komplementäre mC2MOS-(Metaloxidhalbleiter- mit modifizierter Taktung) Schaltkreise für mindestens eines der drei erforderlichen Latches zu verwenden. In diesem Latch werden ein getakteter CMOS-Inverter mit einem CMOS-Inverter im Rückkopplungszweig sowie entweder ein weiterer getakteter CMOS-Inverter oder ein Transmissiongate kombiniert.
[0023] Alternativ wird mindestens ein Latch als erweiterte PowerPC-Latch-Konfiguration gebildet, wobei eine Rückkopplung mit einem Inverter und ein getakteter Inverter eingesetzt sind.
[0024] Ebenso möglich ist die Verwendung des erweiterten Transmissiongate-basierten Latches das aus einem getakteten Transmissiongate mit Inverter-Rückschleife sowie einem zweiten getakteten Transmissiongate besteht. 3/29
Bstereidissdiis KSieftis.Tif: AT512 192B1 2013-07-15 [0025] Eine weitere Kombination könnte zu einem zustandspeichernden Flipflop führen, wenn der Master und der Subslave AND-NOR-Latches sind und der Slave ein OR-NAND-Latch ist. Andererseits könnten der Master und der Subslave auch OR-NAN D-Latches und der Slave ein AND-NOR-Latch.
[0026] Ein weiteres vorteilhaftes Flipflopmodell könnte nach der Gate-Diffusion-Input-Technik konstruiert werden, wobei jedes Latch über zwei am Gate getaktete PMOS-NMOS-Serien-schaltungen verfügt, die verfügt, welche mit zwei komplementären Dateneingängen verbunden sind und zwei Inverter aufweisen, zum Invertieren der PMOS-Strukturausgänge und Zuführen dieses invertierten Signals an den dritten Anschluss der NMOS-Struktur des jeweils anderen Zweiges.
[0027] Eine andere mögliche Lösung ist durch eine getaktete Leseverstärkerstufe mit differentiellen Eingängen und differentiellen Ausgängen für jedes der drei Latches gegeben.
[0028] Viele weitere Lösungen sind möglich; in der Regel sind die verwendeten Techniken dieselben; jedoch kann es nützlich sein, drei Latches mindestens zweier Bauarten zusammen mit einem Flipflop mit zwei separaten Triggerzeitpunkten für die Übernahme der Eingangsdaten und für die Abgabe der intern gespeicherten Werte an den Ausgang zu kombinieren.
[0029] Neben einer Trennung des Zeitpunkts der Annahme vom Zeitpunkt der Abgabe der Datenwerte an einer Anzahl von n modifizierten Flipflops der ersten, zweiten oder dritten Bauform (1, 2, 3) können vorteilhaft auch deren Takte ebenfalls in serieller zeitlicher Abfolge an diesen Flipflops organisiert sein. Im Normalfall wird dieser Zeitversatz durch serielles Anschließen von Inverterreihen zur Bildung eines Taktbaumzweigs erzeugt. Diese Antikoinzidenz ermöglicht eine Senkung der Extremwerte des Ladestroms für parasitäre Kapazitäten und eine Reduktion der Störungen durch Rauschen. Die Taktsignale sind verteilt.
[0030] Anstatt direkt ein Systemtaktsignal zu benutzen, kann ein Impulsgenerator genommen werden, der durch die steigende und fallende Flanke dieses Taktsignals getriggert wird, um alle Takteingänge der Flipflops anzusteuern. Der Impulsgenerator generiert zeitversetzte erste Flankensignale für die Übernahmezeitpunkte - entlang aller n modifizierten Flipflops. Die letzte Signaländerung dieser wiederholt erzeugten Triggersignale beendet asynchron die Pulsdauer durch ein Reset, um ein zweites zeitversetztes Flankensignal für die Freigabezeitpunkte in derselben Reihenfolge entlang aller n modifizierten Flipflops zu generieren. Um beide Flanken des Systemtaktes für die Ansteuerung des sequentiellen Logikblockes zu verwenden, können zwei Impulsgeneratoren und zwei Zweige von modifizierten Flipflops entworfen werden. In diesem Fall wird einer der Impulsgeneratoren durch die steigende Flanke getriggert und der andere durch die fallende Flanke des Systemtakts.
[0031] Anstelle eines Zweigs könnten auch zwei oder mehr parallele Zweige gebaut werden mit derselben oder einer unterschiedlichen Anzahl modifizierter Flipflops. Der langsamste Taktdurchlauf durch die Zweige bestimmt die Beendigung der generierten Impulssequenz.
[0032] Die Erfindung beinhaltet des Weiteren eine Methode zum Triggern einer Vielzahl zustandspeichernder Register in einer sequentiellen synchronen Logikvorrichtung welche oben genannten zustandspeichernden Registertypen einsetzt, also solch die über separate Steuermittel für Datenübernahme und -freigabe verfügen. Zuerst wird die erste Flanke eines Taktimpulses synchron zum Systemtakt generiert. Diese Flanke wird sequentiell zeitlich verlagert mithilfe von Zeitversatz erzeugenden Vorrichtungen zur Verteilung der Zeitpunkte der Übernahme von Eingangsdaten aus einer Schnittstelle oder aus einer kombinatorischen Schaltung, über die Takteingänge der speziellen doppelt flankengetriggerten Register. In einem zweiten Schritt wird die zeitlich letzte Flanke der zuvor sequentiell zeitlich verlagerten Flanken benutzt, um die Dauer der Taktimpulse zu beenden und eine zweite Flanke zu generieren. Dies geschieht in gleicher zeitlicher Abfolge mit Zeitversatz-Vorrichtungen, um die Zeitpunkte zur Taktung für die Ausgabe der zuvor gespeicherten Eingangsdatenwerte in den jeweiligen Registern an ihren Ausgängen zu verteilen.
[0033] Vorzugsweise sind die erste Flanke und die zweite Flanke die Übergänge der logischen 4/29
psiettM: AT512 192B1 2013-07-15
Zustände eines Einzelsignals, dessen Zustand entweder vom Systemtakt oder vom letzten Übergangszeitpunkt der verschobenen Flanken geändert wurde, und wobei die separaten Steuermittel durch dieses Einzelsignal bzw. seine verzögerten Ausformungen getaktet werden.
[0034] Die Innovation ist anhand der folgenden Ausführungen ausführlich beschrieben: [0035] Fig. 1 [0036] Fig. 2 [0037] Fig. 3 [0038] Fig. 4 [0039] Fig. 5 [0040] Fig. 6 und Fig. 7 [0041] Fig. 8 zeigt das Symbol eines separaten Eingangs-Ausgangs-Steuer-Flipflops mit flankengetriggertem Puffer Flipflop der ersten Bauart der Erfindung. ist ein bislang bekanntes Darstellungssymbol 100 für Dualflanken- oder Doppelflankentriggerflipflops jedoch mit einer anderen Funktionalität verglichen mit der Vorrichtung in Fig. 1. ist das Symbol einer alternativen Vorrichtung für die Erfindung in der Bauart 2 für ein flankengetriggertes Flipflop mit separaten Eingangs- und Ausgangskontrolle mit Puffer. Dabei sind die Flanken der triggernden Eingänge sind gegenläufig im Vergleich zu den entsprechenden Triggereingängen der Vorrichtung in der Fig. 1. ist ein Schaltbild auf Blocksymbolebene einer veränderten Vorrichtung in Bezug auf Fig. 2 mit separaten Triggersignalen für die Eingangsübernahme und die Ausgangfreigabe verwendbar als Vorrichtung der dritten Bauart der Erfindung. ist das Symbol eines Flipflops, das separat Eingang und Ausgang über beide Flanken triggern lässt, also der Bauart 3 der Erfindung. zeigen den typischen Anschluss von Einzelsteuersignalen bei der ersten und zweiten Bauform (1,2) der Erfindung eines modifizierten Flipflops an ein Taktbaumsignal CLK oder an einen Triggerimpuls. zeigt den typischen Anschluss von Einzelsteuersignalen bei einer Flipflopvorrichtung der dritten Bauart der Erfindung zum Taktbaumsignal CLK oder zu einem Triggerimpuls.
[0042] Fig. 9, Fig. 11 und Fig. 13 zeigen eine Kombination der modifizierten Flipflops der
Bauart 1, 2 oder 3 mit Durchlaufzeit benötigenden Elementen 40 zur Vergrößerung der Verzögerung zwischen Eingangsdatenübernahme und Ausgangfreigabe in Fällen, wo nur ein Triggersignal CLK verwendet wird.
[0043] Fig. 10, Fig. 12 und Fig. 14 zeigen eine Kombination der modifizierten Flipflops der
Bauart 1, 2 oder 3 mit Durchlaufzeit benötigenden Elementen 40 zur Verringerung der Verzögerung zwischen Eingangsdatenübernahme und Ausgangfreigabe in Fällen, wo nur ein Triggersignal CLK verwendet wird.
[0044] Fig. 15 und Fig. 16 sind herkömmliche Darstellungen von D-Flipflops (Master-
Slave) auf Basis der mC2MOS-Technik (modifizierter getakteter komplementärer Metaloxidhalbleiter) mit Invertern 5 auf Transistorebene und Invertern 4 auf Gatter-Ebene.
[0045] Fig. 15a ist eine Darstellung eines Inverters 4 auf Transistorebene zur Verwendung in Fig. 15ff (Stand der Technik). 5/29
ÖSfetrWChiSCht pSfetiäiitt AT512 192B1 2013-07-15 [0046] Fig. 17 [0047] Fig. 18 [0048] Fig. 19 [0049] Fig. 20 [0050] Fig. 21 [0051] Fig. 21a [0052] Fig. 22 [0053] Fig. 23 [0054] Fig. 24 und Fig. 25 [0055] Fig. 25 und Fig. 27 [0056] Fig. 28 [0057] Fig. 29 [0058] Fig. 30 zeigt das Schaltbild und Fig. 17a das modifizierte Schaltsymbol 22 der möglichen Ausführung eines separat Eingang- und Ausgang-gesteuerten Flipflops von der Bauart 1 mit flankengetriggertem Puffer der Erfindung basierend auf mC2MOS-Technik und unter Verwendung desselben Signals für die Eingangsdatenübernahme und die Ausgangdatenfreigabe jedoch durch entgegengesetzte gerichtete Flanken. zeigt die Vorrichtung wie im Schaltbild Fig. 17 jedoch mit separaten Triggersignaleingängen. zeigt eine modifizierte Ausführung der Fig. 17 mit Scan-Eingang zur Testbarkeit. Fig. 19a ist das vorgeschlagene Symbol 27 für die Vorrichtung im Schaltbild Fig. 19. zeigt das Schaltbild eines Master-Slave-Subslave-Flipflops basierend auf Transmissiongate-Latches. zeigt auf Gatterebene das Schaltbild mit NAND-OR/NOR-AND Speicher Flipflops (Master-Slave-Subslave) mit separaten Triggereingängen für die Datenübernahme und die Datenausgabe, wo ein Symbol wie in Fig. 3 zutrifft. ist das Flipflop aus Fig. 21 in der Darstellung auf Transistorebene. ist ein weiteres Beispiel für einen Pufferflipflop entsprechend dem Symbol des Flipflop erster Bauart 1 wie in Fig. 1 unter Verwendung der Gate-Diffusion-Input-Technik. ist die Darstellung eines Flipflops mit drei differentiellen Leseverstärkern in SSTC (Static Single Transistor Clocked) Architektur mit der Funktionalität eines typischen Flipflops der ersten Bauart 1 gemäß Symbol Fig. 1. zeigen Ausführungen von Impulsgeneratoren zur sequentiellen Taktung von Flipflops der Bauarten 1, 2 oder 3 mit flankengetriggertem Puffer und getrennter Ansteuerung der Datenübernahme und Datenfreigabe mithilfe der positiven Flanke des Flaupttaktes Clk. benötigen eine maximale Versatzzeit von weniger als einem Haupttaktzyklus, während Fig. 24 und Fig. 26 eine Versatzverzögerung von weniger als die anführende Phasenlaufzeit des Haupttaktes erfordern. ist der Generierungsblock für die zeitlich versetzten Taktzeitpunkte zur Registertriggerung. ein Ausführungsbeispiel eines Taktverteilungssystems mit drei parallelen Zweigen für beide Flanken des Haupttaktsignals Clk unter Verwendung von NAND- und NOR-Gattern und D-Flipflops mit logisch LOW Reset-Eingängen. zeigt eine alternative Ausführung zum Beispiel aus Fig. 29 für ein Taktverteilungssystem unter Verwendung von AND-und NOR-Gattern und D-Flipflops mit logisch HIGH Reset-Eingängen (clear inputs). 6/29
[0059] Fig. 31 [0060] Fig. 32 [0061] Fig. 33 [0062] Fig. 34 [0063] Fig. 35 und Fig. 36 AT512 192B1 2013-07-15 zeigt den typischen Anschluss eines Zeitversatz erzeugenden Blockes 17 an eine Anzahl erfindungsgemäßer Flipflops (hier: Bauart 2) und deren typischen Anschluss an den Block mit der kombinatorischen Logik (23) in einer typischen synchronen erfinderischen Logikschaltung. ist ein Beispiel dafür, dass der Aufbaus des Generierungsblocks für den Zeitversatz mit den internen Elementen aus Flipflopstruktur 22 möglich ist. ist das Zeitdiagramm bekannter Register (Master-Slave-Flipflops). zeigt das Zeitdiagramm von doppelt getriggerten Registern (Master-Slave-Subslave). sind Zeitdiagramme zweier hintereinander logisch verbundener Flipflops 1 mit einfachem Takttrigger und eingeführtem Zeitversatz.
[0064] Die Verwendung der Vorrichtungen, deren Symbole 1,2 in Fig. 1 und Fig. 3-14 zu finden sind, ermöglicht eine Trennung der Zeitpunkte fürs Speichern oder Fixieren von Dateneingangswerten Dl von den Zeitpunkten für die Freigabe aus dessen Inneren an den Ausgang DO. Jeweils zwei Taktsignale CLK, DCLKN oder CLKN, DCLK können verwendet werden, um die Triggerpunkte wie in Fig. 1 und Figuren 3-5 beschrieben zu generieren, oder es wird nur ein Signal wird eingesetzt. Bei einem einzigen Signal kontrolliert die führende Flanke des Taktsignals die Eingangsdatenübernahme und jede darauf folgende aktive Flanke kontrolliert die Freigabe des Inhalts an den Ausgang DO und optional an einem invertierten Ausgang. In den Beispielen der Figuren 1, 2, 6, 7 und der Figuren 9-12 hat ein Takteingang eine steigende Flanke als aktive Flanke, während der andere Takteingang eine fallende Flanke als aktive Flanke hat. Dies ermöglicht eine direkte Verbindung beider Takteingänge mit dem Ergebnis, dass jede ungerade Taktflanke an den kurzgeschlossenen Eingängen die Übernahme von Eingangsdaten triggert und jede gerade Taktflanke triggert die Freigabe dieser gespeicherten Daten an den Ausgang, beginnend mit der aktiven Flanke des Eingangsdaten-Takttriggers C1 oder C1N, siehe Fig. 6 und Fig. 7. Die Verzögerung ergibt sich aus der Laufzeit der HIGH bzw. der LOW Taktphase. Diese Verzögerung kann mit Verzögerungselementen (40) geändert werden, um die Zeitdifferenz zwischen den Triggerzeitpunkten zusätzlich oder korrigierend zu addieren bzw. zu reduzieren, siehe Fig. 9 bis Fig. 12.
[0065] Ein bereits bekanntes Element ist durch Symbol Fig. 2 dargestellt, welche ein Dual- oder Doppelflankentrigger-Flipflop darstellt, mit einer Verlagerung der Eingangsdaten Dl am Eingang 1D bei jeder Flanke des Taktsignals CLK an den Ausgang DO, ohne internes Zwischenspeichern.
[0066] Ein Doppelflanken- zweifach getriggertes Flipflop kann aus zwei Doppelflanken getriggerten Flipflops 1,2 gebaut werden mit gegensinnigen Takteingängen und einem Multiplexer 30. Dies ist anhand Fig.4 gezeigt, und das Darstellungssymbol dazu in Fig. 5. In diesem Fall sind die fallenden und die steigenden Flanken aktiv. Die erste Flanke kontrolliert die Datenübernahme, und die anschließende Flanke am zweiten Takteingang kontrolliert die Datenausgabe. Es ist ebenso möglich, mit nur einem Signal an beiden Takteingängen gleichzeitig oder zeitlich versetzt zu agieren, siehe Fig. 8,13,14. Diese Methode verdoppelt die Zustandsänderungsrate bei einem gegebenen Taktsystem. Bei der vorliegenden Erfindung ist die dritte Bauart weniger relevant, da die Veränderungen bestehender Schaltungen tiefere Systemanalyse erfordern. In speziellen Fällen könnte die dritte Bauart zu schnelleren Algorithmen führen. Dies ist z.B. der Fall, wenn der kombinatorische Logikblock verdoppelt wird und die Ein- und Ausgangssignale ebenfalls gemultiplext werden.
[0067] Ein raffinierter Weg, das erforderliche Flipflop der ersten Bauart mit denselben Taktsignalen zu bauen, wäre eine Veränderung der Doppel-Latch-Struktur, wie in Fig. 15 und Fig. 16 7/29 ästef!«ciii$dii5 Mieais&Bt AT512 192B1 2013-07-15 zu sehen ist - die ein Flipflop nach modifizierter getakteter CMOS-Technologie mC2MOS darstellt-, in eine Dreifachlatch-Struktur, gemäß Fig. 17. Eine solche Bauweise verwendet getaktete Inverter 5 und Inverter 4 nach CMOS-Technologie (komplementärer Metaloxidhalbleiter) aus pmos-Transistoren 6 und nmos-Transistoren 7. Das Symbol 22 in Fig. 17a zeigt den zusätzlichen CLK1-Ausgang, der (für Zeitversatz) benutzt werden kann.
[0068] Um separate Taktsignale wie in Fig. 18 zu verwenden, sind weitere Inverter erforderlich. Da zusätzliche Scan-Eingänge und Scan-Wahleingänge nach Industriestandard oft notwendig sind, um ausreichende und schnelle Testfähigkeit durchzuführen, kann die Modifizierung entsprechend Fig. 19 vorgenommen werden, mit einem Symbol entsprechend Fig. 19a.
[0069] Obwohl mC2MOS in neuen Designs bevorzugt werden soll, besonders in der 0,18 μπ> CMOS-Prozess-Technologie, sind andere Lösungen im Rahmen dieser Erfindung nicht ausgeschlossen. Fig. 20-23 zeigen weitere Lösungen (hier ohne Scan-Eingang und Eingangsauswahl-Pin, was ebenfalls möglich ist). Ein Master-Slave-Subslave-Flipflop oder Dreifachlatch auf Basis von Transmissiongates 8, insbesondere in einer PowerPC-Konfiguration in Kombination mit mC2MOS stellt eine alternative Lösung dar, Fig. 20.
[0070] Die NANDNOR-Technologie (Fig. 21, Fig. 21a) könnte erfindungsgemäß dadurch modifiziert werden, dass drei aufeinander folgende NAND-OR/NOR-AND-Latches mit invertierten Dateneingängen und -ausgängen (Master-Slave-Subslave) eingesetzt werden. Die zwei AND-NOR-Gates 13 werden kombiniert zu einem ersten Latch und zwei weitere ANDNOR-Gates werden kombiniert zum letzten (dritten) Latch. Das mittlere Latch wird aus zwei ORNAND-Gates 14 gebildet. Der Steuereingang des dritten Latches CCT ist ein zweiter separater Triggereingang.
[0071] Die Verwendung der Gate-Diffusion-Input Technik erlaubt eine interessante Dreifach-Latch-konfiguration, wie in Fig. 22 dargestellt. Die komplementären Dateneingänge sind an die Source-Kontakten der PMOS-Transistoren geführt; die komplementären Datenausgänge resultieren an den Sourcekontakten der verlinkten NMOS-Transistoren. Die Gates werden getaktet, dabei an jedem folgenden Latch mit zuvor invertiertem Taktsignal.
[0072] Last but not least können Leseverstärkerstufen mit Rückkopplung zu Dreifach-Latchkonfigurationen kombiniert werden, wie in Fig. 23 dargestellt.
[0073] Zwei repräsentative Anordnungen der Erfindung sind in Fig. 31 und Fig. 32 gezeigt. Diese zeigen synchrone sequentielle Logik Baugruppen mit den oben beschriebenen doppelt getriggerten Flipflops. In Fig. 31 werden eine Anzahl von n Flipflops 2 der zweiten Bauart sequentiell mithilfe zeitversetzter Taktsignale getriggert. Der zeitliche Versatz erfolgt durch Block 17, einen Zeitverschiebungsblock der Durchgangsverzögerungen logischen Elemente nutzt. Die unterschiedlichen Takteingänge der Flipflops 2 sind kurzgeschlossen. Deshalb triggern die negativen zeitlich verteilten Flanken die Datenspeicherung in interne Speicher CT. Die Dateneingänge sind logisch kombinierte Werte ausgewählter Register aufgrund der Erfordernisse der Zustandmaschine. Die positiven zeitlich verteilten Flanken geben diese Daten an die Ausgänge der Flipflops aus und ermöglichen deren Kombination zu einem neuen Zustand.
[0074] Eine mögliche Konfiguration des Zeitversatzblocks ist in Fig. 28 dargestellt. Die Verzögerung des Taktsignals wird durch den Durchgang durch zwei seriell verbundene Invertergatter verursacht, n verteilte Taktlinien benötigen 2n Inverter. Der optionale zusätzliche Verzögerungsblock 26 kann verwendet werden, um die nachfolgend beschriebene Impulsgenerierungsmethode wie in Fig. 24-27 und Fig. 29 zu justieren.
[0075] Fig. 32 zeigt die mögliche implizite Bildung eines Zeitversatzblocks 17 durch die Flipflopreihe hier: eine Konstruktion aus Flipflops 22 der ersten Bauform mit Taktweiterleitung. In diesem Fall lädt die steigende Flanke den Speicher mit den logischen Inhalten und die fallende Flanke gibt die Daten zur Neukombination durch die kombinatorische Logik aus.
[0076] Der Takteingang A könnte direkt mit dem Systemtakt verbunden werden. Die Phase bis zur Ladeflanke des jeweiligen Flipflops 22 (Fig. 31) muss lang genug sein, zum Einpendeln sämtlicher kombinatorischer Prozesse aufgrund des zeitlich zuletzt getriggerten Outputs Zu- 8/29
SsfcrrÄcfe AT 512 192 B1 2013-07-15 {KtfeftMt
Standes für das betrachtete Flipflop. Aber das Signal auch muss zusätzlich stabil sein innerhalb einer Mindest-Setupzeit bis zum Taktübergang zum Laden der Datenwerte in den Inhaltsspeicher. Die Toleranzbereiche der Setupzeit und der Haltezeit sind von der Periode des Systemtakts TCYC abhängig. Die Höchstverzögerung im schlimmsten Fall unter den schlimmsten Bedingungen (Temperatur, Toleranzen in Prozessparametern) könnte durch den Pfad repräsentiert werden, mit dem maximalen Zeitversatz im Taktbaum plus der gültigen Takt-Ausgangs-Verzögerung des zuletzt getriggerten Flipflops plus der Verzögerung der entsprechenden kombinatorischen Logik für die Eingänge addiert um die jeweilige erforderliche Mindestsetupzeit am Dateneingang des zuerst getriggerten Flipflops. Die Phase zwischen Ausgabe und neuem Laden soll mindestens die maximale Verzögerung betragen. Je größer die Entfernung zwischen der ausgebenden Flanke und der nachfolgenden Ladeflanken, umso größer ist der Toleranzbereich der Setupzeit.
[0077] Ferner muss das Eingangssignal bei jedem Flipflop mindestens für die Haltezeit nach der Ladetaktsignalflanke stabil bleiben. Wenn sich z.B. die Eingangsdaten des zuletzt getakteten Flipflops in Fig. 31 wegen einer neuen Triggerflanke für die Ausgabe am ersten Flipflop bereits innerhalb der Haltezeit ändert, dann könnte es sein, dass der Inhalt CT dieses Registers negativ beeinträchtigt, also falsch ist.
[0078] Im Vergleich zu herkömmlichen sequentiellen synchronen Entwürfen ergeben sich offensichtlich Vorteile durch die höhere Entwurfsflexibilität, da die Zustandsveränderungen einer Registerbank in zwei Schritte aufgetrennt werden, entweder durch zwei synchrone (zeitversetzte) Taktsignale die eine Flanke oder beide Flanken nützt oder durch ein alternierendes Taktsignal mit verschiedenen Taktflanken für verschiedene Zwecke. Anstelle der Datenauswertung und der Überführung hin zu einer neuen Zustandsveränderung mit derselben Flanke sind hier die Prozesse voneinander getrennt.
[0079] Mit einem vom Systemtakt flankengetriggerten Impulsgenerator zum Ansteuern des Zeitversatzblockes kann die maximale Taktverzögerung dazu dienen, die Freigabetriggerpunkte nach dem letzten Übernahmetriggerzeitpunkt daraus abzuleiten. Fig. 24 bis Fig. 27 zeigen typische Ausführungen dieser Impulsgeneratortypen. Fig. 26 und Fig. 27 sind von der negativen Flanke des Systemtakts Clkl getriggert, während Fig. 24 und Fig. 25 die positiven Flanken verwenden. Auch eine zweiflankengetriggerte Lösung ist möglich. Diese Schaltkreise verwenden herkömmliche D-Flipflops 15 (Master-Slave) mit asynchronem Löschen (Clear) in einer Wechselzustandskonfiguration.
[0080] Nach dem globalen Initialreset ist der Eingang des Zeitversatzblocks A auf logisch Null gesetzt. Die steigende Flanke wird am Ausgang Q des Flipflops aufgrund der aktiven Flanke des Taktes Clk erzeugt, bei Weitergabe des QN-Werts an Q. Die Sequenz erster Flanken zur Datenübernahme in die doppel getriggerten Flipflops wird gestartet. Der B-Ausgangswert des Zeitversatzblocks 16 ist der maximale Verzögerungswert von A. Dieser Verzögerungswert löscht asynchron das taktgenerierende Flipflop, um die Freigabeflankensequenz (mit derselben Durchlaufszeit) zu starten. Ist die Taktzyklenperiode niedriger als diese beiden Zyklen, dann invertiert die nächste aktive Flanke synchron das Ausgangssignal (Fig. 25, Fig. 27).
[0081] In Fig. 24 und Fig. 26 dient ein zweites Toggle-Flipflop dazu, die zweite Flanke für die Freigabeflankensequenz entweder asynchron zu generieren bevor der Systemtaktzustand sich ändert oder um die Freigabephase synchron zur zweiten Taktphase zu zwingen.
[0082] Fig. 29 zeigt eine typische Ausführung einer Taktbaumeinrichtung mit mehreren Zweigen und mit Impulsgenerator. Dargestellt sind verschiedene strukturierte Zeitversatzblöcke 16-21 (mit unterschiedlichen Verzögerungen sowie unterschiedlich vielen angetriebenen Flipflops), die unterschiedliche Flankentrigger Clk, Clkn für die Registerzweige in verschiedenen Systemblöcken verwenden. In diesem Beispiel werden NOR- und NAND-Gatter mit invertierter Logik verwendet. Die zeitversetzten Signale sind mit typischen Registern der Bauform 1 oder 2 verbunden.
[0083] Das erfinderische Flipflop ermöglicht das Teilen der globalen Taktperiode zwischen den 9/29
Ssterreiciiisdtis psteetsflit AT512 192B1 2013-07-15
Setup- und Haltezeitintervallen. Es ermöglicht auch die Logik-Steuerung über das Verteilen dieser beiden zeitlichen Abschnitte. Mit doppelt getriggerten Registern kann jede Taktverteilungsarchitektur sicher sein, vorausgesetzt, dass die globale Taktzyklenzeit genug hoch ist, um den Setupzeittoleranzbereichen zu entsprechen und eine geeignete Verteilung von Datensetup und -haltezeit gewährleistet ist entweder durch die globale Taktsignal-Wellenform oder durch logische Kontrolle der örtliche Taktsignale. Doppelt getriggerte Register können vorteilhaft mit herkömmlichen Registern kombiniert werden, um zusätzliche Umschaltenergie zu sparen. Die Hauptaufgabe von Dreifach-Latch-Registern in kombinierten Schaltkreisen besteht darin, positive Haltezeit-Toleranzbereiche in örtlichen Datenpfaden zu gewährleisten, wo Taktversatz bei Verwendung herkömmlicher Register in negative Haltezeit-Toleranzbereiche resultieren würde. Ein Vergleich von Fig. 33, die ein einfaches D-Flipflop-(Master-Slave)-Timing zeigt, mit Fig. 34 streicht die Verbesserung für den Haltezeit-Toleranzbereich TMH heraus.
[0084] Der Haltezeit-Toleranzbereich im neuen Konzept ist TMH=TL+TDmin [0085] wobei TL für die Wartezeit steht, die sich ergibt aus der Zeit zwischen den Datenübernahmeflanken und den Datenfreigabeflanken, und TDmin für die Mindest-Zeitverzögerung aus der kombinatorischen Logik für die nächsten Register. Diese Zeitverzögerung kann über das Tastverhältnis des Taktsignals CLK reguliert werden. In herkömmlichen Systemen beträgt der Haltezeit-T oleranzbereich: [0086] TMh=TcQmin"*"TDmin_Th mit der Takt-Output-Verzögerungszeit TCQmin und der Haltezeit TH.
[0087] Es ist offensichtlich, dass das TMh herkömmlicher Schaltkreise sehr klein ist verglichen mit dem Setupzeit-Toleranzbereich TMs, der beinahe einen Taktzyklus TCyc beträgt: TMs=TcyS-Ts- T CQmax_T Dmaxi [0088] mit der Setupzeit Ts, der maximalen Takt-Datenausgabe-Verzögerung TCQmax und der max. kombinatorischen Verzögerung TDmax (Fig. 33).
[0089] Im neuen Entwurf basieren der Haltezeit-Toleranzbereich und der Setupzeit-Toleranzbereich auf dem Tastverhältnis und sind typischerweise gleich groß, wenn TL=TCyc/2. Der Setupzeit-Toleranzbereich wird durch die Wartezeit verringert: TMs=TCyc-TL-TDMax- (Fig. 34).
[0090] Fig. 35 und Fig. 36 zeigen zwei Register mit eingeführtem Zeitversatz und den typischen Timingsdiagrammen des neuen Konzepts. Fig. 35 zeigt die Verringerung des Setupzeit-Toleranzbereiches TMs aufgrund des Zeitversatzes TSkew, da das nächste Flipflop FFj früher getaktet ist als sein Vorgänger FF,. Der Haltezeit-Toleranzbereich TMH erhöht sich in diesem Beispiel (siehe Fig. 36). Die Impulsbreite Tcpw kann entweder entsprechend den Erfordernissen des Entwurfes oder mithilfe einer Schleife wie dargelegt angepasst werden. 10/29 psiiötsnit AT512 192B1 2013-07-15 BEZUGSZEICHENLISTE: 1 Flankengetriggertes Speicher-Flipflop einer ersten Bauform 2 Flankengetriggertes Speicher-Flipflop einer zweiten Bauform 3 Doppelflanken getriggertes Speicher-Flipflop (dritte Bauform) 30 Multiplexer 4 Inverter (NICHT-Gatter) 4' PMSO-NMOS Vorrichtung basierend auf der Gate-Diffusion-Technik 40 Puffer, Element zur zeitlichen Verzögerung 5 Getakter Inverter 5' Getakter Inverter in einer Rückkopplungsschleife 6 PMOS-Transistor 7 NMOS-Transistor 8 Transmissiongate (TGate) 9 AND-Gatter 10 NOR-Gatter 11 OR-Gatter 12 NAND-Gatter 13 AND-NOR-Gatter 15 D-Flipflop in Betriebsschalter-Konfiguration mit asynchronem Löschen (Clear) 16, 17, 18, 19, 20, 21 Taktverteilungsblock (Zweig mit zeitlichem Taktversatz) 22 Flankengetriggertes Speicher-Flipflop der ersten Bauform mit Puffertakt-Durchführung 23 Kombinatorische Logik 24 Führende Flankensignalausgänge (mit Zeitversatz) 25 Invertierte Flankensignalausgänge 26 Zusätzlicher Verzögerungsblock (optional) 27 Flankengetriggertes Speicher-Flipflop mit Scaneingang und Scan-Aktivierung 100 Doppelflanken- / Dualflankentrigger-D-Flipflop Dl Eingangsdaten DO Ausgangsdaten CLK, CLKN T akteingangssignal CLK1 T aktausgangssignal DCLK, DCLKN verzögerte Taktsignaleingänge CT Interner (Speicher)!nhalt 1D Dateneingang C1, C1N Taktsignaleingang für Dateneingang CCT, CCTN Taktsignal für den internen Inhalt an die Datenausgänge C2, Cn3 Zusätzliche Taktausgänge 3CT Datenausgang 3 CT Invertierter Datenausgang G1 Selektionseingang A Zeitversatzblock-Eingang B Zeitversatzblock-Ausgang 11/29
Claims (16)
- österreichisches psiiötsnit AT512 192B1 2013-07-15 Patentansprüche 1. Synchrone sequentielle Logikvorrichtungen mit kombinatorischer Logik-Schaltung und zustandspeichernden Registern dadurch gekennzeichnet, dass sie eine Vielzahl Flipflops in modifizierter erster, zweiter oder dritter Bauart umfassen, wobei jedes Flipflop zu einem unterschiedlichen Zeitpunkt für die Übernahme eines neuen Datenwertes (Dl) an seinem Dateneingang (1D) im Bezug zum Zeitpunkt für die Freigabe dieses Datenwertes an seinem Datenausgang (DO), bei gehaltenem Inhaltszustand (CT) zwischen diesen zwei Zeitpunkten angesteuert wird, und wobei diese Zeitpunkte durch verschiedene Flanken (CLK, DCLKN oder CLKN, DCLK) an zwei separaten Takteingängen (C1 ,CCTN oder C1N, CCT), vorzugsweise durch angereihte Flanken eines einzelnen Taktsignals CLK an beiden Takteingängen (C1N=CCT oder C1=CCTN) bestimmt werden; insbesondere übernimmt die erste modifizierten Flipflop-Bauart (1) Daten vom Dateneingang (1D) bei der positiven Flanke eines Signals am ersten Takteingang (C1) und gibt den Inhaltswert an den Ausgang (DO) ab - oder invertiert an einen weiteren Ausgang - infolge einer negativen Flanke eines Signals beim zweiten Takteingang (CCTN); und umgekehrt übernimmt die zweite Bauart (2) Daten bei einer negativen Flanke eines Signals beim ersten Takteingang (C1N) und gibt sie bei der negativen Flanke am zweiten Takteingang (CCT) aus; und kombiniert übernimmt die dritte Bauart(3) Daten bei beiden Flanken eines Signals am ersten Takteingang (C1) und gibt den Pufferinhalt bei der nächsten positiven oder negativen Flanke am zweiten Takteingang (CCT) wieder aus.
- 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Flipflops (1,2, 3) einen zweiten Eingang zu Abtastzwecken und einen Eingangswähler insbesondere einen Multiplexer aufweisen.
- 3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass jede dritte Bauart (3) eines modifizierten Flipflops ein Flipflop der ersten Bauart (1) und ein modifiziertes Flipflop der zweiten Bauart (2) aufweist wobei beide Dateneingänge (1D) miteinander verbunden sind, wobei die Datenübernahme-Takteingänge (C1 und C1N) und die Inhaltsfreigabe-Takteingänge (CCTN und CCT) kurzgeschlossen sind und wobei die Ausgänge mithilfe eines Multiplexers (30) umgeschaltet werden, dessen Eingänge vom - den Inhalt taktenden -Signal (DCLK) ausgewählt werden.
- 4. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jedes Flipflop (1, 2, 3) drei Latches aufweist, die eine Zwei-Stufen-Master-Slave-Konfiguration folglich eine Master-Slave-Subslave-Konfiguration resultierend bilden.
- 5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass zumindest ein Latch ein modifiziert getakteter mC2MOS-Schaltkreis (komplementäre Metal-Oxidhalbleiterstruktur) ist, welches durch einen getakteten Inverter (5) und einen Rückkopplungsweg mit einem Inverter (4) und mit entweder einem weiteren Inverter (5') oder einem T-Gate (Transmission Gatter) gebildet ist.
- 6. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass mindestens ein Latch aus einem getakteten T-Gate (Transmissions-Gatter) (8) gebildet ist, und einen Rückkopplungsweg mit einem Inverter (4) aufweist, und entweder einen getakteten Inverter (5) aufweist, zur Bildung eines erweiterten PowerPC-Latches, oder ein zweites getaktetes T-Gate (Transmissions-Gatter) aufweist, zur Bildung eines auf ein erweitertes T-Gate basierten Latches.
- 7. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass der Master und der Subslave AND-NOR-Latches sind, und der Slave ein OR-NAND-Latch ist oder umgekehrt, dass der Master und der Subslave aus OR-NAND-Latches gebildet sind, und der Slave ein AND-NOR-Latch ist. 12/29ästerreiciischis pSfetiäiitt AT512 192B1 2013-07-15
- 8. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass jedes Latch in Gate-Diffusion-Input-Technik konstruiert ist und zwei PMOS-NMOS-Serienschaltkreise (4') mit Gate-Takteingang aufweist, verbunden mit zwei komplementären Dateneingangssignalen (D\,D) und zwei Inverter zum Invertieren der Ausgänge der PMOS-Vorrichtungen an den dritten Anschluss der NMOS-Vorrichtungen des anderen Zweigs.
- 9. Vorrichtung nach Anspruch 4 dadurch gekennzeichnet, dass jedes Flipflop (1,2, 3) eine getaktete Leseverstärkerstufe mit differentiellen Eingängen und differentiellen Ausgängen als Latch nützt.
- 10. Vorrichtung nach Anspruchs 4 dadurch gekennzeichnet, dass sie drei Zustandspeicher (latches) von mindestens zwei unterschiedlichen Bauformen - in serieller Kombination zu einem Flipflop ~ mit zwei separaten Flankentriggerzeitpunkten für die Übernahme von Eingabedaten und für die Abgabe des intern gespeicherten Wertes an die Ausgabe aufweist.
- 11. Vorrichtung nach einem der Ansprüche von 1 bis 10 dadurch gekennzeichnet, dass sie eine Anzahl n modifizierter Flipflops der ersten, zweiten oder dritten Bauform (1, 2, 3) umfasst, die seriell getaktet werden, aufgrund des Zeitversatzes, der mithilfe von Inverterketten oder Pufferketten (16-22) erreicht wird, die entweder innerhalb der Flipflops oder parallel zu ihnen angeordnet sind.
- 12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass sie einen Impulsgenerator aufweist, der von der steigenden oder fallenden Flanke eines Systemtaktsignals getriggert wird, und dass dieser Impulsgenerator erste Flankensignale zeitversetzt für die Übernahmezeitpunkte entlang n modifizierten Flipflops generiert; und dass die letzte Signaländerung asynchron die Pulsdauer beendet, um ein zweites Flankensignal zeitversetzt zu generieren für die Freigabezeitpunkte in derselben Reihenfolge entlang aller n modifizierten Flipflops.
- 13. Vorrichtung nach Anspruch 12 dadurch gekennzeichnet, dass sie zwei Impulsgeneratoren und zwei Zweige modifizierter Flipflops aufweist, wobei ein Impulsgenerator durch die steigende Flanke, und der andere durch die fallende Flanke eines Systemtakts getriggert wird.
- 14. Vorrichtung nach Anspruch 12 oder 13 dadurch gekennzeichnet, dass sie zwei parallele Zweige seriell getakteter modifizierter Flipflops angeschlossen an einen Impulsgenerator aufweist, wobei ein Zweig eine Anzahl n modifizierter Flipflops enthält und der andere eine Anzahl m modifizierter Flipflops enthält, und der langsamste erste Taktflankendurchlauf durch die Zweige (16,18,20) oder (17,19,21) den asynchronen Start des zweiten Flankendurchlaufs durch die Zweige bestimmt.
- 15. Verfahren zum Triggern einer Mehrzahl von Zustands-Speicherregistern innerhalb einer sequentiellen synchronen Logikvorrichtung wobei die Register über separate Steuermittel für die Datenübernahme und -freigabe verfügen, dadurch gekennzeichnet, dass das Verfahren folgende Schritte durchführt: a Generierung einer ersten Flanke eines Taktimpulses synchron zum Systemtakt: b. sequentielle Zeitversetzving der ersten Flanke mithilfe von Zeitversatzvorrichtungen zur Verteilung der Zeitpunkte für die Annahme von Eingabedaten aus einer Schnittstelle oder einem kombinatorischen Logik-Schaltkreis auf die Takteingänge für die Datenannahme der Register; c. Verwendung der letzten Flanke der ersten zeitversetzten Flanken um die Laufzeit des Taktimpulses zu beenden und zur Generierung einer zweiten Flanke; d. sequentielles Zeitversetzen der zweiten Flanke mithilfe von Zeitversatzvorrichtungen zur Verteilung der Zeitpunkte auf die Takteingänge für die Freigabe der vorher gespeicherten Datenwerte eines jeden Registers an deren Ausgänge. 13/29ästerreiciischis pSfetiäiitt AT512 192B1 2013-07-15
- 16. Verfahren nach Anspruchs 15, dadurch gekennzeichnet, dass die erste Flanke und die zweite Flanke Übergänge der logischen Zustände eines einzelnen Signals sind, dessen Zustand entweder durch den Systemtakt oder durch den letzten Übergangszeitpunkt der zeitversetzten Flanken geändert wird, und wobei die getrennten Steuereinrichtungen von diesem Einzelsignal bzw. seine verzögerten Ausformungen getaktet sind. Hierzu 15 Blatt Zeichnungen 14/29
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/SI2008/000027 WO2009136875A1 (en) | 2008-05-06 | 2008-05-06 | Synchronous sequential logic device using double triggered flip-flops and method for skewed triggering such state storing registers |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| AT512192B1 true AT512192B1 (de) | 2013-07-15 |
Family
ID=40100981
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ATA9459/2008A AT512192B1 (de) | 2008-05-06 | 2008-05-06 | Synchrone sequentielle logikvorrichtung mit doppelt getriggerten flipflops sowie eine methode zum gezielt zeitversetzten triggern solcher zustandspeichernden register |
Country Status (5)
| Country | Link |
|---|---|
| EP (1) | EP2364525B1 (de) |
| AT (1) | AT512192B1 (de) |
| DE (1) | DE112008003831B4 (de) |
| SI (1) | SI2364525T1 (de) |
| WO (1) | WO2009136875A1 (de) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9660620B1 (en) | 2016-07-22 | 2017-05-23 | Apple Inc. | Dual-edge trigger clock gater |
| US11025236B1 (en) * | 2020-05-08 | 2021-06-01 | Taiwan Semiconductor Manufacturing Company, Ltd. | Low-power AOI-based flip-flop |
| KR20240018215A (ko) * | 2022-08-02 | 2024-02-13 | 삼성전자주식회사 | 플립-플롭 |
| CN115225082B (zh) * | 2022-09-20 | 2022-12-06 | 上海芯炽科技集团有限公司 | 一种带边沿检测的低延迟异步时钟分频电路 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060061400A1 (en) * | 2004-09-23 | 2006-03-23 | Tschanz James W | Gating for dual edge-triggered clocking |
| US20060104124A1 (en) * | 2004-11-16 | 2006-05-18 | Padaparambil Muralikumar A | Dual-edge triggered multiplexer flip-flop and method |
| US20080074151A1 (en) * | 2006-09-22 | 2008-03-27 | Samsung Electronics Co., Ltd. | Dual-edge-triggered, clock-gated logic circuit and method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6459313B1 (en) | 1998-09-18 | 2002-10-01 | Lsi Logic Corporation | IO power management: synchronously regulated output skew |
-
2008
- 2008-05-06 AT ATA9459/2008A patent/AT512192B1/de not_active IP Right Cessation
- 2008-05-06 DE DE112008003831.7T patent/DE112008003831B4/de not_active Expired - Fee Related
- 2008-05-06 EP EP08741976.8A patent/EP2364525B1/de not_active Not-in-force
- 2008-05-06 SI SI200831112T patent/SI2364525T1/sl unknown
- 2008-05-06 WO PCT/SI2008/000027 patent/WO2009136875A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060061400A1 (en) * | 2004-09-23 | 2006-03-23 | Tschanz James W | Gating for dual edge-triggered clocking |
| US20060104124A1 (en) * | 2004-11-16 | 2006-05-18 | Padaparambil Muralikumar A | Dual-edge triggered multiplexer flip-flop and method |
| US20080074151A1 (en) * | 2006-09-22 | 2008-03-27 | Samsung Electronics Co., Ltd. | Dual-edge-triggered, clock-gated logic circuit and method |
Also Published As
| Publication number | Publication date |
|---|---|
| DE112008003831B4 (de) | 2015-08-06 |
| DE112008003831T5 (de) | 2011-05-12 |
| WO2009136875A1 (en) | 2009-11-12 |
| EP2364525B1 (de) | 2013-07-10 |
| SI2364525T1 (sl) | 2014-02-28 |
| EP2364525A1 (de) | 2011-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102005060394B4 (de) | Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung | |
| DE4326134B4 (de) | Eingangswechseldetektorschaltung | |
| DE4320681A1 (de) | Halbleitervorrichtung | |
| DE10063307B4 (de) | Auffangschaltung für Daten und deren Ansteuerungsverfahren | |
| DE3050199C2 (de) | Logikschaltung | |
| DE69918718T2 (de) | Verfahren und vorrichtung zur verminderung von signalübertragungsverzögerungen unter verwendung vonverschiebegattern | |
| AT512192B1 (de) | Synchrone sequentielle logikvorrichtung mit doppelt getriggerten flipflops sowie eine methode zum gezielt zeitversetzten triggern solcher zustandspeichernden register | |
| DE69032915T2 (de) | VLSI Schaltung mit von einem benachbarten angepassten Taktgenerator gesteuerten Verriegelungsschaltungen | |
| DE19741915A1 (de) | Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen | |
| DE102005034610A1 (de) | Flankendetektor und Verfahren | |
| DE102005056278B4 (de) | Flip-Flop-Vorrichtung und Verfahren zum Speichern und Ausgeben eines Datenwerts | |
| DE3879524T2 (de) | Stromspitzenbeschraenkung in dynamischen cmos-schaltungen. | |
| DE19811591C2 (de) | Taktsignal modellierende Schaltung mit negativer Verzögerung | |
| DE19718467A1 (de) | Frequenzunabhängige Abtastkette | |
| DE10122702C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines zweiten Signals mit einem auf einem zweiten Takt basierenden Takt aus einem ersten Signal mit einem ersten Takt | |
| DE102012222581B4 (de) | Schnellbypass-Speicherschaltkreis | |
| DE69524837T2 (de) | Asynchrone Speicheranordnung mit seriellem Zugriff und entsprechendes Speicher- und Leseverfahren | |
| EP2676367B1 (de) | Schieberegister und einer-aus-vielen-schieberegister | |
| DE102020116191A1 (de) | Zyklusborgezähler | |
| DE10004108C1 (de) | Schaltungsanordnung zur Generierung eines Ausgangs-Taktsignals mit optimierter Signalgenerierungszeit | |
| EP1430320A2 (de) | Elektronischer baustein und verfahren zu dessen qualifizierungsmessung | |
| DE102004010562B4 (de) | Schnittstellenvorrichtung und Verfahren zur Synchronisation von Daten | |
| EP1913457B1 (de) | Gals-schaltung und verfahren zum betrieb einer gals-schaltung | |
| DE10236328A1 (de) | Schieberegister-Schaltungsanordnung mit verbesserter elektromagnetischer Verträglichkeit und Verfahren zum Betreiben derselben | |
| DE102004007665B4 (de) | Erzeugung eines geteilten Takts |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM01 | Lapse because of not paying annual fees |
Effective date: 20140506 |