WO2002084464A2 - Stretching, shortening, and/or removing a clock cycle - Google Patents

Stretching, shortening, and/or removing a clock cycle Download PDF

Info

Publication number
WO2002084464A2
WO2002084464A2 PCT/US2002/010958 US0210958W WO02084464A2 WO 2002084464 A2 WO2002084464 A2 WO 2002084464A2 US 0210958 W US0210958 W US 0210958W WO 02084464 A2 WO02084464 A2 WO 02084464A2
Authority
WO
WIPO (PCT)
Prior art keywords
clock signal
clock
multiplexor
selecting
delayed
Prior art date
Application number
PCT/US2002/010958
Other languages
French (fr)
Other versions
WO2002084464A3 (en
Inventor
Gin S. Yee
Original Assignee
Sun Microsystems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems, Inc. filed Critical Sun Microsystems, Inc.
Priority to GB0324072A priority Critical patent/GB2393821A/en
Publication of WO2002084464A2 publication Critical patent/WO2002084464A2/en
Publication of WO2002084464A3 publication Critical patent/WO2002084464A3/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/131Digitally controlled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/18Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop

Definitions

  • a typical computer system includes a system clock that is used as a time reference by system components to perform operations.
  • computer chips such as microprocessors
  • a time reference i.e., a core clock signal
  • computer systems typically include a clock generator component, such as a phased-lock loop ("PLL").
  • PLL phased-lock loop
  • a PLL which is often used to control the frequency and or phase of a signal, is a system that uses feedback to maintain an output signal in a specific phase relationship with a reference signal.
  • the phase relationship between two signals is the amount of phase difference (also referred to as "phase margin") between those two signals.
  • the phase of a signal is the fraction of a period that has elapsed in a periodic function, e.g., a core clock signal, measured from some fixed origin.
  • a specific phase relationship e.g., a phase margin of 0
  • the core clock signal generated by the PLL can be aligned with the system clock such that the start of a core clock signal cycle occurs at the start of a system clock cycle. Therefore, a functional objective of the PLL is to generate a core clock signal from a system clock and maintain a specific phase difference between the two signals such that the core clock signal generated by the PLL is aligned with the system clock.
  • FIG. 1 shows a prior art embodiment of a PLL (10).
  • the PLL (10) includes a first buffer (12) that inputs a system clock, SYS_CLK.
  • the first buffer (12) restores SYS_CLK to "full swing" such that any voltage dissipation or stray voltage addition to SYS_CLK present at the input of the first buffer (12) is removed at the output of the first buffer (12).
  • SYS_CLK may be desired to cycle between 0 and 5 volts.
  • due to system conditions, e.g., current leakage and or voltage dissipation SYS_CLK may only cycle between 0 and 4.5 volts at the input of the first buffer (12).
  • the first buffer (12) then inputs SYS_CLK and restores SYS_CLK such that the first buffer (12) outputs a restored SYS_CLK signal that cycles between 0 and 5 volts.
  • the PLL (10) also includes a second buffer (14) that inputs a core clock signal, CORE_CLK.
  • the second buffer (14) restores CORE_CLK, in essentially the same manner as the first buffer (12) restores SYS_CLK.
  • the first buffer (12) outputs the restored (also referred to as "buffered")
  • the first clock divider (16) contains dividers and/or counters that divide SYS_CLK down, i.e., SYS_CLK's frequency decreases.
  • the second clock divider (18) resides in a feedback path of the PLL (10). Accordingly, the second clock divider (18) divides down CORE_CLK.
  • the PFD (20) contains a device that produces two output pulses (not shown). The difference in pulse widths between the two output pulses from the PFD (20) is proportional to the phase difference of the two input signals to the PFD (20). The two output pulses produced by the PFD (20) then serve as inputs to a charge pump ("CP") (22).
  • CP charge pump
  • VCO voltage controlled oscillator
  • the VCO (24) is a circuit that produces a signal that has a frequency proportional to an input control voltage.
  • the VCO (24) sets the frequency of the output signal from the VCO (24).
  • the signal outputted from the VCO (24) serves as an input to a third clock divider (26).
  • the third clock divider (26) functions in the same manner as the first and second clock dividers (16, 18). After dividing down the signal outputted from the VCO (24), the third clock divider (26) outputs a PLL clock signal, PLL_CLK.
  • PLL_CLK serves as an input to a multiplexor (28).
  • SYS_CLK signal also serves as an input to the multiplexor (28).
  • the multiplexor (28) outputs the PLL_CLK or the buffered SYS_CLK signal as a multiplexed CORE_CLK signal (also referred to and shown in Figure 1 as "CORE_CLK_l").
  • the fourth buffer (32) outputs the multiplexed buffered CORE_CLK signal (also referred to and shown in Figure 1 as "CORE_CLK_2") for use by a computer chip or other system component and the fourth buffer (32) also outputs the multiplexed/buffered CORE_CLK signal to an input of a header stage (34), which is in a feedback path to the input of the PLL (10).
  • CORE_CLK_2 multiplexed buffered CORE_CLK signal
  • the header stage (34) inputs the multiplexed/buffered CORE_CLK signal and outputs CORE_CLK, which, in turn, serves as the input to the second buffer (14).
  • the function of the PLL (10) from the point when the second buffer (14) inputs CORE_CLK is described above.
  • One goal of a phased-lock loop and other clock generators is to be able to manipulate a clock cycle in order to find circuit paths that limit peak performance of a certain component. For example, to determine if a certain path on a microprocessor is failing, a PLL can lengthen or shorten the cycle time of a core clock signal while a test is executed.
  • Manipulating a core clock signal generated by a PLL to have a stretched or shortened clock cycle is done by introducing some phase difference between a system clock signal and a core clock signal.
  • the PLL can output a signal that represents an elongated or a shortened signal that is the synthesis of the system clock signal and the core clock signal.
  • the manipulation of the PLL output introduces phase error to the PFD input because the phase difference between the system clock signal and the core clock signal is fed back in the function of the PLL.
  • the dominant resultant phase error, or noise appears as phase noise ("jitter") on the output signal from the PLL. Moreover, such phase noise can cause the PLL to go out of lock.
  • a clock multiplexor stage comprises a multiplexor stage that inputs a clock signal at a first input thereof and a delay element that inputs the clock signal and outputs a delayed clock signal to a second input of the multiplexor. Therefrom, a select input on the multiplexor switches between the clock signal and the delayed clock signal to generate a stretched or shortened clock cycle at the output of the multiplexor stage.
  • a clock multiplexor stage can output a plurality of clock cycles and/or clock phases that are stretched, shortened, or a combination thereof.
  • a clock generator comprises a first clock multiplexor stage that inputs a first intermediary clock signal and outputs a first multiplexed clock signal, a second clock multiplexor stage that inputs a second intermediary clock signal and outputs a second multiplexed clock signal, a phase detector stage that inputs the first multiplexed clock signal and the second multiplexed clock signal and outputs an aligned clock signal to a third frequency divider that generates a third clock signal, and a third clock multiplexor stage that inputs the third clock signal and outputs the second clock signal.
  • a method for stretching and shortening a clock cycle comprises inputting a clock signal to an input of a multiplexor, inputting the clock signal to a first delay element, generating a first delayed clock signal from the first delay element to a second input of the multiplexor, and selectively switching the multiplexor from selecting the clock signal to selecting the first delayed clock signal such that the multiplexor generates a stretched clock cycle on an output of the multiplexor.
  • a plurality of clock cycles and/or clock phases can be generated that are stretched, shortened, or a combination thereof.
  • a method for generating a clock generator signal comprises inputting a first intermediary clock signal to a first clock multiplexor stage that generates a first multiplexed clock signal, wherein the first intermediary clock signal is based on a first clock signal, inputting a second intermediary clock signal to a second clock multiplexor stage that generates a second multiplexed clock signal, wherein the second intermediary clock signal is based on a second clock signal, generating a third clock signal based on phases and frequencies of the first multiplexed clock signal and the second multiplexed clock signal, inputting the third clock signal to a third clock multiplexor stage, and outputting the second clock signal.
  • a method for removing a clock cycle at an output of a multiplexor stage comprises selectively switching between either a normal clock signal or a delayed clock signal and a grounded signal.
  • Figure 1 shows a prior art embodiment of a clock generator.
  • Figure 2 shows a block diagram of a clock generator in accordance with an embodiment of the present invention.
  • Figure 3 shows a component of a clock generator in accordance with an embodiment of the present invention.
  • Figure 4 shows an exemplary timing diagram in accordance with the embodiment shown in Figure 3.
  • Figure 5 shows a component of a clock generator in accordance with another embodiment of the present invention.
  • Figure 6 shows an exemplary timing diagram in accordance with the embodiment shown in Figure 5.
  • the design and testing of computer chips involve determining failure paths that decrease, and in many instances, severely affect chip performance. Such failure paths serve are a bottleneck to peak processor performance, and are therefore often referred to as "critical paths.”
  • the present invention provides an approach and method to facilitate the determining and remedying of critical paths.
  • the present invention also relates to a method for stretching and/or shortening a clock cycle.
  • the present invention also relates to a method for stretching and/or shortening successive clock cycles.
  • the present invention also relates to a method for manipulating a clock cycle of an output signal from a clock generator without introducing phase error to the clock generator.
  • the present invention also relates to an apparatus for stretching and/or shortening a clock cycle.
  • the present invention also relates to an apparatus for stretching and/or shortening successive clock cycles.
  • the present invention also relates to an apparatus for determining and remedying critical paths on a computer chip. Further, the present invention relates to a method and apparatus for removing one or more clock cycles.
  • the clock generator (35) includes a first buffer (37) that inputs a system clock, SYS_CLK.
  • the first buffer (37) restores SYS_CLK to "full swing' * such that any voltage dissipation or stray voltage addition to SYS_CLK present at the input of the first buffer (37) is removed at the output of the first buffer (37).
  • the clock generator (35) also includes a second buffer (39) that inputs a core clock signal, CORE_CLK.
  • the second buffer (39) restores CORE_CLK, in essentially the same manner as the first buffer (37) restores SYS_CLK.
  • the first buffer (37) and the second buffer (39) may each input differential signals, e.g., complementary input signals.
  • the first buffer (37) outputs the restored (also referred to as "buffered")
  • the first clock divider (36) contains dividers and/or counters that divide SYS_CLK down, i.e., SYS_CLK's frequency decreases.
  • the second clock divider (38) resides in a feedback path of the clock generator (35). Accordingly, the second clock divider (38) divides down CORE_CLK.
  • the divided SYS_CLK signal generated by the first clock divider (36) serves as an input to a first clock multiplexor stage (40) and the divided CORE_CLK signal generated by the second clock divider (38) serves as an input to a second clock multiplexor stage (42) (the divided SYS_CLK signal and the divided CORE_CLK signal are also referred to as "intermediary clock signals").
  • the divided SYS_CLK signal and the divided CORE_CLK signal are also referred to as "intermediary clock signals").
  • the first clock multiplexor stage (40) outputs a multiplexed SYS_CLK signal (also referred to as “first multiplexed clock signal”) and the second clock multiplexor stage (42) outputs a multiplexed CORE_CLK signal (also referred to as “second multiplexed clock signal”).
  • PFD phase-frequency detector
  • the PFD (44) contains a device that produces two output pulses (not shown).
  • the difference in pulse widths between the two output pulses from the PFD (44) is proportional to the phase difference of the two input signals to the PFD (44).
  • the two output pulses produced by the PFD (44) then serve as inputs to a charge pump (“CP") (46).
  • CP charge pump
  • the CP (46) depending on the difference in pulse widths between its inputs, precharges or dumps charge, i.e., outputs voltage, to a capacitor that is used to control a voltage controlled oscillator (“VCO”) (48).
  • VCO voltage controlled oscillator
  • the VCO (48) is a circuit that produces a signal that has a frequency proportional to an input control voltage.
  • the VCO (48) sets the frequency of the output signal from the VCO (48).
  • the PFD (44), CP (46), and VCO (48) form a phase detector stage.
  • the signal outputted from the VCO (48) serves as an input to a third clock divider (50).
  • the third clock divider (50) functions in the same manner as the first and second clock dividers (36, 38). After dividing down the signal outputted from the VCO (48), the third clock divider (50) outputs a PLL clock signal, PLL_CLK.
  • PLL CLK serves as an input to a third clock multiplexor stage (52).
  • the third clock multiplexor stage (52) outputs a second multiplexed CORE_CLK signal (also referred to and shown in Figure 2 as "CORE_CLK_l")
  • the second multiplexed CORE_CLK signal is then buffered by a third buffer (54) and a fourth buffer (56).
  • the fourth buffer (56) outputs the multiplexed/buffered CORE_CLK signal (also referred to and shown in Figure 2 as "CORE_CLK_2") for use by a computer chip or other system component and the fourth buffer (56) also outputs the multiplexed buffered CORE_CLK to an input of a header stage (58), which is in a feedback path to the input of the clock generator (35).
  • the header stage (58) inputs the multiplexed/buffered CORE_CLK signal and outputs CORE_CLK, which, in turn, serves as the input to the second buffer (39).
  • the function of the clock generator (35) from the point when the second buffer (39) inputs CORE_CLK is described above.
  • FIG. 3 a clock multiplexor stage of an exemplary embodiment of the present invention is shown.
  • the clock multiplexor stage (60) shown in Figure 3 has a similar configuration and function as the clock multiplexor stages (40, 42, 52) shown in Figure 2.
  • An input to the clock multiplexor stage (60), INPUT serves as an input to a multiplexor (62) and also serves as an input to a delay element (64).
  • the delay element (64) inputs the input signal to the clock multiplexor stage (62) and outputs a delayed signal, DELAY, to an input of the multiplexor (62) that is delayed by d with respect to the input signal.
  • the multiplexor (62) Based on whether a select input, SEL, to the multiplexor (62) selects INPUT or DELAY, the multiplexor outputs an output signal, OUTPUT.
  • the amount of delay, d, represented by the delay element (64) is programmable and can be changed by a user or a system as desired.
  • the multiplexor (62) may input, among other signals, a system clock signal, a connection to ground (to remove a clock cycle at the output), or a connection to a high voltage ("V DD ").
  • the clock multiplexor stage (60) selects, via SEL on the multiplexor (62), either INPUT or DELAY, such that the selected signal continuously passes from an input of the multiplexor (62) to the output of the clock multiplexor stage (62).
  • the multiplexor (62), via SEL switches from selecting INPUT to DELAY.
  • switching SEL to select from INPUT to DELAY causes a stretched clock cycle to be produced at the output of the clock multiplexor stage (60).
  • switching SEL from DELAY to INPUT causes a shortened clock cycle to be produced at the output of the clock multiplexor stage (60).
  • Figure 4 shows an exemplary timing diagram of a function of the clock multiplexor stage (60) in accordance with the embodiment shown in Figure 3.
  • Figure 4 shows, among other signals, an input signal, INPUT, to the clock multiplexor stage (60).
  • Figure 4 also shows a delayed signal, DELAY, which is delayed with respect to INPUT.
  • DELAY delayed signal
  • the output of the clock multiplexor stage (60) takes on the behavior of either INPUT or DELAY depending upon which input is selected on the multiplexor (62) at the output of the clock multiplexor stage (60).
  • the select input, SEL, on the multiplexor (62) at the output of the clock multiplexor stage (60) must switch from selecting INPUT to DELAY.
  • the change in selection occurs when the inputs, INPUT and DELAY, to the multiplexor (62) are stable, i.e., when inputs are not in transition from high to low or low to high.
  • STRECTH_OUTPUT to have a stretched clock cycle (72).
  • the stability window might occur when both inputs, INPUT and DELAY, are high, thus causing the stretched cycle to occur on the high phase of a stretched output clock cycle.
  • the select input, SEL, on the multiplexor (62) at the output of the clock multiplexor stage (60) must switch from selecting DELAY to INPUT.
  • the change in selection occurs when the inputs, INPUT and DELAY, to the multiplexor (62) are stable.
  • the stability window might occur when both inputs, INPUT and DELAY, are high, thus causing the shortened cycle to occur on the high phase of a shortened output clock cycle.
  • the first clock multiplexor stage (40) matches the stretch delay that is introduced by the third clock multiplexor stage (52) to avoid introducing phase error to the reference input of the PFD (44).
  • the first clock multiplexor stage (40) matches the shrink delay that is introduced by the third clock multiplexor stage (52) to avoid introducing phase error to the reference input of the PFD (44). Further, when the first clock multiplexor stage (40) is used to emulate delays caused by the third clock multiplexor stage (52), the second clock multiplexor stage (42) is used to match delays caused by the first clock multiplexor stage (40) so that SYS_CLK is aligned with CORE_CLK.
  • the second clock multiplexor stage (42) may be used to match delays introduced by the third clock multiplexor stage (52).
  • the second clock multiplexor stage (42) introduces a delay which is the negative, i.e., the inverse, of the delay caused by the third clock multiplexor stage (52). This is necessary because the second clock multiplexor stage (42) lies in a feed back path of the clock generator (35).
  • the third clock multiplexor stage (52) stretches (adds delay) a CORE_CLK_l cycle, then the second clock multiplexor stage (42) takes away delay, using a null delay, from CORE_CLK.
  • the third clock multiplexor stage (52) shrinks a CORE_CLK_l cycle, then the second clock multiplexor stage (42) adds delay to CORE_CLK.
  • the clock generator (35) employs a compensation function by which the second clock multiplexor stage (42) outputs a rising edge by selecting, via a select input, a high voltage ("V DD ") at an input of a multiplexor at the output of the second clock multiplexor stage (42).
  • FIG. 5 shows a clock multiplexor stage (80) that is capable of manipulating, i.e., stretching or shortening, successive clock cycles in accordance with an exemplary embodiment of the present invention.
  • An input signal, INPUT, to the clock multiplexor stage (80) serves as an input to a multiplexor (82) and also serves as an input to a first delay element, d 1 (84), a second delay element, 52 (86), and a third delay element, 93 (88).
  • the third delay element (88) is longer than the second delay element (86), and the second delay element (86) is longer than the first delay element (88).
  • delay differences between a plurality of delay elements may be incremental or random.
  • amount of delay represented by a delay element is programmable and can be changed by a user or a system as desired. Further, those skilled in the art will appreciate that other embodiments may use a different number of delay elements.
  • the first, second, and third delay elements (84, 86, 88) output a first delayed signal ("DELAY_1"), a second delayed signal (“DELAY_2”), and a third delayed signal (“DELAY_3”), respectively, to inputs of the multiplexor (82).
  • a select input, SEL, on the multiplexor (82) selects an input of the multiplexor (82) such that the signal at the selected input passes to the output, OUTPUT, of the clock multiplexor stage (80).
  • the multiplexor (82) may input, among other signals, a system clock signal, a connection to ground (to remove a clock cycle at the output), or a connection to a high voltage ("V DD ").
  • the clock multiplexor stage (80) selects, via SEL on the multiplexor (82), either INPUT, DELAY_1, DELAY_2, or DELAY_3 such that the selected signal continuously passes from an input of the multiplexor (82) to OUTPUT.
  • the multiplexor (82) via SEL, switches from selecting the input signal on the multiplexor (82) that is being outputted to successive subsequent delayed signals that have successively longer delay elements. For example, as will be shown in Figure 6, selectively switching SEL to select from INPUT to DELAY_1, then from DELAY_1 to DELAY_2, and then from DELAY_2 to DELAY_3 causes successive stretched clock cycles to be produced at OUTPUT.
  • the multiplexor (82) when a clock generator needs to produce successive shortened clock cycles with respect to clock cycles of an input signal to the multiplexor (82) that the clock multiplexor stage (80) is outputting, the multiplexor (82), via SEL, switches from selecting the input signal on the multiplexor (82) that is being outputted to successive delayed signals that have successively shorter delay elements.
  • Figure 6 shows an exemplary timing diagram of a function of the clock multiplexor stage (80) shown in Figure 5. More particularly, Figure 6 illustrates the function of producing successive stretched clock cycles.
  • Figure 6 shows, among other signals, the input signal, INPUT, to the clock multiplexor stage (80) and the output signal, OUTPUT, from the clock multiplexor stage (80).
  • Figure 6 also shows delayed signals, DELAY_1, DELAY_2, and DELAY_3, which are delayed with respect to INPUT.
  • DELAY_1, DELAY_2, and DELAY_3 are delayed by with respect to INPUT can be modified according to user and/or system requirements.
  • DELAY_1 is delayed by a quarter cycle with respect to INPUT.
  • DELAY_2 is delayed by a half cycle with respect to INPUT.
  • DELAY_3 is delayed by three quarters of a cycle with respect to INPUT.
  • the delays in DELAY_1, DELAY_2, and DELAY_3 are based on values of the delay elements d l, 32, and 93 in Figure 5.
  • SEL selects INPUT such that the input signal to clock multiplexor stage (80) passes to OUTPUT.
  • STABILITY_WINDOW_l both INPUT and DELAY 1 are low, and therefore INPUT and DELAY_1 in Figure 5 are said to be stable at their respective inputs to the multiplexor (82). Since INPUT and DELAY_1 are both stable at their respective inputs to the multiplexor (82) in STABILITY_WINDOW_l, SEL switches from selecting INPUT to DELAY_1. Accordingly, this causes the signal that passes to OUTPUT to change from INPUT to DELAY_1. As shown in Figure 6, switching the signal that passes to OUTPUT produces a first stretched clock cycle (92) on OUTPUT.
  • a clock multiplexor stage can produce successive shortened clock cycles by selectively switching to signals that have successively smaller delays.
  • stability windows might occur on the high phase, meaning that a select input on a multiplexor can selectively switch when certain inputs to the multiplexor are high.
  • a clock multiplexor stage can output successive clock cycles that are stretched, shortened, or a combination thereof.
  • a clock multiplexor stage can output successive clock phases that are stretched, shortened, or a combination thereof.
  • Advantages of the present invention may include one or more of the following.
  • a critical path on a computer chip or other computer system component can be determined and remedied by stretching or shortening a clock cycle.
  • a clock generator can manipulate, i.e., stretch or shorten, a clock cycle without introducing phase error, i.e., noise, to the clock generator. This ensures that the output signal of the clock generator is stable.
  • a clock generator can produce a clock signal that has a single stretched clock cycle or a plurality of successive stretched clock cycles.
  • a clock generator can produce a clock signal that has a single shortened clock cycle or a plurality of successive shortened clock cycles.
  • a clock generator can produce a clock signal that has a single removed clock cycle or a plurality of removed clock cycles.
  • a clock generator can produce a clock signal having a single stretched clock cycle, a single shortened clock cycle, a plurality of successive stretched clock cycles, a plurality of successive shortened clock cycles, or any combination thereof.
  • a clock generator has one or more delay elements that are programmable. This is advantageous because by being able to program a delay element, a user or a system component may designate when a stretched, or shortened clock cycle should occur and for how long the stretched or shortened clock cycle should occur.
  • a multiplexor at the output of a clock generator has a select input that is programmable allowing a user or a system component to manipulate clock signal at the output of the clock generator.
  • a clock generator can produce a stretched or shortened clock cycle on either or both the high phase and the low phase on an output clock signal.

Abstract

A method and apparatus for stretching and/or shortening a clock cycle uses a multiplexor stage, in which a multiplexor switches between a normal clock signal and a delayed clock signal. Further, a method and apparatus for generating a plurality of stretched and/or shortened clock cycles uses a multiplexor state in which a multiplexor successively switches between a normal clock signal and a plurality of delayed clock signals. Further, a method and apparatus for removing a clock cycle uses a multiplexor stage, in which a multiplexor switches between either a normal clock signal or a delayed clock signal and a grounded signal.

Description

STRETCHING, SHORTENING, AND/OR REMOVING A
CLOCK CYCLE
Background of Invention
Background Art
[0001] A typical computer system includes a system clock that is used as a time reference by system components to perform operations. However, computer chips, such as microprocessors, need a time reference, i.e., a core clock signal, that has a significantly greater frequency than that of the system clock because computer chips generally operate at much faster speeds than other system components. In order to generate a core clock signal that has a greater frequency than the system clock, computer systems typically include a clock generator component, such as a phased-lock loop ("PLL").
[0002] A PLL, which is often used to control the frequency and or phase of a signal, is a system that uses feedback to maintain an output signal in a specific phase relationship with a reference signal. The phase relationship between two signals is the amount of phase difference (also referred to as "phase margin") between those two signals. The phase of a signal is the fraction of a period that has elapsed in a periodic function, e.g., a core clock signal, measured from some fixed origin. By maintaining a specific phase relationship, e.g., a phase margin of 0, the core clock signal generated by the PLL can be aligned with the system clock such that the start of a core clock signal cycle occurs at the start of a system clock cycle. Therefore, a functional objective of the PLL is to generate a core clock signal from a system clock and maintain a specific phase difference between the two signals such that the core clock signal generated by the PLL is aligned with the system clock.
[0003] Figure 1 shows a prior art embodiment of a PLL (10). The PLL (10) includes a first buffer (12) that inputs a system clock, SYS_CLK. The first buffer (12) restores SYS_CLK to "full swing" such that any voltage dissipation or stray voltage addition to SYS_CLK present at the input of the first buffer (12) is removed at the output of the first buffer (12). For example, SYS_CLK may be desired to cycle between 0 and 5 volts. However, due to system conditions, e.g., current leakage and or voltage dissipation, SYS_CLK may only cycle between 0 and 4.5 volts at the input of the first buffer (12). The first buffer (12) then inputs SYS_CLK and restores SYS_CLK such that the first buffer (12) outputs a restored SYS_CLK signal that cycles between 0 and 5 volts.
[0004] The PLL (10) also includes a second buffer (14) that inputs a core clock signal, CORE_CLK. The second buffer (14) restores CORE_CLK, in essentially the same manner as the first buffer (12) restores SYS_CLK.
[0005] The first buffer (12) outputs the restored (also referred to as "buffered")
SYS_CLK signal to a first clock divider (16) and the second buffer (14) outputs the restored (also referred to as "buffered") CORE_CLK signal to a second clock divider (18). The first clock divider (16) contains dividers and/or counters that divide SYS_CLK down, i.e., SYS_CLK's frequency decreases. As opposed to the first clock divider (16), which resides in a feed forward path of the PLL (10), the second clock divider (18) resides in a feedback path of the PLL (10). Accordingly, the second clock divider (18) divides down CORE_CLK. However, those skilled in the art will appreciate that because the second clock divider (18) resides in the feedback path of the PLL (10), the dividing down of CORE_CLK actually results in the multiplying of CORE_CLK, i.e., CORE_CLK's frequency increases.
[0006] The SYS_CLK signal and the CORE_CLK signal generated by the first clock divider (16) and the second clock divider (18), respectively, serve as inputs to a phase-frequency detector ("PFD") (20). The PFD (20) contains a device that produces two output pulses (not shown). The difference in pulse widths between the two output pulses from the PFD (20) is proportional to the phase difference of the two input signals to the PFD (20). The two output pulses produced by the PFD (20) then serve as inputs to a charge pump ("CP") (22). The CP (22), depending on the difference in pulse widths between its inputs, precharges or dumps charge, i.e., outputs voltage, to a capacitor that is used to control a voltage controlled oscillator ("VCO" (24). The VCO (24) is a circuit that produces a signal that has a frequency proportional to an input control voltage. The VCO (24) sets the frequency of the output signal from the VCO (24).
[0007] The signal outputted from the VCO (24) serves as an input to a third clock divider (26). The third clock divider (26) functions in the same manner as the first and second clock dividers (16, 18). After dividing down the signal outputted from the VCO (24), the third clock divider (26) outputs a PLL clock signal, PLL_CLK.
[0008] PLL_CLK serves as an input to a multiplexor (28). The buffered
SYS_CLK signal also serves as an input to the multiplexor (28). Depending on the state of a select input, SEL, the multiplexor (28) outputs the PLL_CLK or the buffered SYS_CLK signal as a multiplexed CORE_CLK signal (also referred to and shown in Figure 1 as "CORE_CLK_l").
[0009] The multiplexed CORE_CLK signal is then buffered by a third buffer
(30) and a fourth buffer (32). The fourth buffer (32) outputs the multiplexed buffered CORE_CLK signal (also referred to and shown in Figure 1 as "CORE_CLK_2") for use by a computer chip or other system component and the fourth buffer (32) also outputs the multiplexed/buffered CORE_CLK signal to an input of a header stage (34), which is in a feedback path to the input of the PLL (10).
[0010] The header stage (34) inputs the multiplexed/buffered CORE_CLK signal and outputs CORE_CLK, which, in turn, serves as the input to the second buffer (14). The function of the PLL (10) from the point when the second buffer (14) inputs CORE_CLK is described above. [0011] One goal of a phased-lock loop and other clock generators is to be able to manipulate a clock cycle in order to find circuit paths that limit peak performance of a certain component. For example, to determine if a certain path on a microprocessor is failing, a PLL can lengthen or shorten the cycle time of a core clock signal while a test is executed.
[0012] Manipulating a core clock signal generated by a PLL to have a stretched or shortened clock cycle is done by introducing some phase difference between a system clock signal and a core clock signal. In other words, by not precisely aligning a system clock signal and a core clock signal, the PLL can output a signal that represents an elongated or a shortened signal that is the synthesis of the system clock signal and the core clock signal. Further, the manipulation of the PLL output introduces phase error to the PFD input because the phase difference between the system clock signal and the core clock signal is fed back in the function of the PLL. The dominant resultant phase error, or noise, appears as phase noise ("jitter") on the output signal from the PLL. Moreover, such phase noise can cause the PLL to go out of lock.
Summary of Invention
[0013] In one aspect, a clock multiplexor stage comprises a multiplexor stage that inputs a clock signal at a first input thereof and a delay element that inputs the clock signal and outputs a delayed clock signal to a second input of the multiplexor. Therefrom, a select input on the multiplexor switches between the clock signal and the delayed clock signal to generate a stretched or shortened clock cycle at the output of the multiplexor stage. Those skilled in the art will appreciate that in alternative embodiments, a clock multiplexor stage can output a plurality of clock cycles and/or clock phases that are stretched, shortened, or a combination thereof.
[0014] In another aspect, a clock generator comprises a first clock multiplexor stage that inputs a first intermediary clock signal and outputs a first multiplexed clock signal, a second clock multiplexor stage that inputs a second intermediary clock signal and outputs a second multiplexed clock signal, a phase detector stage that inputs the first multiplexed clock signal and the second multiplexed clock signal and outputs an aligned clock signal to a third frequency divider that generates a third clock signal, and a third clock multiplexor stage that inputs the third clock signal and outputs the second clock signal.
[0015] In another aspect, a method for stretching and shortening a clock cycle comprises inputting a clock signal to an input of a multiplexor, inputting the clock signal to a first delay element, generating a first delayed clock signal from the first delay element to a second input of the multiplexor, and selectively switching the multiplexor from selecting the clock signal to selecting the first delayed clock signal such that the multiplexor generates a stretched clock cycle on an output of the multiplexor. Those skilled in the art will appreciate that in alternative embodiments, a plurality of clock cycles and/or clock phases can be generated that are stretched, shortened, or a combination thereof.
[0016] In another aspect, a method for generating a clock generator signal comprises inputting a first intermediary clock signal to a first clock multiplexor stage that generates a first multiplexed clock signal, wherein the first intermediary clock signal is based on a first clock signal, inputting a second intermediary clock signal to a second clock multiplexor stage that generates a second multiplexed clock signal, wherein the second intermediary clock signal is based on a second clock signal, generating a third clock signal based on phases and frequencies of the first multiplexed clock signal and the second multiplexed clock signal, inputting the third clock signal to a third clock multiplexor stage, and outputting the second clock signal.
[0017] In another aspect, a method for removing a clock cycle at an output of a multiplexor stage comprises selectively switching between either a normal clock signal or a delayed clock signal and a grounded signal. [0018] Other aspects and advantages of the invention will be apparent from the following description and the appended claims.
Brief Description of Drawings
[0019] Figure 1 shows a prior art embodiment of a clock generator.
[0020] Figure 2 shows a block diagram of a clock generator in accordance with an embodiment of the present invention.
[0021] Figure 3 shows a component of a clock generator in accordance with an embodiment of the present invention.
[0022] Figure 4 shows an exemplary timing diagram in accordance with the embodiment shown in Figure 3.
[0023] Figure 5 shows a component of a clock generator in accordance with another embodiment of the present invention.
[0024] Figure 6 shows an exemplary timing diagram in accordance with the embodiment shown in Figure 5.
Detailed Description
[0025] The design and testing of computer chips involve determining failure paths that decrease, and in many instances, severely affect chip performance. Such failure paths serve are a bottleneck to peak processor performance, and are therefore often referred to as "critical paths." The present invention provides an approach and method to facilitate the determining and remedying of critical paths. The present invention also relates to a method for stretching and/or shortening a clock cycle. The present invention also relates to a method for stretching and/or shortening successive clock cycles. The present invention also relates to a method for manipulating a clock cycle of an output signal from a clock generator without introducing phase error to the clock generator. The present invention also relates to an apparatus for stretching and/or shortening a clock cycle. The present invention also relates to an apparatus for stretching and/or shortening successive clock cycles. The present invention also relates to an apparatus for determining and remedying critical paths on a computer chip. Further, the present invention relates to a method and apparatus for removing one or more clock cycles.
[0026] Referring to Figure 2, a clock generator in accordance with an exemplary embodiment of the present invention is shown. The clock generator (35) includes a first buffer (37) that inputs a system clock, SYS_CLK. The first buffer (37) restores SYS_CLK to "full swing'* such that any voltage dissipation or stray voltage addition to SYS_CLK present at the input of the first buffer (37) is removed at the output of the first buffer (37).
[0027] The clock generator (35) also includes a second buffer (39) that inputs a core clock signal, CORE_CLK. The second buffer (39) restores CORE_CLK, in essentially the same manner as the first buffer (37) restores SYS_CLK.
[0028] Those skilled in the art will appreciate that in other embodiments of the present invention, the first buffer (37) and the second buffer (39) may each input differential signals, e.g., complementary input signals.
[0029] The first buffer (37) outputs the restored (also referred to as "buffered")
SYS_CLK signal to a first clock divider (36) and the second buffer (39) outputs the restored (also referred to as "buffered") CORE_CLK signal to a second clock divider (38). The first clock divider (36) contains dividers and/or counters that divide SYS_CLK down, i.e., SYS_CLK's frequency decreases. As opposed to the first clock divider (36), which resides in a feed forward path of the clock generator (35), the second clock divider (38) resides in a feedback path of the clock generator (35). Accordingly, the second clock divider (38) divides down CORE_CLK. However, those skilled in the art will appreciate that because the second clock divider (38) resides in the feedback path of the clock generator (35), the dividing down of CORE CLK actually results in the multiplying of CORE CLK, i.e., CORE_CLK's frequency increases.
[0030] The divided SYS_CLK signal generated by the first clock divider (36) serves as an input to a first clock multiplexor stage (40) and the divided CORE_CLK signal generated by the second clock divider (38) serves as an input to a second clock multiplexor stage (42) (the divided SYS_CLK signal and the divided CORE_CLK signal are also referred to as "intermediary clock signals"). The function and operation of the first clock multiplexor stage (40) and the second clock multiplexor stage (42) is described below with reference to Figure 3.
[0031] The first clock multiplexor stage (40) outputs a multiplexed SYS_CLK signal (also referred to as "first multiplexed clock signal") and the second clock multiplexor stage (42) outputs a multiplexed CORE_CLK signal (also referred to as "second multiplexed clock signal"). The multiplexed SYS_CLK signal and the multiplexed CORE_CLK signal generated by the first clock multiplexor stage (40) and the second clock multiplexor stage (42), respectively, serve as inputs to a phase-frequency detector ("PFD") (44).
[0032] The PFD (44) contains a device that produces two output pulses (not shown). The difference in pulse widths between the two output pulses from the PFD (44) is proportional to the phase difference of the two input signals to the PFD (44). The two output pulses produced by the PFD (44) then serve as inputs to a charge pump ("CP") (46). The CP (46), depending on the difference in pulse widths between its inputs, precharges or dumps charge, i.e., outputs voltage, to a capacitor that is used to control a voltage controlled oscillator ("VCO") (48).
[0033] The VCO (48) is a circuit that produces a signal that has a frequency proportional to an input control voltage. The VCO (48) sets the frequency of the output signal from the VCO (48). The PFD (44), CP (46), and VCO (48) form a phase detector stage. [0034] The signal outputted from the VCO (48) serves as an input to a third clock divider (50). The third clock divider (50) functions in the same manner as the first and second clock dividers (36, 38). After dividing down the signal outputted from the VCO (48), the third clock divider (50) outputs a PLL clock signal, PLL_CLK.
[0035] PLL CLK serves as an input to a third clock multiplexor stage (52).
The third clock multiplexor stage (52) outputs a second multiplexed CORE_CLK signal (also referred to and shown in Figure 2 as "CORE_CLK_l")
[0036] The second multiplexed CORE_CLK signal is then buffered by a third buffer (54) and a fourth buffer (56). The fourth buffer (56) outputs the multiplexed/buffered CORE_CLK signal (also referred to and shown in Figure 2 as "CORE_CLK_2") for use by a computer chip or other system component and the fourth buffer (56) also outputs the multiplexed buffered CORE_CLK to an input of a header stage (58), which is in a feedback path to the input of the clock generator (35).
[0037] The header stage (58) inputs the multiplexed/buffered CORE_CLK signal and outputs CORE_CLK, which, in turn, serves as the input to the second buffer (39). The function of the clock generator (35) from the point when the second buffer (39) inputs CORE_CLK is described above.
[0038] Referring to Figure 3, a clock multiplexor stage of an exemplary embodiment of the present invention is shown. The clock multiplexor stage (60) shown in Figure 3 has a similar configuration and function as the clock multiplexor stages (40, 42, 52) shown in Figure 2. An input to the clock multiplexor stage (60), INPUT, serves as an input to a multiplexor (62) and also serves as an input to a delay element (64). The delay element (64) inputs the input signal to the clock multiplexor stage (62) and outputs a delayed signal, DELAY, to an input of the multiplexor (62) that is delayed by d with respect to the input signal. Then, based on whether a select input, SEL, to the multiplexor (62) selects INPUT or DELAY, the multiplexor outputs an output signal, OUTPUT. Those skilled in the art will appreciate that the amount of delay, d, represented by the delay element (64) is programmable and can be changed by a user or a system as desired. Those skilled in the art will also appreciate that in other embodiments of the present invention, the multiplexor (62) may input, among other signals, a system clock signal, a connection to ground (to remove a clock cycle at the output), or a connection to a high voltage ("VDD").
[0039] Typically, under normal operation, the clock multiplexor stage (60) selects, via SEL on the multiplexor (62), either INPUT or DELAY, such that the selected signal continuously passes from an input of the multiplexor (62) to the output of the clock multiplexor stage (62). When a clock generator needs to produce a stretched clock cycle with respect to a clock cycle of the input signal to the clock multiplexor stage (60), the multiplexor (62), via SEL, switches from selecting INPUT to DELAY. As will be shown in Figure 4, switching SEL to select from INPUT to DELAY causes a stretched clock cycle to be produced at the output of the clock multiplexor stage (60).
[0040] Alternatively, when a clock generator needs to produce a shortened clock cycle with respect to a clock cycle of the input signal to the clock multiplexor stage (60), the multiplexor (62), via SEL, switches from selecting DELAY to INPUT. As will be shown in Figure 4, switching SEL from DELAY to INPUT causes a shortened clock cycle to be produced at the output of the clock multiplexor stage (60).
[0041] Figure 4 shows an exemplary timing diagram of a function of the clock multiplexor stage (60) in accordance with the embodiment shown in Figure 3. Figure 4 shows, among other signals, an input signal, INPUT, to the clock multiplexor stage (60). Figure 4 also shows a delayed signal, DELAY, which is delayed with respect to INPUT. Those skilled in the art will appreciate that the amount that DELAY is delayed by with respect to INPUT can be modified according to user and/or system requirements.
[0042] Under normal operation, the output of the clock multiplexor stage (60) takes on the behavior of either INPUT or DELAY depending upon which input is selected on the multiplexor (62) at the output of the clock multiplexor stage (60). When a stretched clock cycle needs to be produced at the output of the clock multiplexor stage (60), the select input, SEL, on the multiplexor (62) at the output of the clock multiplexor stage (60) must switch from selecting INPUT to DELAY. The change in selection occurs when the inputs, INPUT and DELAY, to the multiplexor (62) are stable, i.e., when inputs are not in transition from high to low or low to high. In STABILITY_WINDOW_l shown in Figure 4, both INPUT and DELAY are low, and therefore, both inputs to the multiplexor (62) are stable. In STABILITY_WINDOW_l, the select input switches from selecting INPUT to DELAY at the input of the multiplexor (62) causing the output signal, STRETCH_OUTPUT, from the multiplexor (62) to switch from INPUT to DELAY. Since INPUT was selected before the switch from INPUT to DELAY, INPUT passed to STRETCH_OUTPUT before the select switch. When the select input to the multiplexor (62) switches from INPUT to DELAY, DELAY passes to STRECTH OUTPUT. As seen in Figure 4, this causes
STRECTH_OUTPUT to have a stretched clock cycle (72). Those skilled in the art will appreciate that in other embodiments of the present invention, the stability window might occur when both inputs, INPUT and DELAY, are high, thus causing the stretched cycle to occur on the high phase of a stretched output clock cycle.
[0043] When a shortened clock cycle needs to be produced at the output of the clock multiplexor stage (60), the select input, SEL, on the multiplexor (62) at the output of the clock multiplexor stage (60) must switch from selecting DELAY to INPUT. The change in selection occurs when the inputs, INPUT and DELAY, to the multiplexor (62) are stable. In
STABILITY_WINDOW_2 shown in Figure 4, both INPUT and DELAY are low, and therefore, both inputs to the multiplexor (62) are stable. In STABILITY_WINDOW_2, the select input switches from selecting DELAY to INPUT at the input of the multiplexor (62) causing the output signal, SHRINK OUTPUT, from the multiplexor (62) to switch from DELAY to INPUT. Since DELAY was selected before the switch from DELAY to INPUT, DELAY passed to SHRINK_OUTPUT before the select switch. When the select input to the multiplexor (62) switches from DELAY to INPUT, INPUT passes to SHRINK_OUTPUT. As seen in Figure 4, this causes SHRINK_OUTPUT to have a shortened clock cycle (74). Those skilled in the art will appreciate that in other embodiments of the present invention, the stability window might occur when both inputs, INPUT and DELAY, are high, thus causing the shortened cycle to occur on the high phase of a shortened output clock cycle. Referring back to Figure 2, the first and second clock multiplexor stages
(40, 42) are used in the clock generator (35) to selectively match the delay (either a stretch delay or a shrink delay) introduced by a delay element in the third clock multiplexor stage (52). For example, if the third clock multiplexor stage (52) outputs a stretched clock cycle on CORE_CLK_l, then that stretched clock cycle on CORE_CLK_l, via CORE _CLK_2, also gets fed back to the input of the clock generator (35). Therefore, in order to avoid introducing phase error, i.e., noise, to the PFD (44), the first clock multiplexor stage (40) matches the stretch delay that is introduced by the third clock multiplexor stage (52) to avoid introducing phase error to the reference input of the PFD (44). Similarly, in the case that the third clock multiplexor stage (52) outputs a shortened clock cycle on CORE_CLK_l, the first clock multiplexor stage (40) matches the shrink delay that is introduced by the third clock multiplexor stage (52) to avoid introducing phase error to the reference input of the PFD (44). Further, when the first clock multiplexor stage (40) is used to emulate delays caused by the third clock multiplexor stage (52), the second clock multiplexor stage (42) is used to match delays caused by the first clock multiplexor stage (40) so that SYS_CLK is aligned with CORE_CLK.
[0045] Those skilled in the art will appreciate that in other embodiments, instead of using the first clock multiplexor stage (40) to match delays caused by the third clock multiplexor stage (52), the second clock multiplexor stage (42) may be used to match delays introduced by the third clock multiplexor stage (52). In this case, the second clock multiplexor stage (42) introduces a delay which is the negative, i.e., the inverse, of the delay caused by the third clock multiplexor stage (52). This is necessary because the second clock multiplexor stage (42) lies in a feed back path of the clock generator (35). For example, if the third clock multiplexor stage (52) stretches (adds delay) a CORE_CLK_l cycle, then the second clock multiplexor stage (42) takes away delay, using a null delay, from CORE_CLK. Alternatively, if the third clock multiplexor stage (52) shrinks a CORE_CLK_l cycle, then the second clock multiplexor stage (42) adds delay to CORE_CLK.
[0046] In the case that the third clock multiplexor stage (52) grounds an output cycle, a rising edge on CORE_CLK_l is lost. Since CORE_CLK_l, via CORE_CLK_2, gets fed back to the input of the clock generator and since the PFD (44) typically detects rising edges, the clock generator (35) employs a compensation function by which the second clock multiplexor stage (42) outputs a rising edge by selecting, via a select input, a high voltage ("VDD") at an input of a multiplexor at the output of the second clock multiplexor stage (42).
[0047] Those skilled in the art will also appreciate that in other embodiments of the present invention, a clock generator can manipulate successive clock cycles. Figure 5 shows a clock multiplexor stage (80) that is capable of manipulating, i.e., stretching or shortening, successive clock cycles in accordance with an exemplary embodiment of the present invention. An input signal, INPUT, to the clock multiplexor stage (80) serves as an input to a multiplexor (82) and also serves as an input to a first delay element, d 1 (84), a second delay element, 52 (86), and a third delay element, 93 (88). The third delay element (88) is longer than the second delay element (86), and the second delay element (86) is longer than the first delay element (88). Those skilled in the art will appreciate that the delay differences between a plurality of delay elements may be incremental or random. Those skilled in the art will also appreciate that the amount of delay represented by a delay element (84, 86, 88) is programmable and can be changed by a user or a system as desired. Further, those skilled in the art will appreciate that other embodiments may use a different number of delay elements.
[0048] The first, second, and third delay elements (84, 86, 88) output a first delayed signal ("DELAY_1"), a second delayed signal ("DELAY_2"), and a third delayed signal ("DELAY_3"), respectively, to inputs of the multiplexor (82). A select input, SEL, on the multiplexor (82) selects an input of the multiplexor (82) such that the signal at the selected input passes to the output, OUTPUT, of the clock multiplexor stage (80). Those skilled in the art will appreciate that in other embodiments of the present invention, the multiplexor (82) may input, among other signals, a system clock signal, a connection to ground (to remove a clock cycle at the output), or a connection to a high voltage ("VDD").
[0049] Typically, under normal operation, the clock multiplexor stage (80) selects, via SEL on the multiplexor (82), either INPUT, DELAY_1, DELAY_2, or DELAY_3 such that the selected signal continuously passes from an input of the multiplexor (82) to OUTPUT. When a clock generator needs to produce successive stretched clock cycles with respect to clock cycles of an input signal to the multiplexor (82) that the clock multiplexor stage (80) is outputting, the multiplexor (82), via SEL, switches from selecting the input signal on the multiplexor (82) that is being outputted to successive subsequent delayed signals that have successively longer delay elements. For example, as will be shown in Figure 6, selectively switching SEL to select from INPUT to DELAY_1, then from DELAY_1 to DELAY_2, and then from DELAY_2 to DELAY_3 causes successive stretched clock cycles to be produced at OUTPUT.
[0050] Alternatively, when a clock generator needs to produce successive shortened clock cycles with respect to clock cycles of an input signal to the multiplexor (82) that the clock multiplexor stage (80) is outputting, the multiplexor (82), via SEL, switches from selecting the input signal on the multiplexor (82) that is being outputted to successive delayed signals that have successively shorter delay elements.
[0051] Figure 6 shows an exemplary timing diagram of a function of the clock multiplexor stage (80) shown in Figure 5. More particularly, Figure 6 illustrates the function of producing successive stretched clock cycles. Figure 6 shows, among other signals, the input signal, INPUT, to the clock multiplexor stage (80) and the output signal, OUTPUT, from the clock multiplexor stage (80). Figure 6 also shows delayed signals, DELAY_1, DELAY_2, and DELAY_3, which are delayed with respect to INPUT. Those skilled in the art will appreciate that the amount that DELAY_1, DELAY_2, and DELAY_3 are delayed by with respect to INPUT can be modified according to user and/or system requirements.
[0052] In the exemplary timing diagram shown in Figure 6, DELAY_1 is delayed by a quarter cycle with respect to INPUT. DELAY_2 is delayed by a half cycle with respect to INPUT. DELAY_3 is delayed by three quarters of a cycle with respect to INPUT. The delays in DELAY_1, DELAY_2, and DELAY_3 are based on values of the delay elements d l, 32, and 93 in Figure 5.
[0053] Referring to Figure 5, SEL selects INPUT such that the input signal to clock multiplexor stage (80) passes to OUTPUT. Referring now to Figure 6, in STABILITY_WINDOW_l, both INPUT and DELAY 1 are low, and therefore INPUT and DELAY_1 in Figure 5 are said to be stable at their respective inputs to the multiplexor (82). Since INPUT and DELAY_1 are both stable at their respective inputs to the multiplexor (82) in STABILITY_WINDOW_l, SEL switches from selecting INPUT to DELAY_1. Accordingly, this causes the signal that passes to OUTPUT to change from INPUT to DELAY_1. As shown in Figure 6, switching the signal that passes to OUTPUT produces a first stretched clock cycle (92) on OUTPUT.
[0054] Referring to Figures 6, in STABILITY_WINDOW_2, both DELAY_1 and DELAY_2 are low, and therefore DELAY_1 and DELAY_2 in Figure 5 are said to be stable at their respective inputs to the multiplexor (82). Since DELAY_1 and DELAY_2 are both stable at their respective inputs to the multiplexor (82) in STABILITY_WINDOW_2, SEL switches from selecting DELAY_1 to DELAY__2. Accordingly, this causes the signal that passes to OUTPUT to change from DELAY_1 to DELAY_2. As shown in Figure 6, switching the signal that passes to OUTPUT produces a second stretched clock cycle (94) on OUTPUT.
[0055] Referring to Figures 6, in STABILITY_WINDOW_3, both DELAY_2 and DELAY_3 are low, and therefore DELAY_2 and DELAY_3 in Figure 5 are said to be stable at their respective inputs to the multiplexor (82). Since DELAY_2 and DELAY_3 are both stable at their respective inputs to the multiplexor (82) in STABILITY_WINDOW_3, SEL switches from selecting DELAY_2 to DELAY 3. Accordingly, this causes the signal that passes to OUTPUT to change from DELAY_2 to DELAY_3. As shown in Figure 6, switching the signal that passes to OUTPUT produces a third stretched clock cycle (96) on OUTPUT. Further, those skilled in the art will appreciate that by applying the procedure for generating a plurality of stretched clock cycles described above with reference to Figure 6, any number of stretched clock cycles may be generated.
[0056] Those skilled in the art will appreciate that in other embodiments of the present invention, a clock multiplexor stage can produce successive shortened clock cycles by selectively switching to signals that have successively smaller delays.
[0057] Those skilled in the art will also appreciate that in other embodiments of the present invention, stability windows might occur on the high phase, meaning that a select input on a multiplexor can selectively switch when certain inputs to the multiplexor are high. Additionally, those skilled in the art will appreciate that in other embodiments of the present invention, a clock multiplexor stage can output successive clock cycles that are stretched, shortened, or a combination thereof. Furthermore, those skilled in the art will appreciate that in other embodiments of the present invention, a clock multiplexor stage can output successive clock phases that are stretched, shortened, or a combination thereof.
[0058] Advantages of the present invention may include one or more of the following. In one or more embodiments, a critical path on a computer chip or other computer system component can be determined and remedied by stretching or shortening a clock cycle.
[0059] Additionally, in other embodiments, a clock generator can manipulate, i.e., stretch or shorten, a clock cycle without introducing phase error, i.e., noise, to the clock generator. This ensures that the output signal of the clock generator is stable.
[0060] In other embodiments, a clock generator can produce a clock signal that has a single stretched clock cycle or a plurality of successive stretched clock cycles. [0061] Alternatively, a clock generator can produce a clock signal that has a single shortened clock cycle or a plurality of successive shortened clock cycles.
[0062] Further, in other embodiments, a clock generator can produce a clock signal that has a single removed clock cycle or a plurality of removed clock cycles.
[0063] In one or more embodiments, a clock generator can produce a clock signal having a single stretched clock cycle, a single shortened clock cycle, a plurality of successive stretched clock cycles, a plurality of successive shortened clock cycles, or any combination thereof.
[0064] In other embodiments, a clock generator has one or more delay elements that are programmable. This is advantageous because by being able to program a delay element, a user or a system component may designate when a stretched, or shortened clock cycle should occur and for how long the stretched or shortened clock cycle should occur.
[0065] In alternative embodiments, a multiplexor at the output of a clock generator has a select input that is programmable allowing a user or a system component to manipulate clock signal at the output of the clock generator.
[0066] Additionally, in other embodiments, a clock generator can produce a stretched or shortened clock cycle on either or both the high phase and the low phase on an output clock signal.
[0067] While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.

Claims

What is claimed is:
[cl] A clock multiplexor stage, comprising: a multiplexor that inputs a clock signal at a first input thereof; and a first delay element that inputs the clock signal and outputs a first delayed clock signal to a second input of the multiplexor.
[c2] The clock multiplexor stage of claim 1, wherein a select input to the multiplexor selects which input of the multiplexor passes to an output of the multiplexor.
[c3] The clock multiplexor stage of claim 2, wherein the clock signal serves as an input to the clock multiplexor stage, and wherein the output of the multiplexor serves as an output signal from the clock multiplexor stage.
[c4] The clock multiplexor stage of claim 3, wherein the select input selectively switches from selecting the clock signal to selecting the first delayed clock signal in order to stretch a clock cycle on the output signal from the clock multiplexor stage.
[c5] The clock multiplexor stage of claim 3, wherein the select input selectively switches from selecting the first delayed clock signal to selecting the clock signal in order to shorten a clock cycle on the output signal from the clock multiplexor stage.
[c6] The clock multiplexor stage of claim 1 , further comprising: a second delay element that inputs the clock signal and outputs a second delayed clock signal to a third input of the multiplexor.
[c7] The clock multiplexor stage of claim 6, wherein the second delay element lias a longer delay than the first delay element.
[c8] The clock multiplexor stage of claim 6, wherein a select input to the multiplexor selectively switches from selecting the clock signal to selecting the first delayed clock signal to selecting the second delayed clock signal in order to stretch a plurality of clock cycles on an output signal from the clock multiplexor stage.
[c9] The clock multiplexor stage of claim 8, wherein the select input to the multiplexor selectively switches from selecting the second delayed clock signal to selecting the first delayed clock signal to selecting the clock signal in order to shorten a plurality of clock cycles on the output signal from the clock multiplexor stage.
[clO] The clock multiplexor stage of claim 6, wherein the first delay element and the second delay element are programmable.
[ell] The clock multiplexor stage of claim 1 , wherein the multiplexor has at least one input connected to at least one selected from the group consisting of a high voltage, a ground terminal, and a second clock signal.
[cl2] A clock generator, comprising: a first clock multiplexor stage that inputs a first intermediary clock signal and outputs a first multiplexed clock signal; a second clock multiplexor stage that inputs a second intermediary clock signal and outputs a second multiplexed clock signal; a phase detector stage that inputs the first multiplexed clock signal and the second multiplexed clock signal and outputs an aligned clock signal to a third frequency divider that generates a third clock signal; and a third clock multiplexor stage that inputs the third clock signal and outputs the second clock signal.
[cl3] The clock generator of claim 12, further comprising: a first frequency divider that inputs a first clock signal and generates the first intermediary clock signal; and a second frequency divider that inputs a second clock si nal and generates the second intermediary clock signal.
[cl4] The clock generator of claim 12, wherein the aligned signal is representative of a synthesis between the first multiplexed clock signal and the second multiplexed clock signal.
[cl5] The clock generator of claim 12, wherein the second clock signal is an output of the clock generator. .
[cl6] The clock generator of claim 12, wherein the first clock multiplexor stage comprises: a first multiplexor that inputs the first intermediary clock signal at a first input thereof; and a first delay element that inputs the first intermediary clock signal and outputs a first delayed clock signal to a second input of the first multiplexor.
[cl7] The clock generator of claim 16, wherein a select input to the first multiplexor selectively switches from selecting the first intermediary clock signal to selecting the first delayed clock signal in order to output a stretched clock cycle, and wherein the select input to the first multiplexor selectively switches from selecting the first delayed clock signal to the first intermediary clock signal in order to output a shortened clock cycle.
[cl8] The clock generator of claim 16, wherein the first delay element is programmable.
[cl9] The clock generator of claim 16, wherein the first multiplexor inputs a grounded signal that is used to remove a clock cycle. [c20] The clock generator of claim 12, wherein the second clock multiplexor stage comprises: a second multiplexor that inputs the second intermediary clock signal at a first input thereof; and a second delay element that inputs the second intermediary clock signal and outputs a second delayed clock signal to a second input of the second multiplexor.
[c21] The clock generator of claim 20, wherein a select input to the second multiplexor selectively switches from selecting the second intermediary clock signal to selecting the second delayed clock signal in order to output a stretched clock cycle, and wherein the select input to the second multiplexor selectively switches from selecting the second delayed clock signal to the second intermediary clock signal in order to output a shortened lock cycle.
[c22] The clock generator of claim 20, wherein the second delay element is programmable.
[c23] The clock generator of claim 20, wherein the second multiplexor inputs a grounded signal that is used to remove a clock cycle.
[c24] The clock generator of claim 12, wherein the third clock multiplexor stage comprises: a third multiplexor that inputs the third clock signal at a first input thereof; and a third delay element that inputs the third clock signal and outputs a third delayed clock signal to a second input of the third multiplexor.
[c25] The clock generator of claim 24, wherein a select input to the third multiplexor selectively switches from selecting the third clock signal to selecting the third delayed clock signal in order to output a stretched clock cycle, and wherein the select input to the third multiplexor selectively switches from selecting the third delayed clock signal to selecting the third clock signal in order to output a shortened clock cycle.
[c26] The clock generator of claim 24, wherein the third delay element is programmable.
[c27] The clock generator of claim 24, wherein the third multiplexor inputs a grounded signal that is used to remove a clock cycle.
[c28] The clock generator of claim 12, wherein the first clock signal is a system clock signal, and wherein the second clock signal is a core clock signal.
[c29] The clock generator of claim 12, wherein the phase detector stage aligns a phase and a frequency of the second multiplexed clock signal with the first multiplexed clock signal.
[c30] The clock generator of claim 12, wherein the first clock multiplexor stage selectively matches delays generated by the third clock multiplexor stage.
[c31] The clock generator of claim 12, wherein the second clock multiplexor stage selectively matches delays generated by the third clock multiplexor stage.
[c32] The clock generator of claim 16, wherein the first clock multiplexor stage further comprises: an additional delay element that inputs the first intermediary clock signal and outputs an additional delayed clock signal to a third input of the first multiplexor.
[c33] The clock generator of claim 32, wherein a select input to the first multiplexor selectively switches from selecting the first intermediary clock signal to selecting the first delayed clock signal to selecting the additional delayed clock signal in order to output a plurality of stretched clock cycles on the first multiplexed clock signal. [c34] The clock generator of claim 33, wherein the select input to the first multiplexor selectively switches from selecting the additional delayed clock signal to selecting the first delayed clock signal to selecting the first intermediary clock signal in order to output a plurality of shortened clock cycles on the first multiplexed clock signal.
[c35] The clock generator of claim 20, wherein the second clock multiplexor stage further comprises: an additional delay element that inputs the second intermediary clock signal and outputs an additional delayed clock signal to a third input of the second multiplexor.
[c36] The clock generator of claim 35, wherein a select input to the second multiplexor selectively switches from selecting the second intermediary clock signal to selecting the second delayed clock signal to selecting the additional delayed clock signal in order to output a plurality of stretched clock cycles on the second multiplexed clock signal.
[c37] The clock generator of claim 36, wherein the select input to the second multiplexor selectively switches from selecting the additional delayed clock signal to selecting the second delayed clock signal to selecting the second intermediary clock signal in order to output a plurality of shortened clock cycles on the second multiplexed clock signal.
[c38] The clock generator of claim 24, wherein the third clock multiplexor stage further comprises: an additional delay element that inputs the third clock signal and outputs an additional delayed clock signal to a third input of the third multiplexor.
[c39] The clock generator of claim 38, wherein a select input to the third multiplexor selectively switches from selecting the third clock signal to the third delayed clock signal to selecting the additional delayed clock signal in order to output a plurality of stretched clock cycles on the second clock signal.
[c40] The clock generator of claim 39, wherein the select input to the third multiplexor selectively switches from selecting the additional clock signal to selecting the third delayed clock signal to selecting the third clock signal in order to output a plurality of shortened clock cycles on the second clock signal.
[c41] A method for stretching and shortening a clock cycle, comprising: inputting a clock signal to an input of a multiplexor; inputting the clock signal to a first delay element; generating a first delayed clock signal from the first delay element to a second input of the multiplexor; and selectively switching the multiplexor from selecting the clock signal to selecting the first delayed clock signal such that the multiplexor generates a stretched clock cycle on an output of the multiplexor.
[c42] The method of claim 41 , further comprising: selectively switching the multiplexor from selecting the first delayed clock signal to selecting the clock signal such that the multiplexor generates a shortened clock cycle on the output clock signal.
[c43] The method of claim 41, wherein selectively switching the multiplexor from selecting the clock signal to selecting the first delayed clock signal occurs when the clock signal and the first delayed clock signal are stable, and wherein selectively switching the multiplexor from selecting the first delayed clock signal to selecting the clock signal occurs when the clock signal and the first delayed clock signal are stable.
[c44] The method of claim 41 , further comprising : inputting the clock signal to a second delay element; generating a second delayed clock signal to a third input of the multiplexor from the second delay element; and outputting a plurality of stretched clock cycles by selectively switching from selecting the clock signal to selecting the first delayed clock signal to selecting the second delayed clock signal.
[c45] The method of claim 44, further comprising: outputting a plurality of shortened clock cycles by selectively switching from selecting the second delayed clock signal to selecting the first delayed clock signal to selecting the clock signal.
[c46] The method of claim 44, wherein the second delayed clock signal is delayed longer than the first delayed clock signal.
[c47] The method of claim 44, wherein the first delay element and the second delay element are programmable.
[c48] The method of claim 41 , further comprising: selectively switching the multiplexor to selecting a grounded signal in order to remove a clock cycle.
[c49] A method for generating a clock generator signal, comprising: inputting a first intermediary clock signal to a first clock multiplexor stage that generates a first multiplexed clock signal, wherein the first intermediary clock signal is based on a first clock signal; inputting a second intermediary clock signal to a second clock multiplexor stage that generates a second multiplexed clock signal, wherein the second intermediary clock signal is based on a second clock signal; generating a third clock signal based on phases and frequencies of the first multiplexed clock signal and the second multiplexed clock signal; inputting the third clock signal to a third clock multiplexor stage; and outputting the second clock signal.
[c50] The method of claim 49, further comprising: inputting the first multiplexed clock signal and the second multiplexed clock signal to a phase detector stage.
[c51] The method of claim 49, wherein the second clock signal is the clock generator signal.
[c52] The method of claim 49, wherein the first clock signal is a system clock, and wherein the second clock signal is a core clock.
[c53] The method of claim 49, comprising, within the first clock multiplexor stage: inputting the first intermediary clock signal to a first multiplexor at an input thereof; inputting the first intermediary clock signal to a first delay element; generating a first delayed clock signal from the first delay element; and applying the first delayed clock signal to a second input of the first multiplexor.
[c54] The method of claim 53 , further comprising: selectively switching from selecting the first intermediary clock signal to selecting the first delayed clock signal; and generating a stretched clock cycle on an output from the first multiplexor.
[c55] The method of claim 53, further comprising: selectively switching from selecting the first delayed clock signal to selecting the first intermediary clock signal; and generating a shortened clock cycle on an output of the first multiplexor.
[c56] The method of claim 53, wherein the first delay element is programmable.
[c57] The method of claim 49, comprising, within the second clock multiplexor stage: inputting the second intermediary clock signal to a second multiplexor at an input thereof; inputting the second intermediary clock signal to a second delay element; generating a second delayed clock signal from the second delay element; and applying the second delayed clock signal to a second input of the second multiplexor.
[c58] The method of claim 57, further comprising: selectively switching from selecting the second intermediary clock signal to selecting the second delayed clock signal; and generating a stretched clock cycle on an output of the second multiplexor.
[c59] The method of claim 57, further comprising: selectively switching from selecting the second delayed clock signal to selecting the second intermediary clock signal; and generating a shortened clock cycle on an output of the second multiplexor.
[c60] The method of claim 57, wherein the second delay element is programmable.
[c6I] The method of claim 49, comprising, within the third clock multiplexor stage: inputting the third clock signal to a third multiplexor at an input thereof; inputting the third clock signal to a third delay element; generating a third delayed clock signal from the third delay element; and applying the third delayed clock signal to a second input of the third multiplexor.
[c62] The method of claim 61 , further comprising: selectively switching from selecting the third clock signal to selecting the third delayed clock signal; and generating a stretched clock cycle on an output of the third multiplexor.
[c63] The method of claim 61 , further comprising: selectively switching from selecting the third delayed clock signal to selecting the third clock signal; and generating a shortened clock cycle on an output of the third multiplexor.
[c64] The method of claim 61, wherein the third delay element is programmable.
[c65] The method of claim 50, wherein the phase detector stage aligns the first multiplexed clock signal with the second multiplexed clock signal.
[c66] The method of claim 49, wherein the first clock multiplexor stage and the second clock multiplexor stage selectively match delays generated by the third clock multiplexor stage.
[c67] The method of claim 53, further comprising, within the first clock multiplexor stage: inputting the first intermediary clock signal to an additional delay element; generating an additional delayed clock signal from the additional delay element; and applying the additional delayed clock signal to a third input of the first multiplexor.
[c68] The method of claim 67, further comprising: selectively switching from selecting the first intermediary clock signal to selecting the first delayed clock signal to selecting the additional delayed clock signal; and generating a plurality of stretched clock cycles on an output of the first multiplexor.
[c69] The method of claim 67, further comprising: selectively switching from selecting the additional delayed clock signal to selecting the first delayed clock signal to selecting the first intermediary clock signal; and generating a plurality of shortened clock cycles on an output of the first multiplexor.
[c70] The method of claim 67, wherein the additional delay element is programmable.
[c71] The method of claim 57, further comprising, within the second clock multiplexor stage: inputting the second intermediary clock signal to an additional delay element; generating an additional delayed clock signal from the additional delay element; and applying the additional delayed clock signal to a third input of the second multiplexor.
[c72] The method of claim 71 , further comprising: selectively switching from selecting the second intermediary clock signal to selecting the second delayed clock signal to selecting the additional delayed clock signal; and generating a plurality of stretched clock cycles on an output of the second multiplexor.
[c73] The method of claim 71 , further comprising : selectively switching from selecting the additional delayed clock signal to selecting the second delayed clock signal to selecting the second intermediary clock signal; and generating a plurality of shortened clock cycles on an output of the second multiplexor.
[c74] The method of claim 71, wherein the additional delay element is programmable.
[c75] The method of claim 61, further comprising, within the third clock multiplexor stage: inputting the third clock signal to an additional delay element; generating an additional delayed clock signal from the additional delay element; and applying the additional delayed clock signal to a third input of the third multiplexor.
[c76] The method of claim 75, further comprising: selectively switching from selecting the third clock signal to selecting the third delayed clock signal to selecting the additional delayed clock signal; and generating a plurality of stretched clock cycles on an output of the third multiplexor.
[c77] The method of claim 75, further comprising: selectively switching from selecting the additional delayed clock signal to selecting the third delayed clock signal to selecting the third clock signal; and generating a plurality of shortened clock cycles on an output of the third multiplexor.
[c78] The method of claim 75, wherein the additional delay element is programmable.
[c79] The method of claim 49, wherein a multiplexor within at least one selected from the group consisting of the first clock multiplexor stage, the second clock multiplexor stage, and the third clock multiplexor stage has an input connected to a grounded signal in order to selectively remove a clock cycle at an output of the multiplexor.
PCT/US2002/010958 2001-04-12 2002-04-09 Stretching, shortening, and/or removing a clock cycle WO2002084464A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0324072A GB2393821A (en) 2001-04-12 2002-04-09 Stretching, shortening, and/or removing a clock cycle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/834,137 US6529057B2 (en) 2001-04-12 2001-04-12 Stretching, shortening, and/or removing a clock cycle
US09/834,137 2001-04-12

Publications (2)

Publication Number Publication Date
WO2002084464A2 true WO2002084464A2 (en) 2002-10-24
WO2002084464A3 WO2002084464A3 (en) 2003-07-31

Family

ID=25266209

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/010958 WO2002084464A2 (en) 2001-04-12 2002-04-09 Stretching, shortening, and/or removing a clock cycle

Country Status (3)

Country Link
US (1) US6529057B2 (en)
GB (1) GB2393821A (en)
WO (1) WO2002084464A2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231537B2 (en) * 2003-07-03 2007-06-12 Micron Technology, Inc. Fast data access mode in a memory device
US7747889B2 (en) * 2006-07-31 2010-06-29 Freescale Semiconductor, Inc. Bus having a dynamic timing bridge
US7913103B2 (en) * 2007-08-31 2011-03-22 Globalfoundries Inc. Method and apparatus for clock cycle stealing
CN105261389B (en) * 2015-11-16 2019-05-17 西安紫光国芯半导体有限公司 Improve method, circuit and the DRAM memory of input clock duty ratio immunity
USD804612S1 (en) 2016-07-25 2017-12-05 Professional Tool Products, Llc Hose nozzle

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0173521A2 (en) * 1984-08-29 1986-03-05 Unisys Corporation Automatic signal delay adjustment apparatus
US5828250A (en) * 1994-09-06 1998-10-27 Intel Corporation Differential delay line clock generator with feedback phase control
US5903747A (en) * 1997-03-03 1999-05-11 International Business Machines Corporation Microprocessor clocking control system
US6031401A (en) * 1998-06-08 2000-02-29 Tritech Microelectronics, Ltd. Clock waveform synthesizer
US6043693A (en) * 1998-06-01 2000-03-28 3Dfx Interactive, Incorporated Multiplexed synchronization circuits for switching frequency synthesized signals
US6111447A (en) * 1998-05-01 2000-08-29 Vanguard International Semiconductor Corp. Timing circuit that selectively triggers on a rising or falling input signal edge

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5389843A (en) * 1992-08-28 1995-02-14 Tektronix, Inc. Simplified structure for programmable delays
US5574866A (en) * 1993-04-05 1996-11-12 Zenith Data Systems Corporation Method and apparatus for providing a data write signal with a programmable duration
US5430394A (en) * 1994-03-11 1995-07-04 Advanced Micro Devices, Inc. Configuration and method for testing a delay chain within a microprocessor clock generator
US5646564A (en) * 1994-09-02 1997-07-08 Xilinx, Inc. Phase-locked delay loop for clock correction
US5729158A (en) * 1995-07-07 1998-03-17 Sun Microsystems, Inc. Parametric tuning of an integrated circuit after fabrication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0173521A2 (en) * 1984-08-29 1986-03-05 Unisys Corporation Automatic signal delay adjustment apparatus
US5828250A (en) * 1994-09-06 1998-10-27 Intel Corporation Differential delay line clock generator with feedback phase control
US5903747A (en) * 1997-03-03 1999-05-11 International Business Machines Corporation Microprocessor clocking control system
US6111447A (en) * 1998-05-01 2000-08-29 Vanguard International Semiconductor Corp. Timing circuit that selectively triggers on a rising or falling input signal edge
US6043693A (en) * 1998-06-01 2000-03-28 3Dfx Interactive, Incorporated Multiplexed synchronization circuits for switching frequency synthesized signals
US6031401A (en) * 1998-06-08 2000-02-29 Tritech Microelectronics, Ltd. Clock waveform synthesizer

Also Published As

Publication number Publication date
US6529057B2 (en) 2003-03-04
GB2393821A (en) 2004-04-07
GB0324072D0 (en) 2003-11-19
WO2002084464A3 (en) 2003-07-31
US20020149411A1 (en) 2002-10-17

Similar Documents

Publication Publication Date Title
US7759990B2 (en) Clock switching circuit
US6201424B1 (en) Synchronous clock generator including a delay-locked loop signal loss detector
US5101117A (en) Variable delay line phase-locked loop circuit synchronization system
US5724007A (en) Adjustable lock detector for a phase-locked loop circuit
JP3403551B2 (en) Clock distribution circuit
US7760840B2 (en) Clock-signal adjusting method and device
US6239627B1 (en) Clock multiplier using nonoverlapping clock pulses for waveform generation
US5631591A (en) Method and apparatus for synchronizing timing signals of two integrated circuit chips
JPH0897714A (en) Clock signal generating circuit
JPH08167890A (en) Clock signal generation circuit and semiconductor device
JP2000022524A (en) Delay phase locked loop circuit
JPH10285150A (en) Phase-locked loop circuit
JP2777172B2 (en) Circuit synchronization method
JP2002290218A (en) Semiconductor device
US6421404B1 (en) Phase-difference detector and clock-recovery circuit using the same
JP2000323984A (en) Pll circuit
WO2002084464A2 (en) Stretching, shortening, and/or removing a clock cycle
JP3077661B2 (en) Oversampling type clock recovery circuit
CN100417024C (en) Lock phase loop of low stable error and its correcting circuif
JP2004120433A (en) Phase-locked loop circuit
US20020163392A1 (en) Digital circuit for, and a method of, synthesizing an input signal
US6859027B2 (en) Device and method for measuring jitter in phase locked loops
JP2008541685A (en) Arrival time synchronization loop
JP2570933B2 (en) Synchronous clock generator
JP2004208222A (en) Clock reset circuit and data receiving circuit

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

ENP Entry into the national phase

Ref document number: 0324072

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20020409

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP