WO2004038918A2 - Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften - Google Patents

Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften Download PDF

Info

Publication number
WO2004038918A2
WO2004038918A2 PCT/EP2003/011558 EP0311558W WO2004038918A2 WO 2004038918 A2 WO2004038918 A2 WO 2004038918A2 EP 0311558 W EP0311558 W EP 0311558W WO 2004038918 A2 WO2004038918 A2 WO 2004038918A2
Authority
WO
WIPO (PCT)
Prior art keywords
clock signal
clock
signal
generated
edge
Prior art date
Application number
PCT/EP2003/011558
Other languages
English (en)
French (fr)
Other versions
WO2004038918A3 (de
Inventor
Wolfgang Furtner
Original Assignee
Koninklijke Philips Electronics N.V.
Philips Intellectual Property & Standards Gmbh
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 Koninklijke Philips Electronics N.V., Philips Intellectual Property & Standards Gmbh filed Critical Koninklijke Philips Electronics N.V.
Priority to JP2004545883A priority Critical patent/JP4166756B2/ja
Priority to DE50304162T priority patent/DE50304162D1/de
Priority to AU2003294698A priority patent/AU2003294698A1/en
Priority to EP03785629A priority patent/EP1554803B1/de
Publication of WO2004038918A2 publication Critical patent/WO2004038918A2/de
Publication of WO2004038918A3 publication Critical patent/WO2004038918A3/de
Priority to US11/074,338 priority patent/US7126407B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/68Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using pulse rate multipliers or dividers pulse rate multipliers or dividers per se
    • 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/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • 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
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • 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/22Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using more than one loop

Definitions

  • DCS Digital Clock Synthesis
  • PLL phase locked loop
  • Such conventional approaches are disadvantageous in that the total jitter contribution is high and the clock accuracy is limited since conventional analog PLLs are limited to discrete frequencies which are permitted by the PLL divider elements.
  • Another disadvantage of conventional approaches is that the analog circuits used require a large number of circuit blocks, so that the circuit complexity is high. Furthermore, the number of PLLs to be implemented on a single chip is limited, and thus also the number of available independent clock signals.
  • an associated external analog power supply must be provided for each of the PLLs used in conventional analog approaches. The design requirements for the analog circuits are high.
  • EP 1 137 188 A2 describes a digital PLL in which only individual pulses of a multi-phase clock are selected those who control a toggle flip-flop that then generates a clock with a 50% duty cycle.
  • a 'traditional' PLL control loop with a digital phase comparator is used.
  • Sync effects an iterative readjustment of the phase and frequency of the sample clock. It is not possible to generate (several) clock cycles with binary programmable frequency, duty cycle and phase with arbitrary accuracy (including non-integer) multiples of a sync clock.
  • the present invention has for its object to provide an improved method and an improved device for generating a clock signal with predetermined clock signal properties, which avoid the disadvantages described above in the prior art.
  • the present invention provides a method for generating a clock signal with predetermined clock signal properties, comprising the following steps:
  • the present invention also provides an apparatus for generating a clock signal with predetermined clock signal properties
  • a multi-phase clock generator for providing a plurality of clock signals with essentially the same frequency and different phase relationships with respect to a master clock signal
  • phase overlay unit that selects predetermined clock signals from the plurality of provided clock signals based on a control signal that is provided as a function of the clock signal to be generated, and combines the selected clock signals to generate the clock signal.
  • the pulses with a high logic level of the selected clock signals are combined in order to generate the clock signal with a pulse with a high logic level and a predetermined pulse duration.
  • the duration of the individual pulses with a high logic level, the duration of the individual pulses with a low logic level and the shape of the pulse train of the clock signal to be generated are controlled by means of the control signal provided.
  • the shortest duration of a pulse with a high logic level is defined here for the duration of the pulse with a high logic level of the master clock signal, and the shortest duration of a pulse with a low logic level is determined by the phase resolution achieved.
  • the control signal comprises a plurality of activation signals, one activation signal being provided for each of the plurality of clock signals, and the activation signals being provided in a delayed manner in order to adjust their alignment in order to ensure the predetermined clock signal properties of the clock signal to be generated. deliver before.
  • the activation signals are preferably provided in the form of an activation signal sequence in order to generate a periodic clock signal with a predetermined frequency and a predetermined duty cycle.
  • the activation sequence is generated using a primary edge interpolator, a secondary edge calculator and a phase activation unit, the primary edge interpolator determining a point in time or a temporary position (time stamp) of the leading edges in the clock signal to be generated, whereby the secondary edge calculator generates a time of the subsequent edge in the clock signal to be generated, starting from the time of the leading edge, and wherein the phase activation unit generates the activation signal sequence based on the time of the leading edge and based on the time of the subsequent edge.
  • a time stamp is made up of a consecutive number of a master clock cycle and a subcycle time (integer multiple of the master clock + fraction of the master clock).
  • synchronized clock signals are generated, in which case a defined phase and frequency relationship to the synchronization signal is assigned to the clock signal to be generated, an edge detection unit being additionally provided in order to detect signal state changes in the synchronization signal in order to To generate flank patterns.
  • edges with a predetermined polarity that is to say rising or falling edges, are determined in the edge pattern.
  • the period and phase for the synchronized clock signal to be generated are determined based on the determined edges of the synchronization signal, and then using the primary edge interpolator, the secondary edge calculator and the phase activation tion unit and the phase overlay unit generates the synchronized clock signal.
  • the period of the generated clock signal is modulated in the spectral range in order to obtain a spread spectrum clock signal, wherein a spread spectrum interpolator causes the generated period to increment by a predetermined value after each generated clock signal cycle until an upper limit is reached. The period is then caused to decrement by a predetermined value until a lower limit is reached. This is repeated cyclically
  • the possibility is created to generate an arbitrary clock (arbitrary clock synthesis).
  • any number of clocks can be synthesized by the same multiphase clock signal, and the timing of the clock output can depend on any number of synchronization signals.
  • a master clock counter is provided, which is incremented every master clock cycle, whereby a common time reference system is formed. Using this reference, time stamps can be assigned to any actual or hypothetical event (e.g. rising or falling edge) in the entire clock generation system. Fractions with almost unlimited accuracy can be used to express the temporal position of the event between discrete master clock events.
  • Time stamps are assigned to rising and falling edges of the external synchronization event, but are also assigned to edge positions of potentially complex and irregular clock signals.
  • the abstract term "timestamp" enables the arithmetic processing of events. can be calculated, and clock signals with a predetermined relationship to one another and to external events can easily be generated.
  • a plurality of independent clock signals can also be generated based on the clock signals provided in step (a).
  • the concept of digital clock synthesis (DCS) enables the clocks to be superimposed in order to generate the desired clock pulses with a variable duty cycle.
  • DCS digital clock synthesis
  • the time of the sync event is measured and compared with an ideal sync event which is only 'virtually' present.
  • the phase error in the virtual sync comparison is quantitatively precisely determined and the ideal clock is “calculated” and generated immediately.
  • the digital clock synthesis according to the invention offers a multitude of advantages over traditional analog clock synthesis.
  • a multiphase clock with a fixed frequency can be generated with a very low jitter level, so that despite the additional jitter introduced by the phase granularity, the overall jitter is better than that of a conventional PLL with several Frequencies can be reached
  • any target frequency up to the reference frequency, that is to say the frequency of the master clock signal, any target frequency can be generated, the accuracy of the middle frequency being limited only by the bit width of the interpolators used.
  • conventional, analog PLLs were limited to the discrete frequencies that were permitted by the PLL divider elements,
  • test effort the amount of analog circuits is reduced to a few, simple and standardized circuit blocks, and the switching complexity is transferred to digital parts according to the invention, for which standardized and automated test methods can be used,
  • analog PLLs require an assigned number of external analog power supplies, whereas the number of these power supplies can be reduced according to the invention, since only one PLL with a fixed frequency is used for all independent clock signals,
  • a further advantage of digital clock signal synthesis is that with every improvement or with every new digital technology through the digital clock signal synthesis an improved behavior and an improved accuracy is obtained.
  • the main parameter in digital clock signal synthesis is to improve the phase accuracy of the multi-phase clock signal.
  • 1 shows a multi-phase clock oscillator
  • 2 shows the course of the plurality of multi-phase clock signals
  • phase overlay unit 3 shows a phase overlay unit according to an exemplary embodiment of the present invention
  • FIG. 4 shows the course of the signals in the phase superimposition unit according to FIG. 3;
  • FIG. 5A shows the course of the delay for the activation signals for the phase overlay unit according to FIG. 3;
  • Fig. 5B shows an example of a delay unit to generate the curve in Fig. 5A;
  • FIG. 6 shows a primary edge interpolator for determining the leading edges in the clock signal
  • Figure 10 shows an example of a clock generator unit comprising units from Figures 3, 6, 7 and 8;
  • FIG. 11 shows the course of the signals in the clock generator unit from FIG. 10;
  • 13 shows an edge detection unit for detecting edges in a synchronization signal
  • 14 shows an edge position decoder for detecting positions of the edges in the synchronization signal
  • FIG. 17 shows a primary edge interpolator according to a second exemplary embodiment
  • FIG. 19 shows a block diagram of a system for arbitrary clock synthesis (arbitrary clock synthesis) according to an exemplary embodiment of the present invention
  • FIG. 22 shows an example of a modular structure of the clock generator according to the invention.
  • FIG. 1 shows an example of a multi-phase clock oscillator, which comprises a crystal oscillator 100, which is coupled to an oscillating crystal 102 in order to output an oscillator clock signal XCLK.
  • the DLL 106 generates a plurality of clock signals PCLK [0] PCLK [nl] based on the applied master clock signal CLK.
  • the generated clock signals all have the same frequency, but each have different phase relationships compared to the master clock signal CLK, and thus also have different phase relationships to one another.
  • the digital clock signal synthesis uses the master clock signal CLK, from which the clock signals PCLK [nl: 0] with 2 n_1 phases are obtained by means of the DLL 106.
  • CLK master clock signal
  • Such a multi-phase clock can also be generated using other techniques, including the conventional one and the PLL + DLL approach shown in FIG. 1.
  • phase shift between the individual clock signals PCLK [0] to PCLK [n-1] are also shown.
  • the phase shift between successive clock signals is always equal to ⁇ , so that, for example, between a rising clock edge of the first clock signal PCLK [0] and the first rising edge of the subsequent clock signal PCLK [ 1] there is a phase difference of ⁇ .
  • the phase difference between two successive rising edges of a clock signal is always n • ⁇ .
  • phase resolution is a function of the gate delays, whereby fewer delay taps can be used for higher frequencies, and vice versa.
  • is a function of the gate delays, whereby fewer delay taps can be used for higher frequencies, and vice versa.
  • the master clock signal CLK is desirable to keep the master clock signal CLK at a fixed frequency or at least in a narrow range so as to enable the PLL circuit 104 and the DLL circuit 106 to be optimized for maximum stability. Since only one clock signal with a fixed frequency is used to generate all clock signals for a system, all efforts can be directed to make this one clock as stable as possible, for example by means of suitable filters, separate power connections, optimal arrangement on a chip , etc. All clock signals generated from this then also show the stability of this central source.
  • the table below gives examples of master clock signals and examples of the number of phases n used, depending on the minimum structure size specified by the semiconductor technology in which the corresponding DLL and PLL circuits are manufactured.
  • a first preferred exemplary embodiment of the present invention is explained in more detail below, by means of which independent clock signals are synthesized based on the generated clock signals, as described above.
  • phase overlay unit receives the clock signals PCLK [0] to PCLK [nl] generated by the DLL circuit 106 at its inputs.
  • the activation signals PEN [] are provided to an input buffer 108, through which they are clocked using the master clock signal CLK.
  • the phase overlay unit further comprises a plurality of delay elements 110, the number of delay elements 110 corresponding to the number of activation signals PEN [] present.
  • An activation signal is provided in each case to a delay element 110, and there the delay signal of a set delay ⁇ , to which a delay based on the phase shift is additionally added, is delayed.
  • the phase delay added in each case results from the delay elements 110 shown in FIG. 3.
  • a plurality of AND gates 112 are provided, each of the AND gates 112 being an output signal of a delay element 110, that is to say a delayed activation signal PEN [] and a clock signal PCLK [] receives, and subjects it to a logical AND operation.
  • the output signals CC [0] to CC [nl] are present at the output of the AND gates 112.
  • These output signals are fed to an OR gate 114, the output signal of which is fed to a multiplexer 116 once in non-inverted form and on the other in inverted form.
  • the multiplexer 116 is driven, and outputs the non-inverted clock signal CLKOUT in the conventional control mode. If the multiplexer 116 is controlled by means of the control signal INVCLK, this means that an inverted clock signal is desired, so that in this case the inverted output of the OR gate 114 is output as the clock output signal CLKOUT.
  • the digital clock signal synthesis according to the invention thus superimposes the multiple phases of the master clock signal in order to form or shape the clock to be generated.
  • This is achieved by the simple AND-OR circuit described above.
  • An individual activation signal PEN [] is provided for each clock signal phase PCLK []. All elementary high logic level pulses of the multi-phase clock signal that are activated are linked by means of the OR gate in order to generate longer high logic level pulses.
  • the first active activation signal determines the positive edge of the output signal CLKOUT, and the first non-active activation signal determines its negative edge.
  • the shortest pulse with a high logic level that can be generated with the circuit shown in FIG. 3 will have a duration of the elementary clock pulse.
  • Low logic level pulses can be narrower and are limited only by phase resolution. If narrower pulses with a high logic level are desired, the clock signal inversion described above can be selected.
  • FIG. 4 shows an example of a clock superimposition for four clock signals with different phases PCLK [0] to PCLK [3], the synthesis of a non-periodic clock signal being represented by the activation of the corresponding activation signals PEN [0] to PEN [3] ,
  • the activation pattern defined by the activation signals PEN [] controls the length of the individual periods with high logic level and the periods with low logic level and forms the pulse trains, which, as mentioned, are not periodic in the illustrated case.
  • the output signals CC [0] to CC [3] of the AND gates 112 are also shown in FIG. 4.
  • the output of OR gate 114 CLKOUT is also shown and INVCLK is selected to be 0.
  • FIG. 5 is an example that makes use of the delay elements that are present anyway in the phase overlay unit and in the DLL 106, so that in FIG. 5B the corresponding elements are provided with the corresponding reference symbols.
  • FIG. 5B is an enlarged illustration of a detail from FIG. 3, as can be easily recognized. 5B shows the delay times that occur in the individual elements.
  • the DLL circuit 106 that generates the multi-phase clock signal is already implemented using delay-controlled buffers.
  • the signal that controls the delay of the DLL buffer chain elements ert, can be used again to replicate all delays for the activation signals.
  • the individual delays can be dimensioned according to the following calculation rule:
  • the advantage of this analog delay mechanism is that the circuit is largely immune to changes in the duty cycle of the master clock signal.
  • the delay reproduction is not required to be very accurate after the set and hold time (t S and t HOu) for the AND gate 112 is small.
  • a latch mechanism can be provided which uses some of the clock signal phases.
  • this purely digital procedure has the disadvantage that the multi-phase clock signal lines are loaded with a higher load capacity.
  • a second exemplary embodiment of the present invention is explained in more detail below in order to generate a periodic clock signal which can be programmed in almost any desired manner with regard to frequency and duty cycle.
  • a suitable sequence of activation signals is provided in order to synthesize the periodic signal with almost any frequency and any duty cycle up to the master clock signal speed.
  • PEI Primary Edge Interpolator
  • the primary edge interpolator receives the PERIOD signal, which indicates a period of the desired clock signal.
  • the interpolator also receives the signal DUTY, which indicates the duty cycle of the desired clock signal.
  • the interpolator comprises a plurality of latch memories 120 to 128, which are clocked with the master clock signal CLK and are formed by a D flip-flop.
  • CMC denotes a free-running counter that is incremented by 1 for each master clock signal cycle. This creates a continuous time stamp for each master clock signal cycle.
  • T_EDGE is the time according to the time stamp at which the next leading edge must occur. This time is interpolated by adding the clock period (PERIOD) to the previous leading edge, as shown by adder 130 in FIG. 6. Whenever the next count value and the next time stamp of the edge have the same integer bit, the next cycle must contain a leading edge. An active EDGE signal together with the edge generation time T_EDGE indicates this event that the next cycle must have a leading edge at the output.
  • the PERIOD signal is buffered in the latch 126 on every leading edge in order to avoid side effects if this signal is changed during the cycle of the clock signal just generated.
  • the duration of the desired clock signal pulse T_LEN that is to say the time between the leading edge and the subsequent edge, is calculated and made available at the output via the latch 128. This is a function of the duty cycle, which is between 0 and 0. It is also important to ensure that even if the multi-phase clock is deactivated, the previous activation clock signal phase is still maintained for a predetermined time, where:
  • sustain retention time t master
  • h ig time period in which the master clock is at a high level
  • phase
  • the pulse duration of the generated clock which is calculated based on the duty cycle, must be reduced by the retention time.
  • the period of the desired clock signal and / or the duty cycle of the desired clock signal can be changed during operation (on the fly), wherein
  • a leading edge is output after a period according to the PERIOD signal.
  • the SEC receives a plurality of input signals, which have already been explained in the table above.
  • the circuit includes a plurality of latches 134 through 140.
  • the circuit of FIG. 7 operates such that the desired pulse length is added at the time the edge is output by the interpolator in FIG. 6, as is the adder 142 is shown in Fig. 7. If a secondary edge is still waiting to be output for the current master cycle, the new secondary edge time is delayed by one master cycle. This is not required in this master cycle, since only one secondary edge is permitted per cycle.
  • the signal LEAD indicating the generation of the leading edge and the position of the leading edges P_LEAD within the master clock cycle are buffered in the buffer 134 and 138, respectively.
  • the signal TRAIL indicating the generation of the subsequent edge is set as soon as the time stamp of the next master clock cycle is equal to the integral part of the calculated position of the subsequent edge (edge), as is indicated by the comparison operations 144 and 146. This comparison must also be carried out for the delayed version of the start time (see comparator element 146, which receives the version temporarily stored in the memory 140 and thus delayed.
  • the positions of the edges within a cycle are described by the non-integer parts of the calculated edge positions (sub cycle Position).
  • the phase activation function shown in FIG. 8 generates the activation pattern only for a single edge, and the activation pattern for an overall pulse results from the superposition of two phase activation patterns, as shown in FIG. 8.
  • the edge generation flags activate the corresponding edge activation patterns, the pattern relating to the subsequent edge also being inverted.
  • the two patterns are combined using either an OR function 148 or an AND function 150.
  • the selection is made by means of a multiplexer 152 which is controlled by the signal SUSTAIN, which is available in the buffer 154.
  • the activation signal PEN is buffered in the buffer 156 and output under control of the master clock signal CLK.
  • the SUSTAIN signal is provided to store whether the last issued edge was a leading edge or a subsequent edge.
  • the SUSTAIN signal is set by a single LEAD signal and reset by a single TRAIL signal.
  • the SUSTAIN signal maintains its status, as can be seen from the signal curve in FIG. 9. If both edges occur in a master clock cycle, their position determines the value of the SUSTAIN signal. The SUSTAIN signal thus ensures that the correct clock signal polarity is maintained in cycles in which there is no edge activity.
  • the primary edge interpolator calculates successive positions of the leading clock edge and the pulse lengths of the clock signals with a high logic level.
  • the secondary edge calculator derives the position of the subsequent edge.
  • the phase activation unit combines a phase activation pattern from this information, and in the phase overlay unit the activated multi-cycle clock signals with high logic pulses are logically combined by means of an OR operation, so as to generate the output signal CLKOUT, which is the desired clock signal.
  • FIG. 11 shows the signal curve for a clock signal superimposition using four phases PCLK [0] to PCLK [3], the binary values for the signals PERIOD, DUTY and T_LEN being indicated in FIG. 11.
  • 11 shows an example of the clock signal synthesis using a multi-phase master clock signal with only four phases, this being chosen for reasons of clarity. It should be noted that the fractional accuracy of the interpolator is higher than would be necessary to distinguish between the four phases, but this is useful since this increases the resolution for the average frequency generated. Phase positions that do not hit the phase grating are rounded down to the next lower phase.
  • the width of the counter (i) for the master clock cycle is determined by the maximum clock cycle period that can be synthesized, the maximum clock cycle period being calculated as follows:
  • ⁇ t is calculated as follows:
  • Frequencies can be generated with discrete steps of ⁇ f CL ⁇ o u ⁇ , the steps for higher, synthesized frequencies increasing between possible values, so that:
  • the maximum frequency to be synthesized must be taken into account, so that the following applies to the required fractional resolution k of the interpolator:
  • a master clock with a frequency of 250 MHz with 32 phases is assumed as an example. Based on this master clock, a clock with a frequency range from 1.0 MHz to the master clock frequency is to be generated with an accuracy of 20 ppm. The following applies to this example:
  • the interpolator must therefore have 8 integer bits and 16 fractional bits, ie 24 bits in total.
  • a clock signal that has a defined phase relationship and a defined frequency relationship with a synchronization signal.
  • a typical example of this is the sampling clock for an analog video interface. In this situation, one horizontal synchronization signal is normally provided per line.
  • the pixel frequency is a defined integer multiple of this sampling clock.
  • the synchronization signal and the pixel clock are not necessarily in phase, and the phase must also be adjustable by a user.
  • an edge detection unit EDU Edge Detection Unit
  • the edge detection unit receives the synchronization signal SYNC, which is fed to a plurality of buffers 160.
  • Each of the latches 160 receives one of the clock signals PCLK [].
  • delay elements 162 are also provided here, which delay the signals output by the memories 160 in accordance with a predetermined delay and pass them on to an output buffer 164, which also receives the master clock signal CLK.
  • the output buffer 164 provides the signals EDP [] at its output.
  • the synchronization signal with all clock signals is buffered in memories 160, and the buffered results are aligned in time using delay elements 162, which could be the same elements, for example, designated 110 in FIG. 3.
  • the buffered pattern reflects the signal behavior within the previous master clock cycle with the phase resolution provided.
  • This pattern together with the free-running master clock signal counter, makes it possible to assign time stamps to the occurrence of signal changes.
  • EPD Edge Position Decoder
  • the edge pattern generated by the edge detection unit EDU can be examined with regard to an edge with a desired polarity POL.
  • the edge position decoder firstly receives the edge pattern EPD [] and a signal POL which indicates the polarity.
  • the edge position function shown in FIG. 14 only searches for positive edges, but negative edges can also be searched for with a simple inversion of the input pattern.
  • Spike suppression suppresses temporary changes in the input signal as long as they are below a predetermined threshold. This requires that the course of the signal in the previous cycle is known, which is ensured by register 166.
  • the signals DET and P_DET are output via the latches 168 and 170.
  • CPC Clock Parameter Calculator
  • the measurement of the synchronization edge took place three cycles beforehand, so that the current count value must be corrected.
  • the time stamp for the previous synchronization event is stored as T_SYNC in register 172.
  • the difference between the time stamps, or in other words the period of the synchronization signal is calculated and stored in the memory 174 as the signal DT_SYNC.
  • the measured period is filtered using an infinite impulse response filter 176 to obtain the filter output signal DT_FILT. This reduces the sensitivity of the circuit to jitter in the synchronization signal.
  • T_SYNC The exact position of the synchronization event (T_SYNC) is corrected by the difference between the measured synchronization period and an ideal (filtered) synchronization period.
  • the filtered synchronization period (signal DT_FILT) is also used to determine the period of the clock signal to be synthesized (signal PERIOD). This is effectively accomplished by dividing the synchronization period by the number of synthesized clock signals that occur between two consecutive synchronization events (signal SAMPLES), as shown by blocks 178 and 180 in FIG. 15.
  • the circuit of the clock signal parameter calculator shown in FIG. 15 it should be pointed out that this is not optimized for high master clock signal speeds.
  • the two multipliers 180 and 182 cause a significant delay.
  • the output flip-flop 184 can, however, cache its results for a later cycle, or they can be pipelined.
  • the DT_FILT signal from the previous measurement can be used to save time for the calculation.
  • the reciprocal number of samples (signal SAMPLES) can be calculated in advance by software.
  • the filter 176 for the synchronization period can be designed in various forms that take advantage of the course of the period measurements.
  • the type of filter required depends very much on the application and the stability of the incoming synchronization signal.
  • 16 shows an example of an IIR filter 176, which represents a simple implementation of the filter that carries out a weighted addition of the filtered measurement and the current measurement according to the following equation: P + (2 -l) PF n iflP-PR l ⁇ PT
  • the filter 176 takes effect immediately, so that as a result the jitter can be suppressed and frequency changes are followed without delay.
  • a new primary edge interpolator PEI2 is now used for the clock signal synchronization instead of the primary edge interpolator described with reference to FIG. 6.
  • the circuit always generates a primary edge at the time the time stamp PHASE is received, and then switches to the new clock signal period. Before this time stamp is obtained, the previous clock signal period is active. Furthermore, successive clock edges are compared with the value of the signal PHASE. In order to avoid inserting a shorter clock period immediately before receiving the time stamp PHASE, such edges are omitted. It should be noted that this synchronizable phase edge interpolator generates a clock signal with a fixed duty cycle of 50%.
  • the new interpolator generates the same output signals as for the interpolator from FIG. 6, which then follows the units SEC, PEU and POU already described above for generating the clock signal CLKOUT can be provided.
  • SCGU Synchronous Clock Generation Unit
  • a synthetic synchronization signal can simply be generated as a further clock by means of the synchronization time stamp, its period and its sample value shift.
  • the synchronization clock runs freely between two synchronization events and experiences a phase error ( ⁇ t), which is a function of the number of interpolated clock periods and the fractional resolution of the interpolator.
  • the fractional interpolation accuracy is determined as follows:
  • a graphics application is considered as an example.
  • a pixel scan clock (ACLK, 25 ... 210MHz) is to be generated from a horizontal synchronization signal (HSYNC, 15 ... 115kHz), using a master clock with 250MHz and 32 phases.
  • HSYNC horizontal synchronization signal
  • the edge interpolator must therefore comprise 15 integer bits and 19 fraction bits, i.e. 34 bits in total.
  • 19 shows a block diagram of a system for arbitrary clock synthesis (arbitrary clock synthesis) according to an exemplary embodiment of the present invention. This system makes it possible to generate a plurality of arbitrary clocks (arbitrary clock synthesis).
  • the system comprises a plurality of edge detection units EDU, each of which receives an external synchronization signal SYNC [] and the clock signals PCLK [] generated by the DLL (FIG. 1) on the basis of the master clock signal.
  • CCC Clock Calculation Circuitry
  • MCC Master Clock Counter
  • any number of clocks CLKOUT [] can be synthesized by the same multiphase clock signal CLK, the timing of the clock output depending on any number of synchronization signals SYNC [].
  • the master clock counter MCC is provided, which is incremented every master clock cycle, as a result of which a common time reference system is formed.
  • time stamps can be assigned to any actual or hypothetical event (e.g. rising or falling edge) in the entire clock generation system. Fractions with almost unlimited accuracy can be used to express the temporal position of the event between discrete master clock events.
  • Time stamps are assigned to rising edges and falling edges of the external synchronization event however, also assigned edge positions of potentially complex and irregular clock signals.
  • the abstract term "time stamp” enables the arithmetic processing of the events. Any pulse forms can be calculated with it, and clock signals with a predetermined relationship to one another and to external events can easily be generated.
  • a further exemplary embodiment of the present invention is described below with reference to FIGS. 20 and 21.
  • a spread spectrum clock signal synthesis takes place.
  • the period of the generated clock signal can be easily modulated in the digital domain.
  • a circuit is provided, as shown in FIG. 20, which serves to move the synthesized clock signal period between two extreme values with a definable slope.
  • the circuit shown in Fig. 20 is a spread spectrum interpolator which receives the clock signal as an input signal, a range signal RANGE, a slope signal SLOPE and a mean signal MEAN. After each clock cycle generated, the period is incremented by a period delta value (SLOPE) until the period reaches an upper limit (MEAN + RANGE). After reaching the upper limit, the current clock period is decremented again until it reaches a lower limit (MEAN - RANGE). This is repeated cyclically, so that the sweep behavior shown in FIG. 21 results.
  • SLOPE period delta value
  • MEAN + RANGE upper limit
  • f mean _J, _ f high -, L_. f low mean mean ranks mean ranks
  • Digital clock signal synthesis is best implemented using a modular approach.
  • the DLL circuit 106, the phase overlay units POU and the edge detection unit EDU should be aligned with one another in order to enable them to be cascaded.
  • the DLL circuit 106 provides the multi-phase clock signals and the control voltage for the delay elements. All modules use a common power rail.
  • RU Recovery Unit
  • phase overlay unit PDU and the edge detection unit EDU are in principle digital units, but a suitable adaptation to the DLL circuit 106 in accordance with analog development rules is advantageous for precise delay control.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Manipulation Of Pulses (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Ein Verfahren und eine Vorrichtung zum Erzeugen eines Taktsignals (CLKOUT) mit vorbestimmten Taktsignaleigenschaften stellt zunächst eine Mehrzahl von Taktsignalen(PCLK[n-1 : 0]) mit im wesentlichen gleicher Frequenz und jeweils verschiedener Phasenbeziehung bezüglich eines Mastertaktsignals (CLK) bereit, um anschliessend (basierend auf einem Steuersignal (PEN[]), das abhängig von dem zu erzeugenden Taktsignal bereitgestellt wird,) vorbestimmte Taktsignale aus der Mehrzahl von bereitgestellten Taktsignalen auszuwählen und die ausgewählten Taktsignale zusammenzufassen, um das erwünschte Taktsignal (CLKOUT) zu erzeugen.

Description

Verfahren und Vorrichtung zum Erzeugen eines Taktsignals mit vorbestimmten Taktsignaleigenschaften
Beschreibung
Die vorliegende Erfindung bezieht sich auf ein System zur digitalen Synthese von verschiedenen unterschiedlichen Taktsignalen (DCS = Digital Clock Synthesis) , und insbeson- dere auf ein Verfahren und eine Vorrichtung zum Erzeugen eines Taktsignals mit vorbestimmten Taktsignaleigenschaften, und hier insbesondere auf ein Verfahren und auf eine Vorrichtung zum Erzeugen eines Taktsignals mit nahezu einer beliebigen Frequenz und einem beliebigen Tastverhältnis.
Traditionell werden unabhängige Taktsignale mittels der bekannten analogen TaktSynthese erzeugt, wobei herkömmlicherweise eine Mehrzahl von PLLs (PLL = Phase Locked Loop = Phasenregelschleife) verwendet werden. Solche herkömmlichen Ansätze sind nachteilhaft, da hier der gesamte Jitter- Beitrag (Zitter-Beitrag) hoch ist, und die Taktgenauigkeit beschränkt ist, da herkömmliche analoge PLLs auf diskrete Frequenzen beschränkt sind, welche durch die PLL- Teilerelemente zugelassen sind. Ein weiterer Nachteil her- köm licher Ansätze besteht darin, dass die verwendeten analogen Schaltungen einer Vielzahl von Schaltungsblöcken bedürfen, so dass die Schaltungskomplexität hoch ist. Ferner ist die Anzahl der auf einem einzelnen Chip zu realisierenden PLLs beschränkt, und damit auch die Anzahl der verfüg- baren unabhängigen Taktsignale. Wiederum ein weiterer Nachteil herkömmlicher Ansätze besteht darin, dass für jede der PLLs, die bei herkömmlichen, analogen Ansätzen verwendet werden, eine zugeordnete externe analoge Leistungsversorgung bereitgestellt werden muss. Der Entwurfsauf and für die analogen Schaltungen ist hoch.
Die EP 1 137 188 A2 beschreibt eine digitale PLL bei der nur einzelne Pulse eines Multiphasen-Clocks ausgewählt wer- den, die ein Toggel-Flipflop ansteuern, dass dann einen Clock mit 50% Tastverhältnis (duty cycle) generiert. Es wird ein 'traditioneller' PLL Regelkreis mit einem digitalem Phasenkomparator verwendet. Der Phasenvergleich Sync/synth. Sync bewirkt ein iteratives Nachregeln von Phase und Frequenz des Abtasttakts (Sample Clock) . Es ist nicht möglich (mehrere) Takte mit binär programmierbarer Frequenz, Duty Cycle und Phase mit beliebiger Genauigkeit (also auch nicht ganzzahlige) Vielfache eines Sync-Clocks zu erzeugen.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein verbessertes Verfahren und eine verbesserte Vorrichtung zum Erzeugen eines Taktsignals mit vorbestimmten Taktsignalei- genschaften zu schaffen, welche die oben beschriebenen Nachteile im Stand der Technik vermeiden.
Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 und durch eine Vorrichtung nach Anspruch 10 gelöst.
Die vorliegende Erfindung schafft ein Verfahren zum Erzeugen eines Taktsignals mit vorbestimmten Taktsignaleigenschaften, mit folgenden Schritten:
(a) Bereitstellen einer Mehrzahl von Taktsignalen mit im wesentlichen gleicher Frequenz und jeweils verschiedenen Phasenbeziehungen bezüglich eines Mastertaktsignals; und
(b) basierend auf einem Steuersignal, das abhängig von dem zu erzeugenden Taktsignal bereitgestellt wird, Auswählen vorbestimmter Taktsignale aus der Mehrzahl von bereitgestellten Taktsignalen und Zusammenfassen der ausgewählten Taktsignale, um das Taktsignal zu erzeu- gen. Die vorliegende Erfindung schafft ferner eine Vorrichtung zum Erzeugen eines Taktsignals mit vorbestimmten Taktsignaleigenschaften, mit
einem Multi-Phasen-Taktgenerator zum Bereitstellen einer Mehrzahl von Taktsignalen mit im wesentlichen gleicher Frequenz und jeweils verschiedener Phasenbeziehungen bezüglich eines Mastertaktsignals; und
einer Phasenüberlagerungseinheit, die basierend auf einem Steuersignal, das abhängig von dem zu erzeugenden Taktsignal bereitgestellt wird, vorbestimmte Taktsignale aus der Mehrzahl von bereitgestellten Taktsignalen auswählt und die ausgewählten Taktsignale zusammenfasst, um das Taktsignal zu erzeugen.
Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden beim Zusammenfassen der ausgewählten Taktsignale die Pulse mit hohem logischen Pegel der ausge- wählten Taktsignale zusammengefasst, um das Taktsignal mit einem Puls mit hohem logischen Pegel und einer vorbestimmten Pulsdauer zu erzeugen. Mittels des bereitgestellten Steuersignals wird die Dauer der einzelnen Pulse mit hohem logischen Pegel, die Dauer der einzelnen Pulse mit niedri- gern logischen Pegel und die Form des Pulszuges des zu erzeugenden Taktsignals gesteuert. Die kürzeste Dauer eines Pulses mit hohem logischen Pegel ist hier für die Dauer des Pulses mit hohem logischen Pegel des Mastertaktsignals festgelegt, und die kürzeste Dauer eines Pulses mit niedri- gern logischen Pegel ist durch die erreichte Phasenauflösung bestimmt.
Vorzugsweise umfasst das Steuersignal eine Mehrzahl von Aktivierungssignalen, wobei ein Aktivierungssignal für jedes der Mehrzahl von Taktsignalen vorgesehen ist, und wobei die Aktivierungssignale verzögert bereitgestellt werden, um eine Ausrichtung derselben einzustellen, um die vorbestimmten Taktsignaleigenschaften des zu erzeugenden Taktsignals si- ehe zustellen. Vorzugsweise werden die Aktivierungssignale in Form einer Aktivierungssignalsequenz bereitgestellt, um ein periodisches Taktsignal mit vorbestimmter Frequenz und vorbestimmtem Tastverhältnis zu erzeugen. Die Aktivierungs- sequenz wird unter Verwendung eines primären Flankeninter- polartors, eines sekundären Flankenberechners sowie einer Phasenaktivierungseinheit erzeugt, wobei der primäre Flan- keninterpolator einen Zeitpunkt bzw. eine temporäre Position (Zeitstempel) der führenden Flanken in dem zu erzeugen- den Taktsignal bestimmt, wobei der sekundäre Flankenberechner einen Zeitpunkt der nachfolgenden Flanke in dem zu erzeugenden Taktsignal, ausgehend von dem Zeitpunkt der führenden Flanke, erzeugt, und wobei die Phasenaktivierungseinheit basierend auf dem Zeitpunkt der führenden Flanke und basierend auf dem Zeitpunkt der nachfolgenden Flanke die Aktivierungssignalsequenz erzeugt.
Ein Zeitstempel setzt sich durch eine fortlaufende Nummer eines Mastertaktzyklus und eines Subcycle-Zeitpunkts zusam- men (ganzzahliges Vielfaches des Mastertakts + Bruchteil des Mastertakts) .
Gemäß einem weiteren bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden synchronisierte Taktsignale erzeugt, wobei hier dem zu erzeugenden Taktsignal eine definierte Phasen- und Frequenzbeziehung zu dem Synchronisationssignal zugeordnet ist, wobei eine Flankenerfassungseinheit zusätzlich vorgesehen ist, um Signalzustandsände- rungen in dem Synchronisationssignal zu erfassen, um ein Flankenmuster zu erzeugen. Mittels eines Flankenpositionsdecoders werden Flanken mit einer vorbestimmten Polarität, also ansteigende oder abfallende Flanken, in dem Flankenmuster bestimmt. Mittels eines Taktparameterberechners werden, basierend auf den bestimmten Flanken des Synchronisa- tionssignals die Periode und die Phase für das zu erzeugende synchronisierte Taktsignal bestimmt, und anschließend wird unter Verwendung des primären Flankeninterpolators, des sekundären Flankenberechners sowie der Phasenaktivie- rungseinheit und der Phasenüberlagerungseinheit das synchronisierte Taktsignal erzeugt.
Gemäß einem weiteren bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird die Periode des erzeugten Taktsignals im spektralen Bereich moduliert, um ein Spreadspek- trum Taktsignal zu erhalten, wobei mittels eines Spreadspektruminterpolators nach jedem erzeugten Taktsig- nalzyklus bewirkt wird, dass die erzeugte Periode um einen vorbestimmten Wert inkrementiert wird, bis eine obere Grenze erreicht ist. Anschließend wird bewirkt, dass die Periode um einen vorbestimmten Wert dekrementiert wird, bis eine untere Grenze erreicht ist. Dies wird zyklisch wiederholt
Gemäß einem weiteren bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird die Möglichkeit geschaffen, einen beliebigen Takt zu erzeugen (Arbitrary Clock Synthe- sis) . Gemäß diesem allgemeineren Ansatz kann eine beliebige Anzahl von Takten von demselben Multiphasentaktsignal syn- thetisiert werden, wobei der Zeitverlauf des Taktausgangs von einer beliebigen Anzahl von Synchronisationssignalen abhängen kann. Bei diesem Ausführungsbeispiel ist ein Mastertaktzähler vorgesehen, der bei jedem Mastertaktzyklus inkrementiert wird, wodurch ein gemeinsames Zeitreferenz- System gebildet wird. Durch Verwendung dieser Referenz können ZeitStempel jedem tatsächlichen oder auch jedem hypothetischen Ereignis (z.B. steigende oder fallende Flanke) in dem gesamten Takterzeugungssystem zugeordnet werden. Um die zeitliche Position des Ereignisses zwischen diskreten Mastertaktereignissen auszudrücken, können Bruchzahlen mit nahezu unbeschränkter Genauigkeit verwendet werden.
Zeitstempel werden steigenden Flanken und fallenden Flanken des externen Synchronisationsereignis zugeordnet, werden jedoch auch Flankenpositionen von potenziell komplexen und unregelmäßigen Taktsignalen zugeordnet. Der abstrakte Begriff „Zeitstempel" ermöglicht die arithmetische Verarbeitung der Ereignisse. Beliebige Taktformen können damit be- rechnet werden, und Taktsignale mit vorbestimmter Beziehung untereinander und zu externen Ereignissen können einfach erzeugt werden.
Erfindungsgemäß können basierend auf den im Schritt (a) bereitgestellten Taktsignalen auch eine Mehrzahl von unabhängigen Taktsignalen erzeugt werden.
Die vorliegende Erfindung schafft somit ein System für die digitale Synthese von verschiedenen unabhängigen Taktsignalen (DCS = Digital Clock Synthesis) . Als gemeinsame Basis für alle synthetisierten Taktsignale werden mehrfache Phasen eines Taktsignals mit fester Frequenz verwendet. Erfindungsgemäß sind die auf diese Art und Weise synthetisierten Taktsignale erheblich stabiler als vergleichbare Taktsignale, die mittels einer traditionellen, analogen Taktsynthese erhalten wurden.
Gegenüber den oben beschriebenen, herkömmlichen Ansätzen ermöglicht das erfindungsgemäße Konzept der digitalen Taktsynthese (DCS) die Überlagerung der Takte um die gewünschten Taktpulse mit variablem Tastverhältnis (duty cycle) zu erzeugen. Anstelle des herkömmlichen Regelkreises wird erfindungsgemäß der Zeitpunkt des Sync-Events gemessen und mit einem nur 'virtuell' vorhandenem idealen Sync-Event verglichen. Erfindungsgemäß wird der Phasenfehler bei dem virtuellen Sync-Vergleich quantitativ genau bestimmt und der ideale Takt 'errechnet' und sofort generiert.
Das Konzept von universellen Zeitstempeln (Timestamps) das es möglich macht im ganzen System Events miteinander rein analytisch in Bezug zu setzen, fehlt im Stand der Technik. Auf den oben beschriebenen Ansatz mit einem herkömmlichen Regelkreis kann daher verzichtet werden.
Weitere Vorteile der vorliegenden Erfindung bestehen insbesondere bei Systemen auf einem Chip, welche mehrere Taktbereiche verwenden (Clock Domains) . Überdies schafft die vor- liegende Erfindung mit dem gleichen Ansatz auch synchronisierte Taktsignale, wobei insbesondere ein Takt für die Abtastung analoger Signale mit programmierbarem Taktverhältnis und programmierbarer Phasenbeziehung zu einem nie- derfrequenten Synchronisationssignal erzeugt werden kann.
Gemäß einem weiteren Vorteil der vorliegenden Erfindung werden mögliche Implementierungen der Technik in modularer Bauweise ermöglicht, wobei mittels eines Satzes von einfa- chen, standardisierten Modulen für die digitale Taktsynthese fast jede Anwendung bedient werden kann, wodurch sich ein sehr hoher Grad an Wiederverwendbarkeit ergibt.
Die erfindungsgemäße digitale Taktsynthese bietet eine Vielzahl von Vorteilen gegenüber der traditionellen analogen Taktsynthese.
verbesserter Taktjitter: erfindungsgemäß kann ein Mul- tiphasentakt mit fester Frequenz mit einem sehr nied- rigen Jitter-Level erzeugt werden, so dass trotz des zusätzlichen Jitters, der durch die Phasengranularität eingebracht wird, der Gesamtjitter besser ist als der durch eine herkömmliche PLL mit mehreren Frequenzen erreichbar ist,
verbesserte Taktgenauigkeit: gemäß der vorliegenden Erfindung kann bis zu der Referenzfrequenz, also der Frequenz des Mastertaktsignals, jede Zielfrequenz erzeugt werden, wobei die Genauigkeit der mittleren Fre- quenz lediglich durch die Bitbreite der verwendeten Interpolatoren begrenzt ist. Dem gegenüber waren herkömmliche, analoge PLLs auf die diskreten Frequenzen beschränkt, welche durch die PLL-Teilerelemente zugelassen waren,
reduzierter Testaufwand: erfindungsgemäß wird die Menge an Analogschaltungen auf wenige, einfache und standardisierte Schaltungsblöcke reduziert, und die Schal- tungskomplexität wird erfindungsgemäß auf digitale Teile übertragen, für die standardisierte und automatisierte Testverfahren herangezogen werden können,
mehr synthetisierte Taktsignale pro Chip: nachdem traditionell eine praktische Beschränkung der Anzahl von PLLs gegeben war, welche pro Chip zugelassen war, ist diese Beschränkung erfindungsgemäß aufgehoben, da nun die unabhängigen Taktsignale von ein und derselben PLL abgeleitet werden können,
reduzierte Siliziumfläche: nachdem die Schaltungskomplexität in den digitalen Teil der Schaltung verschoben ist, kann, anders als bei herkömmlichen Ansätzen, der Vorteil der hohen Dichte von Logikschaltungen, die mit Sub-Mikrometer-Prozessen erreichbar sind, in Anspruch genommen werden,
reduzierte Pin-Anzahl (Anschlußstift-Anzahl) : analoge PLLs erfordern eine zugeordnete Anzahl externer analoger Leistungsversorgungen, wohingegen erfindungsgemäß die Anzahl dieser Leistungsversorgungen reduziert werden kann, da lediglich eine PLL mit fester Frequenz für alle unabhängigen Taktsignale verwendet wird,
reduzierte analoge Entwurfsanstrengungen: es sind lediglich wenige und relativ einfache analoge Blöcke erforderlich, die zu entwerfen sind, und die für jeden Chip in derselben Technologie wiederverwendet werden können,
bessere Simulation/Emulation-Abdeckung: nachdem ein größerer Anteil des Schaltungsaufbaus in den digitalen Entwurfsbereich übergeht, können mittels einer digita- len Simulation und Emulation ein hoher Prozentsatz des Systems abgedeckt werden, und Entwurfsflexibilität der Schaltung: die Synthese eines bestimmten Taktsignals kann hardwaremäßig sehr flexibel entworfen werden, und später können genaue Takteigenschaften für ein optimales Verhalten, oder zur Um- gehung von Fehlern, eingestellt werden.
Ein weiterer Vorteil der digitalen Taktsignalsynthese besteht darin, dass mit jeder Verbesserung oder mit jeder neuen digitalen Technologie durch die digitale Taktsignal- synthese ein verbessertes Verhalten und eine verbesserte Genauigkeit erhalten wird. Der Hauptparameter bei der digitalen Taktsignalsynthese besteht darin, die Phasengenauigkeit des Multi-Phasen-Taktsignals zu verbessern.
Nachdem alle Taktsignalparameter im digitalen Bereich manipuliert werden, wird hierdurch ermöglicht, ein Taktsignal auf sehr flexible Art und Weise an festgelegte Bedürfnisse anzupassen. Viele neue Anwendungen werden Vorteile aus dieser Eigenschaft ziehen, beispielsweise die präzise Verzöge- rung von Signalen durch Eintakten mit einem in der Phase verschiebbaren Takt.
Ferner ist es mit einem Mehrphasentaktsignal mit kurzem Tastzyklus auch möglich Taktsignale mit höheren Frequenzen als dem Mastertaktsignal zu erzeugen, da basierend aus den primären Flanken zusätzliche Taktflanken mit demselben Zyklus auf einfache Art und Weise berechnet werden können. Kürzere Multi-Phasen-Taktsignale können durch logisches Kombinieren von zwei Phasen abgeleitet werden. Die kürzest mögliche Hoch-Periode des Multi-Phasentaktsignals ist zweimal die Phasengenauigkeit.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1 einen Multi-Phasen-Taktoszillator; Fig. 2 den Verlauf der Mehrzahl von Multi-Phasen- TaktSignalen;
Fig. 3 eine Phasenüberlagerungseinheit gemäß einem Aus- führungsbeispiel der vorliegenden Erfindung;
Fig. 4 den Verlauf der Signale in der Phasenüberlagerungseinheit gemäß Fig. 3;
Fig. 5A den Verlauf der Verzögerung für die Aktivierungssignale für die Phasenüberlagerungseinheit gemäß Fig. 3;
Fig. 5B ein Beispiel für eine Verzögerungseinheit, um den Verlauf in Fig. 5A zu erzeugen;
Fig. 6 einen primären Flankeninterpolator zum Bestimmen der führenden Flanken in dem Taktsignal;
Fig. 7 einen sekundären Flankenberechner, zum Bestimmen der nachfolgenden Flanken in dem Taktsignal;
Fig. 8 eine Phasenaktivierungseinheit zum Erzeugen der Aktivierungssignale;
Fig. 9 einen Verlauf eines Beibehaltungssignals;
Fig. 10 ein Beispiel für eine Taktgeneratoreinheit, die Einheiten aus Fig. 3, 6, 7 und 8 umfasst;
Fig. 11 den Verlauf der Signale in der Taktgeneratoreinheit aus Fig. 10;
Fig. 12 den Taktjitter für ein reales Taktsignal;
Fig. 13 eine Flankenerfassungseinheit, um Flanken in einem Synchronisationssignal zu erfassen; Fig. 14 einen Flankenpositionsdecoder, um Positionen der Flanken in dem Synchronisationssignal zu erfassen;
Fig. 15 eine Taktparameterberechnungseinheit;
Fig. 16 ein IIR-Filter;
Fig. 17 einen primären Flankeninterpolator gemäß einem zweiten Ausführungsbeispiel;
Fig. 18 eine synchrone Takterzeugungseinheit, zur Erzeugung eines synchronen Taktsignals, welche die Einheiten aus Fig. 3, 7, 8 13, 14, 15 und 17 um- fasst;
Fig. 19 ein Blockdiagramm eines System zur beliebigen Taktsynthese (Arbitrary Clock Synthesis) gemäß einem Ausführungsbeispiel der vorliegenden Erfin- düng;
Fig. 20 einen Spreadspektrum-Interpolator;
Fig. 21 das Sweep-Verhalten des Spreadspektrum-Taktes;
Fig. 22 ein Beispiel für einen modularen Aufbau des erfindungsgemäßen Taktgenerators.
Nachfolgend werden anhand der beiliegenden Zeichnungen be- vorzugte Ausführungsbeispiele näher beschrieben, wobei bei der Beschreibung der einzelnen Zeichnungen ähnliche oder gleichwirkende Elemente mit gleichen Bezugszeichen versehen sind.
Fig. 1 zeigt ein Beispiel für einen Multi-Phasen- Taktoszillator, welcher einen Kristalloszillator 100 um- fasst, der mit einem Schwingkristall 102 gekoppelt ist, um ein Oszillator-Taktsignal XCLK auszugeben. Das Oszillator- taktsignal XCLK wird durch eine Phasenregelschleife (PLL) 104 empfangen, welche basierend auf dem empfangenen Oszillatortaktsignal ein Mastertaktsignal CLK erzeugt, welches der Phasenverzögerungsschleife (DLL = Delay Locked Loop) bereitgestellt wird. Die DLL 106 erzeugt auf der Grundlage des angelegten Mastertaktsignals CLK eine Mehrzahl von Taktsignalen PCLK[0] PCLK[n-l]. Die erzeugten Taktsignale haben alle die gleiche Frequenz, weisen jedoch gegenüber dem Mastertaktsignal CLK jeweils unterschiedliche Phasenbeziehungen auf, und haben somit auch zueinander unterschiedliche Phasenbeziehungen .
Die digitale Taktsignalsynthese (DCS) verwendet das Mastertaktsignal CLK, aus dem mittels der DLL 106 die Taktsignale PCLK[n-l:0] mit 2n_1 Phasen gewonnen wird. Neben dem anhand der Fig. 1 beschriebenen Ansatz kann ein solcher Multiphasen-Takt auch mit anderen Techniken erzeugt werden, einschließlich des herkömmlichen, und dem in Fig. 1 gezeigten PLL + DLL Ansatz.
In Fig. 2 ist der Verlauf der einzelnen Taktsignale PCLK sowie des Mastertaktsignals CLK über der Zeit aufgetragen. Ferner sind die zwischen den einzelnen Taktsignalen PCLK[0] bis PCLK[n-l] existierenden Phasenverschiebungen darge- stellt. Wie aus Fig. 2 zu erkennen ist, ist bei dem dort dargestellten Ausführungsbeispiel die Phasenverschiebung zwischen aufeinanderfolgenden Taktsignalen immer gleich φ, so dass beispielsweise zwischen einer ansteigenden Taktflanke des ersten Taktsignals PCLK[0] und der ersten an- steigenden Flanke des darauffolgenden Taktsignals PCLK[1] eine Phasendifferenz von φ existiert. Die Phasendifferenz zwischen zwei aufeinanderfolgenden ansteigenden Flanken eines Taktsignals beträgt immer n • φ.
Die mögliche Genauigkeit aller synthetisierten Taktsignale hängt hauptsächlich von der Phasenauflösung φ dieser MultiPhasen-Taktsignale PCLK ab. Die maximal mögliche „Phasenauflösung" ist eine Funktion der Gatterlaufzeiten, wobei für höhere Frequenzen weniger Verzögerungsabgriffstellen verwendet werden können, und umgekehrt. Für φ gilt die folgende Berechnungsvorschrift:
r lCLK I i_ n n- f, CLK
mit Φ Phasenauflösung, cLK Periode des Mastertaktsignals, fc K Frequenz des Mastertaktsignals, und n 0, 1, 2, ...
Es ist wünschenswert, das Mastertaktsignal CLK bei einer festen Frequenz oder zumindest in einem schmalen Bereich zu halten, um so die Möglichkeit zu geben, die verwendete PLL- Schaltung 104 sowie die verwendete DLL-Schaltung 106 für eine maximale Stabilität zu optimieren. Nachdem lediglich ein Taktsignal mit einer festen Frequenz verwendet wird, um alle Taktsignale für ein System zu erzeugen, können alle Bemühungen darauf gerichtet werden, diesen einen Takt so stabil wie möglich zu machen, beispielsweise durch geeignete Filter, getrennte Leistungsanschlüsse, optimale Anordnung auf einem Chip, etc. Alle hieraus erzeugten Taktsignale zeigen dann auch die Stabilität dieser zentralen Quelle.
In der nachfolgenden Tabelle sind Beispiele für Mastertaktsignale angegeben, sowie Beispiele für die Anzahl der verwendeten Phasen n, abhängig von der durch die Halbleiter- Technologie vorgegebenen minimalen Strukturgröße, in der die entsprechenden DLL- und PLL-Schaltungen gefertigt werden.
Figure imgf000015_0001
Nachfolgend wird ein erstes bevorzugten Ausführungsbeispiel der vorliegenden Erfindung näher erläutert, mittels dem unabhängige Taktsignale basierend auf den erzeugten Taktsig- nalen, wie sie oben beschrieben wurden, synthetisiert werden.
In Fig. 3 ist ein Ausführungsbeispiel einer erfindungsgemäßen Phasenüberlagerungseinheit (POU = Phase Overlay Unit) gezeigt. Die Phasenüberlagerungseinheit empfängt die durch die DLL-Schaltung 106 erzeugten Taktsignale PCLK[0] bis PCLK[n-l] an ihren Eingängen. Ferner empfängt die Phasenüberlagerungseinheit das Mastertaktsignals CLK sowie ein Steuerungssignal, hier in der Form einer Mehrzahl von Akti- vierungssignalen PEN[0] bis PEN[n-l] (PEN = Phase Enable) . Die Aktivierungssignale PEN[] werden einem Eingangspuffer 108 bereitgestellt, durch den dieselben unter Verwendung des Mastertaktsignals CLK durchgetaktet werden. Die Phasenüberlagerungseinheit umfasst ferner eine Mehrzahl von Ver- zögerungselementen 110, wobei die Anzahl der Verzögerungselemente 110 der Anzahl der anliegenden Aktivierungssignale PEN [ ] entspricht. Ein Aktivierungssignal wird jeweils einem Verzögerungselement 110 bereitgestellt, und dort wird das Verzögerungssignal einer eingestellten Verzögerung Δ, zu der zusätzlich eine Verzögerung basierend auf der Phasenverschiebung hinzugefügt wird, verzögert. Die jeweils hinzugefügte Phasenverzögerung ergibt sich aus den in Fig. 3 gezeigten Verzögerungselementen 110. Ferner ist eine Mehrzahl von UND-Gattern 112 vorgesehen, wobei jedes der UND-Gatter 112 ein Ausgangssignal eines Verzögerungselements 110, also ein verzögertes Aktivierungssignal PEN[] sowie ein Taktsignal PCLK[] empfängt, und einer logischen UND-Verknüpfung unterwirft. Am Ausgang der UND-Gatter 112 liegen die Ausgangssignale CC[0] bis CC[n-l] an. Diese Ausgangssignale werden einem ODER-Gatter 114 zugeführt, dessen Ausgangssignal einem Multiplexer 116 einmal in nichtinvertierter Form und zum anderen in invertierter Form zugeführt wird. Der Multiplexer 116 wird angesteuert, und gibt im herkömmlichen Ansteuermodus das nicht-invertierte Taktsignal CLKOUT aus. Wird der Multiplexer 116 mittels des Steuersignals INVCLK angesteuert, so bedeutet dies, dass ein invertiertes Taktsignal erwünscht ist, so dass in die- sem Fall der invertierte Ausgang des ODER-Gatters 114 als Taktausgangssignal CLKOUT ausgegeben wird.
Die erfindungsgemäße digitale Taktsignalsynthese überlagert somit die mehrfachen Phasen des Mastertaktsignals miteinan- der, um den zu erzeugenden Takt zu bilden bzw. zu formen. Dies wird durch die oben beschriebene einfache UND-ODER- Schaltung erreicht. Für jede Taktsignalphase PCLK[] wird ein individuelles Aktivierungssignal PEN [ ] bereitgestellt. Alle elementaren Pulse mit hohem logischen Pegel des Multi- Phasen-Taktsignals, die aktiviert sind, werden mittels des ODER-Gatters verknüpft, um längere Pulse mit hohem logischen Pegel zu erzeugen. Grundsätzlich bestimmt das erste aktive Aktivierungssignal die positive Flanke des Ausgangssignals CLKOUT, und das erste nicht-aktive Aktivierungssig- nal bestimmt dessen negative Flanke. Nachdem die Perioden mit hohem logischen Pegel der Taktsignalphasen zeitlich verschoben sind, müssen deren Aktivierungssignale ausgerichtet sein, um ausreichende Einstell- und Halte-Zeiten (Set-Time und Hold-Time) zu garantieren. Dies wird dadurch erreicht, dass zusätzlich auch die Aktivierungssignale verzögert werden, wobei hier verschiedene Möglichkeiten für die Implementierung dieser Verzögerung existieren, wobei später noch eine bevorzugte Implementierung näher erläutert wird.
Der kürzeste Puls mit hohem logischen Pegel, der mit der in Fig. 3 gezeigten Schaltung erzeugt werden kann, wird eine Dauer des elementaren Taktpulses haben. Pulse mit niedrigem logischen Pegel können schmaler sein und sind lediglich durch die Phasenauflösung beschränkt. Sofern schmalere Pulse mit hohem logischen Pegel erwünscht sind, kann die oben beschriebene TaktSignalinvertierung ausgewählt werden. In Fig. 4 ist beispielhaft eine Taktüberlagerung für vier Taktsignale mit unterschiedlichen Phasen PCLK[0] bis PCLK[3] gezeigt, wobei durch die Ansteuerung der entsprechenden Aktivierungssignale PEN[0] bis PEN [3] die Synthese eines nicht-periodischen Taktsignals dargestellt ist. Das durch die Aktivierungssignale PEN [ ] festgelegte Aktivierungsmuster steuert die Länge der individuellen Perioden mit hohem logischen Pegel und der Perioden mit niedrigem logischen Pegel und formt die Pulszüge, die, wie erwähnt, in dem dargestellten Fall nicht periodisch sind. In Fig. 4 sind ferner die Ausgangssignale CC[0] bis CC[3] der UND- Gatter 112 wiedergegeben. Ferner ist der Ausgang des ODER- Gatters 114 CLKOUT dargestellt, und INVCLK ist zu 0 gewählt. Aus dem Verlauf des Ausgangstaktsignals CLKOUT ist zu erkennen, dass basierend auf dem Muster der Aktivierungssignale, wie sie bereitgestellt werden, im Ausgangstaktsignal die Periode mit hohem logischen Pegel und die Perioden mit niedrigem logischen Pegel jeweils unterschiedliche Länge aufweisen, und das Ausgangssignal auch nicht periodisch ist.
Nachfolgend wird anhand der Fig. 5 ein Beispiel für die Verzögerung der Aktivierungssignale näher erläutert, wobei in Fig. 5A die Signalverläufe der Signale, wie sie in Fig. 5B verwendet werden, dargestellt sind. Fig. 5 ist ein Beispiel, das von den ohnehin vorhandenen Verzögerungselementen in der Phasenüberlagerungseinheit und in der DLL 106 Gebrauch macht, so dass in Fig. 5B die entsprechenden Elemente mit den entsprechenden Bezugszeichen versehen sind. Tatsächlich ist Fig. 5B eine vergrößerte Darstellung eines Ausschnitts aus Fig. 3, wie ohne weiteres zu erkennen ist. In Fig. 5B sind die in den einzelnen Elementen auftretenden Verzögerungszeiten dargestellt.
Herkömmlicherweise wird die DLL-Schaltung 106, die das Mul- ti-Phasen-Taktsignal erzeugt, unter Verwendung von verzögerungsgesteuerten Puffern bereits realisiert. Das Signal, welches die Verzögerung der DLL-Pufferkettenelemente steu- ert, kann erneut verwendet werden, um alle Verzögerungen für die Aktivierungssignale zu replizieren. Die individuellen Verzögerungen können gemäß der nachfolgenden Berechnungsvorschrift dimensioniert werden:
tDEL(a) = δ + a-Φ = tC2p(a)-tC2Q-tSU
Figure imgf000019_0001
^-HOLD = ^CU _ "-DUΓY ~~ ""SU = ""CLK ^DUTγ — tc2p (V) + 1C2Q + 0
mit: oE (a) = Verzögerung des Aktivierungssignals PEN[a],
Δ = Verzögerung, a = 0, 1, 2, .... n-1, φ = Phase, tc2p(a) = Verzögerung der DLL 106, tc2Q = Verzögerung aufgrund des Eingangspuffers 108 t = SetUp-Zeit für das UND-Gatter 112, -HO D = Hold-Zeit für das UND-Gatter 112, tDimr = High-Periode des Taktsignals, und tC κ = Periode des Mastertaktsignals
Der Vorteil dieses analogen Verzögerungsmechanismus besteht darin, dass die Schaltung hinsichtlich Änderungen des Tastzyklus des Mastertaktsignals weitestgehend immun ist. Es ist nicht erforderlich, dass die Verzögerungsreproduktion sehr genau ist, nachdem die Einstell- und Haltezeit (tSu. tHOü) für das UND-Gatter 112 klein sind.
Alternativ zu dem oben beschriebenen Ansatz kann ein Zwi- schenspeicher-Mechanismus (Latch-Mechanismus) vorgesehen sein, der einige der Taktsignalphasen verwendet. Diese rein digitale Vorgehensweise hat jedoch den Nachteil, dass die Multi-Phasen-Taktsignalleitungen mit einer höheren Lastkapazität belastet sind. Nachfolgend wird ein zweites Ausführungsbeispiel der vorliegenden Erfindung näher erläutert, um ein periodisches Taktsignal, welches hinsichtlich Frequenz und Tastzyklus fast beliebig programmierbar ist, zu erstellen. Bei dieser Taktsignalinterpolation wird eine geeignete Sequenz von Aktivierungssignalen bereitgestellt, um das periodische Signal mit nahezu jeglicher Frequenz und jeglichem Tastzyklus bis hoch zur Mastertaktsignalgeschwindigkeit zu synthetisieren. Um das geeignete Aktivierungsmuster zu erzeugen, muss zunächst die Position der führenden Flanken des erwünschten Takts interpoliert werden, wozu der in Fig. 6 näher gezeigte primäre Flankeninterpolator PEI (PEI = Primary Edge Interpolator) herangezogen wird.
Der primäre Flankeninterpolator empfängt das Signal PERIOD, welches eine Periode des erwünschten Taktsignals anzeigt. Ebenso empfängt der Interpolator das Signal DUTY, welches den Tastzyklus des erwünschten Taktsignals angibt. Der Interpolator umfasst eine Mehrzahl von Latch-Speichern 120 bis 128, die mit dem Mastertaktsignal CLK getaktet sind und durch ein D-Flipflop gebildet sind.
Die nachfolgende Tabelle beschreibt die in der Beschreibung der nachfolgenden Figuren verwendeten Symbole.
Figure imgf000020_0001
Figure imgf000021_0001
Nachfolgend wird die Funktionalität des primären Flankenin- terpolators aus Fig. 6 näher erläutert. CMC bezeichnet einen freilaufenden Zähler, der bei jedem Mastertaktsignal- zyklus um 1 inkrementiert wird. Dieser schafft einen kontinuierlichen Zeitstempel für jeden Mastertaktsignalzyklus . T_EDGE ist der Zeitpunkt gemäß dem ZeitStempel, zu dem die nächsten führende Flanke auftreten muss. Dieser Zeitpunkt wird interpoliert, indem die Taktperiode (PERIOD) zu der vorhergehenden führenden Flanke hinzuaddiert wird, wie dies durch den Addierer 130 in Fig. 6 gezeigt ist. Immer wenn der nächste Zählwert und der nächste Zeitstempel der Flanke ein gleiches Ganzzahl-Bit haben, muss der nächste Zyklus eine führende Flanke enthalten. Ein aktives EDGE-Signal zu- sammen mit dem Flankenerzeugungszeitpunkt T_EDGE zeigt dieses Ereignis, dass der nächste Zyklus eine führende Flanke haben muss, am Ausgang an. Nur eine führende Flanke pro Mastertaktsignalzyklus kann bei der in Fig. 6 gezeigten Schaltung auftreten. Das Signal PERIOD wird im Latch- Speicher 126 bei jeder führenden Flanke zwischengespeichert, um Nebeneffekte zu vermeiden, wenn dieses Signal während des Zyklus des gerade erzeugten Taktsignals verän- 5 dert wird. Parallel zu der Taktsignalperiode wird die Dauer des erwünschten Taktsignalpulses T_LEN, also die Zeit zwischen der führenden Flanke und der nachfolgenden Flanke berechnet, und über den Latch-Speicher 128 am Ausgang bereitgestellt. Dies ist eine Funktion des Tastzyklus, der zwi- 0 sehen 0 und 1 ist. Es ist ebenfalls darauf zu achten dass auch dann wenn der Multi-Phasen-Takt deaktiviert wird, die vorhergehende Aktivierungstaktsignalphase für eine vorbestimmte Zeit immer noch beibehalten wird, wobei gilt:
* ^ sustain masteifhigh T
mit : sustain = Beibehaltungszeit tmaster,hig = Zeitdauer bei der der Mastertakt auf 20 einem hohen Pegel ist, φ = Phase
Daher muss die Pulsdauer des erzeugten Taktes, die basierend auf dem Tastzyklus berechnet wird, um die Beibehal- 25 tungszeit reduziert werden.
Erfindungsgemäß können die Periode des erwünschten Taktsignals und/oder der Tastzyklus des erwünschten Taktsignals während des Betriebs (on the fly) verändert werden, wobei
30 diese Änderungen mit dem nächsten synthetisierten Taktsig- nalzyklus wirksam werden. Die Annahme des Signals PERIOD und des Signals DUTY werden mittels eines Bestätigungssignals ACK angezeigt. Mittels des Initialisierungssignals INT kann der erzeugte Takt sofort auf 0 gezwungen werden. Nach
35 der Ausgabe des Signals INIT an die Schaltung in Fig. 6 wird eine führende Flanke nach einer Periode gemäß dem Signal PERIOD ausgegeben. Nachdem die primäre oder vorauseilende Flanke des erwünschten Taktsignals berechnet wurde, muss nun die nachfolgende/sekundäre Flanke ausgehend von der führenden/primären Flanke berechnet werden, was bei dem dargestellten Ausführungsbeispiel mittels des sekundären Flankenberechners SEC (SEC = secondary edge calculator) erfolgt, dessen bevorzugter Aufbau in Fig. 7 im Detail dargestellt ist. Wie zu erkennen ist, empfängt der SEC eine Mehrzahl von Eingangssig- nalen, welche in der obigen Tabelle bereits erläutert wurden. Zusätzlich umfasst die Schaltung eine Mehrzahl von Latch-Speichern 134 bis 140. Die Schaltung gemäß Fig. 7 arbeitet derart, dass die erwünschte Pulslänge zu dem Zeitpunkt der Ausgabe der Flanke durch den Interpolator in Fig. 6 hinzuaddiert wird, wie dies durch den Addierer 142 in Fig. 7 dargestellt ist. Falls noch eine sekundäre Flanke darauf wartet, für den derzeitigen Masterzyklus ausgegeben zu werden, wird die neue sekundäre Flankenzeit um einen Masterzyklus verzögert. Diese wird in diesem Masterzyklus nicht benötigt, da pro Zyklus lediglich eine sekundäre Flanke zugelassen ist.
Das die Erzeugung der führenden Flanke anzeigende Signal LEAD und die Position der führenden Flanken P_LEAD inner- halb des Mastertakt-Zyklusses werden im Zwischenspeicher 134 bzw. 138 zwischengespeichert. Das die Erzeugung der nachfolgenden Flanke anzeigende Signal TRAIL wird gesetzt, sobald der Zeitstempel des nächsten Mastertaktzyklus gleich dem ganzzahligen Anteil der berechneten Position der nach- folgenden Kante (Flanke) ist, wie dies durch die Vergleichsoperationen 144 und 146 angedeutet ist. Dieser Vergleich muss auch für die verzögerte Version der Startzeit durchgeführt werden (siehe Vergleicherelement 146, das die im Speicher 140 zwischengespeicherte und damit verzögerte Version empfängt. Die Positionen der Flanken innerhalb eines Zyklus werden durch die nicht-ganzzahligen Anteile der berechneten Kantenpositionen beschrieben (sub cycle Position) . Nachdem auf die oben beschriebene Art und Weise nun die Kantenpositionen und die Erzeugungs-Flags bereitgestellt wurden, kann mittels der Phasenaktivierungseinheit PEU (PEU = phase enable unit) , die in Fig. 8 gezeigt ist, das für die Erzeugung des erwünschten Taktsignals erforderliche Aktivierungssignalmuster abgeleitet werden. Die in Fig. 8 gezeigten Phasenaktivierungsfunktion erzeugt das Aktivierungsmuster lediglich für eine einzelne Flanke, und das Aktivierungsmuster für einen Gesamtpuls ergibt sich durch die Überlagerung von zwei Phasenaktivierungsmustern, wie dies in Fig. 8 gezeigt ist.
In der nachfolgenden Tabelle ist die Phasenaktivierungsfunktion nochmals verdeutlicht.
Figure imgf000024_0001
Die Flankenerzeugungsflags aktivieren die entsprechenden Flankenaktivierungsmuster, wobei das Muster betreffend die nachfolgende Flanke ferner invertiert wird. Abhängig von dem Signal SUSTAIN werden die zwei Muster entweder mittels einer ODER-Funktion 148 oder einer UND-Funktion 150 kombiniert. Die Auswahl erfolgt mittels eines Multiplexers 152, der durch das Signal SUSTAIN, welches im Zwischenspeicher 154 bereitsteht, angesteuert wird. Das Aktivierungssignal PEN wird im Zwischenspeicher 156 zwischengespeichert und unter Steuerung des Mastertaktsignals CLK ausgegeben. Das Signal SUSTAIN ist vorgesehen, um zu speichern, ob die letzte ausgegebene Flanke eine führende Flanke oder eine nachfolgende Flanke war. Das Signal SUSTAIN wird durch ein einzelnes LEAD-Signal gesetzt, und durch ein einzelnes TRAIL-Signal zurückgesetzt. Wenn weder das Signal LEAD noch das Signal TRAIL ausgegeben werden, behält das Signal SUSTAIN seinen Status bei, wie dies aus dem Signalverlauf in Fig. 9 zu entnehmen ist. Wenn beide Kanten in einem Mastertaktzyklus auftreten, bestimmen deren Position den Wert des Signals SUSTAIN. Durch das Signal SUSTAIN wird somit sichergestellt, dass in Zyklen, in denen keine Flankenaktivität existiert, die korrekte Taktsignalpolarität beibehalten wird.
In Fig. 10 ist eine Takterzeugungseinheit CGU (CGU = Clock Generation Unit) gezeigt, in der die im vorhergehenden beschriebenen einzelne Module kombiniert sind, um einen frei programmierbaren, freilaufenden Takt zu erzeugen. Der primäre Flankeninterpolator berechnet aufeinanderfolgende Po- sitionen der führenden Taktflanke und der Pulslängen der Taktsignale mit hohem logischen Pegel. Der sekundäre Flankenberechner leitet die Position der nachfolgenden Flanke ab. Die Phasenaktivierungseinheit kombiniert ein Phasenaktivierungsmuster aus diesen Informationen, und in der Pha- senüberlagerungseinheit werden die aktivierten MultiZyklus-Taktsignale mit hohen logischen Pulsen logisch mittels einer ODER-Verknüpfung kombiniert, um so das Ausgangssignal CLKOUT, welches das erwünschte Taktsignal ist, zu erzeugen.
Fig. 11 zeigt den Signalverlauf für eine Taktsignalüberlagerung unter Verwendung von vier Phasen PCLK[0] bis PCLK[3], wobei in Fig. 11 die binären Werte für die Signale PERIOD, DUTY und T_LEN angegeben sind. Fig. 11 zeigt ein Beispiel für die Taktsignalsynthese unter Verwendung eines Multi-Phasen-Mastertaktsignals mit lediglich vier Phasen, wobei dies aus Gründen der Übersichtlichkeit gewählt wurde. Es wird darauf hingewiesen, dass die Bruchteilgenauigkeit des Interpolators höher ist, als dies erforderlich wäre, zwischen den vier Phasen zu unterscheiden, was jedoch sinnvoll ist, da dies die Auflösung für die mittlere erzeugte Frequenz erhöht. Phasenpositionen, die das Phasengitter nicht treffen, werden auf die nächstniedrige Phase abgerundet.
Aufgrund dieses Rundungsvorgangs, der aus den oben genannten Gründen durchgeführt wird, wird ein systematischer Jit- ter eingebracht, wie er in Fig. 12 aus dem Vergleich eines idealen Ausgangssignals mit einem realen Ausgangssignal ergibt. Der Betrag von Spitzenwert zu Spitzenwert dieses Jit- ters ist gleich der Phasenauflösung. Dieser Jitter wird zu dem intrinsischen Jitter der Multiphasentaktsignale hinzu- geführt, so dass gilt:
•-(jitter.CLKOUT) = '"(j.tter.PCLK) + Φ
Die Breite des Zählers (i) für den Mastertaktzyklus wird durch die maximale Taktzyklusperiode bestimmt, die synthetisiert werden kann, wobei sich die maximale Taktzyklusperiode wie folgt berechnet:
1 2l
CLKOUT.MAX ~~ r. ~
^CLKOUT.MIN rC K
Die erforderliche Zählergenauigkeit i ergibt sich dann wie folgt:
Figure imgf000026_0001
mit fcLK = Frequenz des Mastertaktsignals, und fcKMiN = minimale Frequenz, die zu synthetisieren ist Aufgrund der beschränkten Interpolatorauflösung können nur diskrete Taktperioden mit einer Granularität ΔtCκouτ erzeugt werden. Δt berechnet sich wie folgt:
1
Δt CLKOUT
LCLK
Frequenzen können mit diskreten Schritten von ΔfCLκouτ erzeugt werden, wobei die Schritte für höhere, synthetisierte Frequenzen zwischen möglichen Werten größer werden, so dass gilt:
Figure imgf000027_0001
iAΛttCLKOUT
Um die erforderliche Bruchteilauflösung des Interpolators festzustellen, muss die maximale Frequenz, die zu synthetisieren ist, berücksichtigt werden, so dass für die erforderliche Bruchteilauflösung k des Interpolators gilt:
Figure imgf000027_0002
Wenn die maximale Frequenz gleich der Master-Taktsignal- Frequenz ist, kann die Gleichung für k wie folgt vereinfacht werden:
Figure imgf000027_0003
Beispielhaft sei ein Mastertakt mit eine Frequenz von 250 MHz mit 32 Phasen angenommen. Basierend auf diesem Mastertakt soll ein Takt mit einem Frequenzbereich von 1,0MHz bis zur Mastertaktfrequenz erzeugt werden, mit einer Genauigkeit von 20ppm. Für dieses Beispiel gilt:
Figure imgf000027_0004
k >
Figure imgf000028_0001
Für dieses Beispiel muss der Interpolator somit 8 ganzzah- lige Bits (integer bits) und 16 Bruchzahlbits (fractional bits) aufweisen, also 24 Bit insgesamt.
Nachfolgend wird ein weiteres bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung beschrieben. Bei vielen Anwendungen ist es wünschenswert, ein Taktsignal zu erzeugen, welches eine definierte Phasenbeziehung und eine definierte Frequenzbeziehung zu einem Synchronisationssignal aufweist. Ein typisches Beispiel hierfür ist der Abtasttakt für eine analoge Videoschnittstelle. In dieser Situation wird normalerweise ein horizontales Synchronisationssignal pro Zeile bereitgestellt. Die Pixelfrequenz ist ein definiertes ganzzahliges Vielfaches dieses Abtasttaktes. Das Synchronisationssignal und der Pixeltakt sind nicht notwendigerweise in Phase, und die Phase muss auch durch einen Anwender einstellbar sein.
Gemäß dem beschriebenen Ausführungsbeispiel müssen zunächst die Flanken in dem Synchronisationssignal bestimmt werden, um ein Flankenmuster zu erhalten. Hierfür ist eine Flanken- erfassungseinheit EDU (EDU = Edge Detection Unit) vorgesehen, die in Fig. 13 gemäß einem bevorzugten Ausführungsbeispiel dargestellt ist. Die Kantenerfassungseinheit empfängt das Synchronisationssignal SYNC, welches einer Mehrzahl von Zwischenspeichern 160 zugeführt wird. Jeder der Zwischen- Speicher 160 empfängt eines der Taktsignale PCLK[] . Ähnlich wie in Fig. 3 sind auch hier Verzögerungselemente 162 vorgesehen, welche die von den Speichern 160 ausgegebenen Signale gemäß einer vorbestimmten Verzögerung verzögern und an einen Ausgangspuffer 164 weitergeben, der ferner das Mas- tertaktsignal CLK empfängt. Der Ausgangspuffer 164 stellt an dessen Ausgang die Signale EDP[] bereit. Mit dem Mehr- fach-Phasen-Taktsignal ist es einfach möglich, die zeitliche Position von Signaländerungen in dem Synchronisationssignal zu messen. Für jeden Mastertaktsignalzyklus wird das Synchronisationssignal mit allen Taktsignalen in den Speichern 160 zwischengespeichert, und die zwischengespeicherten Ergebnisse werden unter Verwendung der Verzögerungselemente 162, die beispielsweise die gleichen Elemente, die in Fig. 3 mit 110 bezeichnet wurden, sein könnten, in zeitlicher Anordnung ausgerichtet.
Das zwischengespeicherte Muster reflektiert das Signalverhalten innerhalb des vorhergehenden Mastertaktzyklus mit der bereitgestellten Phasenauflösung. Dieses Muster, zusammen mit dem freilaufenden Mastertaktsignalzähler ermöglicht es, dem Auftreten von Signaländerungen Zeitstempel zuzuordnen. Unter Verwendung des in Fig. 14 beispielhaft gezeigten Flankenpositionsdecoders EPD (EPD = Edge Position Decoder) kann das durch die Kantenerfassungseinheit EDU erzeugte Flankenmuster hinsichtlich einer Flanke mit einer gewünsch- ten Polarität POL untersucht werden. Der Flankenpositionsdecoder empfängt hierfür zum einen das Flankenmuster EPD[] sowie ein die Polarität anzeigendes Signal POL. Die in Fig. 14 gezeigte Flankenpositionsfunktion sucht lediglich nach positiven Flanken, jedoch können mit einer einfachen Inver- tierung des Eingangsmusters auch negative Flanken gesucht werden. Die Spike-Unterdrückung unterdrückt vorübergehende Änderungen des Eingangssignals, so lange diese unterhalb einer vorbestimmten Schwelle sind. Dies erfordert es, dass der Verlauf des Signals in dem vorhergehenden Zyklus be- kannt ist, was durch das Register 166 sichergestellt ist. Über die Zwischenspeicher 168 und 170 werden die Signale DET bzw. P_DET ausgegeben.
In der nachfolgenden Tabelle ist ein Beispiel für die Flan- kenpositionsfunktion wiedergegeben.
Figure imgf000030_0001
Sobald die genauen Zeitstempel der aufeinanderfolgenden Flanken des Synchronisationssignals bekannt sind, können die geeigneten Parameter für den synchronen Ausgangstakt unter Verwendung des in Fig. 15 gezeigten Taktparameterberechners CPC (CPC = Clock Parameter Calculator) berechnet werden.
Die Messung der Synchronisationsflanke fand drei Zyklen vorher statt, so dass der derzeitige Zählwert korrigiert werden muss. Der Zeitstempel für das vorhergehende Synchronisationsereignis wird als T_SYNC im Register 172 gespeichert. Mit jedem neuen Synchronisationsereignis wird die Differenz zwischen den Zeitstempeln, oder mit anderen Worten die Periode des Synchronisationssignals berechnet und als Signal DT_SYNC im Speicher 174 gespeichert. Überdies wird die gemessene Periode unter Verwendung eines infiniten Impulsantwortfilters 176 gefiltert, um das Filterausgangs- signal DT_FILT zu erhalten. Dies reduziert die Empfindlichkeit der Schaltung gegenüber Jitter in dem Synchronisationssignal.
Die genaue Position des Synchronisationsereignisses (T_SYNC) wird durch die Differenz zwischen der gemessenen Synchronisationsperiode und einer idealen (gefilterten) Synchronisationsperiode korrigiert. Das erste Taktsignal sei mit einer definierten Verschiebung (Signal OFSET) von dem idealen (korrigierten) Synchronisationsereigniszeit- stempel synthetisiert.
Die gefilterte Synchronisationsperiode (Signal DT_FILT) wird ferner verwendet, um die Periode des zu synthetisierenden Taktsignals (Signal PERIOD) zu bestimmen. Dies wird wirksam dadurch erreicht, dass die Synchronisationsperiode durch die Anzahl von synthetisierten Taktsignalen, die zwischen zwei aufeinanderfolgenden Synchronisationsereignissen (Signal SAMPLES) auftreten, dividiert wird, wie dies durch die Blöcke 178 und 180 in Fig. 15 gezeigt ist.
Hinsichtlich der in Fig. 15 dargestellten Schaltung des Taktsignalparameterberechners ist darauf hinzuweisen, dass dieser nicht für hohe Mastertaktsignalgeschwindigkeiten optimiert ist. Insbesondere bewirken die zwei Multiplizierer 180 und 182 eine signifikante Verzögerung. Das Ausgangs- Flip-Flop 184 kann jedoch deren Ergebnisse zu einem späteren Zyklus Zwischenspeichern, oder sie können pipelinemäßig ausgebaut sein. In Anwendungen, bei denen sich die Synchronisationsperiode nur moderat ändert, kann das Signal DT_FILT der vorhergehenden Messung verwendet werden, um Zeit für die Berechnung zu gewinnen. Die reziproke Anzahl von Abtastwerten (Signal SAMPLES) kann softwaremäßig vorab berechnet werden.
Das Filter 176 für die Synchronisationsperiode kann in verschiedenen Formen ausgebildet sein, die den Verlauf der Periodenmessungen ausnutzen. Der Typ des erforderlichen Fil- ters hängt sehr stark von der Anwendung und der Stabilität des ankommenden Synchronisationssignals ab. Fig. 16 zeigt ein Beispiel für ein IIR-Filter 176, welches eine einfache Implementierung des Filters darstellt, die eine gewichtete Addition der gefilterten Messung und der derzeitigen Mes- sung gemäß folgender Gleichung durchführt: P+(2 -l)PFn iflP-PR l≤PT
PFn+1 =
P iflP-PF„|>PT
Wenn die gemessene Periode sich um mehr als eine programmierbare Schwelle THRESHOLD ändert, wird das Filter 176 so- fort wirksam, so dass sich als ein Ergebnis der Jitter unterdrücken lässt und Frequenzänderungen ohne Verzögerung gefolgt wird.
Gemäß dem hier beschriebenen Ausführungsbeispiel wird nun anstelle des anhand der Fig. 6 beschriebenen primären Flan- keninterpolators ein neuer primärer Flankeninterpolator PEI2 für die Taktsignalsynchronisation verwendet. Die Schaltung erzeugt immer eine primäre Flanke, zum Zeitpunkt des Erhalts der Zeitstempels PHASE, und schaltet dann auf die neue Taktsignalperiode. Bevor dieser Zeitstempel erhalten wird, ist die vorhergehende Taktsignalperiode aktiv. Ferner werden aufeinanderfolgende Taktflanken mit dem Wert des Signals PHASE verglichen. Um die Einfügung einer kürzeren Taktperiode unmittelbar vor dem Empfang des Zeitstem- pels PHASE zu vermeiden, werden solche Flanken ausgelassen. Es sei darauf hingewiesen, dass dieser synchronisierbare Phasenflankeninterpolator ein Taktsignal mit einem festen Tastverhältnis von 50% erzeugt.
Wie aus einem Vergleich mit den Fig. 17 und 6 zu entnehmen ist, werden durch den neuen Interpolator die gleichen Ausgangssignale erzeugt, wie beim Interpolator aus Fig. 6, die dann nachfolgend den bereits oben beschriebenen Einheiten SEC, PEU und POU zur Erzeugung des Taktsignals CLKOUT be- reitgestellt werden.
In Fig. 18 ist ein Beispiel für eine synchrone Taktsignal- erzeugungseinheit SCGU (SCGU = Synchronous Clock Generation Unit) gemäß dem oben beschriebenen Ausführungsbeispiel dar- gestellt. Die in den vorhergehenden Figuren beschriebenen Elemente sind zu der Gesamteinheit SCGU zusammengefasst, wobei in Fig. 18 diese jeweiligen Elemente bzw. Einheiten empfangenen und ausgegebenen Signale dargestellt sind. Die oben beschriebenen Blöcke oder Einheiten sind zu den in Fig. 18 dargestellten digitalen synchronen Taktgenerator kombiniert. Eine Synchronisationsflanke wird erfasst und ein Zeitstempel wird dem Synchronisationsereignis zugeordnet. Anschließend wird die Periode zwischen den Synchronisationsereignissen berechnet. Mit diesen Informationen werden die Parameter für den zu synthetisierenden Takt be- stimmt. Unter Kenntnis dieser Parameter kann die oben beschriebene Schaltung für den freilaufenden Taktgenerator verwendet werden, mit einer geringfügigen Änderung hinsichtlich der Verwendung des primären Flankeninterpolators .
Bei einigen Anwendungen kann es zusätzlich erforderlich sein, ein ideales Synchronisationssignal zu rekonstruieren, das perfekt mit dem synthetisierten Taktsignalen ausgerichtet und ohne Jitter ist. Dies kann durch Verwendung einer weiteren Phasenüberlagerungseinheit zusammen mit einiger weiterer digitaler Signalverarbeitung erreicht werden. Mittels des Synchronisationszeitstempels, dessen Periode und dessen Abtastwertverschiebung kann ein synthetisches Synchronisationssignal einfach als weiterer Takt erzeugt werden.
Jeder Zeitstempel zwischen zwei Synchronisationsereignissen muss gleich sein, so dass die Ganzzahlgenauigkeit des Interpolators durch die minimale Synchronisationsfrequenz bestimmt ist.
Figure imgf000033_0001
Zwischen zwei Synchronisationsereignissen läuft der Syn- chronisationstakt frei und erfährt einen Phasenfehler (Δt ) , der eine Funktion der Anzahl von interpolierten Taktperioden und der Bruchteilauflösung des Interpolators ist.
1 CLK, MAX Δt = -
2 -f XCLK -f ^SYNC.MIN
Die Bruchteilinterpolationsgenauigkeit bestimmt sich wie folgt :
k > für Δt Φ
k >
Figure imgf000034_0001
Beispielhaft sei eine Graphikanwendung betrachtet. Hier soll ein Pixelabtasttakt (ACLK, 25...210MHz) aus einem horizontalen Synchronisationssignal (HSYNC, 15...115kHz) erzeugt werden, wobei ein Mastertakt mit 250MHz und 32 Phasen verwendet wird. Hier gilt:
i > log; LCLK > 14,02 - i = 15 1CLKOUT,MIN )
Figure imgf000034_0002
k ≥ +5«18,77→k=19
Figure imgf000034_0003
Der Flankeninterpolator muss somit 15 ganzzahlige Bits und 19 Bruchteilbits, also 34 Bits im Ganzen, umfassen. Fig. 19 zeigt ein Blockdiagramm eines System zur beliebigen Taktsynthese (Arbitrary Clock Synthesis) gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Dieses System schafft die Möglichkeit, eine Mehrzahl beliebiger Takt zu erzeugen (Arbitrary Clock Synthesis) .
Das System umfasst eine Mehrzahl von Flankenerfassungseinheiten EDU, die jeweils ein externes Synchronisationssignal SYNC[] sowie die von der DLL (Fig. 1) auf der Grundlage des Mastertaktsignals erzeugten Taktsignale PCLK[] empfangen. Die Ausgangssignale der Flankenerfassungseinheiten EDU werden einer Taktberechnungsschaltung CCC (CCC = Clock Calcu- lation Circuitry) zugeführt, die ferner den Mastertakt CLK empfängt. Die CCC umfasst einen Mastertaktzähler MCC (MCC = Master Clock Counter) . Die CCC gibt die erzeugten Ausgangssignale an eine Mehrzahl von Phasenüberlagerungseinheiten POU aus, die basierend auf diesen Signalen sowie auf den Taktsignalen PCLK[] die erwünschten Taktsignale CLKOUT [] (eines oder mehrere) erzeugt.
Gemäß diesem allgemeineren Ansatz kann eine beliebige Anzahl von Takten CLKOUT [] von demselben Multiphasentaktsig- nal CLK synthetisiert werden, wobei der Zeitverlauf des Taktausgangs von einer beliebigen Anzahl von Synchronisati- onssignalen SYNC[] abhängen kann. Bei diesem Ausführungs- beispiel ist der Mastertaktzähler MCC vorgesehen, der bei jedem Mastertaktzyklus inkrementiert wird, wodurch ein gemeinsames Zeitreferenzsystem gebildet wird. Durch Verwendung dieser Referenz können Zeitstempel jedem tatsächlichen oder auch jedem hypothetischen Ereignis (z.B. steigende o- der fallende Flanke) in dem gesamten Takterzeugungssystem zugeordnet werden. Um die zeitliche Position des Ereignisses zwischen diskreten Mastertaktereignissen auszudrücken, können Bruchzahlen mit nahezu unbeschränkter Genauigkeit verwendet werden.
Zeitstempel werden steigenden Flanken und fallenden Flanken des externen Synchronisationsereignis zugeordnet, werden jedoch auch Flankenpositionen von potenziell komplexen und unregelmäßigen Taktsignalen zugeordnet. Der abstrakte Begriff „Zeitstempel" ermöglicht die arithmetische Verarbeitung der Ereignisse. Beliebige Taktformen können damit be- rechnet werden, und Taktsignale mit vorbestimmter Beziehung untereinander und zu externen Ereignissen können einfach erzeugt werden.
Nachfolgend wird anhand der Fig. 20 und 21 ein weiteres Ausführungsbeispiel der vorliegenden Erfindung beschrieben. Gemäß diesem Ausführungsbeispiel erfolgt eine Spread- Spektrum Taktsignalsynthese. Die Periode des erzeugten Taktsignals kann auf einfache Art und Weise im digitalen Bereich moduliert werden. Eine Schaltung ist vorgesehen, wie sie in Fig. 20 gezeigt ist, welche dazu dient die synthetisierte Taktsignalperiode zwischen zwei Extremwerten mit einer definierbaren Steigung zu bewegen. Die in Fig. 20 gezeigte Schaltung ist ein Spread-Spektruminterpolator, der als Eingangssignal das Taktsignal empfängt sowie ein den Bereich angebendes Signal RANGE, ein die Steigung angebendes Signal SLOPE und ein den Mittelwert angebendes Signal MEAN. Nach jedem erzeugten Taktzyklus wird die Periode um einen Periodendeltawert (SLOPE) inkrementiert, bis die Periode eine obere Grenze (MEAN + RANGE) erreicht. Nach dem Erreichen der oberen Grenze wird die aktuelle Taktperiode wieder dekrementiert, bis dieselbe eine untere Grenze (MEAN - RANGE) erreicht. Dies wird zyklisch wiederholt, so dass sich das in Fig. 21 wiedergegebene Sweep-Verhalten ergibt.
Die Frequenz zeigt nicht-lineare Veränderungen über der Zeit, jedoch ist diese, so lange der Modulationsbereich klein ist (RANGE « als MEAN) , ist dieser nahezu linear, Gelten die nachfolgenden Berechnungsvorschriften: f mean _J , _ f high - , L_ . f low = mean mean ränge mean ränge
_ ~ sl°Pe _ + . (f Λ , — r , 3 slope V mean
\ mean /
Anhand der Fig. 22 wird nachfolgend eine mögliche Implementierung des erfindungsgemäßen Verfahrens und der erfin- dungsgemäßen Vorrichtung in modularer Bauweise näher erläutert. Die digitale Taktsignalsynthese wird am besten unter Verwendung eines modularen Ansatzes implementiert. Die DLL- Schaltung 106, die Phasenüberlagerungseinheiten POU und die Flankenerfassungseinheit EDU sollten miteinander ausgerich- tet sein, um eine kaskadische Anordnung derselben zu ermöglichen. Die DLL-Schaltung 106 stellt die Multi-Phasen- Taktsignale und die Steuerungsspannung für die Verzögerungselemente bereit. Alle Module verwenden eine gemeinsame Leistungsschiene (power rail) .
Es wird eine maximale Belastung für die Multi-Phasen- Taktsignale und die Verzögerungssteuerungsspannung existieren, so dass zur Verbindung einer Mehrzahl von Phasenüberlagerungseinheiten POU und Flankenerfassungseinheiten EDU eine Wiedergewinnungseinheit RU (RU = Recovery Unit) eingefügt werden kann. Ferner kann vorgesehen sein, zusätzliche Module auf der anderen Seite der DLL 106 vorzusehen.
Bei der Phasenüberlagerungseinheit PDU und der Flankener- fassungseinheit EDU handelt es sich im Prinzip um digitale Einheiten, jedoch ist für eine genaue Verzögerungssteuerung eine geeignete Anpassung an die DLL-Schaltung 106 gemäß a- nalogen Entwicklungsregeln vorteilhaft.

Claims

Patentansprüche
1. Verfahren zum Erzeugen eines Taktsignals (CLKOUT) mit vorbestimmten Taktsignaleigenschaften (PERIOD, DUTY,
PHASE), mit folgenden Schritten:
(a) Bereitstellen einer Mehrzahl von Taktsignalen
(PCLK[n-l: 0] ) mit im wesentlichen gleicher Fre- quenz und jeweils verschiedenen Phasenbeziehungen
(φ) bezüglich eines Mastertaktsignals (CLK) ; und
(b) basierend auf einem Steuersignal (PEN[]), das abhängig von dem zu erzeugenden Taktsignal (CLKOUT) bereitgestellt wird, Auswählen vorbestimmter
Taktsignale aus der Mehrzahl von bereitgestellten
Taktsignalen (PLK[n-l:0]) und Zusammenfassen der ausgewählten TaktSignale, um das Taktsignal
(CLKOUT) zu erzeugen.
2. Verfahren nach Anspruch 1, bei dem im Schritt (b) die Pulse mit hohem logischen Pegel der ausgewählten Taktsignale (PCLK) zusammengefasst werden, um das Taktsignal (CLKOUT) mit einem Puls mit hohem logischen Pegel und vorbestimmter Pulsdauer zu erzeugen.
3. Verfahren nach Anspruch 1 oder 2, bei dem abhängig von dem bereitgestellten Steuersignal (PEN) die Dauer der einzelnen Pulse mit hohem logischen Pegel, die Dauer der einzelnen Pulse mit niedrigem logischen Pegel und die Form des Pulszuges des zu erzeugenden Taktsignals (CLKOUT) gesteuert wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem die kürzeste Dauer eines Pulses mit hohem logischen Pegel durch die Dauer des Pulses mit hohem logischen Pegel des Mastertaktsignals (CLK) festgelegt ist, und bei dem die kürzeste Dauer eines Pulses mit niedrigem logischen Pegel durch die Phasenauflösung bestimmt ist.
5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem das Steuersignal eine Mehrzahl von Aktivierungssignalen
(PEN[n-l:0]) umfasst, wobei ein Aktivierungssignal (PEN[]) für jedes der Mehrzahl von Taktsignalen (PCLK[]) vorgesehen ist, und wobei die Aktivierungssignale (PEN[]) verzögert bereitgestellt werden, um eine Ausrichtung derselben einzustellen, um die vorbestimmten Taktsignaleigenschaften des zu erzeugenden Taktsignals (CLKOUT) sicherzustellen.
6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem der Schritt (b) das Bereitstellen einer Aktivierungssignalsequenz (PEN) umfasst, um ein periodisches Taktsignal mit vorbestimmter Frequenz und vorbestimmtem Tastverhältnis zu erzeugen.
7. Verfahren nach Anspruch 6, bei dem der Schritt des Bereitsteilens der Aktivierungssignalsequenz (PEN) folgende Schritte umfasst:
Bestimmen einer Position der führenden Flanke in dem zu erzeugenden Taktsignal;
Bestimmen einer Position der nachfolgenden Flanke in dem zu erzeugenden Taktsignal, ausgehend von der Position der führenden Flanke; und
basierend auf der Position der führenden Flanke und auf der Position der nachfolgenden Flanke, Erzeugen der Aktivierungssignalsequenz (PEN) .
8. Verfahren nach Anspruch 7, bei dem das zu erzeugende Taktsignal (CLKOUT) eine definierte Phasen- und Frequenzbeziehung zu einem Synchronisationssignal (SYNCH) aufweist, mit folgenden Schritten vor dem Bestimmen der Position einer führenden Flanke:
Erfassen von Signalzustandsänderungen in dem Synchronisationssignal (SYNC) , um ein Flankenmuster zu erzeugen;
Bestimmen von Flanken mit einer vorbestimmten Polarität (POL) in dem Flankenmuster; und
basierend auf den bestimmten Flanken des Synchronisationssignal (SYNC) , Bestimmen der Periode und der Phase des zu erzeugenden synchronisierten Taktsignals.
9. Verfahren nach einem der Ansprüche 1 bis 8, bei dem die
Periode des erzeugten Taktsignals (CLKOUT) moduliert wird, um ein Spread-Spektrum Taktsignal zu erhalten, wobei das Verfahren nach jedem erzeugten Taktsignalzyk- lus folgende Schritte umfasst:
- Inkrementieren der Periode um einen vorbestimmten Wert, bis eine obere Grenze erreicht ist;
- Dekrementieren der Periode um einen vorbestimmten Wert, bis eine untere Grenze erreicht ist; und
zyklisches Wiederholen des Inkrementierens und des Dekrementierens .
10. Verfahren nach einem der Ansprüche 1 bis 9, bei dem bei der Erzeugung des Taktsignals ein Zeitstempel oder mehrere Zeitstempel erzeugt werden.
11. Verfahren nach Anspruch 10, bei dem ein Zeitstempel bei einer steigenden Flanke und/oder bei einer fallenden Flanke des erzeugten Taktsignals erzeugt wird.
12. Verfahren nach Anspruch 10 oder 11, bei dem basierend auf dem Mastertaktsignal ein Zeitstempel oder mehrere Zeitstempel erzeugt werden, die einem oder mehreren externen Synchronisationssignalen und/oder dem erzeugten Taktsignal zugeordnet werden.
13. Verfahren nach Anspruch 12, bei dem eine Beziehung zwischen einer oder mehreren Flanken des erzeugten Taktsignals und den Flanken des externen Synchronisations- signals basierend auf den Zeitstempeln geregelt wird, die diesen Signalen zugeordnet sind.
14. Verfahren nach einem der Ansprüche 1 bis 13, bei dem basierend auf den im Schritt (a) bereitgestellten Takt- Signalen eine Mehrzahl von unabhängigen Taktsignalen erzeugt wird.
15. Vorrichtung zum Erzeugen eines Taktsignals (CLKOUT) mit vorbestimmten Taktsignaleigenschaften (PERIOD, DUTY, PHASE), mit:
einem Multi-Phasen-Taktgenerator (106) zum Bereitstellen einer Mehrzahl von Taktsignalen (PCLK[n-l:0] mit im wesentlichen gleicher Frequenz und jeweils verschiede- nen Phasenbeziehungen (φ) bezüglich eines Mastertaktsignals (CLK) ; und
einer Phasenüberlagerungseinheit (POU) , die basierend auf einem Steuersignal (PEN) , das abhängig von dem zu erzeugenden Taktsignal (CLKOUT) bereitgestellt wird, vorbestimmte Taktsignale aus der Mehrzahl von bereitgestellten Taktsignalen (PCLK) auswählt und die ausgewählten Taktsignale zusammenfasst, um das Taktsignal (CLKOUT) zu erzeugen.
16. Vorrichtung nach Anspruch 15, mit: einem primären Flankeninterpolator (PEI; PEI2) zum Bestimmen einer Position der führenden Flanke in dem zu erzeugenden Taktsignal;
einem sekundären Flankenberechner (SEC) zum Bestimmen einer Position der nachfolgenden Flanke in dem zu erzeugenden Taktsignal, ausgehend von der Position der führenden Flanke; und
einer Phasenaktivierungseinheit (PEU), um basierend auf der Position der führenden Flanke und auf der Position der nachfolgenden Flanke eine Aktivierungssignalsequenz zu erzeugen.
17. Vorrichtung nach Anspruch 16, bei dem das zu erzeugende Taktsignal eine definierte Phasen- und Frequenzbeziehung zu einem Synchronisationssignal (SYNC) aufweist, mit:
einer Flankenerfassungseinheit (EDU) , um Signalzu- standsänderungen in dem Synchronisationssignal (SYNC) zu erfassen, um ein Flankenmuster zu erzeugen;
einem Flankenpositionsdecoder (EPD) , um Flanken mit ei- ner vorbestimmten Polarität (POL) in dem Flankenmuster zu bestimmen; und
einem Taktparameterberechner (CPC) , um basierend auf den bestimmten Flanken des Synchronisationssignals (SYNC) die Periode und die Phase für das zu erzeugende synchronisierte Taktsignal zu bestimmen.
18. Vorrichtung nach einem der Ansprüche 15 bis 17, bei dem die Periode des erzeugten Taktsignals moduliert wird, um ein Spread-Spektrumtaktsignal zu erhalten, mit
einem Spread-Spektruminterpolator, um nach jedem erzeugten Taktsignalzyklus die Periode um einen vorbe- stimmten Wert zu inkrementieren, bis eine obere Grenze erreicht ist, und die Periode um einen vorbestimmten Wert, bis eine untere Grenze erreicht ist zu dekremen- tieren.
19. Vorrichtung nach einem der Ansprüche 15 bis 18, mit eine Einrichtung (CCC) zum Erzeugen eines Zeitstempels oder mehrerer Zeitstempel.
20. Vorrichtung nach Anspruch 19, bei der die Einrichtung (CCC) zum Erzeugen eines Zeitstempels oder mehrerer Zeitstempel eine Taktberechnungsschaltung (CCC) umfasst, die den Mastertakt CLK empfängt und einen Mastertaktzähler (MCC) aufweist, wobei die Taktberech- nungsschaltung (CCC) basierend auf dem Mastertaktsignal einen Zeitstempel oder mehrere Zeitstempel erzeugt, die einem oder mehreren externen Synchronisationssignalen (SYNCU) und/oder dem erzeugten Taktsignal (CLKOUT) zugeordnet werden.
PCT/EP2003/011558 2002-10-25 2003-10-17 Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften WO2004038918A2 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004545883A JP4166756B2 (ja) 2002-10-25 2003-10-17 所定のクロック信号特性を有するクロック信号を生成するための方法および装置
DE50304162T DE50304162D1 (de) 2002-10-25 2003-10-17 Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften
AU2003294698A AU2003294698A1 (en) 2002-10-25 2003-10-17 Method and device for generating a clock signal with predetermined clock signal properties
EP03785629A EP1554803B1 (de) 2002-10-25 2003-10-17 Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften
US11/074,338 US7126407B2 (en) 2002-10-25 2005-03-07 Method and device for generating a clock signal with predetermined clock signal properties

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10249886.5 2002-10-25
DE10249886A DE10249886B4 (de) 2002-10-25 2002-10-25 Verfahren und Vorrichtung zum Erzeugen eines Taktsignals mit vorbestimmten Taktsingaleigenschaften

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/074,338 Continuation US7126407B2 (en) 2002-10-25 2005-03-07 Method and device for generating a clock signal with predetermined clock signal properties

Publications (2)

Publication Number Publication Date
WO2004038918A2 true WO2004038918A2 (de) 2004-05-06
WO2004038918A3 WO2004038918A3 (de) 2004-07-08

Family

ID=32103040

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/011558 WO2004038918A2 (de) 2002-10-25 2003-10-17 Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften

Country Status (8)

Country Link
US (1) US7126407B2 (de)
EP (1) EP1554803B1 (de)
JP (1) JP4166756B2 (de)
CN (1) CN100356688C (de)
AU (1) AU2003294698A1 (de)
DE (2) DE10249886B4 (de)
TW (1) TWI236221B (de)
WO (1) WO2004038918A2 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1801970A1 (de) * 2004-08-27 2007-06-27 Advantest Corporation Impulsgenerator, timing-generator und impulsbreiten-einstellverfahren
EP1833239A1 (de) * 2006-03-08 2007-09-12 Micronas GmbH Verfahren und Schaltung zum zellenverkoppelten Erzeugen eines Taktes
US8238505B2 (en) 2006-03-08 2012-08-07 Entropic Communications, Inc. Method and circuit for line-coupled clock generation

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185219B1 (en) * 2004-04-22 2007-02-27 Intel Corporation System and method for clock phase recovery
KR100551475B1 (ko) * 2004-08-31 2006-02-14 삼성전자주식회사 비주기 클록옵션을 가지는 메모리 모듈과 모듈용 메모리칩 및 허브 칩
US7477712B2 (en) * 2005-04-29 2009-01-13 Hewlett-Packard Development Company, L.P. Adaptable data path for synchronous data transfer between clock domains
US7368961B2 (en) * 2005-12-22 2008-05-06 Rambus Inc. Clock distribution network supporting low-power mode
US9237000B2 (en) * 2006-06-19 2016-01-12 Intel Corporation Transceiver clock architecture with transmit PLL and receive slave delay lines
JP5347507B2 (ja) 2007-01-05 2013-11-20 日本電気株式会社 信号品質測定装置、スペクトラム測定回路、プログラム
WO2009010891A1 (en) * 2007-07-17 2009-01-22 Nxp B.V. A method and a device for data sample clock reconstruction
TWI373917B (en) 2008-05-09 2012-10-01 Mediatek Inc Frequency divider, frequency dividing method thereof, and phase locked loop utilizing the frequency divider
WO2011046845A2 (en) 2009-10-15 2011-04-21 Rambus Inc. Signal distribution networks and related methods
JP2012060463A (ja) * 2010-09-09 2012-03-22 Sony Corp 信号伝送装置、電子機器、基準信号出力装置、通信装置、基準信号受信装置、及び、信号伝送方法
EP2455830A1 (de) * 2010-11-23 2012-05-23 Siemens Aktiengesellschaft Verfahren zur Erfassung von Eingangssignaländerungen
US8806063B1 (en) * 2011-07-11 2014-08-12 Juniper Networks, Inc. Enhanced pulse assisted time synchronization protocol
US8405436B2 (en) * 2011-07-19 2013-03-26 Himax Technologies Limited Multi-phase clock generator
FR2979506B1 (fr) * 2011-08-30 2013-08-30 Bull Sas Procede de synchronisation d'une grappe de serveurs et grappe de serveurs mettant en oeuvre ce procede
GB2542148B (en) * 2015-09-09 2019-12-04 Imagination Tech Ltd Synchronising devices
US9584105B1 (en) 2016-03-10 2017-02-28 Analog Devices, Inc. Timing generator for generating high resolution pulses having arbitrary widths
US10642336B2 (en) * 2016-07-12 2020-05-05 Advanced Micro Devices, Inc. Clock adjustment for voltage droop
US10075156B2 (en) * 2016-09-30 2018-09-11 Texas Instruments Incorporated Synchronous clock generation using an interpolator
US10802534B2 (en) * 2019-01-24 2020-10-13 Arm Limited Clock circuitry with fault detection
US11088683B1 (en) 2020-09-24 2021-08-10 Apple Inc. Reconfigurable clock flipping scheme for duty cycle measurement

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394114A (en) * 1992-04-30 1995-02-28 National Semiconductor Corporation One nanosecond resolution programmable waveform generator
US5786715A (en) * 1996-06-21 1998-07-28 Sun Microsystems, Inc. Programmable digital frequency multiplier
US6031401A (en) * 1998-06-08 2000-02-29 Tritech Microelectronics, Ltd. Clock waveform synthesizer
US20020097176A1 (en) * 2001-01-22 2002-07-25 Jacob Herbold Programmable non-uniform clock signal generator

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4165490A (en) 1977-12-19 1979-08-21 International Business Machines Corporation Clock pulse generator with selective pulse delay and pulse width control
US5659572A (en) * 1993-11-22 1997-08-19 Interdigital Technology Corporation Phased array spread spectrum system and method
JP3499051B2 (ja) * 1995-06-22 2004-02-23 株式会社アドバンテスト タイミング信号発生回路
WO2000045246A1 (en) * 1999-01-29 2000-08-03 Seiko Epson Corporation Clock generator circuit and integrated circuit using clock generator
CA2270516C (en) * 1999-04-30 2009-11-17 Mosaid Technologies Incorporated Frequency-doubling delay locked loop
DE19933115A1 (de) * 1999-07-19 2001-01-25 Mannesmann Vdo Ag Verfahren zur Modulation eines Grundtaktes für digitale Schaltungen und Taktmodulator zur Ausführung des Verfahrens
US6366174B1 (en) * 2000-02-21 2002-04-02 Lexmark International, Inc. Method and apparatus for providing a clock generation circuit for digitally controlled frequency or spread spectrum clocking
US6826247B1 (en) * 2000-03-24 2004-11-30 Stmicroelectronics, Inc. Digital phase lock loop
JP3575430B2 (ja) * 2001-02-01 2004-10-13 日本電気株式会社 2段階可変長遅延回路
JP2004054350A (ja) * 2002-07-16 2004-02-19 Sony Corp クロック切り替え回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394114A (en) * 1992-04-30 1995-02-28 National Semiconductor Corporation One nanosecond resolution programmable waveform generator
US5786715A (en) * 1996-06-21 1998-07-28 Sun Microsystems, Inc. Programmable digital frequency multiplier
US6031401A (en) * 1998-06-08 2000-02-29 Tritech Microelectronics, Ltd. Clock waveform synthesizer
US20020097176A1 (en) * 2001-01-22 2002-07-25 Jacob Herbold Programmable non-uniform clock signal generator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BAZES M ET AL: "AN INTERPOLATING CLOCK SYNTHESIZER" IEEE JOURNAL OF SOLID-STATE CIRCUITS, IEEE INC. NEW YORK, US, Bd. 31, Nr. 9, 1. September 1996 (1996-09-01), Seiten 1295-1301, XP000638070 ISSN: 0018-9200 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1801970A1 (de) * 2004-08-27 2007-06-27 Advantest Corporation Impulsgenerator, timing-generator und impulsbreiten-einstellverfahren
EP1801970A4 (de) * 2004-08-27 2007-12-12 Advantest Corp Impulsgenerator, timing-generator und impulsbreiten-einstellverfahren
US7495428B2 (en) 2004-08-27 2009-02-24 Advantest Corporation Pulse generator, timing generator, and pulse width adjusting method
EP1833239A1 (de) * 2006-03-08 2007-09-12 Micronas GmbH Verfahren und Schaltung zum zellenverkoppelten Erzeugen eines Taktes
US8238505B2 (en) 2006-03-08 2012-08-07 Entropic Communications, Inc. Method and circuit for line-coupled clock generation

Also Published As

Publication number Publication date
JP2006504303A (ja) 2006-02-02
TWI236221B (en) 2005-07-11
TW200419910A (en) 2004-10-01
WO2004038918A3 (de) 2004-07-08
US20050200393A1 (en) 2005-09-15
EP1554803B1 (de) 2006-07-05
DE10249886B4 (de) 2005-02-10
DE10249886A1 (de) 2004-05-13
EP1554803A2 (de) 2005-07-20
CN1703830A (zh) 2005-11-30
CN100356688C (zh) 2007-12-19
AU2003294698A1 (en) 2004-05-13
DE50304162D1 (de) 2006-08-17
JP4166756B2 (ja) 2008-10-15
US7126407B2 (en) 2006-10-24

Similar Documents

Publication Publication Date Title
EP1554803B1 (de) Verfahren und vorrichtung zum erzeugen eines taktsignals mit vorbestimmten taktsignaleigenschaften
DE60025937T2 (de) Jitterarmer phasenregelkreis mit steuerung des tastverhältnisses
DE102009052053B4 (de) Schaltung mit Mehrphasenoszillator
DE19922805C2 (de) Taktsignalsynthetisierer
DE4104329C2 (de) Impulssignalverzögerungsvorrichtung
DE3826717C2 (de) Signalphasenabgleichsschaltung
DE19849779C2 (de) Taktgenerator und Takterzeugungsverfahren, die in der Lage sind, eine Taktfrequenz ohne Erhöhen der Anzahl von Verzögerungselementen zu ändern
DE112005001517T5 (de) Synchronisation zwischen Niedrigfrequenz- und Hochfrequenzdigitalsignalen
DE10392225T5 (de) Prüfvorrichtung
DE10127293A1 (de) Zeitgeberschaltung mit dualen Phasenregelkreisen
DE112005003735T5 (de) Prüfvorrichtung, Taktgenerator und elektronische Vorrichtung
DE19625185C2 (de) Präzisionstaktgeber
DE2510668A1 (de) Digital programmierbare zeitgeber- und verzoegerungsanordnung
DE102005049219A1 (de) Phasendifferenz-Erfassungsvorrichtung
DE19912514C2 (de) Halbleiterprüfsystem
DE19709770A1 (de) Phasenangleichung durch eine Frequenz- und Phasendifferenz zwischen Eingangs- und VCO-Signalen mit einem Frequenzbereich, der durch einen Synchronismus zwischen den Eingangs- und den VCO-Signalen eingestellt ist
DE10039898B4 (de) Taktgeneratorvorrichtung und Verfahren zum Erzeugen von Taktsignalen
DE10016611A1 (de) Prüfsystem
DE3801993C2 (de) Zeitgebersystem
DE2829709A1 (de) Verfahren und anordnung zur erzeugung zeitlich unmittelbar aufeinanderfolgender impulszyklen
EP2130300B1 (de) Verfahren zur erzeugung einer taktfrequenz
DE4433512C2 (de) Wellenform-Formatierungseinrichtung
DE3743434C2 (de)
DE102008064063B4 (de) Steuersignalerzeugungsschaltung zur Einstellung eines Periodenwerts eines erzeugten Taktsignals als die Periode eines Referenzsignals, multipliziert mit oder dividiert durch eine beliebige reelle Zahl
DE19963684B4 (de) Verzögerungs-Verriegelungsschleifen-Taktgenerator, welcher Verzögerungs-Impuls-Verzögerungsumwandlung einsetzt

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 EG 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 NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC 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 BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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)
WWE Wipo information: entry into national phase

Ref document number: 2003785629

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11074338

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20038A10015

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2004545883

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2003785629

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2003785629

Country of ref document: EP