This Utility Patent Application claims priority to German Patent Application No. DE 10 2006 002 735.3 filed on Jan. 20, 2006, which is incorporated herein by reference.
The invention relates to an electronic system employing a clock signal correcting device.
A clock signal for clocking electronic systems, particularly for processing, transmitting or storing digital data, usually consists of a periodic sequence of pulses which is a result of a continuous change between two defined electrical potential levels which are usually designated by “H” (for “high”) and “L” (for “low”). Accordingly, the transitions from the L level to the H level are called “rising edges” and the transitions in the reverse direction (that is to say from the H level to the L level) are called “falling edges” of the clock signal. The “pulses” can be considered to be the times of the H level (H intervals TH) or the times of the L level (L intervals TL) as desired. In the first approach, which will be used as a basis for definition purposes in the text which follows, the rising edges can be considered as the leading edges of the pulses and the falling edges can be considered as the trailing edges of the pulses.
Clocking electronic circuits requires reliable detection and differentiation between the H intervals and the L intervals of the clock signal. It is desirable, therefore, that both intervals are long enough to allow the respective level to be detected. It is ideal if both intervals are equally long, that is to say are in each case exactly one half of the period TC of the clock signal. That is to say the “duty cycle”, defined as the ratio between the pulse duration TH and duration of the period TC should be equal to ½.
This requirement must be met particularly in the case of high clock frequencies fC (=1/TC) because even small deviations of the duty cycle from the nominal value of ½ can here lead to the H intervals or the L intervals becoming too short and thus are no longer detected reliably. A system clock which is applied to a clock-controlled circuit and which has a “poor” duty cycle TH/TC not equal to ½ is often worsened even further internally in the circuit so that the internal synchronization to the external world can deteriorate fatally. The data eye of a falling clock edge is then displaced with respect to the data eye of a rising clock edge.
For the reasons mentioned above, duty cycle correction may be necessary. This is why many standards demand automatic duty cycle correction, normally abbreviated DCC, for circuits operating at a high data rate. This applies, e.g., to DRAM memory chips for DDR, DDR2 or DDR3 operation in which the data rate is twice or four times or eight times the frequency of the read and write clock.
The DCC has previously been implemented with the aid of a phase locked loop (PLL). In this concept, a voltage-controlled oscillator is calibrated to the frequency of the incoming clock signal. The oscillator has an almost perfect duty cycle equal to 1/2.The system clock with its poor duty cycle is replaced by the clock signal obtained from the oscillator. One problem is, however, the difficulty of accurately tuning the oscillator frequency to the frequency of the system clock.
For implementing a DCC is using a circuit which contains a delay locked loop (DLL). In this circuit, the clock signal and its inverted form are used. Both signals are displaced with respect to one another by a DLL in such a manner that the rising (or falling) edges come to coincide in time. When the duty cycle is not equal to 1/2, the other edges in each case do not appear at the same time. The different times are averaged by a mixer circuit. Both the mixer circuit and the DLL are very elaborate with respect to design and layout. Due to their complexity, this type of duty cycle correction is also very susceptible to errors.
There is a need for a correction of the duty cycle of a clock signal which can be implemented both reliably and in a very simple manner. For these and other reasons, there is a need for the present invention.
An electronic system employing a clock signal correcting device is provided. One embodiment provides a leading edge delay device incrementing leading edges with respect to trailing edges, a trailing edge delay device incrementing trailing edges with respect to the leading edges, and a correction delay device delaying the leading edges of clock pulses if a leading edge incrementing step is greater than a trailing edge incrementing step and delaying the trailing edges of the clock pulses if the leading edge incrementing step is greater than the trailing edge incrementing step.
The accompanying drawings are included to provide a further understanding of the present invention and are incorporated in and constitute a part of this specification. The drawings illustrate the embodiments of the present invention and together with the description serve to explain the principles of the invention. Other embodiments of the present invention and many of the intended advantages of the present invention will be readily appreciated as they become better understood by reference to the following detailed description. The elements of the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding similar parts.
In the following Detailed Description, reference is made to the accompanying drawings, which form a part hereof, and in which is illustrated by way of illustration specific embodiments in which the invention may be practiced. In this regard, directional terminology, such as “top,” “bottom,” “front,” “back,” “leading,” “trailing,” etc., is used with reference to the orientation of the Figure(s) being described. Because components of embodiments of the present invention can be positioned in a number of different orientations, the directional terminology is used for purposes of illustration and is in no way limiting. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
In the figures, identical or similar elements (circuit sections and signals) are designated by the same letter combinations which are in each case followed by a numeric or general number for identifying the relevant element, the number “i” counting as representative for an arbitrary number. A colon between two numbers signifies the word “to”; thus, e.g., “A1:n” must be read as “A1 to An”. In the description below, the numbers “0” and “1” in inverted commas are used for designating binary states “logic values”.
The invention relates to an electronic system having a clock signal correcting device, the clock signal consisting of periodic pulses, with respect to deviations of the duty cycle from the nominal value of ½.The electronic system may further include an integrated circuit. One field of application of the invention is the duty cycle correction of the system clock signal in an electronic system, an integrated circuit, a logic system or memory system, in one example DRAM memory chips.
The device according to
Each clock pulse begins with a leading edge; in the representation used here, the leading edges are “rising” edges, i.e. transitions from the L level to the H level. The trailing edges at the ends of the pulses are accordingly the falling edges from the H to the L level. The edges have a finite steepness (not recognizable in
In the leading edge delay device DA according to
In the delay chain A1:n, the H interval is thus increasingly shortened from stage to stage until it disappears completely at some time after passing through an xth stage Ax so that the signal remains at L level and accordingly no further oscillation is noticeable. The number x, that is to say the ordinal number of the delay incrementation at which the oscillation disappears is thus a relative measure of the “pulse duration” TH in the clock signal CLK. The absolute measure of the pulse duration is τ*x.
To determine the number x, a testing device PA is provided. This device PA receives the input signal CLKA0 of the first delay stage A1 which corresponds to the clock signal CLK, and the output signals CLKA1:n of the delay stages A1:n in order to test which of these signals regularly oscillate. The oscillation test is begun by placing a reset signal RES at the testing device into the inactive state “0”. There are many possibilities for sensing the existence of an oscillation in a signal, for example by detecting and counting pulse edges of the signal over a finite duration which includes some periods of the oscillation to be sensed. If a certain minimum count is reached within the duration, the signal can be evaluated as “oscillating”. An example of a testing device operating in accordance with this principle will be described below with reference to
The trailing edge delay device DB in the device according to
To determine the number y, a testing device PB is provided. This device PB receives the inverted clock signal CLKB0 and the output signals CLKB1:n of the delay stages B1:n in order to test which of these signals regularly oscillate. The testing device PB can be constructed in exactly the same manner as the testing device PA and supplies the number y in the same binary code form in which the number x is supplied.
The correction delay device DC can be controlled in dependence on the numerical values x and y determined in the testing devices in order to obtain by selectively delaying the leading edges or the trailing edges of the original clock signal CLK, a corrected clock signal CLK′ at the output terminal K2 in which the H intervals and the L intervals are matched to one another in order to match the duty cycle to the nominal value ½. If x is greater than y, that is to say the H intervals of the original clock signal CLK are longer than the L intervals TL, the H intervals are shortened by delaying the leading edges (initiating these intervals). If y is greater than x, that is to say the L intervals of the original clock signal CLK are longer than the H intervals, the L intervals are shortened by delaying the trailing edges (initiating these intervals).
The information for adjusting the correction delay device DC is derived in the evaluating device EV1. The evaluating device EV1 contains an arithmetic computing circuit AR which can be activated by a computing command S1, in which circuit the numerical values x and y determined in the testing devices PA and PB are combined in order to obtain a digital representation of the value z=(x−y)/2 in which the amount |(x−y)/2| is expressed by a binary number having a number of bits and the sign is expressed by a sign bit. This representation is latched in a latch circuit LT1 by a latch command L1. The sign bit specifies whether the leading edges or the trailing edges of the clock signal CLK must be delayed in order to obtain the desired duty cycle ½. The amount value |(x−y)/2| specifies the number of time units τ by which the relevant edges must be delayed.
In order to adjust the correction delay device DC for correcting the duty cycle, it is supplied with the sign bit and the amount bits from the evaluating device EV1. In the case illustrated, a 2-1 multiplexer MX8 is provided on the path of the amount bits between the evaluating device and the correction delay device, which multiplexer can be switched over by a binary default control signal DEF in order to apply either the amount bits generated in the evaluating device or a bit combination representing the number zero to the correction delay device DC. If the correction device is to operate for correcting the duty cycle of the clock signal CLK at the input end as intended, the control signal DEF is set to “0” so that the amount bits generated in the evaluating device pass to the correction delay device DC.
In the correction delay device DC, too, a delay chain is used which consists of a plurality of cascaded delay stages C1:n. These stages are constructed exactly like the delay stages A1:n and B1:n. That is to say the chain C1:n, too, produces an incremental delay τ of the rising edges of a pulse sequence applied to the input from stage to stage.
In the correction operation as intended, DEF=“b 0” so that the amount bits representing the value |(x−y)/2| pass to the correction delay device DC. If the correction requires the leading edges (that is to say the rising edges) of the clock signal CLK to be delayed, which is indicated by a positive sign of the expression (x−y)/2, the clock signal in its original non-inverted version is used as input signal CLKC0 for the delay chain C1:n. If the correction requires the trailing edges to be delayed, which is indicated by a negative sign of the expression (x−y)/2, the clock signal in its inverted form is used as input signal CLKC0 for the delay chain C1:n. To select the version of the clock signal to be applied in each case, an input multiplexer MX2 is provided which can be controlled by the sign bit from the computing circuit AR in order to transmit either the non-inverted clock signal CLK or the inverted clock signal, conducted via an inverter IN2, to the input of the delay chain.
The signal CLKC0 applied to the input of the first stage C1 and the signals CLKC1:n appearing at the outputs of the stages C1:n are applied to n+1 inputs of an (n+1)-to-1 multiplexer MX1, the switching state of which is controlled in dependence on the integral component z=INT|(x−y)/2| of the value |(x−y)/2| from the amount bit output of the evaluating device EV1 in order to select from the signals CLKC0:n the one whose ordinal number within the chain corresponds to the integral number z which can also be equal to zero (if the duty cycle of the original clock signal corresponds sufficiently well to the nominal value ½). Accordingly, the selected signal CLKCz must pass through z delay stages C1:z and thus be subjected to a leading edge delay by τ*z. If z=0, the multiplexer MX1 selects the undelayed input signal CLKC0.
If x>y and thus the delay chain C1:n receives the original (non-inverted) clock signal CLK, the output signal of the multiplexer MX1 forms the corrected clock signal CLK′. If y<x, and the delay chain C1:n thus receives the inverted clock signal CLK, the output signal of the multiplexer MX1 forms the inverted form of the corrected clock signal CLK′ and requires further inversion in order to obtain the corrected clock signal CLK′. For this purpose, an output multiplexer MX3 is provided which can be controlled by the sign output of the computing circuit AR in order to transmit the signal CLKCz selected by the multiplexer MX1 either directly or via an inverter IN3 to the final output of the correction device.
In the lower part of
If desired, the duty cycle correction can be disabled by setting the default control signal DEF to a logical “1”. In this case, the control input of the multiplexer MX1 receives the numerical value zero via the multiplexer MX8 so that the output signal of the multiplexer MX1 does not have any edge delay. The duty cycle of the clock signal CLK′ at the output K2 then remains unchanged equal to the duty cycle of the original clock signal CLK. This possibility may be of advantage if the correction device is a permanent component of a clock-controlled chip in order to operate this chip, if desired, in a standard mode (default mode) without duty cycle correction of the clock signal. If the option of a default mode is to be omitted, the multiplexer MX8 can be omitted.
The delay stages A1:n, B1:n, C1:n in the delay devices DA, DB and DC produce not only a relative delay of the rising edges with respect to the falling edges (or conversely, depending on the design), but additionally also a delay of the total signal. Furthermore, processing the signals in the testing devices PA and PB and processing the test results x and y up to obtaining the control signals for the multiplexers MX1, MX2, MX3 require a certain time. This leads to the corrected clock signal CLK′ appearing to be displaced overall with respect to the original clock signal CLK. However, this does not impair the quality of the duty cycle correction.
On the other hand, however, there are circumstances which influence the quality of the correction, that is to say its accuracy. Such a circumstance is that a duty cycle of exactly ½ will be obtained in the corrected clock signal only when the amount of the correcting edge delay is exactly equal to the amount of (TH−TL)/2. However, the testing devices PA and PB only supply the values of TH and TL as integral multiples x and y, respectively, of the time unit τ. In addition, the measure of possible correction delay is restricted to integral multiples INT|(x−y)/2| of the time unit τ. Thus, a certain inaccuracy can occur in the correction delay within a range of about ]−τ, +τ[. However, this inaccuracy can be kept within a tolerable limit by making τ sufficiently small with respect to the clock period TC.
For the above reason, the time unit τ should be dimensioned in such a manner that a certain minimum number of time units τ is applicable to the period TC of the clock signal even at the highest clock frequency to be expected. This minimum number, which also determines the number n of required stages in the delay chains, is dependent on the desired accuracy of the duty cycle correction. Making the time unit τ very short as would be appropriate for high clock frequencies, would however be disadvantageous in the case of a much lower clock frequency because the number n needed at delay stages in the individual chains would then be much too high. To solve this problem, the delay stages A1:n, B1:n and C1:n, in an embodiment, are constructed in such a manner that the delay unit τ, that is to say the measure of edge delay in each stage, can be adjusted by a control signal SET as will be described below in conjunction with
A further reason for any inaccuracies can be that the time increment τ of the incremental edge delay is not precisely the same in all delay chains A1:n, B1:n, C1:n. Due to production tolerances and different layout conditions, small mismatches can also occur between the delay chains which leads to the duty cycle correction in the signal CLK′ not being optimal but having a residual error.
If this residual error cannot be tolerated, it can be reduced by subjecting the corrected clock signal to a repeated duty cycle correction. For this “post correction”, the output K2 of the correction device according to
However, it is also possible to use the same correction device for the first correction and the subsequent post correction.
The device according to
The device according to
The amount bits and the sign bit of this value z from the output of the latch circuit L1 then control the multiplexers MX1, MX2, MX3 in the correction delay device DC as has been described above in conjunction with
This is followed by the post correction of the signal CLK. For this purpose, the second operating state is switched on (logic state “1” of the signal ST). During this process, the delay devices DA and DB receive the clock signal CLK′ from the output K2, the settings of the multiplexers MX1:3 in the correction delay device DC initially remaining unchanged. Since it is thus no longer the original clock signal but the corrected clock signal which is processed in the testing devices PA and PB, new values x′ and y′ reflecting the duty ratio in the corrected clock signal CLK′ are obtained for the numbers x and y. The computing circuit AR thus calculates a new value z′=INT[(x′−y′)/2]. The sign and the amount of this value indicate what edges of the corrected clock signal CLK′ would have to be delayed by how many time units τ in order to eliminate the residual error of the correction.
However, since the correction delay device DC does not process the signal CLK′ but the original clock signal CLK, the value z′ cannot determine the new setting of the edge delay by itself. Instead, the previously set edge delay, by which the signal CLK′ was generated, must also be taken into consideration. That is to say the determining factor for the new edge delay is the sum of the value z′ and of the value z determined in the first operating state.
To obtain this sum z+z′, the value z′ is transmitted via the 1 output of the demultiplexer MX6 to the latch circuit LT3, where it is latched by the latch command L3, in the second operating state (logic value “1” of the control signal ST). The 0 output of the demultiplexer MX6 remains deactivated so that it supplies the numerical value 0 to the latch circuit LT2 to which, however, no latch command is applied this time so that the previous value z is retained at the output of this latch circuit. The subsequent control command SA activates the adder ADD which supplies the sum of the values z and z′ latched in the latch circuits LT2 and LT3. This sum z+z′ is then latched in the latch circuit LT1 by the latch command L1.
The amount bits and the sign bit of this value z+z′ from the output of the latch circuit L1 then control the multiplexers MX1, MX2, MX3 in the correction delay device DC in such a manner that the post corrected clock signal is obtained at the output K2.
The device capable of post correction according to
In the embodiments according to
In addition, it is also possible to manage with only a single delay chain by using the delay chain C1:n used in the correction delay device DC for determining both the number x and the number y. In addition, using one and the same delay chain for all delay processes guarantees that the time unit τ which determines the increments of the delays is exactly the same in the various delay processes. In this case, no post correction of the corrected clock signal is needed. An example of a correspondingly constructed duty cycle correction device will be described with reference to
The device according to
To illustrate the operation of the correction device according to
In default mode, in which the duty cycle correction is intended to be disabled (uncorrected operation), the testing device PC is kept inactive by the active state (logic value “1”) of the reset signal RES. The default control signal DEF is kept at “1” so that the control input of the multiplexer MX1 receives the numerical value zero in order to transmit the original clock signal CLK to the output K2 without change in the duty cycle. In this connection, the state of the binary control signal for the multiplexers MX2 and MX3 is irrelevant.
When the correction device is operated as intended, that is to say for correcting the duty cycle of the input clock signal CLK, the default control signal DEF at the multiplexer MX8 is set to “0” so that the amount bit output of the evaluating device EV3 is connected to the control input of the multiplexer MX1 in the delay device DC. The correction operation includes four successive operating sequences, namely firstly the determination of the number x, secondly the determination of the number y, thirdly the determination of the number z=(x−y)/2 and fourthly the actual correction operation, that is to say the setting of the correcting edge delay.
To determine the number x, the reset signal RES is disabled, that is to say set to “0”, at the testing device PC. A correction mode signal CST is set to “0” and a test mode signal PST is set to “1”. The multiplexer MX9 herewith changes to a state in which it applies a “1” to the control inputs of the multiplexer MX2 and MX3 so that the delay chain C1:n receives the non-inverted clock signal CLK. In this operating state, the delay chain C1:n and the testing device PC operate in the same manner as has been described above for the delay chain A1:n and the testing device PA according to
To determine the number y, the reset signal RES is reset to “0” at the testing device PC. The correction mode signal CST remains set to “0” and the test mode signal PST is set to “0”. The multiplexer MX9 herewith passes into a state in which it applies a “0” to the control inputs of the multiplexers MX2 and MX3 so that the delay chain C1:n receives the inverted clock signal CLK. In this operating state, the delay chain C1:n and the testing device PC operate in the same manner as has been described above for the delay chain B1:n and the testing device PB according to
To determine the numerical value z, RES remains set to “1” and the computing command S1 is issued so that the computing device AR calculates the value z=(x−y)/2 from the values x and y stored in the latch circuits LT4 and LT5. After a certain computing time has elapsed, the latch command L1 is issued so that the amount bits and the sign bit of the calculated number z are latched as “valid” in the latch circuit L1.
As a last step, the actual correction of the duty cycle takes place by the correction mode signal CST being set to “1” so that the multiplexer MX9 applies the sign bit of the calculated number z to the control inputs of the multiplexers MX2 and MX3. In this state, the correction delay device PC operates exactly as has been described above in conjunction with
The present switching state of the correction device remains unchanged during the subsequent useful operation of a clock-controlled device connected to the output K2. For any new correction of the duty cycle of the clock signal which may be desired, all operating sequences described are repeated, beginning with the determination of x.
As already announced, exemplary embodiments of the delay stages in the delay devices DA, DB, DC and of the associated testing devices PA, PB, PC will be described with reference to
The delay stage according to
The lower part of
With the rising edge (time t2) of the input clock signal CLKe, the NFET N1 previously cut off conducts and the PFET P1 previously conducting is cut off so that the circuit point m is pulled down from H potential to L potential and thus a falling edge appears in the signal CLKm. The steepness of this edge is determined by the time constant of the pull-down branch between the node m and the L terminal. Due to the additionally inserted impedance Z, this time constant is noticeably greater than the time constant of the pull-up branch so that the falling edge is noticeably flatter than the rising edge. The falling edge thus reaches the center level M at a time t5 which, compared with the time t4 of the triggering rising edge of the signal CLKe, is delayed by a measure Tm which is noticeably greater than Δ.
The output amplifier formed with the transistors P2 and N2 operates similar to the input amplifier. There is, however, a difference in that not only the pull-up branch via transistor P2, but also the pull-down branch via transistor N2, has the lowest possible impedance in the conducting state of the respective transistor. Thus, the steep rising edge of the signal CLKm appearing at time t2 causes a steep falling edge in the output signal CLKa after a small delay time Δ at time t3. The flat falling edge of the signal CLKm causes a steep rising edge in the output signal CLKa, the time t6 of which is also delayed by only a small measure A compared with the time t5, i.e. compared with the time at which the flattened edge passes through the center level M. Since, however, time t5 is noticeably later than the time t2, the rising edge of the input signal CLKe appears in the output signal CLKa with noticeably more delay than the falling edge. This extra delay is (t6−t4)−(t3−t1)=(Tm+Δ)−2Δ=Tm−Δ and defines the time unit τ.
The greater the impedance z, the longer the time unit τ. To be able to adjust the time unit τ, this impedance can be varied by the control variable SET, e.g., as illustrated by a resistance chain, the individual resistances of which can be selectively activated or deactivated by associated switches. In the case illustrated, a fixed resistance R having the resistance value r and a controllable resistance R2 are provided, the resistance value of which can be varied continuously between 0 and r. This allows continuous adjustment of the total resistance between 0 and 2r by an analog signal for controlling the resistance R2 and by a binary signal for optionally activating the resistance R1.
In addition to pull-down resistances (or instead), one or more capacitances could also be provided between the circuit node m and the L potential, which can be optionally switched on and off. The higher the effective total capacitance, the longer the time τ. In
The embodiment of the variable pull-down impedance, illustrated in
The delay time τ is adjusted in dependence on the clock frequency fC, in such a manner that the product of this time by the number n of stages in each delay chain, that is to say the product τ*n, is not significantly smaller than the clock period TC, approximately equal to the clock period.
All counters CN0:1 are constructed in such a manner that the count stops when the upper counting limit is reached (overflow) and does not begin again from the beginning with the value 0.
Those counters CN0:(x−1), whose input signals regularly contain repetitive counting edges, that is to say “oscillate”, reach the threshold count within a certain counting period and set the associated flip flops FF0:(x−1). The remaining counters CNx:n, the input signals of which do not oscillate, ideally receive no counting pulses at all. That is to say, in the ideal case, these counters remain at 0. However, there can be slight disturbances, e.g., a certain jitter of the phase of the clock signal to be corrected, which lead to a certain fuzziness occurring at the boundary between oscillation and non- oscillation. Thus, a counting edge may appear from time to time in a signal which is no longer oscillating in the ideal case. Since these “outliers” are rarer than the counting edges of an unambiguously oscillating signal, the counts of the relevant counter will lag behind the counts of those counters receiving the unambiguously oscillating signals.
Thus, by suitably choosing the threshold count and the counting period, it can be achieved that after the counting period has elapsed, only those counters CN0:(x−1), the received signals of which oscillate, have reliably reached the threshold value and all other counters CNx:n have not. After the counting period has elapsed, the Q outputs of the first x flip flops FF0:(x−1) are therefore at “1” and the Q outputs of the remaining flip flops FFx:n are at “0”. Thus, the Q outputs of the flip flops FF0:n supply the number x in the “thermometer code” at the end of the counting period. This thermometer code word is latched at the input of a code converter CV by a latch command LC. The code converter CV provides for the conversion of the thermometer code representation into a binary number code representation of the number x.
The testing device PB for the trailing edge delay device DB can be constructed exactly as the testing device PA illustrated in
Naturally, the duration of the oscillation test in the testing devices PA and PB, that is to say the counting period for the counters contained in these devices, from the beginning of the counting operation (deactivation of the reset signal RES) to the sampling and latching of the flip flop outputs (latch command LC), should be dimensioned in such a manner that it includes a certain minimum number of periods Tc of the clock signal CLK in every case. This minimum number depends not only on the length of the time unit τ but also on various other factors such as the maximum propagation delay of the clock signals through the respective delay chain and the counter propagation delay and the relative frequency of the abovementioned “outliers” in the oscillation test. All these factors are production- and layout-related so that the minimum number mentioned would have to be found out empirically from case to case.
Naturally, the threshold count should not be smaller than the minimum number mentioned. The size of the counters, i.e. their counting capacity, can be dimensioned in such a manner that the final count can also be used as the threshold count at the same time. In this case, the signal to be generated at the counter terminal W is derived from the overflow indication of the counter.
In the embodiment of the testing devices PA and PB illustrated, an oscillation test of also the non-delayed clock signals CLK and CLKB0, respectively, takes place by the counter CN0 and of the flip flop FF0. If these signals do not oscillate in a clearly recognizable manner, the value 0 is obtained for the numbers x and y. This can be used for indicating that the clock signal is disturbed in an uncorrectable manner. If such an indication capability is to be dispensed with, the oscillation test of the undelayed clock signals CLK and CLKB0, respectively, can be omitted so that the counter CN0 and the flip flop FF0 in the testing devices PA and PB can be omitted. In this case, the outputs of the testing devices represent the numbers x-1 and y-1, respectively. However, this does not change anything in the mathematical result of the computing device AR because this result only depends on the difference between the two input numbers.
For the sake of completeness, it should also be mentioned that the various operating processes in the correction device are coordinated by suitable timing control which also controls the succession of the individual operations in time. This also includes the timed generation of the control and latch commands ST, L1, L2, L3, SA, RES and LC.
The circuits described above by the drawings are only examples for implementing the correction principle according to the invention. The invention is not restricted to these but can also be implemented in modified embodiments. Some of these modifications will be described briefly in the text which follows:
In the example described, the testing devices PA and PB contain a separate individually allocated oscillation detector (in each case formed by a counter CN and a flip flop FF) for each signal to be tested, and all signals to be tested are supplied in parallel to the relevant testing device. An alternative consists in providing for each testing device only a single oscillation detector to which the increasingly delayed signals are successively applied via a correspondingly controlled multiplexer. As soon as the detector senses the state “no oscillation in the signal”, the ordinal number x or y of the delay stage at which the oscillation disappears can be derived from the associated multiplexer setting. The multiplexer is to be provided at the outputs of the delay stages if the signal to be incrementally delayed is applied to the input of the delay chain. Such an arrangement with “output multiplexer” is then like the arrangement as illustrated in
As an alternative, the delay chain C1:n in the correction delay device DC can also be operated with an input multiplexer operating as demultiplexer, instead of with the output multiplexer MX1 illustrated. The signal to be delayed is applied to the signal input of this input multiplexer in order to transmit it to the input of a selected stage in the delay chain C1:n. The selection is carried out by controlling the multiplexer in dependence on the amount bits which represent the number |(x−y)/2|, in such a manner that the signal appears at the output of the last stage Cn with the desired edge delay V=τ*|(x−y)/2|.
In principle, the device operates on the basis of two time measurements. With one measurement, the “pulse duration” is measured, i.e. the duration of the interval from the leading edge to the trailing edge of the pulse. With the other measurement, the time duration of the intervals between the clock pulses is measured, i.e. the “pulse intervals” from the trailing edge of the clock pulses to the leading edge of the following clock pulse in each case. Each of the two measurements are made by testing, by using a delay chain, the number of time units τ by which an edge which marks the beginning of the interval to be measured in each case in the clock signal must be delayed until it coincides with the next edge following and the oscillation of the signal thus disappears. From the two numbers obtained as a result of the two measurements it can be easily determined which edges of the clock signal (leading or trailing edges of the clock pulses) must be delayed by how many time units τ in order to correct the duty cycle to the desired nominal value.
The device operating in accordance with this principle does not need any precisely tunable oscillator. Since the time measurements are made with the aid of an incremental edge delay by a delay chain, the timing reference for the measurement, that is to say the time unit τ, is not determined by any frequency but is a delay time which can be adjusted to be almost arbitrarily short in order to achieve an arbitrary fineness of the time measurement. The presence or lack of an oscillation in the incrementally edge-delayed signals can be detected relatively simply. Both the results of the time measurements and the measure of the correcting edge delay determined from these appear as multiples of the same time unit τ which, in turn, is predetermined by the stage delay in the delay chains. It can be easily ensured that this stage delay is the same in all stages, also in the stages of the correction delay device so that the correction is always carried out with an accuracy within the range of ]−τ, +τ[.
The correction device can be used in conjunction with any clock-controlled device in order to correct the duty cycle of the clock signal used there. It can be connected directly before the clock input of such a device as external circuit unit or can be an internal or integrated component of the relevant device. If the clock-controlled device is an integrated memory chip, e.g., a DRAM chip, the correction device also integrated in the chip can be activated during the initialization phase of the chip in order to test the clock signal supplied externally and to determine the numbers x and y so that the correction delay device is adjusted for achieving the duty cycle of ½. This adjustment can then be retained during the subsequent useful operation until a new initialization is carried out. The initialization can take place automatically in each case when the chip is taken into operation and, if desired, can be repeated during the useful operation, either automatically at regular intervals or whenever the environmental conditions change in such a manner that a change in the duty cycle in the clock signal supplied externally must be suspected.
The preceding description describes exemplary embodiments of the invention. The features disclosed therein and the claims and the drawings can, therefore, be useful for realizing the invention in its various embodiments, both individually and in any combination. While the foregoing is directed to embodiments of the present invention, other and further embodiments of this invention may be devised without departing from the basic scope of the invention, the scope of the present invention being determined by the claims that follow
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments illustrated and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
10 2006 002 735.3 | Jan 2006 | DE | national |