DE60216811T2 - Störungsfreie taktauswahlschaltung - Google Patents

Störungsfreie taktauswahlschaltung Download PDF

Info

Publication number
DE60216811T2
DE60216811T2 DE60216811T DE60216811T DE60216811T2 DE 60216811 T2 DE60216811 T2 DE 60216811T2 DE 60216811 T DE60216811 T DE 60216811T DE 60216811 T DE60216811 T DE 60216811T DE 60216811 T2 DE60216811 T2 DE 60216811T2
Authority
DE
Germany
Prior art keywords
clock
signal
output
flip
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60216811T
Other languages
English (en)
Other versions
DE60216811D1 (de
Inventor
Frederic Belmont BOUTAUD
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
Analog Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Analog Devices Inc filed Critical Analog Devices Inc
Publication of DE60216811D1 publication Critical patent/DE60216811D1/de
Application granted granted Critical
Publication of DE60216811T2 publication Critical patent/DE60216811T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • H04L7/0083Receiver details taking measures against momentary loss of synchronisation, e.g. inhibiting the synchronisation, using idle words or using redundant clocks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/125Discriminating pulses
    • H03K5/1252Suppression or limitation of noise or interference

Description

  • Allgemeines zur Erfindung
  • Die Erfindung bezieht sich auf das Gebiet der Taktauswahl und insbesondere auf eine störimpulsfreie Taktauswahl.
  • Digitale elektronische Systeme sind häufig auf einem Taktsignal aufgebaut, welches den Betrieb der verschiedenen Schaltungselemente synchronisiert und steuert (z.B. Logikschaltungen, Flipflops, Sperrschaltungen, usw.). In vielen heutigen digitalen elektronischen Systemen, wie zum Beispiel Bauelementen, die auf einem Mikroprozessor aufgebaut sind, sind mehrere Taktquellen vorhanden; mit diesen geht die Notwendigkeit einher, zwischen diesen Quellen umzuschalten.
  • Wenn zwischen Takten umgeschaltet wird, sollten vorzugsweise Störimpulse und ein Übergangsverhalten des Takts am Taktausgang der Auswahlschaltung vermieden werden. 1a und 1b tragen zur Veranschaulichung des Auftretens eines Störimpulses beim Umschalten zwischen Taktquellen bei. 1a zeigt dabei eine typische Schaltung zum Umschalten zwischen Taktquellen. Gemäß der Darstellung in 1a sind zwei Taktsignale, CLOCK_1 und CLOCK_2 als Eingangssignale für einen Umschalt-Schaltkreis 100 wie zum Beispiel eine Multiplexerschaltung vorgesehen. Die Multiplexerschaltung 100 empfängt außerdem ein Auswahlsignal, welches das Ausgangssignal CLOCK_OUT zwischen den Eingangssignalen CLOCK_1 und CLOCK_1 umschaltet. Wenn zum Beispiel das Auswahlsignal auf hohem Pegel liegt, wird bei CLOCK_OUT das Signal CLOCK_1 ausgegeben, und wenn das Auswahlsignal auf niedrigem Pegel liegt, wird am Ausgang CLOCK_OUT das Signal CLOCK_2 ausgegeben. 1b stellt eine zeitliche Beziehung zwischen dem Auswahlsignal, dem Signal CLOCK_1 und dem Signal CLOCK_2 dar, die zu einem Störimpuls am Ausgang CLOCK_OUT führt. Entsprechend der Darstellung ist das Auswahlsignal anfänglich auf hohem Pegel, was dazu führt, dass das Signal CLOCK_1 am Ausgang CLOCK_OUT ausgegeben wird. Dann schaltet das Auswahlsignal auf niedrigen Pegel um, während das Signal CLOCK_1 auf hohem Pegel liegt und das Signal CLOCK_2 auf niedrigem Pegel ist. Dies führt dazu dass am Ausgang CLOCK_OUT ein verkürzter Impuls 102, d.h. ein Störimpuls, ausgegeben wird.
  • Ganz allgemein führt ein Störsignal während des Betriebs eines Mikroprozessors und anderer Bauelemente zu Fehlern, weil ein Störimpuls eventuell nachfolgende Flipflops, Sperrschaltungen, usw. erratisch taktet. Deshalb besteht Bedarf an einem Umschalt-Schaltkreis, der eine dynamische und saubere Umschaltung der Taktquelle ohne jeden Störimpuls an der mit dem Takt angesteuerten Logik ermöglicht.
  • In der US-Patentschrift 6107841 wird ein Taktschaltsystem beschrieben, welches eine synchrone störimpulsfreie Umschaltung einer Taktquelle von einer oder mehreren asynchronen Taktquellen vorsieht und welches ein Multiplexer-Element aufweist, um ein Systemtakt-Ausgangssignal zu liefern, welches einem ersten asynchronen Taktquelleneingang entspricht, sowie eine Schaltung zur Steuerung der Umschaltung, welche ein erstes und ein zweites Steuersignal erzeugt. Im Ansprechen auf das erste Steuersignal lässt das Multiplexer-Element eine gleichzeitige Ankopplung einer zu der Multiplexer-Schaltung umzuschaltenden ausgewählten zweiten asynchronen Taktquelle zu sowie die Abkopplung des ersten asynchronen Taktquellen-Eingangs. Außerdem wird im Ansprechen auf das erste Steuersignal der Systemtaktausgang auf einem ersten Ausgangspegel gehalten. Im Ansprechen auf das zweite Steuersignal wird die zweite asynchrone Taktquelle an den Systemtaktausgang angekoppelt, während sich beide Signale auf dem ersten Ausgangspegel befinden. Das Systemtakt-Ausgangssignal, welches der zweiten asynchronen Taktquelle entspricht, ist nun synchron zu einem nachfolgenden Übergang der zweiten asynchronen Taktquelle von dem ersten Spannungspegel auf einen zweiten Ausgangspegel.
  • Die US-Patentschrift 5811995 beschreibt eine Schaltung sowie ein Verfahren zum Umschalten zwischen unterschiedlichen Frequenztaktbereichen, die nicht phasengleich sind. Die Schaltung weist einen Auswahleingang zum Auswählen des speziellen Frequenzbereichs auf, der auszugeben ist, ferner eine erste Schaltung, welche dem ersten Taktbereich zugeordnet ist, und eine zweite Schaltung, die dem zweiten Taktbereich zugeordnet ist. Die Schaltungen sprechen auf das Auswahl-Eingangssignal an und arbeiten zusammen, um den ersten Takt zu deaktivieren, ehe der zweite Takt freigegeben wird.
  • Die US-Patentschrift 6292044 bezieht sich auf eine Schaltung zur Taktumschaltung für eine integrierte Schaltung mit einer Vielzahl asynchroner Takte, bei welcher jeweils nur ein Takt zu einem bestimmten Zeitpunkt ausgewählt wird und bei welcher die Taktumschalt-Schaltungen zum Umschalten von einem aktuell ausgewählten Takt zu einem inaktiven Takt, der als nächstes auszuwählen ist, nur dann für die Zeitdauer aktiviert werden, die zum Abschließen des Umschaltvorgangs benötigt wird.
  • Eine Vielzahl von Logikschaltungen schaltet den von dem ausgewählten Taktgeber ausgegebenen Takt auf den Takt um, der mittels des Taktauswahlsignals als nächstes auszuwählen ist. Eine Rücksetzschaltung schaltet die Taktgeberschaltungen ab, sobald der Taktausgang von dem ausgewählten Takt auf den als nächstes auszuwählenden Takt umgeschaltet worden ist. Die Taktgebertreiber für Taktgeber, die nicht ausgewählt wurden, werden während des Zeitraums, in dem der ausgewählte Takt zu dem als nächstes auszuwählenden Takt umgeschaltet wird, und danach nicht ausgewählt. Sobald der Umschaltvorgang abgeschlossen ist, wird die gesamte Schaltung zur Taktumschaltung so lange abgeschaltet, bis es zu einer weiteren Taktumschaltung kommt.
  • Kurzbeschreibung der Erfindung
  • Gemäß der vorliegenden Erfindung ist eine Taktauswahlschaltung zum Umschalten zwischen einer Vielzahl möglicher Takte vorgesehen, wie sie in dem beiliegenden Anspruch 1 umrissen wird. Dabei erfolgt eine Umschaltung von einem vorhandenen Takt auf einen neuen Frequenztakt mit Synchronisierung mit dem vorhandenen und dem neuen Frequenztakt. Die Taktauswahlschaltung weist dabei einen ersten Takteingang zum Empfangen des vorhandenen Takts als Eingangssignal und einen Takteingang für einen neuen Frequenztakt zum Empfangen des neuen Frequenztakts auf. Die Schaltung umfasst außerdem eine erste Synchronisierlogik, die dem ersten Takteingang in der Weise zugeordnet ist, dass sie die Ausgabe des vorhandenen Taktes aktiviert/deaktiviert, sowie eine zweite Synchronisierlogik, welche dem neuen Frequenztakt in der Weise zugeordnet ist, dass sie die Ausgabe des neuen Frequenztaktes aktiviert/deaktiviert. Die erste Synchronisierlogik und die zweite Synchronisierlogik wirken zusammen, um so die Ausgabe des vorhandenen Taktes synchron mit dem vorhandenen zu deaktivieren.
  • Des Weiteren ist eine Taktauswahlschaltung zur Ausgabe eines Eingangs-Taktsignals vorgesehen, das aus einer Vielzahl von Eingangstakten ausgewählt wird. Die Schaltung umfasst eine auf ein Taktauswahl-Eingangssignal ansprechende Aktivierungslogik, um für jeden Eingangstakt ein zugehöriges Auswahlsignal zu erzeugen. Jedes Auswahlsignal liefert dabei einen Hinweis darauf, ob der ihm zugeordnete Eingangstakt zur Ausgabe ausgewählt wurde oder nicht. Für jedes Auswahlsignal ist eine Synchronisierlogik vorgesehen, die auf das Auswahlsignal in der Weise anspricht, dass sie synchron mit dem Eingangstakt, der dem Auswahlsignal zugeordnet ist, ein Aktivierungssignal erzeugt. Das Aktivierungssignal liefert dabei einen Hinweis darauf, ob der dem Auswahlsignal zugeordnete Takt ausgegeben werden soll oder nicht. Die Ausgabelogik spricht auf die Aktivierungssignale in der Weise an, dass sie den ausgewählten Eingangstakt ausgibt.
  • Außerdem ist eine Taktauswahlschaltung zum Umschalten von einem ersten Taktsignal, das an einen Ausgang angekoppelt ist, zu einem zweiten Taktsignal vorgesehen, das an den Ausgang angekoppelt ist. Die Schaltung umfasst eine Aktivierungslogik, die auf ein Taktauswahlsignal in der Weise anspricht, dass sie ein erstes Auswahlsignal erzeugt, das einen Hinweis darauf liefert, dass der erste Takt von dem Ausgang abzukoppeln ist, sowie ein zweites Auswahlsignal, das einen Hinweis darauf liefert, dass das zweite Taktsignal an den Ausgang anzukoppeln ist. Eine erste Synchronisierlogik spricht dabei auf das erste Auswahlsignal in der Weise an, dass sie ein erstes Aktivierungssignal synchron mit dem ersten Takt erzeugt. Das erste Aktivierungssignal liefert einen Hinweis darauf, dass der erste Takt von dem Ausgang abgekoppelt werden soll. Eine zweite Synchronisierlogik spricht dabei auf das zweite Auswahlsignal in der Weise an, dass sie ein zweites Aktivierungssignal synchron mit dem zweiten Takt erzeugt. Das zweite Aktivierungssignal zeigt an, dass das zweite Taktsignal an den Ausgang anzukoppeln ist. Das erste Aktivierungssignal wird vor der Erzeugung des zweiten Aktivierungssignals erzeugt. Die Ausgangslogik spricht hier auf das erste Aktivierungssignal in der Weise an, dass sie das erste Taktsignal von dem Ausgang abkoppelt, und spricht auf das zweite Aktivierungssignal in der Form an, dass sie das zweite Taktsignal an den Ausgang ankoppelt.
  • Kurzbeschreibung der Zeichnungen
  • 1a stellt eine typische Schaltung zum Umschalten zwischen Taktquellen dar;
  • 1b veranschaulicht eine zeitliche Beziehung zwischen dem Auswahlsignal, dem Signal CLOCK_1 und dem Signal CLOCK_2, die zu einem Störimpuls am Ausgang CLOCK_OUT für die Schaltung gemäß 1a führt;
  • 2a zeigt eine Taktauswahlschaltung gemäß den Grundsätzen der vorliegenden Erfindung;
  • 2b stellt ein Zeitsteuerschema für die Schaltung gemäß 2a dar;
  • 2c zeigt eine Taktauswahlschaltung gemäß 2a, welche eine synchrone Rücksetzung der Synchronisierlogik ermöglicht;
  • 2d stellt eine Taktauswahlschaltung gemäß 2a dar, welche eine asynchrone Rücksetzung der Synchronisierlogik ermöglicht;
  • 2e zeigt die Taktauswahlschaltung nach 2a, die in der Weise erweitert wurde, dass sie zwischen drei Taktquellen eine Auswahl vornimmt;
  • 3 veranschaulicht die Verwendung einer Taktauswahlschaltung für die Auswahl zwischen einem Grundtakt und einen Takt mit höherer Frequenz, der aus einem Frequenzvervielfacher gebildet wurde, welcher auf einem Phasenregelkreis (PLL) aufgebaut ist;
  • 4a zeigt eine Taktauswahlschaltung 400, die sich besonders gut für die Auswahl zwischen einem Grundtakt und einem Takt mit höherer Frequenz eignet, der aus einem auf einem Phasenregelkreis (PLL) aufgebauten Frequenzvervielfacher gebildet wurde;
  • 4a4c stellen Zeitsteuerschemata für die Auswahlschaltung gemäß 4a dar;
  • 4d zeigt die Taktauswahlschaltung gemäß 4a ohne Anlegung der internen Aktivierungssignale an Rücksetzeingänge der Flipflops;
  • 4e stellt die Taktauswahlschaltung gemäß 4a ohne Anlegung der internen Aktivierungssignale an Rücksetzeingänge der Flipflops dar;
  • 5a zeigt eine Anordnung, bei welcher die Taktauswahlschaltung gemäß den Grundsätzen der vorliegenden Erfindung dazu verwendet wird, einen Prozessor zu takten, der die Steuer-Eingangssignale der Taktauswahlschaltung ausgibt;
  • 5b zeigt eine Taktauswahlschaltung, die sich besonders gut für Steuersignale eignet, welche sich synchron mit dem ausgewählten Takt verändern; und
  • 5c5f stellen Zeitsteuerschemata für die Auswahlschaltung gemäß 5b dar.
  • Beschreibung der Erfindung
  • 2a stellt eine Taktauswahlschaltung 200 gemäß den Grundsätzen der vorliegenden Erfindung dar. Die Auswahlschaltung 200 weist eine Aktivierungslogik 203, eine Synchronisierlogik 204a, die mit dem Takt CLOCK_1 getaktet ist, eine Synchronisierlogik 204b, die mit dem Takt CLOCK_2 getaktet ist, und eine Ausgabelogik 202 auf.
  • Die Aktivierungslogik 203 erzeugt interne Auswahlsignale SEL1 und SEL2, denen das Auswahl-Eingangssignal und der aktuelle Zustand der Taktauswahl zugrunde liegen, d.h. ob das Signal CLOCK_1 ausgegeben wird oder nicht und ob das Signal CLOCK_2 ausgegeben wird oder nicht. Interne Auswahlsignale liefern einen Hinweis darauf, welcher Takt, CLOCK_1 oder CLOCK_2, am Ausgang CLOCK_OUT ausgegeben werden soll. Das interne Auswahlsignal SEL1 wird als Eingang der Synchronisierlogik 204a zugeführt, wohingegen das interne Auswahlsignal SEL2 der Synchronisierlogik 204b als Eingangssignal zugeführt wird. Die Synchronisierlogik 204a erzeugt ein internes Aktivierungssignal EN1 synchron mit dem Taktsignal CLOCK_1, dem das interne Auswahlsignal SEL1 zugrunde liegt. Ebenso erzeugt die Synchronisierlogik 204b ein internes Aktivierungssignal EN2 synchron mit dem Taktsignal CLOCK_2, dem das interne Auswahlsignal SEL2 zugrunde liegt. Die internen Aktivierungssignale EN1 und EN2 werden zusätzlich zu den Signalen CLOCK_1 und CLOCK_2 der Ausgangslogik 202 als Eingang zugeführt. Die Zustände der Aktivierungssignal EN1 und EN2 legen fest, welches Taktsignal, d.h. CLOCK_1 oder CLOCK_2, mittels der Ausgabelogik 202 ausgegeben werden soll. Die Aktivierungssignale EN1 und EN2 werden außerdem über jeweilige Wechselrichter zur Aktivierungslogik 203 zurückgeführt.
  • Gemäß der Darstellung weist die Aktivierungslogik 202 UND-Schaltungen 218 und 216 sowie den Wechselrichter 212 auf. Das Ausgangssignal aus der UND-Schaltung 218 ist SEL1 und das Ausgangssignal aus der UND-Schaltung 216 ist SEL2. Einer der Eingänge der UND-Schaltung 218 ist direkt mit dem Auswahl-Eingang verbunden, während einer der Eingänge der UND-Schaltung 216 über den Wechselrichter 220 mit dem Auswahl-Eingang verbunden ist. Der andere Eingang der UND-Schaltung 216 ist über den Wechselrichter 212 mit EN1 verbunden. In gleicher Weise ist der andere Eingang der UND-Schaltung 218 über den Wechselrichter 214 mit EN2 verbunden.
  • Die Synchronisierlogik 204a umfasst eine Vielzahl von Speicherelementen bzw. Flipflops in Kaskadenschaltung, zum Beispiel D-Flipflops. Das zugehörige Eingangs-Taktsignal, d.h. CLOCK_1, taktet jeden der Flipflops, zum Beispiel an der negativen Flanke des Eingangs-Taktsignals. Der Eingang an dem ersten Flipflop in der Kaskade ist mit SEL1 verbunden, und der Ausgang des letzten Flipflops in der Kaskade ist EN1. In gleicher Weise weist die Synchronisierlogik 204b eine Vielzahl von Flipflops in Kaskadenschaltung auf, zum Beispiel D-Flipflops. Das zugehörige Takt-Eingangssignal, d.h. CLOCK_2, taktet jeden der Flipflops, zum Beispiel an der negativen Flanke des Eingangs-Taktsignals. Der Eingang an dem ersten Flipflop in der Kaskade ist mit SEL2 verbunden und der Ausgang des letzten Flipflops in der Kaskade ist EN2.
  • Die Ausgangslogik 202 weist eine ODER-Schaltung 206 mit einem Eingang auf, der mit dem Ausgang einer UND-Schaltung 208 verbunden ist, während der andere Eingang mit dem Ausgang einer zweiten UND-Schaltung 210 verbunden ist. Die UND-Schaltung 208 weist einen Eingang auf, der mit CLOCK_1 verbunden ist, während der andere Eingang mit EN1 verbunden ist. In gleicher Weise ist einer der Eingänge der UND-Schaltung 210 mit CLOCK_2 verbunden, während der andere Eingang mit EN2 verbunden ist. Der Ausgang der ODER-Schaltung 206 wird als CLOCK_OUT bezeichnet.
  • In Verbindung mit dem Zeitsteuerdiagramm aus 2b wird nun die Funktionsweise der Auswahlschaltung 200 zur Auswahl zwischen CLOCK_1 und CLOCK_2 beschrieben, und zwar ausgehend von einem Zustand, in dem das Signal CLOCK_1 am Ausgang CLOCK_OUT ausgegeben wird. Des Weiteren wird die Funktionsweise der Auswahlschaltung 200 zwar unter Bezugnahme auf einen aktiven hohen Pegel beschrieben, doch ist es auch möglich, mit einem aktiven niedrigen Pegelwert zu arbeiten.
  • Anfänglich wird das Signal CLOCK_1 am Ausgang CLOCK_OUT ausgegeben, wobei das Signal EN1 auf hohem Pegel liegt, EN2 auf niedrigem Pegelwert ist und das Auswahlsignal Select auf hohem Pegel liegt. Das Signal CLOCK_2 wird als Ausgangstakt gewählt, indem das Auswahlsignal Select vom hohen auf den niedrigen Pegelwert umgeschaltet wird. Wenn das Auswahlsignal Select auf den niedrigen Pegelwert umgeschaltet wird, wird SEL1 damit zur Umschaltung auf den niedrigen Pegelwert veranlasst. Die Flipflops 204a werden mit dem Signal CLOCK_1 getaktet, wobei das Eingangssignal SEL1 auf niedrigem Pegelwert dazu veranlasst wird, zum Ausgang der Synchronisier-Flipflops 204a, d.h. zu EN1, synchron mit dem Signal CLOCK_1 zu laufen. Die Umschaltung des Signals EN1 auf niedrigen Pegelwert deaktiviert die Ausgabe des Signals CLOCK_1 am Ausgang CLOCK_OUT. Die Umschaltung des Ausgangssignals EN1 auf niedrigen Pegelwert veranlasst auch das Signal SEL2 zur Umschaltung auf hohen Pegelwert; die Flipflops 204b werden mit dem Signal CLOCK_2 getaktet, wodurch das Eingangssignal SEL2 auf hohem Pegelwert zur Weiterleitung an den Ausgang der Synchronisier-Flipflops, d.h. an EN2, synchron mit dem Signal CLOCK_2. Die Umschaltung des Ausgangssignals EN2 auf hohen Pegelwert aktiviert die Ausgabe des Signals CLOCK_2 am Ausgang CLOCK_OUT. Deshalb wird, wie aus der Zeichnung ersichtlich ist, die Deaktivierung von CLOCK_1 am Ausgang CLOCK_OUT synchron mit CLOCK_1 vorgenommen, während die Aktivierung von CLOCK_2 am Ausgang CLOCK_OUT synchron mit CLOCK_2 vorgenommen wird, womit das Auftreten von Störimpulsen während der Umschaltung des Takt-Ausgangssignals verhindert wird.
  • Wie nachstehend dargestellt wird, ist die Auswahlschaltung so erweitert, dass sie spezielle Bedürfnisse der Anwendung abdeckt, zum Beispiel mehr Steuerleitungen, Stromspar-Eigenschaften, Verringerung der Latenz in der Synchronisierung, usw., und dass damit den Anforderungen bei der Initialisierung der Synchronisierlogik 204 entsprochen wird.
  • Die Taktauswahlschaltung 200 wird dazu eingesetzt, ein Taktsignal, das verschiedene Bauelemente in einem System taktet, auszuwählen. Im typischen Fall wird der Auswahlvorgang von dem System nach dem Einschalten auf einen Standardwert initialisiert, um so am Ausgang CLOCK_OUT ein erstes Takt-Ausgangssignal zu liefern. Zum Beispiel wird das Signal Select so ausgelegt, dass es als Standardwert auf einem hohen Pegel liegt. Wenn das Signal Select standardmäßig nach dem Einschalten auf hohem Pegel liegt, wird SEL2 auf niedrigem Pegel initialisiert. Dieses Signal auf niedrigem Pegel läuft dann durch die Synchronisierlogik 204b zu EN2, damit EN2 einen definierten Wert (auf niedrigem Pegel) annimmt. Nachdem EN2 auf niedrigen Pegel gesetzt wurde, kann SEL1, das auf hohem Pegel liegt, durch die Synchronisierlogik 204a zu EN1 laufen. Die Umschaltung von EN1 auf hohen Pegel aktiviert die Ausgabe des Signals CLOCK_1 am Ausgang CLOCK_OUT. Bei einigen Anwendungsfällen ist unter Umständen eine Ausgabe am Ausgang CLOCK_OUT erforderlich, damit das System den Auswahlvorgang initialisieren kann. Oder bei einigen Anwendungsfällen ist die Zeit, die benötigt wird, um erst SEL2 durch die Synchronisierlogik 204b und dann das Signal SEL1 durch die Synchronisierlogik 204a zu leiten, unter Umständen zu lang. Eine Möglichkeit, die Auswahlschaltung 200 rückzusetzen, ist bei diesen Anwendungsfällen deshalb wünschenswert. Außerdem kann auch ein Rücksetzen der Auswahlschaltung 200 ganz allgemein wünschenswert sein, um es auf diese Weise möglich zu machen, dass die Auswahlschaltung 200 während des normalen Betriebs in einen bekannten Zustand versetzt wird.
  • 2c stellt eine Taktauswahlschaltung gemäß 2a dar, welche ein synchrones Rücksetzen der Synchronisierlogik 204 ermöglicht. Mit dem Begriff „synchrones Rücksetzen" ist hier gemeint, dass ein Eingang nReset seinen Zustand synchron mit dem Taktausgangssignal an CLOCK_OUT verändert. Die Auswahlschaltung 200 funktioniert so, wie dies im Zusammenhang mit 2a und 2b beschrieben wurde, mit dem Unterschied, dass die Rücksetzlogik 222 die Synchronisierlogik 204 dazu veranlasst, einen speziellen Zustand der Aktivierungssignale EN1 und EN2 unabhängig vom Zustand des Select-Signals und des aktuell gewählten Taktes zu erzeugen. Dies führt zur Ausgabe eines speziellen Takts, wenn der Eingang nReset aktiviert wird. Gemäß der Darstellung wird das Signal nReset der Rücksetzlogik 222 über einen Wechselrichter zugeführt, wodurch nReset auf einen aktiven niedrigen Pegel geschaltet wird. Abhängig von der Rücksetzlogik 222 ist jedoch der Wechselrichter unter Umständen nicht erforderlich. Wenn zum Beispiel nReset aktiv auf hohem Pegel sein soll, kann dieses Signal geradewegs der Rücksetzlogik 222 zugeführt werden. In 2c weist die Rücksetzlogik 222 eine ODER-Schaltung 224, einen Wechselrichter 226 und eine UND-Schaltung 228 auf. Die ODER-Schaltung 222 empfängt das Signal nReset und das Ausgangssignal der UND-Schaltung 218 als Eingangssignale, während sein Ausgangssignal SEL1 ist, das der Synchronisierlogik 204a zugeführt wird. Die UND-Schaltung 228 empfängt nReset über einen Wechselrichter und das Ausgangssignal der UND-Schaltung 216 als Eingangssignale und gibt sein Ausgangssignal SEL2 an die Synchronisierlogik 204b ab.
  • Bei dem in 2c dargestellten Fall hat nReset auf hohem Pegel keine Auswirkung darauf, welcher Takt am Ausgang CLOCK_OUT aktiviert wird. Wenn nReset jedoch auf niedrigen Pegel geschaltet wird, wird SEL1 durch die Rücksetzlogik 222 auf einen hohen Pegelwert gezwungen, während die Rücksetzlogik 222 das Signal SEL1 auf einen niedrigen Pegelwert zwingt. Dies veranlasst die Freigabe von CLOCK_1 am Ausgang CLOCK_OUT, unabhängig vom Zustand von Select. Wie für einen Fachmann auf diesem Gebiet offensichtlich wird, kann die Rücksetzlogik leicht so ausgelegt werden, dass sie die Ausgabe von CLOCK_2 anstelle von CLOCK_1 herbeiführt. Zum Beispiel ergibt sich durch Vertauschen der Ausgänge der ODER-Schaltung 224 und der UND-Schaltung 228 in der Weise, dass das Ausgangssignal der ODER-Schaltung SEL2 und das Ausgangssignal der UND-Schaltung SEL1 ist, während das Signal nReset des Wechselrichters durchgeleitet wird, eine Rücksetzlogik, die zur Ausgabe von CLOCK_2 führt, wenn sich nReset auf hohem Pegel befindet.
  • 2d stellt eine Taktauswahlschaltung 200 gemäß 2a dar, die ein asynchrones Rücksetzen der Synchronisierlogik 204 ermöglicht. Unter „asynchroner Rücksetzung" wird hier verstanden, dass ein Eingangssignal nReset seinen Zustand asynchron zum Taktausgangssignal am Ausgang CLOCK_OUT verändert. Die Auswahlschaltung 200 funktioniert in der Weise, die im Zusammenhang mit 2a und 2b beschrieben wurde, mit dem Unterschied, dass ein Eingangssignal nReset die Synchronisierlogik 204 zur Erzeugung eines speziellen Zustands der Freigabesignale EN1 und EN2 unabhängig vom Zustand des Signals Select und vom aktuell gewählten Takt veranlasst. Dies führt zur Ausgabe eines speziellen Takts, wenn nReset aktiviert wird. Die Synchronisierlogik, die dem auszugebenden speziellen Takt entspricht, weist einen Setzeingang auf, der mit nReset verbunden ist, während die Rücksetzeingänge der anderen Synchronisierlogik mit nReset verbunden sind. Gemäß der Darstellung in 2d handelt es sich bei CLOCK_1 um den Takt, der am Rücksetzeingang freizugeben ist, und infolgedessen ist ein Setzeingang der Synchronisierlogik 204a über einen Wechselrichter mit nReset verbunden. Ein Setz-Eingangssignal zwingt den Ausgang der entsprechenden Synchronisierlogik zur Umschaltung auf hohen Pegelwert, wenn das Signal auf hohem Pegel liegt. Umgekehrt zwingt ein Rücksetz-Eingangssignal den Ausgang der entsprechenden Synchronisierlogik zur Umschaltung auf niedrigen Pegelwert, wenn dieses Signal auf hohem Pegel liegt. Wenn die Setz- oder Rücksetz-Eingangssignale auf niedrigem Pegelwert liegen, arbeitet die Synchronisierlogik normal. Wenn deshalb nReset einen niedrigen Pegelwert hat, wird das Signal CLOCK_1 am Ausgang CLOCK_OUT freigegeben, wohingegen sich das Signal nReset auf hohem Pegel nicht auf die Auswahlschaltung 200 auswirkt.
  • Eine Taktauswahlschaltung kann in der Weise erweitert werden, dass sie zwischen mehr als zwei Takten auswählen kann. 2e stellt eine Taktauswahlschaltung 200 dar, die für die Auswahl zwischen drei Taktquellen – CLOCK_1, CLOCK_2 und CLOCK_3 – erweitert wurde. Die Auswahlschaltung 200 ist ähnlich der in 2a dargestellten Schaltung und umfasst im Allgemeinen eine Freigabelogik 203, einen mit dem Signal CLOCK_1 getaktete Synchronisierlogik 204a, eine mit dem Signal CLOCK_2 getaktete Synchronisierlogik 204b und eine Ausgabelogik 202. Die Auswahlschaltung 200 wurde durch Hinzunahme der mit dem Signal CLOCK_3 getakteten Synchronisierlogik 204c und durch zusätzliche Einbeziehung logischer Funktionen in die Freigabelogik 203 erweitert, um so ein drittes internes Auswahlsignal SEL3 zu erzeugen. Außerdem besteht der Auswahleingang hier aus zwei Auswahlleitungen, Select_1 und Select_2, um eine Auswahl zwischen drei Takten vornehmen zu können.
  • Damit funktioniert die erweiterte Auswahlschaltung 200 gemäß 2e in ähnlicher Weise wie die Ausführungsform mit zwei Takten. Die Freigabelogik 203 erzeugt interne Auswahlsignale SEL1, SEL2 und SEL3 auf der Grundlage des Select-Eingangssignals und des aktuellen Zustands der Taktauswahl. Dabei wird jedes dieser Signale jeweils in die entsprechende Synchronisierlogik 204a, 204b und 204c geleitet. Wie bei der Ausführungsform für zwei Takte erzeugt die Synchronisierlogik 204a bzw. 204b bzw. 204c jeweils ein Freigabesignal EN1, EN2 bzw. EN3. Die Freigabesignale werden auf der Grundlage der internen Auswahlsignale in der Weise erzeugt, dass ein freigegebener Takt synchron mit sich selbst deaktiviert wird und der freigegebene Takt dann synchron mit sich selbst freigegeben wird. Die Freigabesignale werden der Ausgabelogik 202 zugeführt, um zu steuern, welcher Takt ausgegeben wird, und dann werden sie zur Freigabelogik zurückgemeldet, um den aktuellen Zustand der Taktauswahl anzuzeigen.
  • Bei der dargestellten Ausführungsform für drei Takte veranlassen beide Select-Eingangssignale auf niedrigem Pegel die Freigabe des Signals CLOCK_1 am Ausgang CLOCK_OUT. Ein niedriger Pegel bei beiden Select-Eingangssignalen führt zu einem hohen Pegel des Auswahlsignals SEL1, wohingegen die Auswahlsignale SEL2 und SEL3 auf niedrigem Pegel liegen. Je nachdem, welches Taktsignal bereits aktiv ist, schalten die Signale EN2 oder EN3 synchron mit dem jeweiligen Takt auf niedrigen Pegelwert um und deaktivieren damit diesen Takt. Wenn zum Beispiel gerade das Taktsignal CLOCK_2 ausgegeben wird, schaltet das Signal EN2 synchron mit CLOCK_2 auf niedrigen Pegelwert um (in diesem Fall wäre EN3 bereits auf niedrigem Pegel, so dass sich dieses Signal nicht verändert), was zur Deaktivierung des Taktsignals CLOCK_2 führt. Wenn in gleicher Weise CLOCK_3 gerade ausgegeben wird, schaltet das Signal EN3 synchron mit dem Taktsignal CLOCK_3 auf niedrigen Pegel um (in diesem Fall wäre das Signal EN2 bereits auf niedrigem Pegel, so dass es sich nicht verändert), was zur Deaktivierung des Taktsignals CLOCK_3 führt. Nachdem der zuvor freigegebene Takt deaktiviert wurde, schaltet das Signal EN1 synchron mit dem Taktsignal CLOCK_1 (das zuvor auf niedrigem Pegel lag) auf den hohen Pegelwert um, was zur Deaktivierung des Taktsignals CLOCK_1 am Ausgang CLOCK_OUT führt.
  • Ein niedriger Pegelwert bei Select_1 und ein hoher Pegelwert bei Select_2 veranlassen die Freigabe des Tatsignals CLOCK_2 am Ausgang CLOCK_OUT. Ein niedriger Pegelwert bei Select_1 und ein hoher Pegelwert bei Select_2 führen zu einem hohen Pegelwert des Signals SEL2, wohingegen die Signale SEL1 und SEL3 auf niedrigem Pegel liegen. Je nachdem, welcher Takt bereits aktiv ist, schaltet das Signal EN1 oder EN3 synchron mit dem jeweiligen Takt auf niedrigen Pegelwert um und deaktiviert damit diesen Takt. Wenn zum Beispiel gerade das Signal CLOCK_1 ausgegeben wird, schaltet das Signal EN1 synchron mit dem Signal CLOCK_1 auf niedrigen Pegel um (in diesem Fall wäre das Signal EN3 bereits auf niedrigem Pegel und verändert sich damit nicht), was zur Deaktivierung des Taktsignals CLOCK_1 führt. Nachdem der zuvor freigegebene Takt deaktiviert wurde, schaltet das Signal EN2 synchron mit dem Taktsignal CLOCK_2 (das zuvor einen niedrigen Pegelwert hatte) auf den hohen Pegelwert um, was zur Aktivierung des Taktsignals CLOCK_2 am Ausgang CLOCK_OUT führt.
  • Ein hoher Pegelwert bei Select_1 und ein niedriger Pegelwert bei Select_2 veranlassen die Freigabe des Taktsignals CLOCK_3 am Ausgang CLOCK_OUT. Ein hoher Pegelwert bei Select_1 und ein niedriger Pegelwert bei Select_2 führen zu einem hohen Pegelwert des Signals SEL3, wohingegen die Signale SEL1 und SEL2 auf niedrigem Pegel liegen. Je nachdem, welcher Takt bereits aktiv ist, schaltet das Signal EN1 oder EN2 synchron mit dem jeweiligen Takt auf niedrigen Pegelwert um und deaktiviert damit diesen Takt. Wenn zum Beispiel gerade das Signal CLOCK_1 ausgegeben wird, schaltet das Signal EN1 synchron mit dem Takt CLOCK_1 auf den niedrigen Pegelwert um (in diesem Fall wäre das Signal EN1 bereits auf niedrigem Pegel und verändert sich nicht), was zur Deaktivierung des Taktsignals CLOCK_2 führt. Nachdem der zuvor freigegebene Takt nun deaktiviert wurde, schaltet das Signal EN3 synchron mit dem Taktsignal 3 (dieses hatte zuvor einen niedrigen Pegelwert) auf den hohen Pegelwert um, was zur Freigabe des Taktsignals am Ausgang CLOCK_OUT führt.
  • Schließlich veranlassen ein hoher Pegelwert bei Select_1 und ein hoher Pegelwert bei Select_2 die Deaktivierung aller Takte, wodurch der Ausgang CLOCK_OUT auf niedrigen Pegelwert gesteuert wird. Ein hoher Pegelwert bei Select_1 und ein hoher Pegelwert bei Select_2 führen zur Umschaltung von SEL1, SEL2 und SEL3 auf niedrigen Pegelwert. Dabei wird jeder bereits freigegebene Takt seinerseits synchron mit sich selbst deaktiviert und wird der Ausgang CLOCK_OUT auf den niedrigen Pegelwert gesteuert.
  • Eine exemplarische Anwendung für eine Taktauswahlschaltung ist die Auswahl zwischen einem Grundtakt und einem Takt mit höherer Frequenz, der aus einem Frequenzvervielfacher gebildet wird, dem ein Phasenregelkreis (PLL) zugrunde liegt. Dies wird ganz allgemein in 3 dargestellt. Gemäß der Zeichnung wird ein Grund-Taktsignal CLOCK_IN (als Signal CLOCK_1) einer Taktschaltungs- und Synchronisierschaltung 302 gemäß der vorliegenden Erfindung zugeführt. Das Signal CLOCK_IN wird außerdem einem Frequenzvervielfacher 300 in PLL-Technik zugeführt, welcher die Frequenz des Signals CLOCK_IN multipliziert, um so ein Taktsignal CLOCK_2 mit einer höheren Frequenz als das Taktsignal CLOCK_1 abzuleiten. Das zweite Taktsignal CLOCK_2 wird auch einer Taktschaltungs- und Synchronisierschaltung 302 zugeführt. Zur Auswahl zwischen dem Takt CLOCK_1 oder dem Takt CLOCK_2 als Ausgangssignal bei CLOCK_OUT wird eine Auswahlleitung eingesetzt. Wenn zum Beispiel bei Select ein hoher Pegel vorhanden ist, wird das Signal CLOCK_1 als Takt-Ausgangssignal CLOCK_OUT ausgegeben (was bedeutet, dass der PLL-Frequenzvervielfacher 300 umgangen wird). Liegt jedoch bei Select ein niedriger Pegelwert vor, wird das Taktsignal CLOCK_2 als Signal CLOCK_OUT ausgegeben.
  • Die Taktauswahlschaltung 302 weist außerdem die Eingänge nReset, StopCK und CLOCK_VALID als Steuereingänge auf. Der Steuereingang nReset ist ein aktiv auf niedrigem Pegel liegender Eingang, welcher die Taktauswahlschaltung 302 rücksetzt. Der Eingang StopCK wird dazu verwendet, den Takt am Ausgang CLOCK_OUT anzuhalten. Liegt der Eingang StopCK auf hohem Pegel, wird das Takt-Ausgangssignal CLOCK_OUT angehalten. Der Eingang CLOCK_VALID dient dazu, eine Umschaltung auf dem PLL-Takt – CLOCK_2 – während der Zeit zu verhindern, in welcher der Phasenregelkreis noch nicht verriegelt ist. Wenn der Phasenregelkreis PLL die Verriegelung erreicht hat, schaltet der Eingang CLOCK_VALID auf hohen Pegelwert um und ermöglicht dabei eine Umschaltung auf das Signal CLOCK_2.
  • 4a stellt eine Taktauswahlschaltung 400 dar, die besonders gut zur Auswahl zwischen einem Grundtakt und einem Takt mit höherer Frequenz geeignet ist, der aus einem Frequenzvervielfacher, dem ein Phasenregelkreis (PLL) zugrunde liegt, erstellt wird. Die Auswahlschaltung 400 weist ganz allgemein eine Freigabelogik 404, eine mit dem Taktsignal CLOCK_1 getaktete Synchronisierlogik 408, eine mit dem Taktsignal CLOCK_2 getaktete Synchronisierlogik 406 und eine Ausgabelogik 402 auf.
  • Die Freigabelogik 404 erzeugt interne Auswahlsignale SEL1 und SEL2, denen Eingangssignale nReset, Select, StopCK und CLOCK_VALID sowie der aktuelle Zustand der Taktauswahl zugrunde liegt, d.h. ob das Taktsignal CLOCK_1 ausgegeben wird oder nicht und ob das Taktsignal CLOCK_2 ausgegeben wird oder nicht. Das interne Auswahlsignal SEL1 wird der Synchronisierlogik 408 zugeführt, während das interne Auswahlsignal SEL2 das Eingangssignal in die Synchronisierlogik 406 ist. Die Synchronisierlogik 408 erzeugt ein internes Freigabesignal EN1 synchron mit dem Taktsignal CLOCK_1, dem das interne Auswahlsignal SEL1 zugrunde liegt. In gleicher Weise erzeugt die Synchronisierlogik 406 ein internes Freigabesignal EN2 synchron mit dem Taktsignal CLOCK_2, dem das interne Auswahlsignal SEL2 zugrunde liegt. Die internen Freigabesignale EN1 und EN2 werden zusätzlich zu den Taktsignalen CLOCK_1 und CLOCK_2 der Ausgabelogik 402 zugeführt. Die Zustände der Freigabesignale EN1 und EN2 legen fest, welchen Takt – CLOCK_1 oder CLOCK_2 – die Ausgabelogik 402 ausgibt. Die Freigabesignale EN1 und EN2 werden außerdem jeweils über Wechselrichter 412 bzw. 414 zur Freigabelogik 404 zurückgeführt.
  • Entsprechend der Darstellung weist die Freigabelogik 404 UND-Schaltungen 424, 428 und 432, Wechselrichter 420, eine NICHT-ODER-Schaltung 430 und eine ODER-Schaltung 422 auf. Das Ausgangssignal aus der ODER-Schaltung 218 ist SEL1. Eines der Eingangssignale der ODER-Schaltung 218 ist das Ausgangssignal des Wechselrichters 420, dem das Signal nReset als Eingangssignal zugeführt wurde. Das andere Eingangsignal in die ODER-Schaltung ist das Ausgangssignal aus der UND-Schaltung 424. Die UND-Schaltung 424 empfängt als Eingangssignale das Signal Select, das Signal EN2 über den Wechselrichter 412 und das Ausgangssignal der UND-Schaltung 428 über den Wechselrichter 426. Die UND-Schaltung 428 empfängt das Signal nReset und das Signal StopCK als Eingangssignale. Das Ausgangssignal der UND-Schaltung 432 erhält das Signal CLOCK_VALID, das Signal EN1 über den Wechselrichter 416 und das Ausgangssignal der NICHT-ODER-Schaltung 430 als Eingangssignale. Die NICHT-ODER-Schaltung 430 empfängt das Signal Select und das Ausgangssignal der UND-Schaltung 428 als Eingangssignale.
  • In ähnlicher Weise wie in 2a weist die Synchronisierlogik 408 eine Vielzahl von Flipflops in Kaskadenschaltung auf, zum Beispiel in Form von D-Flipflops. Jeder der Flipflops wird aufgrund des Wechselrichters 434 mit dem zugeordneten Eingangstakt, d.h. CLOCK_1, an der negativen Flanke des Eingangstakts getaktet. Außerdem weist jedes Flipflop einen Rücksetz-Eingang auf, der mit EN2 verbunden ist. Das erste Flipflop in der Kaskade empfängt das Signal SEL1 als Eingangssignal. Die Synchronisierlogik 408 weist außerdem eine ODER-Schaltung auf, um die Rücksetzfunktion von nReset zu vereinfachen. Das Ausgangssignal des Wechselrichters 420 ist ein Eingangssignal für die ODER-Schaltung 434. Das Ausgangssignal des letzten Flipflops in der Kaskade stellt das andere Eingangssignal für die ODER-Schaltung 434 dar. Das Ausgangssignal der ODER-Schaltung 434 ist EN1. In gleicher Weise weist die Synchronisierlogik 406 vorzugsweise eine Vielzahl von Flipflops in Kaskadenschaltung auf, beispielsweise in Form von D-Flipflops. Jeder der Flipflops wird wegen des Wechselrichters 438 mit dem zugeordneten Eingangstakt, d.h. CLOCK_2, auf der negativen Flanke des Eingangstaktes getaktet. Außerdem weist jedes Flipflop einen mit EN1 verbundenen Rücksetz-Eingang auf. Das erste Flipflop in der Kaskade empfängt das Signal SEL2 als Eingangssignal, und das Ausgangssignal des letzten Flipflops in der Kaskade ist EN2.
  • Wie zuvor bereits in Verbindung mit 2a beschrieben, verringert die Verwendung einer Vielzahl von Flipflops statt eines einzigen Flipflops die Möglichkeit eines metastabilen Zustands.
  • Die Signale EN1 und EN2 werden als Rücksetz-Eingangssignale der entgegen gesetzten Gruppe von Flipflops in der dargestellten Weise angelegt, um so die entgegen gesetzte Gruppe von Flipflops in der nachstehend beschriebenen Weise in einen Rücksetzzustand zu versetzen. Damit wird sichergestellt, dass das entgegen gesetzte interne Freigabesignal auf niedrigem Pegel liegt, wenn sich eines der internen Freigabesignale auf hohem Pegel befindet.
  • Die Ausgabelogik 402 weist eine ODER-Schaltung 440 mit einem Eingang auf, der mit dem Ausgang einer UND-Schaltung 442 verbunden ist, während der andere Eingang mit dem Ausgang einer zweiten UND-Schaltung 446 verbunden ist. Einer der Eingänge der UND-Schaltung 442 ist mit CLOCK_1 verbunden, während der andere Eingang mit EN1 verbunden ist. In gleicher Weise ist einer der Eingänge der UND-Schaltung 446 mit CLOCK_2 verbunden, während ihr anderer Eingang mit EN2 verbunden ist. Das Ausgangssignal der ODER-Schaltung 440 wird als CLOCK_OUT betrachtet.
  • Nachstehend wird nun in Verbindung mit dem Zeitdiagramm in 4b die Funktionsweise der Auswahlschaltung 400 zum Auswählen zwischen den Taktsignalen CLOCK_1 und CLOCK_2 ausgehend von einem Zustand beschrieben, in den das Taktsignal CLOCK_1 auf denn Ausgang CLOCK_OUT ausgegeben wird. Des Weiteren wird zwar die Funktionsweise der Auswahlschaltung 400 im Zusammenhang mit einem aktiven hohen logischen Pegel beschrieben, doch liegt auch der Einsatz eines aktiven niedrigen Pegels im Rahmen der Erfindung.
  • Dabei ist zu beachten, dass die Auswahlschaltung 400 die Möglichkeit vorsieht, dass die Eingänge sich asynchron bezüglich des ausgewählten Taktes verändern können. Der Grund hierfür liegt darin, dass eine Veränderung bei irgendeinem der Eingangssignale durch die Synchronisier-Flipflops 406 und 408 läuft, ehe sie am Ausgang voll wirksam wird.
  • In dem Fall, dass gerade das Taktsignal CLOCK_1 am Ausgang CLOCK_OUT ausgegeben wird, liegen die Signale Select und nReset auf hohem Pegelwert und ist der Pegelwert des Signals StopCK niedrig. Dies führt dazu, dass das interne Auswahlsignal SEL1 auf hohem und das Signal SEL2 auf niedrigem Pegel liegen. Das interne Freigabesignal EN1 ist infolgedessen auf hohem Pegel, wodurch die Synchronisier-Flipflops 406 in einem Rücksetzzustand gehalten werden, womit sichergestellt ist, dass das interne Freigabesignal EN2 in einem Zustand auf niedrigem Pegel gehalten wird. Da EN1 auf hohem und EN2 auf niedrigem Pegel liegen, wird das Taktsignal CLOCK_1 von der Ausgangslogik 402 ausgegeben.
  • Soll das Taktsignal CLOCK_2 zur Ausgabe am Ausgang CLOCK_OUT ausgewählt werden, wird das Signal Select auf niedrigen Pegel geschaltet, wodurch SEL1 zur Umschaltung auf niedrigen Pegel veranlasst wird. Solange das Signal CLOCK_VALID auf hohem Pegel liegt, was ein Hinweis auf eine Verriegelung des Phasenregelkreises ist, führt eine Umschaltung von Select auf niedrigen Pegel dazu, dass SEL2 auf den hohen Pegel umschaltet. An diesem Punkt hält EN1 immer noch die Flipflops 406 in einem Rücksetzzustand, wodurch verhindert wird, dass SEL2 zu EN2 läuft.
  • Die Flipflops 408 werden jedoch nicht in einem Rücksetzzustand gehalten, weil EN2 auf niedrigem Pegel ist. Deshalb läuft SEL1 durch die Flipflops 408. Die Flipflops 408 werden durch die negative Flanke des Signals CLOCK_1 getaktet. Dies führt dazu, dass EN1 synchron das Ausgangssignal CLOCK_1 am Ausgang CLOCK_OUT deaktiviert, indem EN1 hinter einer abfallenden Flanke – aber noch vor einer ansteigenden Flanke – des Taktsignals CLOCK_1 auf den niedrigen Pegel umschaltet. Diese synchrone Deaktivierung von CLOCK_1 am Ausgang CLOCK_OUT verhindert die Ausgabe eines Störimpulses.
  • Dadurch, dass das interne Freigabesignal EN1 auf den niedrigen Pegel umschaltet, werden die Flipflops 406 aus dem Rücksetzzustand geschaltet. Deshalb läuft SEL2 durch die Flipflops 406. Die Flipflops 406 werden durch die negative Flanke des Taktsignals CLOCK_2 getaktet. Dies führt dazu, dass EN2 das am Ausgang CLOCK_OUT ausgegebene Taktsignal CLOCK_2 synchron deaktiviert, indem es nach einer abfallenden Flanke, aber noch vor einer ansteigenden Flanke, des Signals CLOCK_2 auf den hohen Pegelwert umschaltet. Diese synchrone Aktivierung des Signals CLOCK_2 am Ausgang CLOCK_OUT verhindert die Ausgabe eines Störimpulses. Des Weiteren führt die Umschaltung des internen Freigabesignals EN2 dazu, dass die Flipflops 408 in einen Rücksetzzustand versetzt werden, wodurch EN1 auf niedrigem Pegelwert gehalten wird.
  • Die Funktionsweise der Auswahlschaltung hängt außerdem, wie vorstehend schon beschrieben, von den Eingangssignalen CLOCK_VALID, nReset und StopCK ab. Bei CLOCK_VALID handelt es sich um ein Signal, das darauf hinweist, dass das Takt-Eingangssignal CLOCK_2 korrekt oder zulässig ist, und dass die Umschaltung fortgesetzt werden kann. Bei der vorliegenden Auswahlschaltung 400 ist dann, wenn die PLL-Schaltung noch nicht verriegelt ist und deshalb das Signal CLOCK_2 nicht zulässig ist, das Signal CLOCK_VALID auf niedrigem Pegelwert, weshalb SEL2 ebenfalls auf niedrigem Pegel liegt. Dies verhindert, dass das Signal CLOCK_2 ausgegeben wird, auch wenn das Signal Select auf niedrigem Pegel liegt. Damit verhindert CLOCK_VALID die Umschaltung auf CLOCK_2, während die PLL-Schaltung nicht verriegelt ist (d.h. während das Signal CLOCK_2 nicht gültig ist).
  • Für CLOCK_1 oder jeden anderen umzuschaltenden Takt könnte ein ähnliches Signal vorhanden sein.
  • Mit StopCK wird die Ausgabe am Ausgang CLOCK_OUT angehalten und versetzt nReset die Auswahlschaltung 400 in einen Rücksetzzustand. Wenn das Signal StopCK auf hohen Pegel umschaltet, schalten sowohl SEL1 als auch SEL2 auf niedrigen Pegel um, wodurch bewirkt wird, dass EN1 und auch EN2 auf niedrigem Pegelwert liegen, weshalb die Ausgabe am Ausgang CLOCK_OUT angehalten wird, wie dies in 4c dargestellt ist. Wenn nReset auf niedrigen Pegelwert umschaltet, werden die Signale EN1 und SEL1 auf hohen Pegelwert gezwungen, wodurch EN2 und SEL2 auf niedrigen Pegelwert gezwungen werden. Dies führt dazu, dass das Taktsignal CLOCK_1 dann am Ausgang CLOCK_OUT ausgegeben wird.
  • Wie es für den Fachmann auf diesem Gebiet auf der Hand liegt, sind Anordnungen möglich, bei denen die internen Freigabesignale EN1 und EN1 nicht an den Rücksetz-Eingängen der Flipflops angelegt werden. Dies ist in den 4d und 4e dargestellt. Wie daraus ersichtlich ist, handelt es sich bei der Ausführungsform in 4d um die gleiche wie bei dem Ausführungsbeispiel in 4a, mit dem Unterschied, dass die internen Freigabesignale EN1 und EN1 nicht an die Rücksetz-Eingänge der entgegen gesetzten Flipflops angelegt werden.
  • In 4e sind EN1 und EN2 nicht mit den Rücksetz-Anschlüssen der gegenüber liegenden Flipflops verbunden. Bei dieser Ausführungsform ist allerdings nReset mit den Setz-Eingängen der Flipflops 408 über den Wechselrichter 404 verbunden. In gleicher Weise ist nReset mit den Rücksetz-Eingängen der Flipflops 406 über einen Wechselrichter 450 verbunden. ODER-Schaltungen 434 und 422 entfallen, während das Ausgangsignal der UND-Schaltung 424 direkt zu dem ersten Flipflop in der Reihe von Flipflops 408 läuft. Bei dieser Ausführungsform veranlasst die Umschaltung von nReset auf niedrigen Pegelwert wegen der Setz-Eingänge eine Umschaltung von EN1 auf hohen Pegelwert, wohingegen EN2 wegen der Rücksetz-Eingangssignale auf niedrigen Pegelwert umschaltet.
  • Eine andere Ausführungsform wurde für Steuersignale (d.h. Select, StopCK und StopClockout) entwickelt, die sich synchron mit dem ausgewählten Takt verändern. Dies geschieht beispielsweise dann, wenn die Taktauswahlschaltung dazu verwendet wird, einen Prozessor zu takten, der die Steuersignale abgibt, wie dies in 5a dargestellt ist. Dabei wird ein Prozessor 501 mit dem Signal CLOCK_OUT einer Taktauswahlschaltung 500 getaktet, die entsprechend den Grundzügen der vorliegenden Erfindung ausgelegt ist. Einige der Steuer-Eingangssignale der Taktauswahlschaltung 500, d.h. Select und nReset, werden der Auswahlschaltung 500 durch den Prozessor 501 zugeleitet. StopCK wird als Kombination aus Ausgangssignalen vom Prozessor 501, der peripheren Logik 503 und der Systemlogik 505 erzeugt. Da das Ausgangssignal CLOCK_OUT den Prozessor 501 taktet, verändern sich die Signale Select, nReset und StopCK synchron, gleich welcher Takt, CLOCK_1 oder CLOCK_2, zur Ausgabe bei CLOCK_OUT ausgewählt wurde.
  • Entsprechend der Darstellung in 5b, die ein Ausführungsbeispiel der Erfindung darstellt, weist die Auswahlschaltung 500 ganz allgemein eine Aktivierungslogik 502, eine mit dem Taktsignal CLOCK_1 getaktete Synchronisierlogik 504, eine mit dem Taktsignal CLOCK_2 getaktete Synchronisierlogik, eine Ausgabelogik 508 und eine Stromsteuerlogik 510 auf.
  • Die Freigabelogik 502 erzeugt interne Auswahlsignale SEL1 und SEL2 auf der Grundlage der Eingangssignale nReset, Select und StopCK. Das interne Auswahlsignal SEL1 wird als Eingangssignal an die Synchronisierlogik 504 angelegt, während das interne Auswahlsignal SEL2 an die Synchronisierlogik 506 angelegt wird. Die Synchronisierlogik 504 erzeugt ein internes Freigabesignal EN1 synchron mit dem Taktsignal CLOCK_1, dem das interne Auswahlsignal SEL1 zugrunde liegt. In gleicher Weise erzeugt die Synchronisierlogik 506 ein internes Freigabesignal EN2 synchron mit dem Taktsignal CLOCK_2, dem das interne Auswahlsignal SEL2 zugrunde liegt. Die internen Freigabesignale EN1 und EN2 werden zusätzlich zu den Taktsignalen CLOCK_1 und CLOCK_2 und zum Signal StopClockout als Eingangssignale an die Ausgabelogik 508 angelegt. Die Zustände der Freigabesignale EN1 und EN2 legen fest, welcher Takt, CLOCK_1 oder CLOCK_2, von der Ausgabelogik 508 ausgegeben wird. Die Freigabesignale EN1 und EN2 werden auch der Stromsteuerlogik 510, zusätzlich zu den Signalen CLOCK_1 und CLOCK_2, zugeleitet. Die Stromsteuerlogik 510 steuert in der nachstehend noch ausführlicher beschriebenen Weise die Taktung der Synchronisierlogik 604 und 506 auf der Grundlage der Zustände von EN1 und EN2.
  • Wie dort dargestellt, weist die Freigabelogik 502 ODER-schaltungen 512, 522 und 520, einen Wechselrichter 516, eine NICHT-UND-Schaltung 514 und eine UND-Schaltung 518 auf. Das Ausgangssignal aus der NICHT-UND-Schaltung 514 ist SEL1. Einer der Eingänge der NICHT-UND-Schaltung 514 ist das Signal Select. Der andere Eingang der NICHT-UND-Schaltung 514 ist der Ausgang des Wechselrichters 516, der das Ausgangssignal der UND-Schaltung 518 als Eingangssignal erhält. Die UND-Schaltung 518 empfängt das Signal nReset und das Signal StopCK als Eingangssignale. Das Ausgangssignal aus der ODER-Schaltung 520 ist SEL2. Die ODER-Schaltung 520 empfängt das Signal Select und das Ausgangssignal der UND-Schaltung 518 als Eingangssignale.
  • Das Signal nReset wird auch an einen der Eingänge der ODER-Schaltung 512 geführt. Das andere Eingangssignal an der ODER-Schaltung ist das Ausgangssignal der NICHT-UND-Schaltung 514, d.h. SEL1. Das Ausgangssignal der ODER-Schaltung 512 wird an die Stromsteuerlogik 510 und an die Synchronisierlogik 504 geführt, um so die Funktion von nReset zu aktivieren. In Gleicher Weise wird das Signal nReset an einen der Eingänge der ODER-Schaltung 522 geführt. Das andere Eingangssignal an der ODER-Schaltung 522 ist das Ausgangssignal der ODER-Schaltung 520, d.h. SEL2. Das Ausgangssignal der ODER-Schaltung 522 wird auch an die Stromsteuerlogik 510 geführt, um so die Funktion von nReset zu aktivieren.
  • Die Synchronisierlogik 504 weist eine Vielzahl von Flipflops, wie zum Beispiel D-Flipflops, in Kaskadenschaltung auf. Jeder der Flipflops wird durch das zugeordnete Eingangs-Taktsignal, d.h. CLOCK_1, an der positiven Flanke des Eingangs-Taktsignals getaktet. Das erste Flipflop in der Kaskade empfängt SEL1 als Eingangssignal. Außerdem wird das Signal SEL1 an den Setz-Eingang jedes der Flipflops angelegt. Die Synchronisierlogik 504 weist außerdem eine UND-Schaltung 526 und eine ODER-Schaltung 524 auf. Am letzten Flipflop in der Kaskade ist der Ausgang mit der UND-Schaltung 526 verbunden, deren anderes Eingangssignal das Ausgangssignal aus der ODER-Schaltung 512 ist. Das Ausgangssignal der UND-Schaltung 526 wird als Eingangssignal an die ODER-Schaltung 524 geführt. Das andere Eingangssignal der ODER-Schaltung 524 ist SEL1. Das Ausgangssignal der ODER-Schaltung 524 ist EN1.
  • In gleicher Weise weit die Synchronisierlogik 506 eine Vielzahl von Flipflops, wie zum Beispiel D-Flipflops, in Kaskadenschaltung auf. Jeder der Flipflops wird durch das zugeordnete Eingangs-Taktsignal, d.h. CLOCK_2, an der positiven Flanke des Eingangs-Taktsignals getaktet. Das erste Flipflop in der Kaskade empfängt SEL2 als Eingangssignal. Außerdem wird das Signal SEL2 an den Setz-Eingang jedes der Flipflops angelegt. Die Synchronisierlogik 506 weist außerdem eine UND-Schaltung 530 und eine ODER-Schaltung 528 auf. Am letzten Flipflop in der Kaskade ist der Ausgang mit der UND-Schaltung 530 verbunden, deren anderes Eingangssignal das Ausgangssignal aus der ODER-Schaltung 522 ist. Das Ausgangssignal der UND-Schaltung 530 wird als Eingangssignal an die ODER-Schaltung 528 geführt. Das andere Eingangssignal der ODER-Schaltung 528 ist SEL2. Das Ausgangssignal der ODER-Schaltung 528 ist EN2.
  • Dabei ist zu beachten, dass die Verwendung von einer Vielzahl von Flipflops anstelle eines einzelnen Flipflops die Möglichkeit eines metastabilen Zustands verringert.
  • Die Ausgabelogik 508 weist eine UND-Schaltung 548 auf, deren einer Eingang mit dem Ausgang einer ODER-Schaltung 544 verbunden ist, während ihr anderer Eingang mit dem Ausgang einer zweiten ODER-Schaltung 546 verbunden ist. Einer der Eingänge der ODER-Schaltung 544 ist mit CLOCK_1 verbunden, während der andere Eingang mit EN1 verbunden ist. In gleicher Weise ist einer der Eingänge der ODER-Schaltung 546 mit CLOCK_2 verbunden, während ihr anderer Eingang mit EN2 verbunden ist. Das Ausgangssignal der UND-Schaltung 548 wird als Eingangssignal an die ODER-Schaltung 550 geführt. Das andere Eingangssignal der ODER-Schaltung 550 ist dabei das Signal StopClockout. Das Ausgangssignal der ODER-Schaltung 550 wird als Signal CLOCK_OUT betrachtet.
  • Die Stromsteuerschaltung weist die NICHT-UND-Schaltung 532, die UND-Schaltungen 536 und 538 sowie die ODER-Schaltungen 540 und 542 auf. Die NICHT-UND-Schaltung 532 erhält EN1 und EN2 als Eingangssignale. das Ausgangssignal der NICHT-UND-Schaltung 4532 wird als Eingangssignal an die UND-Schaltung 536 angelegt. Die UND-Schaltung 536 empfängt außerdem das Ausgangssignal aus der ODER-Schaltung 512 als Eingangssignal. Das Ausgangssignal der UND-Schaltung 536 ist eines der Eingangssignale in die ODER-Schaltung 540. Das andere Eingangssignal der ODER-Schaltung 540 ist CLOCK_1. Jeder Taktsignal-Eingang der Flipflops empfängt das Ausgangssignal der ODER-Schaltung 540. Das Ausgangssignal der NICHT-UND-Schaltung 532 ist auch das Eingangssignal für die UND-Schaltung 538. Die UND-Schaltung 538 empfängt außerdem das Ausgangssignal der ODER-Schaltung 522 als Eingangssignal. Des Ausgangssignal der UND-Schaltung 538 ist eines der Eingangssignale für die ODER-Schaltung 542. Das andere Eingangssignal der ODER-Schaltung 540 ist CLOCK_1. Dabei empfangen die Flipflops an jedem Takteingang das Ausgangssignal der ODER-Schaltung 542.
  • Nachstehend wird nun die Funktionsweise der Auswahlschaltung 500 zur Auswahl zwischen CLOCK_1 und CLOCK_2 in Verbindung mit dem Zeitsteuerschema in 5c beschrieben, und zwar ausgehend von einem Zustand, in dem das Taktsignal CLOCK_1 am Ausgang CLOCK_OUT ausgegeben wird.
  • In dem Fall, dass gerade das Taktsignal CLOCK_1 am Ausgang CLOCK_OUT ausgegeben wird, liegen die Signale Select und nReset auf hohem Pegelwert, während die Signale StopCK und StopClockout auf niedrigem Pegel liegen. Dies führt dazu, dass das interne Auswahlsignal SEL1 dann gerade auf niedrigem Pegel liegt, während SEL2 einen hohen Pegelwert hat. Infolgedessen ist das interne Freigabesignal EN1 auf niedrigem Pegelwert, wohingegen das Freigabesignal EN2 infolgedessen auf hohem Pegelwert liegt. Da EN1 einen niedrigen Pegel hat und EN2 einen hohen, wird das Taktsignal CLOCK_1 aus der Ausgabelogik 508 am Ausgang CLOCK_OUT abgegeben.
  • Wie zuvor bereits beschrieben, werden die Freigabesignale EN1 und EN2 auch als Eingangssignal in die Stromsteuerlogik 510 geleitet, zusätzlich zu den Taktsignalen CLOCK_1 und CLOCK_2. Die Stromsteuerlogik 510 steuert die Taktik der Synchronisierungslogik 504 und 506 auf der Grundlage der Zustände von EN1 und EN2, um so den Stromverbrauch der Auswahlschaltung 500 zu verringern. Wenn deshalb ein Takt zur Ausgabe freigegeben wird, verhindert die Stromsteuerlogik 510 der Synchronisierlogik 504 und 506, wohingegen während des Umschaltens zwischen Takten oder nach Rücksetzung die Stromsteuerlogik 510 eine Taktung der Synchronisierungslogik 504 und 506 ermöglicht. Die Stromsteuerlogik verhindert als solche die Taktung der Synchronisierlogik 504 und 506, wenn das Taktsignal CLOCK_1 ausgegeben wird.
  • Soll das Taktsignal CLOCK_2 aus Ausgangssignal am Ausgang CLOCK_OUT ausgewählt werden, wird das Signal Select auf niedrigen Pegelwert geschaltet. Die Umschaltung von Select auf niedrigen Pegelwert führt dazu, dass das Signal SEL2 auf niedrigen Pegelwert umschaltet, während die Signale SEL1 und EN1 auf hohen Pegelwert gesetzt werden. Da das Auswahlsignal Select mit dem aktuell ausgewählten Takt synchronisiert ist, kann die Ausgabe des Signals CLOCK_1 am Ausgang CLOCK_OUT deaktiviert werden, wenn das Signal Select verändert wird. Der Grund hierfür liegt darin, dass Select mit dem aktuell ausgewählten Takt synchronisiert ist und dabei CLOCK_1 deaktiviert, wenn sich das Signal Select verändert und CLOCK_1 synchron mit sich selbst deaktiviert. Die Freischaltung von CLOCK_2 am Ausgang CLOCK_OUT muss jedoch immer noch mit CLOCK_2 synchronisiert werden, um die Ausgabe eines Störimpulses zu verhindern. Deshalb hält die Synchronisierlogik 506 das Signal EN2 auf dem hohen Pegelwert.
  • Da beide Signale EN1 und EN2 auf dem hohen Pegel liegen (was ein Hinweis auf die Umschaltung der Takte ist), lässt die Stromsteuerschaltung 510 die Taktung der Synchronisierlogik 504 und 506 zu. Aus diesem Grund läuft das Signal SEL2 durch die Synchronisierlogik 506 hindurch. Die Synchronisierlogik 506 wird durch die positive Flanke des Taktsignals CLOCK_1 getaktet. Dies führt dazu, dass EN1 synchron die Ausgabe de Signals CLOCK_2 am Ausgang CLOCK_OUT freigibt, indem es im Anschluss an eine ansteigende Flanke, aber noch vor einer abfallenden Flanke, auf den niedrigen Pegelwert umschaltet. Diese synchronisierte Freigabe von CLOCK_2 am Ausgang CLOCK_OUT verhindert die Ausgabe eines Störimpulses. Außerdem führt die Umschaltung von EN2 auf einen hohen Pegelwert dazu, dass die Stromsteuerlogik 510 die Taktung der Synchronisierlogik 504 und 506 verhindert.
  • Wie vorstehend bereits beschrieben, hängt die Arbeitsweise der Auswahlschaltung 500 auch von den Eingangssignalen nReset, StopCK und Stop Clockout ab. Das Signal nReset versetzt die Auswahlschaltung 500 in einen Rücksetzzustand. Während der Initialisierung der Logik liegt das Signal nReset auf niedrigem, und das Signal Select auf hohem Pegel. Dies erzwingt, dass das Ausgangssignal der UND-Schaltung 514 auf niedrigem Pegel liegt und das Ausgangssignal der ODER-Schaltung 520 auf hohem Pegel liegt. Außerdem ist das Ausgangssignal der ODER-Schaltung 512 auf niedrigem Pegelwert. Das Ausgangssignal der ODER-Schaltung 520 setzt die Flipflops der Synchronisierungslogik 506, wohingegen das Ausgangssignal der ODER-Schaltung 512 erzwingt, dass das Taktsignal CLOCK_1 die Synchronisierlogik taktet, die nach ein paar Taktsignalflanken initialisiert wird (was bedeutet, dass das Signal SEL1 durch die Flipflops läuft).
  • Wenn das Signal StopClockout auf den hohen Pegelwert umschaltet, ist der Ausgang CLOCK_OUT auf hohem Pegelwert ausgeblendet, wodurch die Ausgabe des Taktsignals CLOCK_1 oder des Signals CLOCK_2 am Ausgang CLOCK_OUT wirksam verhindert wird, wie dies in 5c dargestellt ist. Im typischen Fall verwendet der Prozessor, der mit der Auswahlschaltung 500 getaktet wird, das Signal StopClockout, um in einen Stromabschalt-Modus zu gehen, in dem keine Taktung vorhanden ist. Wenn ein Prozessor in einen Stromausschaltmodus übergeht, muss es eine Möglichkeit geben, wie der Prozessor aufgeweckt werden kann. Aus diesem Grund wird eine Nebenschaltung verwendet, die immer noch ein Taktsignal empfängt und die den Prozessor reaktivieren kann. Damit die Nebenschaltung immer noch ein Taktsignal empfangen kann, steht vorzugsweise an der Auswahlschaltung 500 immer noch ein Taktsignal, vorzugsweise das Signal IO_CK, zur Verfügung, während das Signal StopClockout immer noch auf niedrigem Pegel liegt. Wenn nun das Signal StopClockout auf hohem Pegelwert liegt, bleibt das Ausgabesignal CLOCK_OUT zwar auf hohem Pegelwert, doch fungiert das Signal IO_CK weiterhin als Taktsignal.
  • Das Signal StopCK hält die Ausgabe aus der Auswahlschaltung 500 vollständig an, einschließlich des Signals IO_CK. Wie aus dem Hinweis auf 5e entnommen werden kann, ist dann, wenn das Signal CLOCK_2 am Ausgang CLOCK_OUT ausgegeben wird, das Signal EN1 auf hohem Pegel, während das Signal EN2 auf niedrigem Pegel liegt. Wenn das Signal StopCK auf den hohen Pegelwert umschaltet, schaltet auch EN1 auf den hohen Pegelwert um. Dies führt dazu, dass die Signale CLOCK_OUT und IO_CK auf hohem Pegelwert bleiben. Wie aus 5f entnommen werden kann, wird in gleicher Weise das Taktsignal CLOCK_1 am Ausgang CLOCK_OUT ausgegeben, liegt das Signal EN2 auf hohem Pegelwert und liegt das Signal EN1 auf dem niedrigen Pegelwert. Wenn das Signal StopCK auf den hohen Pegelwert umschaltet, so führt dies auch dazu, dass das Signal CLOCK_OUT und das Signal IO_CK auf dem hohen Pegelwert bleiben.
  • Auch wenn die vorliegende Erfindung im Zusammenhang mit einem bevorzugten Ausführungsbeispiel beschrieben wurde, können daran verschiedene Veränderungen vorgenommen werden, die vom Umfang der beiliegenden Ansprüche mit erfasst werden.

Claims (6)

  1. Taktauswahlschaltung (500) zum Umschalten zwischen einer Vielzahl möglicher Takten in der Weise, dass die Taktauswahlschaltung von einem vorhandenen Takt auf einen neuen Frequenztakt in Synchronisierung mit vorhandenen und neuen Frequenztakten umschaltet, wobei die Taktauswahlschaltung folgendes aufweist: einen ersten Takteingang (CLOCK_1) zum Empfangen des vorhandenen Takts als Eingangssignal; einen Takteingang (CLOCK_2) für einen neuen Frequenztakt zum Empfangen des neuen Frequenztakts; eine Aktivierungslogik (502), die in der Weise betreibbar ist, dass sie ein erstes internes Auswahlsignal (SEL1) und ein zweites internes Auswahlsignal (SEL2) anhand von mindestens einem Auswahlsignal (Select) erzeugt, eine erste Synchronisierlogik (504), die dem ersten Takteingang (CLOCK_1) in der Weise zugeordnet ist, dass sie die Ausgabe des vorhandenen Taktes aktiviert/deaktiviert, wobei die erste Synchronisierlogik (504) einen Satz erster Synchronisier-Flipflops in Kaskadenschaltung umfasst, so dass ein Ausgang eines Flipflops mit dem Eingang des nachfolgenden Flipflops in dem Satz erster Synchronisier-Flipflops in Kaskadenschaltung verbunden ist, wobei jeder erste Synchronisier-Flipflop so ausgelegt ist, dass er mit dem vorhandenen Taktsignal (CLOCK_1) getaktet werden kann, wobei der erste Flipflop der Flipflops in Kaskadenschaltung in der Weise angeordnet ist, dass er das erste interne Auswahlsignal (SEL1) als Eingangssignal empfängt, und wobei die erste Synchronisierlogik (504) in der Weise angeordnet ist, dass sie ein erstes Aktivierungssignal (EN1) als Ausgangssignal abgibt; eine zweite Synchronisierlogik (506), welche dem Takteingang für den neuen Frequenztakt (CLOCK_2) zur Aktivierung/Deaktivierung der Ausgabe des neuen Frequenztakts zugeordnet ist, wobei die zweite Synchronisierlogik (506) einen Satz zweiter Synchronisier-Flipflops in Kaskadenschaltung in der Weise umfasst, dass ein Ausgang eines Flipflops mit dem Eingang des nachfolgenden Flipflops in dem Satz zweiter Synchronisier-Flipflops in Kaskadenschaltung verbunden ist, wobei jeder zweite Synchronisier-Flipflop so ausgelegt ist, dass er mit dem neuen Frequenztaktsignal (CLOCK_2) getaktet werden kann, wobei der erste Flipflop der Flipflops in Kaskadenschaltung in der Weise angeordnet ist, dass er das zweite interne Auswahlsignal (SEL2) als Eingangssignal empfängt, und wobei die zweite Synchronisierlogik (506) in der Weise angeordnet ist, dass sie ein zweites Aktivierungssignal (EN2) als Ausgangssignal abgibt; und eine Leistungssteuerlogik (510) zum Steuern der Taktung der Sätze von Flipflops, wobei die Leistungssteuerlogik (510) in der Weise angeordnet ist, dass die Sätze von Flipflops nur während der Umschaltung zwischen Takten oder bei einer oder im Anschluss an eine Rücksetzung getaktet werden, wobei die erste Synchronisierlogik (504) und die zweite Synchronisierlogik (506) in der Weise angeordnet sind, dass sie zusammenwirken, um die Ausgabe des vorhandenen Taktes synchron mit dem vorhandenen Takt zu deaktivieren und die Ausgabe des neuen Frequenztaktes synchron mit dem neuem Frequenztakt zu aktivieren, dadurch gekennzeichnet, dass jeder Flipflop in dem Satz erster Synchronisier-Flipflops in Kaskadenschaltung einen Satzeingang (Set) aufweist, wobei jeder Satzeingang in dem Satz erster Synchronisier-Flipflops in Kaskadenschaltung in der Weise angeschlossen ist, dass er ein gleiches erstes Eingangssignal empfängt, wobei das erste Eingangssignal das erste interne Auswahlsignal (SEL1) ist; dass jeder Flipflop in dem Satz zweiter Synchronisier-Flipflops in Kaskadenschaltung einen Satzeingang (Set) aufweist, wobei jeder Satzeingang in dem Satz zweiter Synchronisier-Flipflops in Kaskadenschaltung in der Weise angeschlossen ist, dass er ein gleiches zweites Eingangssignal empfängt, wobei das zweite Eingangssignal das zweite interne Auswahlsignal (SEL2) ist; und dass eine Ausgangslogik (508) vorgesehen ist, die zum Empfangen des ersten Aktivierungssignals (EN1), des zweiten Aktivierungssignals (EN2), des ersten Takteingangssignals (CLOCK_1) und des neuen Frequenztakt-Eingangssignals (CLOCK_2) ausgelegt ist, wobei die Ausgangslogik in der Weise angeordnet ist, dass sie das aktivierte Taktausgangssignal (CLOCK_OUT) der Takteingänge (CLOCK_1, CLOCK_2) ausgibt.
  2. Taktauswahlschaltung (500) nach Anspruch 1, dadurch gekennzeichnet, dass der vorhandene Takt ein Basis-Frequenztakt ist und dass der neue Frequenztakt von einem Frequenzvervielfacher in PLL-Technik erzeugt wird.
  3. Taktauswahlschaltung (500) nach Anspruch 1, dadurch gekennzeichnet, dass die Taktauswahlschaltung (500) auf ein Rücksetz-Eingangssignal (nReset) anspricht, um die Taktauswahlschaltung (500) in einen Rücksetzzustand rückzusetzen.
  4. Taktauswahlschaltung (500) nach Anspruch 1, dadurch gekennzeichnet, dass die Taktauswahlschaltung (500) auf ein Anhalte-Eingangssignal (StopCK) anspricht, um alle Taktausgänge anzuhalten.
  5. Taktauswahlschaltung (500) nach Anspruch 1, dadurch gekennzeichnet, dass die Ausgangslogik (508) in der Weise angeordnet ist, dass sie ein Taktsignal (IO_CK) als zusätzliches Ausgangssignal ausgibt.
  6. Taktauswahlschaltung (500) nach Anspruch 5, dadurch gekennzeichnet, dass die Taktauswahlschaltung (500) auf ein Eingangssignal zum Anhalten der Taktausgabe (StopClockout) anspricht, um nur den aktivierten Taktausgang (CLOCK_OUT) anzuhalten.
DE60216811T 2001-11-15 2002-10-09 Störungsfreie taktauswahlschaltung Expired - Lifetime DE60216811T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/002,921 US6600345B1 (en) 2001-11-15 2001-11-15 Glitch free clock select switch
US2921 2001-11-15
PCT/US2002/032460 WO2003044996A2 (en) 2001-11-15 2002-10-09 Glitch free clock selection switch

Publications (2)

Publication Number Publication Date
DE60216811D1 DE60216811D1 (de) 2007-01-25
DE60216811T2 true DE60216811T2 (de) 2007-10-04

Family

ID=21703196

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60216811T Expired - Lifetime DE60216811T2 (de) 2001-11-15 2002-10-09 Störungsfreie taktauswahlschaltung

Country Status (6)

Country Link
US (1) US6600345B1 (de)
EP (1) EP1451666B1 (de)
CN (1) CN100373288C (de)
AT (1) ATE348356T1 (de)
DE (1) DE60216811T2 (de)
WO (1) WO2003044996A2 (de)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3593104B2 (ja) * 2002-01-11 2004-11-24 沖電気工業株式会社 クロック切替回路
US7003683B2 (en) * 2002-01-31 2006-02-21 Stmicroelectronics. Inc. Glitchless clock selection circuit
US6784699B2 (en) * 2002-03-28 2004-08-31 Texas Instruments Incorporated Glitch free clock multiplexing circuit with asynchronous switch control and minimum switch over time
JP3542351B2 (ja) * 2002-11-18 2004-07-14 沖電気工業株式会社 クロック切り替え回路
US6865135B2 (en) 2003-03-12 2005-03-08 Micron Technology, Inc. Multi-frequency synchronizing clock signal generator
US6975145B1 (en) * 2003-06-02 2005-12-13 Xilinx, Inc. Glitchless dynamic multiplexer with synchronous and asynchronous controls
CN1300972C (zh) * 2003-07-14 2007-02-14 松下电器产业株式会社 时钟信号切换装置、时钟信号切换方法、数据总线切换装置及数据总线切换方法
JP2005191877A (ja) * 2003-12-25 2005-07-14 Fujitsu Ltd クロック切り替え回路
US7129765B2 (en) 2004-04-30 2006-10-31 Xilinx, Inc. Differential clock tree in an integrated circuit
US7609095B2 (en) * 2004-05-18 2009-10-27 Broadcom Corporation System and method for maintaining device operation during clock signal adjustments
KR100674910B1 (ko) * 2004-07-06 2007-01-26 삼성전자주식회사 글리치를 유발하지 않는 클럭 스위칭 회로
JP3778292B2 (ja) * 2004-07-12 2006-05-24 セイコーエプソン株式会社 クロック切り替え回路
US7259605B2 (en) * 2004-10-20 2007-08-21 Stmicroelectronics Pvt. Ltd. Pseudo true single phase clock latch with feedback mechanism
DE602004010696T2 (de) 2004-12-23 2008-12-04 Alcatel Lucent Ein redundantes synchrones Taktverteilungssystem
US8164368B2 (en) * 2005-04-19 2012-04-24 Micron Technology, Inc. Power savings mode for memory systems
US7368961B2 (en) * 2005-12-22 2008-05-06 Rambus Inc. Clock distribution network supporting low-power mode
TW200725213A (en) * 2005-12-30 2007-07-01 Univ Nat Chiao Tung Clock switching circuit
JP4835444B2 (ja) * 2006-02-14 2011-12-14 ミツミ電機株式会社 半導体集積回路装置
US7375571B1 (en) 2006-06-03 2008-05-20 Zilog, Inc. Glitch free clock multiplexer that uses a delay element to detect a transition-free period in a clock signal
US20080012605A1 (en) * 2006-07-12 2008-01-17 Eastman Kodak Company Glitch-free clock switcher
TWI376876B (en) * 2006-10-23 2012-11-11 Realtek Semiconductor Corp Fraction-n frequency divider and method thereof
TWI338456B (en) * 2006-10-23 2011-03-01 Realtek Semiconductor Corp Hybrid phase-locked loop
CN100511089C (zh) * 2007-04-20 2009-07-08 威盛电子股份有限公司 时钟切换电路及时钟信号切换的方法
US7629828B1 (en) * 2007-04-27 2009-12-08 Zilog, Inc. Glitch-free clock multiplexer that provides an output clock signal based on edge detection
US7471120B2 (en) * 2007-05-15 2008-12-30 Broadcom Corporation Clock switch for generation of multi-frequency clock signal
US9209792B1 (en) * 2007-08-15 2015-12-08 Nvidia Corporation Clock selection system and method
US8762759B2 (en) * 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
EP2139113A1 (de) * 2008-06-23 2009-12-30 Dialog Semiconductor GmbH Störungsfreie Taktaussetzungs- und Wiederaufnahmeschaltung
US8245063B2 (en) * 2008-06-24 2012-08-14 Redpine Signals, Inc. Clock selection for a communications processor having a sleep mode
US20090315597A1 (en) * 2008-06-24 2009-12-24 Subba Reddy Kallam Clock Selection for a Communications Processor having a Sleep Mode
US8510487B2 (en) * 2010-02-11 2013-08-13 Silicon Image, Inc. Hybrid interface for serial and parallel communication
EP2447805B1 (de) * 2010-10-12 2015-07-01 Nokia Technologies Oy Vorrichtung und Verfahren zur Synchronisierung und Bereitstellung eines störfreien Takts
US8384435B2 (en) * 2011-01-05 2013-02-26 Texas Instruments Incorporated Clock switching circuit with priority multiplexer
US8760197B2 (en) * 2011-03-29 2014-06-24 Broadcom Corporation Robust glitch-free clock switch with an unate clock network
CN102868398B (zh) * 2011-07-05 2014-12-17 联发科技(新加坡)私人有限公司 时钟信号产生装置以及使用于时钟信号产生装置的方法
CN102355239B (zh) * 2011-07-28 2013-10-23 四川九洲电器集团有限责任公司 一种方位增量脉冲信号自适应装置及处理方法
KR101728559B1 (ko) * 2011-11-25 2017-04-20 엘에스산전 주식회사 Plc 고속카운터 모듈의 입력회로
CN103248445B (zh) * 2012-02-09 2018-01-05 中兴通讯股份有限公司 一种时钟同步方法和装置
US9207704B2 (en) * 2012-10-26 2015-12-08 Silicon Laboratories, Inc. Glitchless clock switching that handles stopped clocks
CN103138748B (zh) * 2013-01-29 2015-12-09 东南大学 基于线性反馈移位寄存器的n比特计数器及控制方法
CN103412615B (zh) * 2013-08-22 2018-02-09 中国航天科工集团第三研究院第八三五七研究所 一种用于uart接口芯片的无毛刺自适应时钟切换方法
US9225322B2 (en) 2013-12-17 2015-12-29 Micron Technology, Inc. Apparatuses and methods for providing clock signals
CN105490675A (zh) * 2014-09-16 2016-04-13 深圳市中兴微电子技术有限公司 时钟动态切换方法及装置
CN105991110A (zh) * 2015-03-03 2016-10-05 中兴通讯股份有限公司 时钟切换的方法及时钟切换装置
US9360883B1 (en) 2015-08-26 2016-06-07 Freescale Semiconductor, Inc. Clock multiplexer for generating glitch-free clock signal
US9490789B1 (en) 2016-04-27 2016-11-08 Freescale Semiconductor, Inc. Glitch-free clock switching circuit using Muller C-elements
US10547311B2 (en) * 2018-05-15 2020-01-28 Texas Instruments Incorporated Reducing glitches that occur when multiplexing of asynchronous clocks using flip-flops and logic gates
US10530370B1 (en) * 2018-11-21 2020-01-07 Marvell International Ltd. Glitch-free PLL Multiplexer
US11402413B1 (en) 2018-12-12 2022-08-02 Marvell Asia Pte, Ltd. Droop detection and mitigation
US11545987B1 (en) 2018-12-12 2023-01-03 Marvell Asia Pte, Ltd. Traversing a variable delay line in a deterministic number of clock cycles
US10784871B1 (en) 2018-12-31 2020-09-22 Marvell Asia Pte, Ltd. Clocking architecture for DVFS with low-frequency DLL locking
US11545981B1 (en) 2018-12-31 2023-01-03 Marvell Asia Pte, Ltd. DLL-based clocking architecture with programmable delay at phase detector inputs
CN110502066B (zh) * 2019-08-15 2021-03-02 Oppo广东移动通信有限公司 时钟切换装置、方法及电子设备
TWI756708B (zh) * 2020-06-04 2022-03-01 瑞昱半導體股份有限公司 時脈訊號多工器裝置與時脈切換方法
US11927612B1 (en) 2022-04-07 2024-03-12 Marvell Asia Pte Ltd Digital droop detector
TWI817581B (zh) * 2022-06-23 2023-10-01 新唐科技股份有限公司 時脈切換裝置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114348B2 (ja) * 1987-12-11 1995-12-06 日本電気株式会社 論理回路
US4853653A (en) * 1988-04-25 1989-08-01 Rockwell International Corporation Multiple input clock selector
US4899351A (en) * 1988-07-18 1990-02-06 Western Digital Corporation Transient free clock switch logic
US5155380A (en) * 1991-04-12 1992-10-13 Acer Incorporated Clock switching circuit and method for preventing glitch during switching
US5726593A (en) * 1992-10-27 1998-03-10 Nokia Telecommunications Oy Method and circuit for switching between a pair of asynchronous clock signals
US5357146A (en) * 1992-12-31 1994-10-18 At&T Bell Laboratories Glitch-free clock multiplexer
US5315181A (en) * 1993-07-07 1994-05-24 Maxtor Corporation Circuit for synchronous, glitch-free clock switching
US5579353A (en) * 1993-10-12 1996-11-26 Texas Instruments Incorporated Dynamic clock mode switch
GB2287107B (en) * 1994-02-23 1998-03-11 Advanced Risc Mach Ltd Clock switching
US5758132A (en) * 1995-03-29 1998-05-26 Telefonaktiebolaget Lm Ericsson Clock control system and method using circuitry operating at lower clock frequency for selecting and synchronizing the switching of higher frequency clock signals
US5604452A (en) * 1995-04-03 1997-02-18 Exar Corporation Clock generator using a state machine to switch between two offset clocks
US5652536A (en) * 1995-09-25 1997-07-29 Cirrus Logic, Inc. Non-glitch clock switching circuit
US5811995A (en) * 1996-08-02 1998-09-22 Advanced Micro Devices, Inc. Circuit for switching between different frequency clock domains that are out of phase
US6154508A (en) * 1998-03-23 2000-11-28 Vlsi Technology, Inc. Method and system for rapidly achieving synchronization between digital communications systems
US6275546B1 (en) * 1998-06-30 2001-08-14 Hewlett-Packard Company Glitchless clock switch circuit
US6107841A (en) * 1998-09-08 2000-08-22 International Business Machines Corporation Synchronous clock switching circuit for multiple asynchronous clock source
US6292044B1 (en) * 1999-03-26 2001-09-18 Lucent Technologies Inc. Low power glitch-free clock switch
US6453425B1 (en) * 1999-11-23 2002-09-17 Lsi Logic Corporation Method and apparatus for switching clocks presented to synchronous SRAMs
US6239626B1 (en) * 2000-01-07 2001-05-29 Cisco Technology, Inc. Glitch-free clock selector
GB2358531B (en) * 2000-01-18 2003-06-04 3Com Corp Glitch free clock multiplexer circuit
US6452426B1 (en) * 2001-04-16 2002-09-17 Nagesh Tamarapalli Circuit for switching between multiple clocks

Also Published As

Publication number Publication date
CN1589425A (zh) 2005-03-02
EP1451666A2 (de) 2004-09-01
EP1451666B1 (de) 2006-12-13
WO2003044996A2 (en) 2003-05-30
CN100373288C (zh) 2008-03-05
DE60216811D1 (de) 2007-01-25
WO2003044996A3 (en) 2003-10-16
ATE348356T1 (de) 2007-01-15
US6600345B1 (en) 2003-07-29

Similar Documents

Publication Publication Date Title
DE60216811T2 (de) Störungsfreie taktauswahlschaltung
DE102005060394B4 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
DE69727355T2 (de) Anordnung und Verfahren zur Taktsequenzierung in einem Datenverarbeitungssystem
DE10253879B4 (de) Phasendetektor und Verfahren zur Taktsignal-Phasendifferenzkompensation
DE102006045254A1 (de) Verzögerungsregelschleife für Hochgeschwindigkeits-Halbleiterspeichervorrichtung
DE102004032478A1 (de) Verzögerungsregelkreis in Halbleiterspeichervorrichtung und sein Taktsynchronisierverfahren
DE19852457C2 (de) Verfahren und Vorrichtung zur Phasendrehung in einem Phasenregelkreis
DE102006030377A1 (de) Verzögerungsregelschleifenschaltung
DE102005051770A1 (de) Verfahren und Vorrichtung zum Umschalten der Frequenz eines Systemtakts
DE102005044333A1 (de) Master-Slave Flip-Flop für den Einsatz in synchronen Schaltungen und Verfahren zum Reduzieren von Stromspitzen beim Einsatz von Master-Slave Flip-Flops in synchronen Schaltungen
DE3022746A1 (de) Digitale phasenkomparatorschaltung
DE102006026914B4 (de) Verfahren zum Umschalten eines Systemtakts und Taktsynchronisierungsvorrichtung
DE102007053128B3 (de) Störimpulsfreier Zweiweg-Taktumschalter
DE102005019568B4 (de) Speichereinrichtung, Verwendung derselben und Verfahren zur Synchronisation eines Datenwortes
DE10150362B4 (de) Phasenselektor hoher Geschwindigkeit
DE102004014201B4 (de) Steuerungsanordnung für einen programmierbaren Taktsynchronisierer und Computersystem mit einer solchen Anordnung
DE102004021398A1 (de) Verfahren und Schaltungsanordnung zum Zurücksetzen einer integrierten Schaltung
DE19939330B4 (de) Logik zum Aktivieren/Deaktivieren eines Taktgenerators
WO2000003258A1 (de) Integrierte schaltung mit verbesserter synchronität zum externen taktsignal am datenausgang
DE10310065A1 (de) Verfahren und Vorrichtung für eine Verzögerungsverriegelungsschleife
DE10018190C2 (de) Unterbrechnungsloses Umschalten zwischen zwei Oszillator-Präzisionstaktgebern
DE60203019T2 (de) Datensynchronisation auf einem peripheriebus
EP1721407A1 (de) Schnittstellenvorrichtung und verfahren zur synchronisation von daten
DE10231186B4 (de) Frequenzteiler
DE10354215A1 (de) Taktregulierungsvorrichtung sowie Schaltungsanordnung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: MEDIA TEK INC., HSIN-CHU, HSIEN, TW