WO2009060096A1 - Glitch free 2-way clock switch - Google Patents

Glitch free 2-way clock switch Download PDF

Info

Publication number
WO2009060096A1
WO2009060096A1 PCT/EP2008/065235 EP2008065235W WO2009060096A1 WO 2009060096 A1 WO2009060096 A1 WO 2009060096A1 EP 2008065235 W EP2008065235 W EP 2008065235W WO 2009060096 A1 WO2009060096 A1 WO 2009060096A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
signal
tristate
clock
input
Prior art date
Application number
PCT/EP2008/065235
Other languages
French (fr)
Inventor
Ruediger Kuhn
Original Assignee
Texas Instruments Deutschland
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 Texas Instruments Deutschland filed Critical Texas Instruments Deutschland
Priority to EP08847509.0A priority Critical patent/EP2223193B1/en
Publication of WO2009060096A1 publication Critical patent/WO2009060096A1/en

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

Definitions

  • the technical field of this invention is an electronic device having a clock buffer and clock switching circuit switching between a first and a second clock signal without generating a clock glitch.
  • clock switch having clock buffers and a multiplexer.
  • the clock signals are buffered by the clock buffers. These clock buffers have a tristate mode. In the tristate mode the clock buffer output has a high impedance state (tristate buffer) .
  • tristate buffer In an example of the prior art a first tristate buffer receiving the first clock signal is switched into the high impedance mode and a second tristate buffer receiving the second clock signal is switched ON. This provides the buffered second clock signal at the output.
  • the outputs of both buffers are coupled to a multiplexer. The multiplexer switches to output the required clock signal.
  • the main problem with clock signal switching are glitches in the output signal that can occur if the multiplexer or buffer switching coincides with edges of a clock signal.
  • FIG. 1 illustrates such a switching procedure.
  • a first clock signal CLKO and a second clock signal CLKl are supplied to a multiplexer.
  • the multiplexer is controlled by a multiplexer control signal SEL_MUX.
  • An asynchronous select signal ASYN_SEL indicates with a transition from low to high when the output of the multiplexer should be switched from outputting first clock signal CLKO to outputting second clock signal CLKl. This system does not switch from first clock signal CLKO to second clock signal CLKl immediately.
  • a synchronization step is first performed.
  • the synchronized select signal SEL_SYNC is synchronized to first clock signal CLKl.
  • multiplexer control signal SEL_MUX is switched from low to high in order to switch first clock signal CLKl to the output of the multiplexer with a falling edge of first clock signal CLKl with a rising edge of the asynchronous select signal ASYN SEL.
  • First clock signal CLKO is initially locked in its current state (either 0 or 1) . In the present example this is state 0. Therefore, the output signal CLKOUT remains at a logical 0 until the output of the multiplexer is switched in response to multiplexer control signal SEL MUX. Glitches can still occur when a conventional clock switch is turned ON, i.e. when the switch is connected to the supply voltage. Clock switches according to the prior art therefore need a well defined RESET pulse to enter a valid initial state after powering up the electronic device. However, such an asynchronous RESET performed with a prior art clock switch fails to prevent all clock switching glitches.
  • an electronic device includes a clock switch switching between a first clock signal and a second clock signal.
  • the clock switch includes a first tristate buffer buffering the first clock signal. This first tristate buffer has a control input receiving a first tristate control signal.
  • a second tristate buffer buffers the second clock signal. This second tristate buffer has a control input receiving a second tristate control signal.
  • a multiplexer receives the output of the first tristate buffer and of the second tristate buffer. The multiplexer outputs either the first clock or the second clock signal in response to a multiplexer control signal.
  • a control stage receives a clock selection signal which indicates output of the first clock signal or the second clock signal. The control stage provides the multiplexer control signal.
  • the control stage changes the multiplexer control signal from the first state to the second state triggered by an edge of the second clock and a changes the multiplexer control signal from the second state to the first state triggered by an edge of the first clock signal.
  • the multiplexer control signal is logically gated with the clock selection signal to produce the first tristate control signal and the second tristate control signal.
  • the electronic device including the clock switch uses a feedback connection of the multiplexer control signal in combination with the clock selection signal.
  • the selection signal has two states and the multiplexer control signal has two states, therefore there are four states defined by the two input signals.
  • the control stage operates as a state machine in response to the clock selection signal and the multiplexer control signal reflecting the current state of the clock switch. If the clock selection signal is switched from one state to the other indicating a command to switch to another clock signal, any difference between the state of the multiplexer control signal and the state of the clock selection signal is used to indicate the clock switch has not settled.
  • Using the multiplexer control signal in combination with the clock selection signal it is possible to prevent undefined initial states after powering up the electronic device.
  • Transitional states are exited by changing the multiplexer control signal. The transitional state is detected in the control stage.
  • the inverted multiplexer control signal and the clock selection signal are logical ANDed to produce the first tristate control signal.
  • the multiplexer control signal and the inverted clock selection signal are logical ANDed to produce the second tristate control signal.
  • the first and the second tristate control signals control the respective tristate buffers.
  • Logical ANDing of the multiplexer control signal and the clock selection signal permit control of the state of the tristate buffers in response to the output state and the target state of the clock switch indicated by the clock selection signal.
  • the tristate buffers are controlled in the final and transitional states. This provides additional degrees of freedom in clock switch control as, for example, the tristate buffers can be switched ON or into tristate in accordance with the final or the transitional states.
  • the control stage assumes a first static state when the clock selection signal and the multiplexer control signal are both in the first state and assumes a second static state when the clock selection signal and the multiplexer control signal are both in the second state.
  • the clock selection signal and the multiplexer control signal both indicate the same clock signal to be output by the multiplexer. If so, the control stage and the clock switch are in a first static state where no internal control signals are to be changed. In particular, during the first static state and the second static state it is possible to switch both tristate buffers ON. Thus it is possible to use the other clock signal when one clock signal fails. This aspect of the invention helps to avoid errors due to clock failures .
  • the control stage assumes a first transitional state when the clock selection signal is in the first state and the multiplexer control signal is in the second state. Further, the control stage assumes a second transitional state when the clock selection signal is in the second state and the multiplexer control signal is in the first state. Accordingly, the control stage has four different states; two static states and two transitional states.
  • the transitional states are defined as the states when the multiplexer control signal output from the control stage is different than the clock selection signal input to the control stage. In this situation, the control stage has to change the multiplexer control signal in response to the clock selection signal to match the clock selection signal.
  • the transitional states can be used to perform specific internal control functions.
  • the second tristate control signal in the first transitional state, can set the second tristate buffer into tristate. Then, the output signal of the first tristate buffer can be used to trigger a change of the state of the multiplexer control signal from the second to the first state. Accordingly, the switching of the multiplexer control signal is synchronized with the first clock, which is the target output clock. Further, in the second transitional state, the first tristate control signal sets the first tristate buffer into tristate and the output signal of the second tristate buffer can be used to trigger a change of state of the multiplexer control signal from the first to the second state. Accordingly, the target output clock is used to perform the switching. This provides internal synchronization to the target output clock.
  • both tristate buffers can be switched ON so that both buffered clock signals are available to the electronic device.
  • the tristate buffer of this invention switches into a high impedance state in response to a first (internal) configuration signal that is set in response to a control signal. This is a tristate control signal applied to the tristate buffer.
  • the tristate buffer includes a regenerative loop circuit coupled to the output to maintain the output signal when the tristate buffer is switched into the high impedance state. A delay stage in the input of the tristate buffer delays the input signal.
  • a gating stage in the buffer has inputs receiving the input signal, a delayed version of the input signal and an asynchronous tristate control signal indicating that the buffer is to be switched into the high impedance state.
  • the gating stage has an output coupled to the tristate buffer to provide a first configuration signal. Further, the gating stage sets the first configuration signal only when the tristate control signal is set and the input signal and the delayed signal have logical levels indicating that no signal transition within the delay stage.
  • the delayed signal can be the output signal of the tristate buffer. Accordingly, in the delayed tristate buffer an input signal is delayed by the delay stage. The delayed input signal is then buffered by the tristate buffer to produce an output signal.
  • the gating stage receives the input signal and a delayed signal, which can be an output of the delay stage or the output of the tristate buffer.
  • the gating stage receives a tristate control signal. Only when the tristate control signal is received at the gating stage, and both the input signal and delayed signal have logical levels indicating that no signal transition of the input signal is propagating in the delay stage, does the gating stage output the first configuration signal to the tristate buffer that switches it into a high impedance state. Practically, a transition propagating through the delay stage can be detected by equal or different logical levels of the input signal and the delayed signal.
  • the delayed signal may be the output signal of the tristate buffer, but also a delayed version of the input signal, which can be an output signal of the delay stage.
  • the regenerative loop connected to the output of the tristate buffer holds the output signal.
  • the logical level of the output signal is maintained when the buffer goes into tristate.
  • Gating the first configuration signal in the described way and using the delay stage means that any possible glitch generation is moved out of the signal path of the buffer. Due to the delay stage, the switching of the tristate buffer has a temporary advance with respect to the input signal. If the amount of delay is carefully chosen, any transition or edge of the input signal can be prevented from passing through the tristate buffer during switching into high impedance mode.
  • the present invention provides a circuit that is simple, only requires a small area and consumes only a small amount of power.
  • the input signal is a clock signal and the delay stage delays the input signal a time shorter than half a clock period of the clock signal.
  • the delay stage delays the input signal by an amount shorter than half a clock period of the input signal. Theoretically, the delay should be longer than 2nT/2 and shorter than (2n+l)T/2, where T is the clock period of the input clock signal and n is an integer equal to or greater than 0.
  • the tristate control signal is asynchronous with the input signal. If the tristate control signal is gated with the input signal and the delayed signal, a delay of less than half a clock period prevents glitches during the transition into hold mode, i.e. into high impedance mode of the tristate buffer.
  • the delay stage is a chain of a plurality of inverters.
  • the inverters which form the delay stage are connected in series between the input and the tristate buffer.
  • Each inverter may is a complementary pair of MOS transistors. This simplifies circuit design and means that existing design libraries can be used for the electronic circuit .
  • the gating stage in the delayed tristate buffer according to the present invention preferably includes a latch.
  • This latch is only set if the tristate control signal is set and the input signal and the output signal have the relevant logical levels. These can be the same levels or different levels depending on the specific implementation.
  • the present invention is described below with respect to the two signals having the same logical levels. However, it is evident for the person skilled in the art that an inversion can be used to base the further operation on different logical levels of output and input signals. For the same logical levels, the latch is then set so that the gating stage outputs the first configuration signal only when it receives the tristate control signal at the same time that the input and output signals have the same logical levels.
  • the present invention is also a method of switching between a first clock signal and a second clock signal.
  • the first clock signal is buffered with a first tristate buffer and the second clock signal is buffered with a second tristate buffer.
  • Either the first clock signal or the second clock signal is output in response to a control signal.
  • the control signal in this context is the signal used to switch, for example, the multiplexer.
  • the control signal is set in response to a clock selection signal.
  • the clock selection signal has a first state to output the first clock signal and a second state to output the second clock signal.
  • the control signal has a first state for outputting the first clock signal and a second state for outputting the second clock signal.
  • a change of the control signal from the first state to the second state is triggered with an edge of the second clock signal, which is the target output clock signal for this case.
  • a change of the control signal from the second state to the first state is triggered with an edge of the first clock signal, which is the target output clock signal in this case.
  • the first tristate buffer and the second tristate buffer are controlled in response to the combined logical states of the clock selection signal and the control signal. Controlling the tristate buffers in response to the combined logical states of the clock selection signal and the control signal provides for a stable situation that will always be assumed by the clock switch according to the present invention.
  • a first static state occurs when the clock selection signal and control signal are both in the first state.
  • a second static state occurs when the clock selection signal and the control signal are both in the second state.
  • the first tristate buffer and the second tristate buffer can be turned ON.
  • Figure 1 is a diagram illustrating waveforms relating to a clock switch according to the prior art
  • FIG. 2 is a simplified circuit diagram of an embodiment of the present invention.
  • Figure 3 is a state diagram illustrating aspects of the present invention
  • Figure 4 is a simplified circuit diagram of an embodiment of the present invention
  • Figure 5 is a simplified circuit diagram of a tristate buffer according to an embodiment of the invention.
  • Figure 6 is a simplified circuit diagram of a tristate buffer according to another embodiment of the present invention.
  • Figure 7 is a diagram of clock signal transitions of a tristate buffer according to the present invention for a small glitch on the tristate control signal
  • Figure 8 is a diagram of clock signal transitions of a tristate buffer according to the present invention for a larger glitch on the tristate control signal.
  • FIG. 2 is a simplified circuit diagram of an embodiment of the present invention.
  • Figure 2 illustrates control stage CONTROL coupled to first tristate buffer TBUFO, second tristate buffer TBUFl and a multiplexer MUX.
  • First tristate buffer TBUFO receives first clock signal CLKO and outputs buffered first clock signal CLK0_BUF.
  • Second tristate buffer TBUFl receives second clock signal CLKl and outputs second buffered clock signal CLK1_BUF .
  • Tristate buffers TBUFO and TBUFl receive respective tristate control signals 3ST0 and 3STl for switching respective tristate buffers into tristate mode.
  • Control stage CONTROL receives clock select signal SEL and produces multiplexer control signal MUX_SEL for controlling multiplexer MUX.
  • Multiplexer MUX receives buffered first clock signal CLK0_BUF and buffered second clock signal CLK1_BUF at respective inputs '0' and 1 I. 1
  • Multiplexer MUX switches either input '0' or input 1 I' through to its output on multiplexer output node CLK_OUT in response to multiplexer control signal MUX SEL.
  • Multiplexer control signal MUX SEL is also coupled to an input of control stage CONTROL providing feedback. This allows control stage CONTROL to form internal states in response to clock select signal SEL and multiplexer control signal MUX SEL.
  • Figure 3 shows a state diagram illustrating aspects of the present invention.
  • control stage CONTROL shown in Figure 2 operates as illustrated in Figure 3.
  • the clock selection signal SEL indicates by the first state (i.e. logical 1) that second clock signal CLKl should be output at output node CLK_OUT.
  • transitional state 10 multiplexer control signal MUX_SEL is still in the first state (i.e. logical state 0) .
  • Control stage CONTROL remains in this first transitional state (i.e. 10) until the multiplexer control signal MUX SEL is synchronized to the target output clock CLKl.
  • control stage CONTROL proceeds to second static state 11.
  • second clock signal CLKl is output from output node CLK_OUT .
  • clock selection signal SEL is at logical 1
  • control stage CONTROL and thereby the control switch remains in second static state 11.
  • control stage CONTROL leaves second static 11 state and proceeds to second transitional state 01.
  • control stage CONTROL In this state, multiplexer control signal MUX_SEL is synchronized with the target output clock CLKO. As soon as synchronization is accomplished, which is indicated by ON SYNC, control stage CONTROL proceeds to first static state 00, where first clock signal CLKO is output.
  • the closed loop configuration of Figure 3 illustrates that control stage CONTROL implements a state machine. This state machine automatically advances to a static state (i.e. either first static state 00 or second static state 11) for all states of clock selection signal SEK and multiplexer control signal MUX SEL.
  • Table 1 summarizes the states and relating signals.
  • First and second tristate buffers TBUFO and TBUFl receive respective first clock signal CLKO and second clock signal CLKl.
  • Tristate buffers TBUFO and TBUFl output respective buffered first clock signal CLK0_BUF and buffered second clock signal CLK1_BUF.
  • Buffered clock signals CLK0_BUF and CLK1_BUT are fed to multiplexer MUX.
  • Multiplexer MUS is controlled by multiplexer control signal MUX_SEL.
  • Tristate buffers TBUFO and TBUFl are controlled by respective tristate control signals 3ST0 and 3STl.
  • First and second AND gates ANl and AN2 produce respective tristate control signals 3ST0 and 3STl.
  • Control stage CONTROL includes AND gates ANl to AN6, inverters INVl to INV3, flip-flops FFl to FF4, a latch (RS flip-flop) and two OR gates ORl and 0R2.
  • Multiplexer control signal MUX_SEL is fed back to an input of control stage CONTROL.
  • a complementary version of multiplexer control signal MUX_SEL is input to the first AND gate ANl via an inverted input of the AND gate.
  • AND gate AN2 receives a complementary version of clock select signal SEL (called SELZ) via inverter INVl at a first input and receives multiplexer control signal MUX_SEL at a second input.
  • SELZ clock select signal
  • Either AND gate AN2 sets first tristate control signal 3ST0 for first tristate buffer TBUFO to logical 1 or AND gate ANl sets second tristate control signal 3STl for second tristate buffer TBUFl to logical 1 in response to clock select signal SEL and multiplexer control signal MUX SEL. If tristate buffer TBUFO or TBUFl is successfully set into tristate, the corresponding signal IN_3ST0 or IN_3ST1 goes high, i.e. to logical 1. A specific delay within tristate buffers TBUFO and TBUFl occurs before the tristate buffer finally enters into tristate. This aspect will be explained below with respect to a specific tristate buffer configuration. However, in a simplified embodiment, signal IN_3ST0 can be provided by signal 3ST0 and signal IN_3ST1 can be directly provided by tristate control signal 3STl.
  • the output of the OR gate ORl is coupled to the input of the RS-flip-flop .
  • the lower part of the control stage in Figure 4 includes AND gates AN5, AN6, inverter INV3, OR gate 0R2 and two flip- flops FF3 and FF4. These logical states and flip-flops implement a complementary function to the upper circuit of Figure 4. If signal IN 3STl goes high and clock select signal SEL is logical 0, a logical 1 will be produced at the output of OR gate 0R2 in response to an edge of buffered first clock signal CLK0_BUF.
  • the outputs of OR gates ORl and 0R2 control RS flip-flop LATCH.
  • a logical 1 at the reset input R and a logical 0 at the set input S produces a logical 0 at output Q of RS flip- flop LATCH.
  • a logical 1 at set input S and a logical 0 at reset input R a logical 0 produces logical 0 at output X of RS flip-flop LATCH.
  • R and S inputs both set to 1 is not allowed. If both R and S inputs are 0, the output is unchanged.
  • Output Q of RS flip-flop LATCH provides multiplexer control signal MUX_SEL.
  • Flip-flops FFl and FF2 receive clock selection signal SEL at their clock inputs CLRZ. These clear flip-flops FFl and FF2. This means that outputs Q are set to logical 0 if clock selection signal SEL is logical 0. Inverted or complementary clock selection signal SELZ is applied to the clock inputs CLRZ of flip-flops FF3 and FF4. This causes the output of second OR gate OR2 to remain at logical 0 as long as clock selection signal SEL is logical 1. Thus only input S or input R of RS flip-flop LATCH can be logical 1.
  • control stage CONTROL switches multiplexer control signal MUX_SEL in response to clock select signal SEL, but only synchronized with the respective target output clock. If clock select signal SEL is a logical 0, output clock CLK_OUT should be first clock signal CLKO. However, if multiplexer control signal MUX_SEL is at logical 0 no transition is necessary and control stage CONTROL remains in the first static state. If multiplexer control signal MUX_SEL is at logical 1, control stage CONTROL is in a transitional state. This transitional state only occurs if second clock signal CLKl was previously output at multiplexer output CLK OUT. In this situation, multiplexer control signal MUX_SEL must be synchronized with the target output clock (CLKO) before multiplexer MUX can switch. Then, control stage CONTROL falls into static state 00 shown in Figure 3.
  • clock selection signal SEL is logical 1 and multiplexer control signal MUX_SEL is also logical 1
  • no change is required and control stage CONTROL remains in the second static state.
  • multiplexer control signal MUX_SEL is logical 0, this indicates first clock signal CLKO was previously output through multiplexer MUX as output clock signal CLK_OUT .
  • control stage CONTROL is in a transitional state and multiplexer control signal MUX SEL must be changed to logical 1 synchronously with target output clock signal CLKl.
  • the tristate buffers TBUFl and TBUF2 are temporarily switched off during transitional states and switched on during static states.
  • AND gates AN3 and AN4 logically combine output signal CLK0_BUF of first tristate buffer TBUFO with signal IN_3ST0.
  • Signal IN_3STO indicates that TBUFO has been successfully set into tristate. Due to internal delays in tristate buffer TBUFO explained in more detail below, signal IN_3ST0 is delayed with respect to tristate control signal 3ST0. After a delay defined by the internal structure of tristate buffer TBUFO, IN_3ST0 will be logical 1. If CLK0_BUF is also at 1, logical AND gate AN3 will output a logical 1. If CLK0_BUF is equal to 0, AND gate AN4 will output a logical 1.
  • TBUFO if TBUFO is set into tristate, the output state of TBUFO is maintained (frozen) if no other signal is applied to the output node.
  • One of flip-flops FFl or FF2 will always receive a 1. With either a rising edge of CLKl BUF or with a falling edge of CLK1_BUF, the respective flip-flop outputs a 1. Therefore, the output of OR gate ORl will always be set to logical 1 as long as CLKl BUF performs a transition and TBUFO is successfully switched into tristate mode.
  • MUX_SEL is switched from logical 0 to logical 1
  • the output of AND gate ANl will go low to logical 0 and tristate buffer TBUFO will switch ON again, i.e.
  • FIG. 5 shows a circuit diagram of a tristate buffer which can be used in the embodiments of Figures 2 and 4.
  • Tristate buffer TBUF has an input node which receives input signal BUF IN, which may be a clock signal. The input node is coupled to the input of delay stage DEL and one input of gating stage GS. Delay stage DEL outputs delayed input signal BUF_IN_DEL which is fed to the input of tristate buffer stage TBUF. Tristate buffer stage TBUF outputs a signal BUF_OUT .
  • a regenerative loop circuit RL is connected to output signal BUF_OUT of tristate buffer stage TBUF to maintain the state of output signal BUF_OUT when tristate buffer stage TBUF enters the tristate mode.
  • Gating stage GS has one input receiving delayed and buffered output signal BUF_OUT from the output of tristate buffer stage TBUF.
  • This signal received by gating stage GS is delayed input signal BUF IN DEL after further buffering by the tristate buffer stage TBUF. This is shown in Figure 5 as a dotted line from the output of delay stage DEL to gating stage GS.
  • Gating stage GS also receives tristate control signal 3ST at an input.
  • Gating state GS outputs signal IN_3ST which indicates that the buffer had successfully entered the high impedance state (tristate) .
  • Tristate control signal 3ST is the external signal requesting the buffer to go into tristate.
  • the output of the gating stage GS is connected to an enablement input of tristate buffer stage TBUF providing configuration signal CSl to switch tristate buffer stage TBUF into the high impedance state.
  • Table 2 shows the logical levels of the input signal BUF_IN, output signal BUF_OUT, tristate control signal 3ST and configuration signal CSl during operation of the device shown in Figure 5.
  • tristate buffer stage TBUF is set to the high impedance state. This is only the case when buffer input BUF_IN and buffer output BUF_OUT have the same state with either both signals are at logical 0 or both signals are at logical 1. If tristate control signal 3ST is at logical 1, a request is pending to set tristate buffer stage TBUF into high impedance state. If tristate control signal 3ST is at logical 0, configuration signal CSl will remain at logical 0. Gating stage GS generates the appropriate configuration signal CSl in response to tristate control signal 3ST, BUF_IN and output signal BUF_OUT .
  • configuration signal CSl can be set to logical 1.
  • Signals BUF_IN and BUF_OUT having the same state means that no signal transition of input signal BUF IN is propagating within delay stage DEL or within tristate buffer stage TBUF.
  • gating stage GS generate configuration signal CSl at logical 1
  • tristate buffer stage TBUF will be switched into a high impedance state.
  • any glitches in tristate control signal 3ST applied to gating stage GS will not be passed to output signal BUF_OUT .
  • the logical level of output signal BUF OUT is held by regenerative loop RL while tristate buffer TBUF is switched into its high impedance or tristate mode. Due to delay stage DEL and configuration signal CSl, switching of tristate buffer stage TBUF has an advance that is long enough to avoid a transition of input signal BUF IN occurring when tristate buffer stage TBUF is switched. The critical timing and resulting glitches are moved out of the signal path. This will be explained in further detail with respect to Figures 6 and 7.
  • delayed signal BUF_IN_DEL instead of output signal BUF OUT.
  • This alternative embodiment may be a little less reliable than using BUF_OUT as a second input for gating stage GS, but if the delay of delay stage DEL is chosen appropriately operation will remain the same. It is then possible to replace output signal BUF_OUT in Table 1 by delayed input signal BUF_IN_DEL and corresponding explanations apply to delayed input signal BUF IN DEL as to those applied to output signal BUF_OUT .
  • Figure 6 shows a preferred embodiment of the invention that operates similarly to the embodiment shown in Figure 5.
  • delay stage DEL is a chain of a plurality of inverters.
  • Each inverter is implemented as a complementary pair of MOS transistors connected between positive supply voltage VDD and negative supply voltage VSS.
  • a letter Z attached to signal name indicates that this is the complementary or inverted signal with respect to a signal having the same name without a Z suffix.
  • Two PMOS and two NMOS transistors connected in series between the positive supply voltage VDD and negative supply voltage VSS form the tristate buffer stage TBUF.
  • One of the NMOS transistors and one of the PMOS transistors have interconnected gate terminals.
  • the gate terminals of the other PMOS and NMOS transistors in tristate buffer stage TBUF form the enablement inputs of tristate buffer stage TBUF and receive complementary configuration signals CSl and CSlZ gated by gating stage GS.
  • the output signal BUF_0UT of tristate buffer stage TBUF is formed at the interconnection of drain terminals of the central complementary pair of MOS transistors in the series connection.
  • Regenerative loop circuit RL has two pairs of complementary MOS transistors connected in series.
  • Gating stage GS includes an XOR gate connected in series with a NAND gate, two further parallel cross-coupled NAND gates which form a latch and a chain of a plurality of inverters formed of complementary MOS transistor pairs.
  • the XOR gate receives the input signal BUF_IN at one input and the output signal BUF_0UT at its other input.
  • the XOR gate outputs a signal CAN_3ST to one input of a first NAND gate.
  • the other input of the first NAND gate is tristate control signal 3ST.
  • Tristate control signal 3ST is also input to one of the cross-coupled NAND gates.
  • the first NAND gate generates output signal SETZ, which is input to the other input of the cross-coupled NAND gates. If output signal SETZ is low at logical 0, the cross- coupled NAND gate latch is set and signal STOP becomes logical 1. Otherwise, STOP is logical 0.
  • the signal STOP is fed to the input of the inverter chain.
  • Tristate indication signal IN 3ST can be used as a flag indicating that tristate buffer stage TBUF has been successfully set into the high impedance state.
  • First configuration signal CSl is generated at the output of one inverter in the inverter chain and the complementary configuration signal CSlZ is generated at the output of the next inverter in the chain.
  • Table 3 shows the relative logical states of the signals generated in the circuit of Figure 6.
  • the inputs of the XOR gate in gating stage GS span an odd number of inverters in the delay chain forming delay stage DEL.
  • One input of the XOR gate receives the inverted input signal BUF_IN . If there is no transition in the delay stage between the inputs of the XOR gate, then the output of the XOR gate (signal CAN_3ST) is logical 1. As long as CAN_3ST is logical 1 and tristate control signal 3ST is logical 0, the output of the NAND gate having CAN 3ST as an input remains at logical 1.
  • the inputs of the XOR gate have the same state and signal CAN_3ST is logical 0.
  • the signal CAN_3ST output from the XOR gate serves as a gating signal for asynchronous tristate control signal 3ST and sets the cross-coupled NAND gate latch.
  • the tristate control signal 3ST is gated so that signal SETZ is logical 1.
  • configuration signal CSl remains at logical 0 and tristate buffer stage TBUF cannot be switched into the high impedance state. This avoids generation of a glitch at the output.
  • Tristate buffer stage TBUF will then be set to the high impedance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electronic Switches (AREA)

Abstract

The present invention switches between a first clock signal (CLK0) and a second clock signal (CLK1). Each input signal is buffered by a corresponding tristate buffer (TBUF0, TBUF1). A multiplexer (MUX) receives the tristate buffer outputs and selects one clock signal in response to a multiplexer control signal (MUX_SEL). A control stage (CONTROL) received a clock selection signal (SEL) and provides multiplexer control signal (MUX_SEL). A change in multiplexer control signal (MUX_SEL) is triggered by a next edge of target clock (CLK1) following a delay. This prevents glitches in the output signal.

Description

GLITCH FREE 2-WAY CLOCK SWITCH Ruediger Kuhn
CLAIM OF PRIORITY
This application claims priority under 35 U. S. C. 119 (a) to German Patent Application No. 10 2007 053 128.3 filed November 8, 2008.
TECHNICAL FIELD OF THE INVENTION
The technical field of this invention is an electronic device having a clock buffer and clock switching circuit switching between a first and a second clock signal without generating a clock glitch. BACKGROUND OF THE INVENTION
In various electronic devices it is desirable to switch between different clock signals. This is typically implemented by a clock switch having clock buffers and a multiplexer. The clock signals are buffered by the clock buffers. These clock buffers have a tristate mode. In the tristate mode the clock buffer output has a high impedance state (tristate buffer) . In an example of the prior art a first tristate buffer receiving the first clock signal is switched into the high impedance mode and a second tristate buffer receiving the second clock signal is switched ON. This provides the buffered second clock signal at the output. The outputs of both buffers are coupled to a multiplexer. The multiplexer switches to output the required clock signal. The main problem with clock signal switching are glitches in the output signal that can occur if the multiplexer or buffer switching coincides with edges of a clock signal.
Glitches can be avoided by switching OFF the clock signals at a predefined moments synchronous with their edges. Figure 1 illustrates such a switching procedure. A first clock signal CLKO and a second clock signal CLKl are supplied to a multiplexer. The multiplexer is controlled by a multiplexer control signal SEL_MUX. An asynchronous select signal ASYN_SEL indicates with a transition from low to high when the output of the multiplexer should be switched from outputting first clock signal CLKO to outputting second clock signal CLKl. This system does not switch from first clock signal CLKO to second clock signal CLKl immediately. A synchronization step is first performed. The synchronized select signal SEL_SYNC is synchronized to first clock signal CLKl. Thereafter, multiplexer control signal SEL_MUX is switched from low to high in order to switch first clock signal CLKl to the output of the multiplexer with a falling edge of first clock signal CLKl with a rising edge of the asynchronous select signal ASYN SEL. First clock signal CLKO is initially locked in its current state (either 0 or 1) . In the present example this is state 0. Therefore, the output signal CLKOUT remains at a logical 0 until the output of the multiplexer is switched in response to multiplexer control signal SEL MUX. Glitches can still occur when a conventional clock switch is turned ON, i.e. when the switch is connected to the supply voltage. Clock switches according to the prior art therefore need a well defined RESET pulse to enter a valid initial state after powering up the electronic device. However, such an asynchronous RESET performed with a prior art clock switch fails to prevent all clock switching glitches.
SUMMARY OF THE INVENTION According to the present invention, an electronic device includes a clock switch switching between a first clock signal and a second clock signal. The clock switch includes a first tristate buffer buffering the first clock signal. This first tristate buffer has a control input receiving a first tristate control signal. A second tristate buffer buffers the second clock signal. This second tristate buffer has a control input receiving a second tristate control signal. A multiplexer receives the output of the first tristate buffer and of the second tristate buffer. The multiplexer outputs either the first clock or the second clock signal in response to a multiplexer control signal. A control stage receives a clock selection signal which indicates output of the first clock signal or the second clock signal. The control stage provides the multiplexer control signal. The control stage changes the multiplexer control signal from the first state to the second state triggered by an edge of the second clock and a changes the multiplexer control signal from the second state to the first state triggered by an edge of the first clock signal. The multiplexer control signal is logically gated with the clock selection signal to produce the first tristate control signal and the second tristate control signal.
The electronic device including the clock switch uses a feedback connection of the multiplexer control signal in combination with the clock selection signal. The selection signal has two states and the multiplexer control signal has two states, therefore there are four states defined by the two input signals. The control stage operates as a state machine in response to the clock selection signal and the multiplexer control signal reflecting the current state of the clock switch. If the clock selection signal is switched from one state to the other indicating a command to switch to another clock signal, any difference between the state of the multiplexer control signal and the state of the clock selection signal is used to indicate the clock switch has not settled. Using the multiplexer control signal in combination with the clock selection signal, it is possible to prevent undefined initial states after powering up the electronic device. There are either final states, when the corresponding states of the two signals both have the same target output clock signal or transitional states, when the two signals have different target output clocks. Transitional states are exited by changing the multiplexer control signal. The transitional state is detected in the control stage.
According to an aspect of the present invention, the inverted multiplexer control signal and the clock selection signal are logical ANDed to produce the first tristate control signal. The multiplexer control signal and the inverted clock selection signal are logical ANDed to produce the second tristate control signal. The first and the second tristate control signals control the respective tristate buffers. Logical ANDing of the multiplexer control signal and the clock selection signal permit control of the state of the tristate buffers in response to the output state and the target state of the clock switch indicated by the clock selection signal. The tristate buffers are controlled in the final and transitional states. This provides additional degrees of freedom in clock switch control as, for example, the tristate buffers can be switched ON or into tristate in accordance with the final or the transitional states.
According to another aspect of the present invention, the control stage assumes a first static state when the clock selection signal and the multiplexer control signal are both in the first state and assumes a second static state when the clock selection signal and the multiplexer control signal are both in the second state. According to this aspect of the invention the clock selection signal and the multiplexer control signal both indicate the same clock signal to be output by the multiplexer. If so, the control stage and the clock switch are in a first static state where no internal control signals are to be changed. In particular, during the first static state and the second static state it is possible to switch both tristate buffers ON. Thus it is possible to use the other clock signal when one clock signal fails. This aspect of the invention helps to avoid errors due to clock failures .
The control stage according to the present invention assumes a first transitional state when the clock selection signal is in the first state and the multiplexer control signal is in the second state. Further, the control stage assumes a second transitional state when the clock selection signal is in the second state and the multiplexer control signal is in the first state. Accordingly, the control stage has four different states; two static states and two transitional states. The transitional states are defined as the states when the multiplexer control signal output from the control stage is different than the clock selection signal input to the control stage. In this situation, the control stage has to change the multiplexer control signal in response to the clock selection signal to match the clock selection signal. However, the transitional states can be used to perform specific internal control functions. For example, in the first transitional state, the second tristate control signal can set the second tristate buffer into tristate. Then, the output signal of the first tristate buffer can be used to trigger a change of the state of the multiplexer control signal from the second to the first state. Accordingly, the switching of the multiplexer control signal is synchronized with the first clock, which is the target output clock. Further, in the second transitional state, the first tristate control signal sets the first tristate buffer into tristate and the output signal of the second tristate buffer can be used to trigger a change of state of the multiplexer control signal from the first to the second state. Accordingly, the target output clock is used to perform the switching. This provides internal synchronization to the target output clock. Further, the other clock signal can be temporarily and internally switched OFF. However, once the clock switch has settled to a static state, both tristate buffers can be switched ON so that both buffered clock signals are available to the electronic device. According to an aspect of the present invention uses a specific delayed tristate buffer. The tristate buffer of this invention switches into a high impedance state in response to a first (internal) configuration signal that is set in response to a control signal. This is a tristate control signal applied to the tristate buffer. The tristate buffer includes a regenerative loop circuit coupled to the output to maintain the output signal when the tristate buffer is switched into the high impedance state. A delay stage in the input of the tristate buffer delays the input signal. A gating stage in the buffer has inputs receiving the input signal, a delayed version of the input signal and an asynchronous tristate control signal indicating that the buffer is to be switched into the high impedance state. The gating stage has an output coupled to the tristate buffer to provide a first configuration signal. Further, the gating stage sets the first configuration signal only when the tristate control signal is set and the input signal and the delayed signal have logical levels indicating that no signal transition within the delay stage. The delayed signal can be the output signal of the tristate buffer. Accordingly, in the delayed tristate buffer an input signal is delayed by the delay stage. The delayed input signal is then buffered by the tristate buffer to produce an output signal. The gating stage receives the input signal and a delayed signal, which can be an output of the delay stage or the output of the tristate buffer. When the tristate buffer is to be switched into a high impedance state, the gating stage receives a tristate control signal. Only when the tristate control signal is received at the gating stage, and both the input signal and delayed signal have logical levels indicating that no signal transition of the input signal is propagating in the delay stage, does the gating stage output the first configuration signal to the tristate buffer that switches it into a high impedance state. Practically, a transition propagating through the delay stage can be detected by equal or different logical levels of the input signal and the delayed signal. The delayed signal may be the output signal of the tristate buffer, but also a delayed version of the input signal, which can be an output signal of the delay stage. While the tristate buffer is being switched into the high impedance state, the regenerative loop connected to the output of the tristate buffer holds the output signal. Thus the logical level of the output signal is maintained when the buffer goes into tristate. Gating the first configuration signal in the described way and using the delay stage means that any possible glitch generation is moved out of the signal path of the buffer. Due to the delay stage, the switching of the tristate buffer has a temporary advance with respect to the input signal. If the amount of delay is carefully chosen, any transition or edge of the input signal can be prevented from passing through the tristate buffer during switching into high impedance mode. Furthermore, the present invention provides a circuit that is simple, only requires a small area and consumes only a small amount of power.
Still with respect to the delayed tristate buffer, the input signal is a clock signal and the delay stage delays the input signal a time shorter than half a clock period of the clock signal. The delay stage delays the input signal by an amount shorter than half a clock period of the input signal. Theoretically, the delay should be longer than 2nT/2 and shorter than (2n+l)T/2, where T is the clock period of the input clock signal and n is an integer equal to or greater than 0. The tristate control signal is asynchronous with the input signal. If the tristate control signal is gated with the input signal and the delayed signal, a delay of less than half a clock period prevents glitches during the transition into hold mode, i.e. into high impedance mode of the tristate buffer. Practically, no glitches in the buffer output signal can occur due to switching of the tristate buffer into its high impedance state coinciding with a transition in the input (clock) signal . In the tristate buffer, the delay stage is a chain of a plurality of inverters. The inverters which form the delay stage are connected in series between the input and the tristate buffer. Each inverter may is a complementary pair of MOS transistors. This simplifies circuit design and means that existing design libraries can be used for the electronic circuit .
The gating stage in the delayed tristate buffer according to the present invention preferably includes a latch. This latch is only set if the tristate control signal is set and the input signal and the output signal have the relevant logical levels. These can be the same levels or different levels depending on the specific implementation. The present invention is described below with respect to the two signals having the same logical levels. However, it is evident for the person skilled in the art that an inversion can be used to base the further operation on different logical levels of output and input signals. For the same logical levels, the latch is then set so that the gating stage outputs the first configuration signal only when it receives the tristate control signal at the same time that the input and output signals have the same logical levels.
The present invention is also a method of switching between a first clock signal and a second clock signal. The first clock signal is buffered with a first tristate buffer and the second clock signal is buffered with a second tristate buffer. Either the first clock signal or the second clock signal is output in response to a control signal. The control signal in this context is the signal used to switch, for example, the multiplexer. Generally, the control signal is set in response to a clock selection signal. The clock selection signal has a first state to output the first clock signal and a second state to output the second clock signal. The control signal has a first state for outputting the first clock signal and a second state for outputting the second clock signal. A change of the control signal from the first state to the second state is triggered with an edge of the second clock signal, which is the target output clock signal for this case. A change of the control signal from the second state to the first state is triggered with an edge of the first clock signal, which is the target output clock signal in this case. Furthermore, the first tristate buffer and the second tristate buffer are controlled in response to the combined logical states of the clock selection signal and the control signal. Controlling the tristate buffers in response to the combined logical states of the clock selection signal and the control signal provides for a stable situation that will always be assumed by the clock switch according to the present invention. A first static state occurs when the clock selection signal and control signal are both in the first state. A second static state occurs when the clock selection signal and the control signal are both in the second state. In these static states, the first tristate buffer and the second tristate buffer can be turned ON. Further, there can be a first and a second transitional state when the clock selection signal and the control signal are in different states as explained hereinabove. BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects of this invention are illustrated in the drawings, in which:
Figure 1 is a diagram illustrating waveforms relating to a clock switch according to the prior art;
Figure 2 is a simplified circuit diagram of an embodiment of the present invention;
Figure 3 is a state diagram illustrating aspects of the present invention; Figure 4 is a simplified circuit diagram of an embodiment of the present invention;
Figure 5 is a simplified circuit diagram of a tristate buffer according to an embodiment of the invention;
Figure 6 is a simplified circuit diagram of a tristate buffer according to another embodiment of the present invention;
Figure 7 is a diagram of clock signal transitions of a tristate buffer according to the present invention for a small glitch on the tristate control signal; and Figure 8 is a diagram of clock signal transitions of a tristate buffer according to the present invention for a larger glitch on the tristate control signal.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS Figure 2 is a simplified circuit diagram of an embodiment of the present invention. Figure 2 illustrates control stage CONTROL coupled to first tristate buffer TBUFO, second tristate buffer TBUFl and a multiplexer MUX. First tristate buffer TBUFO receives first clock signal CLKO and outputs buffered first clock signal CLK0_BUF. Second tristate buffer TBUFl receives second clock signal CLKl and outputs second buffered clock signal CLK1_BUF . Tristate buffers TBUFO and TBUFl receive respective tristate control signals 3ST0 and 3STl for switching respective tristate buffers into tristate mode. In the tristate mode, tristate buffers TBUFO and TBUFl have a high impedance output. Control stage CONTROL receives clock select signal SEL and produces multiplexer control signal MUX_SEL for controlling multiplexer MUX. Multiplexer MUX receives buffered first clock signal CLK0_BUF and buffered second clock signal CLK1_BUF at respective inputs '0' and 1I.1 Multiplexer MUX switches either input '0' or input 1I' through to its output on multiplexer output node CLK_OUT in response to multiplexer control signal MUX SEL. Multiplexer control signal MUX SEL is also coupled to an input of control stage CONTROL providing feedback. This allows control stage CONTROL to form internal states in response to clock select signal SEL and multiplexer control signal MUX SEL.
Figure 3 shows a state diagram illustrating aspects of the present invention. In particular, control stage CONTROL shown in Figure 2 operates as illustrated in Figure 3. There are four different states 00, 01, 10, 11, which relate to two different states of the two signals, clock selection signal SEL and multiplexer control signal MUX_SEL. If control stage CONTROL is in state 00 and the clock selection signal SEL remains at 0, then control stage CONTROL also remains in this first static state 00. However, if clock selection signal SEL changes to 1, then control stage CONTROL leaves first static state 00 and proceeds to first transitional state 10. The clock selection signal SEL indicates by the first state (i.e. logical 1) that second clock signal CLKl should be output at output node CLK_OUT. However, in transitional state 10 multiplexer control signal MUX_SEL is still in the first state (i.e. logical state 0) . Control stage CONTROL remains in this first transitional state (i.e. 10) until the multiplexer control signal MUX SEL is synchronized to the target output clock CLKl. When synchronization is achieved as indicated by ON SYNC, control stage CONTROL proceeds to second static state 11. In this second static state, second clock signal CLKl is output from output node CLK_OUT . As long as the clock selection signal SEL is at logical 1, control stage CONTROL and thereby the control switch remains in second static state 11. However, if clock selection SEL switches to logical 0, control stage CONTROL leaves second static 11 state and proceeds to second transitional state 01. In this state, multiplexer control signal MUX_SEL is synchronized with the target output clock CLKO. As soon as synchronization is accomplished, which is indicated by ON SYNC, control stage CONTROL proceeds to first static state 00, where first clock signal CLKO is output. The closed loop configuration of Figure 3 illustrates that control stage CONTROL implements a state machine. This state machine automatically advances to a static state (i.e. either first static state 00 or second static state 11) for all states of clock selection signal SEK and multiplexer control signal MUX SEL.
Table 1 summarizes the states and relating signals.
Figure imgf000016_0001
Table 1
Figure 4 shows a more detailed simplified circuit diagram of an embodiment of the present invention. First and second tristate buffers TBUFO and TBUFl receive respective first clock signal CLKO and second clock signal CLKl. Tristate buffers TBUFO and TBUFl output respective buffered first clock signal CLK0_BUF and buffered second clock signal CLK1_BUF. Buffered clock signals CLK0_BUF and CLK1_BUT are fed to multiplexer MUX. Multiplexer MUS is controlled by multiplexer control signal MUX_SEL. Tristate buffers TBUFO and TBUFl are controlled by respective tristate control signals 3ST0 and 3STl. First and second AND gates ANl and AN2 produce respective tristate control signals 3ST0 and 3STl. Control stage CONTROL includes AND gates ANl to AN6, inverters INVl to INV3, flip-flops FFl to FF4, a latch (RS flip-flop) and two OR gates ORl and 0R2. Multiplexer control signal MUX_SEL is fed back to an input of control stage CONTROL. A complementary version of multiplexer control signal MUX_SEL is input to the first AND gate ANl via an inverted input of the AND gate. AND gate AN2 receives a complementary version of clock select signal SEL (called SELZ) via inverter INVl at a first input and receives multiplexer control signal MUX_SEL at a second input. Either AND gate AN2 sets first tristate control signal 3ST0 for first tristate buffer TBUFO to logical 1 or AND gate ANl sets second tristate control signal 3STl for second tristate buffer TBUFl to logical 1 in response to clock select signal SEL and multiplexer control signal MUX SEL. If tristate buffer TBUFO or TBUFl is successfully set into tristate, the corresponding signal IN_3ST0 or IN_3ST1 goes high, i.e. to logical 1. A specific delay within tristate buffers TBUFO and TBUFl occurs before the tristate buffer finally enters into tristate. This aspect will be explained below with respect to a specific tristate buffer configuration. However, in a simplified embodiment, signal IN_3ST0 can be provided by signal 3ST0 and signal IN_3ST1 can be directly provided by tristate control signal 3STl.
The logical gates and flip-flops in the upper part of Figure 4, i.e. AN3, AN4, FFl, FF2, INV2 and ORl produce a logical 1 at the output of the OR gate ORl if the tristate buffer TBUFO is successfully set into tristate and a rising or falling edge of the buffered version of the second signal CLKl BUF is received at the clock inputs of the two flip-flops FFl and FF2. This causes any change of the multiplexer control signal MUX_SEL to occur only in response to a rising or a falling edge of the second clock signal CLKl (i.e. synchronously to the target output clock) , when switching from the first clock CLKO to the second clock CLKl. The output of the OR gate ORl is coupled to the input of the RS-flip-flop . The lower part of the control stage in Figure 4 includes AND gates AN5, AN6, inverter INV3, OR gate 0R2 and two flip- flops FF3 and FF4. These logical states and flip-flops implement a complementary function to the upper circuit of Figure 4. If signal IN 3STl goes high and clock select signal SEL is logical 0, a logical 1 will be produced at the output of OR gate 0R2 in response to an edge of buffered first clock signal CLK0_BUF. The outputs of OR gates ORl and 0R2 control RS flip-flop LATCH. A logical 1 at the reset input R and a logical 0 at the set input S produces a logical 0 at output Q of RS flip- flop LATCH. A logical 1 at set input S and a logical 0 at reset input R a logical 0 produces logical 0 at output X of RS flip-flop LATCH. R and S inputs both set to 1 is not allowed. If both R and S inputs are 0, the output is unchanged. Output Q of RS flip-flop LATCH provides multiplexer control signal MUX_SEL.
Flip-flops FFl and FF2 receive clock selection signal SEL at their clock inputs CLRZ. These clear flip-flops FFl and FF2. This means that outputs Q are set to logical 0 if clock selection signal SEL is logical 0. Inverted or complementary clock selection signal SELZ is applied to the clock inputs CLRZ of flip-flops FF3 and FF4. This causes the output of second OR gate OR2 to remain at logical 0 as long as clock selection signal SEL is logical 1. Thus only input S or input R of RS flip-flop LATCH can be logical 1.
Accordingly, control stage CONTROL according switches multiplexer control signal MUX_SEL in response to clock select signal SEL, but only synchronized with the respective target output clock. If clock select signal SEL is a logical 0, output clock CLK_OUT should be first clock signal CLKO. However, if multiplexer control signal MUX_SEL is at logical 0 no transition is necessary and control stage CONTROL remains in the first static state. If multiplexer control signal MUX_SEL is at logical 1, control stage CONTROL is in a transitional state. This transitional state only occurs if second clock signal CLKl was previously output at multiplexer output CLK OUT. In this situation, multiplexer control signal MUX_SEL must be synchronized with the target output clock (CLKO) before multiplexer MUX can switch. Then, control stage CONTROL falls into static state 00 shown in Figure 3.
If clock selection signal SEL is logical 1 and multiplexer control signal MUX_SEL is also logical 1, no change is required and control stage CONTROL remains in the second static state. However, if multiplexer control signal MUX_SEL is logical 0, this indicates first clock signal CLKO was previously output through multiplexer MUX as output clock signal CLK_OUT . In this situation, control stage CONTROL is in a transitional state and multiplexer control signal MUX SEL must be changed to logical 1 synchronously with target output clock signal CLKl. Moreover, the tristate buffers TBUFl and TBUF2 are temporarily switched off during transitional states and switched on during static states. Consider the upper part of Figure 4 for an example switching from first clock CLKO to second clock CLK2. AND gates AN3 and AN4 logically combine output signal CLK0_BUF of first tristate buffer TBUFO with signal IN_3ST0. Signal IN_3STO indicates that TBUFO has been successfully set into tristate. Due to internal delays in tristate buffer TBUFO explained in more detail below, signal IN_3ST0 is delayed with respect to tristate control signal 3ST0. After a delay defined by the internal structure of tristate buffer TBUFO, IN_3ST0 will be logical 1. If CLK0_BUF is also at 1, logical AND gate AN3 will output a logical 1. If CLK0_BUF is equal to 0, AND gate AN4 will output a logical 1. Generally, if TBUFO is set into tristate, the output state of TBUFO is maintained (frozen) if no other signal is applied to the output node. One of flip-flops FFl or FF2 will always receive a 1. With either a rising edge of CLKl BUF or with a falling edge of CLK1_BUF, the respective flip-flop outputs a 1. Therefore, the output of OR gate ORl will always be set to logical 1 as long as CLKl BUF performs a transition and TBUFO is successfully switched into tristate mode. However, when MUX_SEL is switched from logical 0 to logical 1, the output of AND gate ANl will go low to logical 0 and tristate buffer TBUFO will switch ON again, i.e. the tristate mode of TBUFO terminates. As long as MUX SEL is 0 and SEL is 1, control stage CONTROL is in a transitional mode during which CLK0_BUF is frozen and switching is turned off) . Further, when MUX_SEL is 1 and SEL is 0, control stage CONTROL is in another transitional state and tristate buffer TBUFl is switched into tristate. AND gates AN5, AN6 and flip-flops FF3 and FF4 perform operations corresponding to those described for AND AN3, AN4 and flip-flops FFl and FF2. When SEL and MUX_SEL are both at logical 0, the transitional state is over and control stage CONTROL reaches a final static state for a transition from CLKl to CLKO.
Figure 5 shows a circuit diagram of a tristate buffer which can be used in the embodiments of Figures 2 and 4. Tristate buffer TBUF has an input node which receives input signal BUF IN, which may be a clock signal. The input node is coupled to the input of delay stage DEL and one input of gating stage GS. Delay stage DEL outputs delayed input signal BUF_IN_DEL which is fed to the input of tristate buffer stage TBUF. Tristate buffer stage TBUF outputs a signal BUF_OUT . A regenerative loop circuit RL is connected to output signal BUF_OUT of tristate buffer stage TBUF to maintain the state of output signal BUF_OUT when tristate buffer stage TBUF enters the tristate mode. Gating stage GS has one input receiving delayed and buffered output signal BUF_OUT from the output of tristate buffer stage TBUF. This signal received by gating stage GS is delayed input signal BUF IN DEL after further buffering by the tristate buffer stage TBUF. This is shown in Figure 5 as a dotted line from the output of delay stage DEL to gating stage GS. Gating stage GS also receives tristate control signal 3ST at an input. Gating state GS outputs signal IN_3ST which indicates that the buffer had successfully entered the high impedance state (tristate) . Tristate control signal 3ST is the external signal requesting the buffer to go into tristate. The output of the gating stage GS is connected to an enablement input of tristate buffer stage TBUF providing configuration signal CSl to switch tristate buffer stage TBUF into the high impedance state.
Table 2 shows the logical levels of the input signal BUF_IN, output signal BUF_OUT, tristate control signal 3ST and configuration signal CSl during operation of the device shown in Figure 5.
Figure imgf000022_0001
Table 2
If configuration signal CSl is at logical 1, tristate buffer stage TBUF is set to the high impedance state. This is only the case when buffer input BUF_IN and buffer output BUF_OUT have the same state with either both signals are at logical 0 or both signals are at logical 1. If tristate control signal 3ST is at logical 1, a request is pending to set tristate buffer stage TBUF into high impedance state. If tristate control signal 3ST is at logical 0, configuration signal CSl will remain at logical 0. Gating stage GS generates the appropriate configuration signal CSl in response to tristate control signal 3ST, BUF_IN and output signal BUF_OUT . If the tristate control signal 3ST is a logical 1, and when both the input signal BUF_IN and the output signal BUF_OUT are at logical 1, configuration signal CSl can be set to logical 1. The same situation occurs for output signal BUF_OUT and BUF_IN at logical 0. Signals BUF_IN and BUF_OUT having the same state means that no signal transition of input signal BUF IN is propagating within delay stage DEL or within tristate buffer stage TBUF. When gating stage GS generate configuration signal CSl at logical 1, tristate buffer stage TBUF will be switched into a high impedance state. However, when input signal BUF IN is at logical 0 and output signal BUF_OUT is at logical 1, and vice versa, a signal transition of input signal BUF_IN is propagating within delay stage DEL or within the tristate buffer stage TBUF. Therefore, if either of these two logical states is detected by gating stage GS, gating stage GS will not generate a configuration signal CSl, even if tristate control signal 3ST is set. Thus configuration signal CSl will be logical 0 even if tristate control signal 3ST is logical 1. Since tristate buffer stage TBUF will not switch into a high impedance state unless there is no signal transition of input signal BUF IN propagating within delay stage DEL, glitches in the output signal BUF OUT are avoided. A signal transition of input signal BUF_IN can only occur at tristate buffer stage TBUF after the delay time of delay stage DEL. Therefore the buffer of the present invention will not generate glitches when switching into the high impedance state.
With the delayed tristate buffer of this invention, glitches during the asynchronous tristate action are not completely removed. The point of potential glitch generation is moved out of the signal path. If a tristate request coincides with the transition of signal CAN 3ST, a glitch can be generated. However, this glitch is not in the signal path but at the input of a latch which generates the first configuration signal CSl. This glitch may be long enough to set RS flip-flop LATCH or it may be too short to set it. In both cases it will not result in a glitch in the output signal since the delay and detection circuit ensures that a transition of the input signal is not propagating through the tristate buffer at this time.
Generally, since gating stage GS is not in the direct signal path but is connected in parallel with delay stage DEL and tristate buffer stage TBUF, any glitches in tristate control signal 3ST applied to gating stage GS will not be passed to output signal BUF_OUT . The logical level of output signal BUF OUT is held by regenerative loop RL while tristate buffer TBUF is switched into its high impedance or tristate mode. Due to delay stage DEL and configuration signal CSl, switching of tristate buffer stage TBUF has an advance that is long enough to avoid a transition of input signal BUF IN occurring when tristate buffer stage TBUF is switched. The critical timing and resulting glitches are moved out of the signal path. This will be explained in further detail with respect to Figures 6 and 7. According to a slightly modified configuration, it is possible to use delayed signal BUF_IN_DEL instead of output signal BUF OUT. This is indicated in Figure 5 by a dashed line. This alternative embodiment may be a little less reliable than using BUF_OUT as a second input for gating stage GS, but if the delay of delay stage DEL is chosen appropriately operation will remain the same. It is then possible to replace output signal BUF_OUT in Table 1 by delayed input signal BUF_IN_DEL and corresponding explanations apply to delayed input signal BUF IN DEL as to those applied to output signal BUF_OUT .
Figure 6 shows a preferred embodiment of the invention that operates similarly to the embodiment shown in Figure 5. In Figure 6 delay stage DEL is a chain of a plurality of inverters. Each inverter is implemented as a complementary pair of MOS transistors connected between positive supply voltage VDD and negative supply voltage VSS. A letter Z attached to signal name indicates that this is the complementary or inverted signal with respect to a signal having the same name without a Z suffix. Two PMOS and two NMOS transistors connected in series between the positive supply voltage VDD and negative supply voltage VSS form the tristate buffer stage TBUF. One of the NMOS transistors and one of the PMOS transistors have interconnected gate terminals. The gate terminals of the other PMOS and NMOS transistors in tristate buffer stage TBUF form the enablement inputs of tristate buffer stage TBUF and receive complementary configuration signals CSl and CSlZ gated by gating stage GS. The output signal BUF_0UT of tristate buffer stage TBUF is formed at the interconnection of drain terminals of the central complementary pair of MOS transistors in the series connection. Regenerative loop circuit RL has two pairs of complementary MOS transistors connected in series. Gating stage GS includes an XOR gate connected in series with a NAND gate, two further parallel cross-coupled NAND gates which form a latch and a chain of a plurality of inverters formed of complementary MOS transistor pairs. The XOR gate receives the input signal BUF_IN at one input and the output signal BUF_0UT at its other input. The XOR gate outputs a signal CAN_3ST to one input of a first NAND gate. The other input of the first NAND gate is tristate control signal 3ST. Tristate control signal 3ST is also input to one of the cross-coupled NAND gates. The first NAND gate generates output signal SETZ, which is input to the other input of the cross-coupled NAND gates. If output signal SETZ is low at logical 0, the cross- coupled NAND gate latch is set and signal STOP becomes logical 1. Otherwise, STOP is logical 0. The signal STOP is fed to the input of the inverter chain. The other output of the inverter chain is tristate indication signal IN_3ST. Tristate indication signal IN 3ST can be used as a flag indicating that tristate buffer stage TBUF has been successfully set into the high impedance state. First configuration signal CSl is generated at the output of one inverter in the inverter chain and the complementary configuration signal CSlZ is generated at the output of the next inverter in the chain.
Figure imgf000027_0001
Table 3
Table 3 shows the relative logical states of the signals generated in the circuit of Figure 6. The inputs of the XOR gate in gating stage GS span an odd number of inverters in the delay chain forming delay stage DEL. One input of the XOR gate receives the inverted input signal BUF_IN . If there is no transition in the delay stage between the inputs of the XOR gate, then the output of the XOR gate (signal CAN_3ST) is logical 1. As long as CAN_3ST is logical 1 and tristate control signal 3ST is logical 0, the output of the NAND gate having CAN 3ST as an input remains at logical 1. With a signal transition in the delay stage, the inputs of the XOR gate have the same state and signal CAN_3ST is logical 0. The signal CAN_3ST output from the XOR gate serves as a gating signal for asynchronous tristate control signal 3ST and sets the cross-coupled NAND gate latch. Whenever a transition passes through delay stage DEL and through tristate buffer stage TBUF, the tristate control signal 3ST is gated so that signal SETZ is logical 1. As a result, configuration signal CSl remains at logical 0 and tristate buffer stage TBUF cannot be switched into the high impedance state. This avoids generation of a glitch at the output. However, if no transition occurs in delay stage DEL or within tristate buffer stage TBUF (CAN_3ST is logical 1) and tristate control signal 3ST is logical 1, setting signal SETZ changes to logical 0. Having tristate control signal 3ST at logical 1 and SETZ at logical 0 as inputs, the cross-coupled NAND gate latch is set and output STOP changes from logical 0 to logical 1. As a consequence, configuration signal CSlZ changes to logical 0 and configuration signal CSl changes to logical 1. Tristate buffer stage TBUF will then be set to the high impedance. With the arrangement shown in Figure 6, if a pulse of tristate control signal 3ST coincides with a falling edge of signal CAN_3ST output from the XOR gate, this can lead to a short pulse of signal SETZ output from the first NAND gate. Accordingly, a glitch can occur in the signal SETZ. This situation is further explained with reference to Figures 7 and 8. Figures 7 and 8 show the relative clock signal transitions in the circuit of Figure 6 and illustrate that this situation is harmless. If the pulse or glitch of SETZ is too short, as shown in Figure 7, then the cross-coupled NAND gate latch does not flip over. Accordingly a glitch the signal STOP input to the inverter chain in gating stage GS has no effect since the buffer output signal BUF_OUT is stable at logical 0 or logical 1. However if the pulse is wide enough, as shown in Figure 8, the cross-coupled NAND gate latch will trigger and STOP changes to logical 1. Because of delay stage DEL the next clock transition in tristate buffer stage TBUF is still underway in delay chain DEL and tristate buffer stage TBUF is switched at time which has sufficient distance to the next edge of the delayed input signal IN_BUF. Thus buffer output signal BUF OUT will not show a glitch in this situation.

Claims

WHAT IS CLAIMED IS:
1. An electronic clock switch for switching between a first clock signal and a second clock signal providing either the first clock signal or the second clock signal as an output clock signal comprising: a first tristate buffer (TBUFO) having an input receiving the first clock signal (CLKO), a control input receiving a first tristate control signal (3ST0) and an output having a high impedance tristate output when said first tristate control signal (3ST0) has a predetermined digital state; a second tristate buffer (TBUFl) having an input receiving the second clock signal (CLKl), a control input receiving a second tristate control signal (3ST1) and an output having a high impedance tristate output when said second tristate control signal (3ST1) has said predetermined digital state; a multiplexer (MUX) having a first input coupled to said output of said first tristate buffer (TBUFO), a second input coupled to said output of said second tristate buffer (TBUFl) , a control input receiving a multiplexer control signal (MUX_SEL) and an output, said multiplexer (MUX) outputting either said first clock signal (CLKO) or said second clock signal (CLKl) at said output in response to a digital state of said multiplexer control signal (MUX SEL) ; and a control stage (CONTROL) having an input receiving a clock selection signal (SEL) having a first digital state indicating output of said first clock signal (CLKO) and a second digital state indicating of output said second clock signal (CLKl), a first output generating said multiplexer control signal (MUX_SEL) having a first digital state controlling said multiplexer (MUX) to output aid first clock signal (CLKO) and a second digital state controlling said multiplexer (MUX) to output said second clock signal (CLKl) through the multiplexer, a second output generating said first tristate control signal (3ST0) from a logical gating of said clock selection signal (SEL) and said multiplexer control signal (MUX_SLE) and a third output generating said second tristate control signal (3ST1) from a logical gating of said clock selection signal (SEL) and said multiplexer control signal (MUX_SLE) , said control stage operable whereby a change of said multiplexer control signal (MUX_SEL) from said first digital state to said second digital state is synchronous with an edge of said second clock (CLKl) and a change of said multiplexer control signal (MUX_SEL) from said second digital state to said first digital state is synchronous with an edge of said first clock signal (CLKO) .
2. The electronic clock switch of claim 1, wherein: said first tristate buffer (TBUFO) further generates a first tristate mode signal (IN 3ST0) having a first digital state indicating successful setting of said high impedance tristate output; said second tristate buffer (TBUFl) further generates a second tristate mode signal (IN 3ST1) having a first digital state indicating successful setting of said high impedance tristate output; said control stage (CONTROL) includes a first AND gate (ANl) having a first inverting input receiving said multiplexer control signal (MUX_SEL) , a second input receiving said clock selection signal (SEL) and an output generating said first tristate control signal (3ST0), a first inverter (INVl) having an input receiving said clock selection signal (SEL) and an output, a second AND gate (AN2) having a first input receiving said multiplexer control signal (MUX_SEL) , a second input connected to said output of said first inverter (INVl) and an output generating said second tristate control signal (3ST1), a third AND gate (AN3) having a first input connected to said output of said first tristate buffer (TBUFO) , a second input receiving said first tristate mode signal (IN_3ST0) and an output, a fourth AND gate (AN4) having a first inverting input connected to said output of said first tristate buffer (TBUFO), a second input receiving said first tristate mode signal (IN_3ST0) and an output, a second inverter (INV2) having an input receiving said output of said second tristate buffer (TBUFl) and an output, a first clocked flip-flop (FFl) having a set input connected to said output of said third AND gate (AN3) , a clock input connected to said output of said second inverter (INV2), an inverted clock input receiving said clock selection signal (SEL) and an output, a second clocked flip-flop (FF2) having a set input connected to said output of said fourth AND gate (AN4), a clock input connected to said output of said second tristate buffer (TBUFl) , an inverted clock input receiving said clock selection signal (SEL) and an output, a first OR gate (ORl) having a first input connected to said output of said first clocked flip-flop (FFl), a second input connected to said output of said second clocked flip-flop (FF2) and an output, a fifth AND gate (AN5) having a first inverting input connected to said output of said second tristate buffer (TBUFl), a second input receiving said second tristate mode signal (IN_3ST1) and an output, a sixth AND gate (AN6) having a first input connected to said output of said second tristate buffer (TBUFl), a second input receiving said second tristate mode signal (IN_3ST1) and an output, a third clocked flip-flop (FF3) having a set input connected to said output of said fifth AND gate (AN5) , a clock input connected to said output of said first tristate buffer (TBUFO), an inverted clock input connected to said output of said first inverter (INVl) and an output, a third inverter (INV3) having an input receiving said output of said first tristate buffer (TBUFO) and an output, a fourth clocked flip-flop (FF4) having a set input connected to said output of said sixth AND gate (AN6) , a clock input connected to said output of said third inverter (INV3), an inverted clock input connected to said output of said first inverter (INVl) and an output, a second OR gate (0R2) having a first input connected to said output of said third clocked flip-flop (FF3) , a second input connected to said output of said fourth clocked flip-flop (FF4) and an output, and a RS flip-flop (LATCH) having a set input connected to said output of said first OR gate (ORl) , a reset input connected to said output of said second OR gate (0R2) and an output generating said multiplexer control signal (MUX_SEL) .
3. The electronic clock switch of claim 1, wherein: said first tristate buffer (TBUFO) and said second tristate buffer (TBUFl) each include a delay stage (DEL) having an input connected to said input of said tristate buffer and an output, a tristate buffer stage (TBUF) having an input connected to said output of said delay stage, a control input and an output, and a gating stage (GS) having a first input connected to said input of said tristate buffer, a second input connected to said output of said tristate buffer stage (TBUF) , a third input receiving said tristate control signal (3ST) , a first output generating a configuration signal (CSl) connected to said control input of said tristate buffer (TBUF) and a second output generating tristate mode signal (IN 3ST) having a first digital state indicating successful setting of said high impedance tristate output.
4. The electronic clock switch of claim 3, wherein: said gating stage (GS) includes an exclusive OR gate having a first input connected to said input of said tristate buffer, a second input connected to said output of said tristate buffer stage (TBUF) and an output, an AND gate having a first input connected to said output of said exclusive OR gate, a second input receiving said tristate control signal (3ST) and an output, a cross-coupled NAND gate latch having a first input connected to said output of said AND gate, a second input receiving said tristate control signal (3ST) and an output, and a chain of a plurality of inverters each having an input and an output, said input of a first inverter in said chain connected to said output of said cross-coupled NAND gate latch, said input of each inverter in said chain other than said first inverter connected to said output of a prior inverter in said chain, said output of a last inverter in said chain generating said tristate mode signal (IN_3ST) and said output of a predetermined intermediate inverter in said chain generating said configuration signal (CSl) .
5. The electronic clock switch of claim 1, wherein: said first tristate buffer (TBUFO) and said second tristate buffer (TBUFl) each include a delay stage (DEL) having an input connected to said input of said tristate buffer and an output, a tristate buffer stage (TBUF) having an input connected to said output of said delay stage, a control input and an output, and a gating stage (GS) having a first input connected to said input of said tristate buffer, a second input connected to said output of said delay stage (DEL) and a third input receiving said tristate control signal (3ST) , a first output generating a configuration signal (CSl) connected to said control input of said tristate buffer (TBUF) and a second output generating tristate mode signal (IN_3ST) having a first digital state indicating successful setting of said high impedance tristate output.
6. The electronic clock switch of claim 5, wherein: said gating stage (GS) includes an exclusive OR gate having a first input connected to said input of said tristate buffer, a second input connected to said output of said delay stage (DEL) and an output, an AND gate having a first input connected to said output of said exclusive OR gate, a second input receiving said tristate control signal (3ST) and an output, a cross-coupled NAND gate latch having a first input connected to said output of said AND gate, a second input receiving said tristate control signal (3ST) and an output, and a chain of a plurality of inverters each having an input and an output, said input of a first inverter in said chain connected to said output of said cross-coupled NAND gate latch, said input of each inverter in said chain other than said first inverter connected to said output of a prior inverter in said chain, said output of a last inverter in said chain generating said tristate mode signal (IN_3ST) and said output of a predetermined intermediate inverter in said chain generating said configuration signal (CSl) .
7. A method of switching between a first clock signal and a second clock signal, the method comprising: buffering the first clock signal with a first tristate buffer; buffering the second clock signal with a second tristate buffer; outputting either the first clock signal (CLKO) or the second clock signal (CLKl) as the output clock signal in response to a control signal (MUX_SEL) ; receiving a clock selection signal (SEL) indicating in a first state to output the first clock signal (CLKO) and in a second state to output the second clock signal (CLKl); providing a control signal (MUX_SEL) having a first state for outputting the first clock signal (CLKO) and a second state for outputting the second clock signal (CLKl) ; triggering a change of the control signal from the first state to the second state with an edge of the second clock signal (CLKl) ; triggering a change of the control signal from the second state to the first state with an edge of the first clock signal (CLKO) ; and controlling the first tristate buffer and the second tristate buffer in response to the combined logical states of the clock selection signal (SEL) and the control signal (MUX_SEL) .
8. The method of claim 7, further comprising: controlling a tristate mode of said first tristate buffer (TBUFO) from an logical AND of a complement of said multiplexer control signal (MUX SEL) and said clock selection signal (SEL) ; and controlling a tristate mode of said second tristate buffer (TBUFl) from a logical AND of said multiplexer control signal (MUX SEL) and a complement of said clock selection signal (SEL) .
9. The method of claim 7, further comprising: entering a first static state (STATIC CLKO) when said clock selection signal (SEL) and said multiplexer control signal (MUX SEL) are both in said first digital state; entering a first transitional state (GOTO CLKl) when the clock selection signal (SEL) is in the second digital state and the multiplexer control signal (MUX SEL) is in the second digital state; entering a second static state (STATIC CLKl) when said clock selection signal (SEL) and said multiplexer control signal (MUX_SEL) are both in said second digital state; entering a second transitional state (GOTO CLKO) when the clock selection signal (SEL) is in the second state and the multiplexer control signal (MUX SEL) is in the first state; outputting said first clock signal (CLKO) in said first stable state and said first transitional state; outputting said second clock signal (CLKl) in said second stable state and said second transitional state; switching ON said first tristate buffer (TBUFO) and said second tristate buffer (TBUFl) in said first stable state and said second stable state; and setting said first tristate buffer (TBUFO) and said second tristate buffer (TBUFl) into tristate mode in said first transitional state and said second transitional state.
10. The method of claim 9, further comprising: transitioning from said first transitional state to said second stable state upon change of said multiplexer control signal (MUX SEL) in synchronization with said second clock signal (CLKl) .
11. The method of claim 9, further comprising: transitioning from said second transitional state to said first stable state upon change of said multiplexer control signal (MUX_SEL) in synchronization with said first clock signal (CLKO) .
PCT/EP2008/065235 2007-11-08 2008-11-10 Glitch free 2-way clock switch WO2009060096A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP08847509.0A EP2223193B1 (en) 2007-11-08 2008-11-10 Glitch free 2-way clock switch

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE102007053128A DE102007053128B3 (en) 2007-11-08 2007-11-08 Electronic device comprises clock change over switch for switching between two clock pulses, so that one of clock pulse is made available as output signal
DE102007053128.3 2007-11-08
US12/266,040 2008-11-06
US12/266,040 US7671633B2 (en) 2007-11-08 2008-11-06 Glitch free 2-way clock switch

Publications (1)

Publication Number Publication Date
WO2009060096A1 true WO2009060096A1 (en) 2009-05-14

Family

ID=39986433

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/065235 WO2009060096A1 (en) 2007-11-08 2008-11-10 Glitch free 2-way clock switch

Country Status (4)

Country Link
US (1) US7671633B2 (en)
EP (1) EP2223193B1 (en)
DE (1) DE102007053128B3 (en)
WO (1) WO2009060096A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1401133B1 (en) * 2010-07-16 2013-07-12 St Microelectronics Srl VOLTAGE SIGNAL MULTIPLATOR
IT1401132B1 (en) * 2010-07-16 2013-07-12 St Microelectronics Srl SWITCHING CIRCUIT FOR VOLTAGE SIGNALS
KR102191167B1 (en) 2014-08-06 2020-12-15 삼성전자주식회사 Clock switch device and system-on-chip having the same
US9997227B2 (en) * 2015-12-18 2018-06-12 Intel Corporation Non-volatile ferroelectric logic with granular power-gating
US11429142B2 (en) * 2020-12-18 2022-08-30 Nxp Usa, Inc. Glitch detector
US11740650B2 (en) * 2021-09-23 2023-08-29 Apple Inc. Clock alignment and uninterrupted phase change systems and methods
KR20230063827A (en) 2021-11-02 2023-05-09 삼성전자주식회사 Reset synchronizing circuit and glitchless clock buffer circuit to prevent start-up failure, and IQ divider circuit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604452A (en) * 1995-04-03 1997-02-18 Exar Corporation Clock generator using a state machine to switch between two offset clocks
US20050040855A1 (en) * 2003-08-21 2005-02-24 International Business Machines Corporation Clock signal selector circuit with reduced probability of erroneous output due to metastability

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1300972C (en) * 2003-07-14 2007-02-14 松下电器产业株式会社 Clock signal switching device, clock signal switching method, data bus switching device, and data bus switching method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604452A (en) * 1995-04-03 1997-02-18 Exar Corporation Clock generator using a state machine to switch between two offset clocks
US20050040855A1 (en) * 2003-08-21 2005-02-24 International Business Machines Corporation Clock signal selector circuit with reduced probability of erroneous output due to metastability

Also Published As

Publication number Publication date
EP2223193A1 (en) 2010-09-01
DE102007053128B3 (en) 2008-12-18
EP2223193B1 (en) 2016-09-28
US7671633B2 (en) 2010-03-02
US20090121744A1 (en) 2009-05-14

Similar Documents

Publication Publication Date Title
US6975145B1 (en) Glitchless dynamic multiplexer with synchronous and asynchronous controls
KR100810070B1 (en) Delay locked loop
US5623223A (en) Glitchless clock switching circuit
US9048823B2 (en) Duty cycle distortion correction circuitry
US7457191B2 (en) Apparatus and method of generating output enable signal for semiconductor memory apparatus
JP3644827B2 (en) DLL circuit considering external load
EP2223193B1 (en) Glitch free 2-way clock switch
US5508648A (en) Differential latch circuit
US6194932B1 (en) Integrated circuit device
US6429698B1 (en) Clock multiplexer circuit with glitchless switching
US6927604B2 (en) Clock signal selector circuit with reduced probability of erroneous output due to metastability
US7447110B2 (en) Integrated circuit devices having dual data rate (DDR) output circuits therein
US6472909B1 (en) Clock routing circuit with fast glitchless switching
US6049236A (en) Divide-by-one or divide-by-two qualified clock driver with glitch-free transitions between operating frequencies
US6782064B1 (en) Circuit, architecture and method for asynchronous clock domain switching
US6653867B1 (en) Apparatus and method for providing a smooth transition between two clock signals
US6049241A (en) Clock skew circuit
US7003683B2 (en) Glitchless clock selection circuit
US5923195A (en) Fast clock generator and clock synchronizer for logic derived clock signals with synchronous clock suspension capability for a programmable device
US5638008A (en) Method and apparatus for generating an asynchronously clocked signal in a synchronously clocked programmable device
KR101136936B1 (en) Semiconductor device and operating method thereof
US7786758B2 (en) Asynchronous clock gate with glitch protection
KR20020037525A (en) Semiconductor memory device with a delay locked loop circuit
US7098695B2 (en) Dynamic-to-static logic converter
US20080080290A1 (en) Memory device having small clock buffer

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08847509

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2008847509

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008847509

Country of ref document: EP