Abstract:
A digital clock modulator provides a smoothly modulated clock period to reduce emitted electro-magnetic radiation (EMR). The digital clock modulator includes a plurality of delay elements connected in series and receiving as an input an unmodulated clock signal. A multiplexer receives inputs from unequally spaced taps between the delay elements. A control block provides selection inputs to the multiplexer, and receives the unmodulated clock signal from the delay elements. The delay elements include a last delay element providing the unmodulated clock signal to the control block. The last delay element has a predetermined delay for ensuring that the delay elements and related signal paths are in a same stable state before control to the multiplexer changes.

Description:
FIELD OF THE INVENTION  
       [0001]     The invention relates to an improved digital clock modulator providing a smoothly modulated clock period for reducing amplitude of electro-magnetic radiations (EMR) emitted during clock transitions.  
       BACKGROUND OF THE INVENTION  
       [0002]     Electro-magnetic radiations (EMR) emitted by higher harmonics of a basic clock frequency of a digital circuit due to the activities at the clock edges significantly effect the normal operation of neighboring, circuits. To prevent the adverse effects of such EMR the amplitude of the emitted radiations should be kept to a minimum. Various methods have been adopted for reducing the amplitude of interfering radiations. For example, the phase/frequency of the basic clock frequency is modulated for spreading the emitted radiation frequency band for distributing the radiating energy into adjacent side-bands about each harmonic frequency. Consequently, this reduces the amplitude of higher harmonic frequencies.  
         [0003]     Frequency modulation is a predominantly analog technique and has overheads in terms of implementations in the integrated circuit (IC). Moreover, any arbitrary modulation does not generate an optimum EMI reduction. In other words, randomly modulating a clock generating source may not provide improved attenuation of EMI. A proper selection of the modulation is essential to ensure its effectiveness in reducing EMR. Reference is directed to Spread Spectrum Clock Generation for the Reduction of Radiated Emissions, Hardin et al., IEEE International Symposium on Electromagnetic Compatibility, 22-26 Aug., 1994. U.S. Pat. Nos. 6,366,174; 6,373,306; and 6,351,485 propose the use of PLLs for reducing EMR. However, these techniques cannot be used for systems in which the PLL is a procured object, that is, one which cannot be modified.  
         [0004]     Prior art digital modulation of the clock period, as disclosed in U.S. Pat. No. 5,442,664 for example, proposes the use of ‘n’ number of delay components of equal delay Δ, as shown in  FIG. 1 . Selection control  3  (up/down counter of n-states) uses delay tap selection logic  2  to modulate the time period of the clock. It makes the clock period (T ck +Δ) for the first ‘n’ clock cycles and (T ck −Δ) for the next ‘n’ clock cycles alternating in this manner continuously. This technique does not provide optimum spread spectrum EMR reduction since the energy concentrates around two frequencies: 1/(T ck +Δ) and 1/(T ck −Δ) only.  
         [0005]     U.S. Patent Publication No. 20010045857 proposes a similar scheme, differing only in that it provides a technique to adjust (Δ/T ck ) by adjusting the supply voltage to the delay units. This technique is not suitable for most integrated digital systems since it calls for varying the supply voltage.  
         [0006]     U.S. Pat. No. 5,699,005 proposes a technique utilizing both equal delay and unequal delays in the delay chain block, but effectively the successive increment (decrement) of the delay in the delay chain are always constant (Δ). The main difference lies in the way the switching of the delay taps onto the clock output is performed. Here, the delay tap selection is done using a pseudo-random number sequence, which causes radiation energy spectrum to be better distributed as compared to the previous techniques. However, the pseudo-random nature results in a sharp odd time period variation while other time periods are very slow. This results in the concentration of the radiated frequency around certain frequencies instead of spreading as evenly as possible.  
       SUMMARY OF THE INVENTION  
       [0007]     An object of the invention is to address the above drawbacks of the prior art with respect to providing an even distribution of the radiated emissions in digital clock circuits.  
         [0008]     Another object of the invention is to provide a technique for the smooth digital modulation of clock periods.  
         [0009]     Yet another object of the invention is to provide a finely distributed clock energy spectrum for reducing the amplitude of the EMR, with smaller peak-to-peak variations of the clock period (i.e., a smaller modulation index) over a large number of clock cycles (i.e., a slower modulating frequency).  
         [0010]     A further object of the invention is to provide a flexible design capable of producing any desired clock-period modulating pattern (i.e., modulating waveform).  
         [0011]     These and other objects of the invention are achieved by an improved digital clock modulator for providing a smoothly modulated clock period to reduce emitted electro-magnetic radiation (EMR), wherein the digital clock modulator comprises a plurality of delay elements connected in series receiving an unmodulated clock signal at an input thereof, a multiplexer receiving inputs from unequally spaced selected taps provided between the delay elements, and a control block supplying the selection-inputs to the multiplexer, and receiving a clock signal from the series of delay elements. A predetermined delay element is connected between the clock terminal of the control block and the last element of the series of delay elements for enabling glitch free operation by ensuring that the entire delay chain and related signal paths are in the same stable state before the control to the multiplexer changes.  
         [0012]     The taps may be provided in accordance with the modulation of the clock period. The control block may include up/down counting means for sequentially selecting the taps in the delay chain so that the difference in delays of the input to output clock increases consecutively for consecutive clock cycles for one half of the modulating period, and then reduces in a similar manner for the second half of the modulating period. The taps are spaced further apart from each other in the middle of the clock chain, and are spaced closer together at the two ends of the chain.  
         [0013]     The invention further includes a delay interpolation mechanism for providing a finer resolution of the clock modulation over a larger number of clock cycles. The delay interpolation mechanism may comprise a pair of multiplexers replacing the single multiplexer with alternate taps of the delay chain connected to each multiplexer, and a chain of series connected PMOS-NMOS transistor pairs that are sized such that their channel-length-to-channel-width ratios increase in a binary weighted sequence, and are connected to the output of each multiplexer. A control circuit generates complementary control signals for enabling the series connected PMOS-NMOS transistor pairs in a desired sequence.  
         [0014]     The code for multiplexer selection may be a monotonically increasing code for increasing clock modulation depth, whereas the code for delay interpolation may increase or decrease for alternate codes for the multiplexer.  
         [0015]     The modulating waveform may be selected by sequencing the delay selection code and the delay interpolator code to provide consecutively increasing delays and differences in the delays in the clock path for consecutive clock cycles over one half of modulating period followed by similarly decreasing delays and differences in the delays for the second half of the modulating period.  
         [0016]     The present invention further provides a method for reducing emitted EMR from digital clock circuits by smoothly modulating the clock period. The method comprises the steps of connecting a plurality of delay elements in series and supplying an unmodulated clock signal at the input of the first delay element, multiplexing selected outputs obtained from selected taps in the chain of delay elements, and delaying the clock to the last element of the delay chain suitably with respect to the multiplexing for enabling glitch free operation.  
         [0017]     The taps for multiplexing may be selected based on the desired modulating wave.  
         [0018]     The method may further comprise selecting the consecutively increasing delays and differences in the delays in the clock delay path in consecutive clock cycles up to a maximum allowed delay, for one half of the modulating wave&#39;s period, and then reducing the delays similarly for the second half of the modulating period.  
         [0019]     The method may further include delaying the clock of the control block to ensure that the entire delay chain and other concerned signal paths are in the same stable logical state (0 or 1) before the control to the multiplexer changes.  
         [0020]     The predetermined delay may be determined for unmodulated clock cycles as follows:  
             ∑       u   ⁡     (   i   )       ·   Δ       ︸     +     T   mux     +     T   del     +     T     CK   -&gt;   Sel         &lt;     T   HLmin         
 
 where: 
    T mux  is the maximum input to output delay of the multiplexer;     T CK-&gt;SEL  is the clock to output delay of the control block;     T HLmin  is the minimum of the high or low phase of the unmodulated clock cycle;     T del  is the delay to be provided; and     Σ u(i).Δ is the total delay of the series of delay elements.    
 
         [0027]     The method may further include a delay interpolator for providing a finer resolution of the clock modulation. The delay interpolator may comprise the steps of multiplexing alternate taps of the delay chain separately, connecting a chain of series PMOS-NMOS transistor pairs that are sized such that their channel-length-to-channel-width ratios increase in a binary weighted sequence, and generating complementary control signals for enabling the series connected PMOS-NMOS transistor pairs to operate in a desired sequence.  
         [0028]     The method for reducing emitted EMR from digital circuits may be performed by monotonically increasing the code for multiplexer selection for increasing clock modulation depth, and increasing or decreasing the code for delay interpolation for alternate codes for the multiplexer. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0029]     The invention will now be described with reference to the accompanying drawings.  
         [0030]      FIG. 1  shows a digital clock period modulator in accordance with the prior art.  
         [0031]      FIG. 2  shows arbitrary time functions and their representation in the frequency domain in accordance with the present invention.  
         [0032]      FIG. 3  shows a system time period modulation over one modulating period T M  in accordance with the present invention.  
         [0033]      FIG. 4  shows a plot of function Z′(x) for p=1%, n=16 and u(i)=i in accordance with the present invention.  
         [0034]      FIG. 5  shows a plot of function Z′(x) for p=2.5%, n=16 and u(i)=i in accordance with the present invention.  
         [0035]      FIG. 6  shows a plot of function Z′(x) for p=1%, n=32 and u(i)=i in accordance with the present invention.  
         [0036]      FIG. 7  shows a plot of function Z′(x) for p=2.5%, n=32 and u(i)=i in accordance with the present invention.  
         [0037]      FIG. 8  shows a digital clock period modulator in accordance with the present invention.  
         [0038]      FIG. 9  shows one possible plot of time period variation in accordance with the present invention.  
         [0039]      FIG. 10  shows a graph for the delay distribution in accordance with the present invention.  
         [0040]      FIG. 11  shows another possible embodiment of the invention incorporating providing a finer modulation of the clock period.  
         [0041]      FIG. 12  shows a graph corresponding to a second embodiment of the invention for generating control signal and time period modulation. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0042]     The circuit of the present invention is based upon manifestation of the following mathematical analysis. Time Period modulation and its spectral representation will initially be discussed.  
         [0043]     An arbitrary time dependent signal g(t) occurring in the time period T 0  can be represented in the frequency domain by its Fourier transform G(f). It can be switching current spikes, for example.  FIG. 2  shows such an arbitrary time dependent signal g(t) and its frequency domain representation G(f). The Fourier Transform is given by equation (1): 
 
g(t)         G(f)   (1) 
 
         [0044]     If g(t) repeats every T 0 , as shown in  FIG. 2 , then g T0 (t) in the frequency domain would be represented by equation (2):  
                 g   T0     ⁡     (   t   )       ⇔       1     T   0       ·       ∑     m   =     -   ∞         +   ∞       ⁢       G   ⁡     (     m     T   0       )       ·     δ   ⁡     (     f   -     m     T   0         )                     (   2   )             
 
 where, the Dirac deltas  
       δ   ⁡     (     f   -     m     T   0         )         
 
 are the discrete frequency components in the frequency domain occurring at harmonics of frequency (1/T 0 ). The amplitude is scaled by 1/T 0  over the same Fourier transform function G(f) of equation (1). 
 
         [0047]     Consider a time dependent function which repeats over a varying time period  (T     0     +u(i).Δ)  with a pattern repeating over a period T M  as shown in  FIG. 3 . T M  is the period of the modulating wave and u(i) is the effective modulating function on an unmodulated time period T 0 . The period T M  is given by equation (3):  
               T   M     =     2   ⁢       T   0     ·     [     n   +       ∑     i   =   1     n     ⁢       u   ⁡     (     i   -   1     )       ·     Δ     T   0             ]                 (   3   )             
 
 The Fourier Transform of the activity over one period of T M , as shown in  FIG. 3 , is given by the following equation (4) after using the time shift property of the Fourier Transform:  
                   g   FM     ⁡     (   t   )       ⇔       G   ⁡     (   f   )       ·     [     1   +       ∑     l   =   1     n     ⁢     [       exp   ⁢     {       -   j     ⁢           ⁢   2   ⁢           ⁢   π   ⁢           ⁢       fT   0     ⁡     (     l   +       ∑     i   =   1     l     ⁢       u   ⁡     (     i   -   1     )       ·     Δ     T   0             )         }       +     exp   ⁢     {       +   j     ⁢           ⁢   2   ⁢           ⁢   π   ⁢           ⁢       fT   0     ⁡     (     l   +       ∑     i   =   1     l     ⁢       u   ⁡     (     i   -   1     )       ·     Δ     T   0             )         }         ]         ]         ∴         g   FM     ⁡     (   t   )       ⇔       G   ⁡     (   f   )       ·     [     1   +       ∑     l   =   1     n     ⁢       2   ·   cos     ⁢     {     2   ⁢           ⁢   π   ⁢           ⁢       fT   0     ⁡     (     l   +       ∑     i   =   1     l     ⁢       u   ⁡     (     i   -   1     )       ·     Δ     T   0             )         }           ]                 (   4   )             
 
         [0049]     The function g FM—TM (t) is actually a function g FM (t) repeating after every T M  period. Applying equations (1) and (2) on (4) we get the following equation (5):  
                 g   FM_T0     ⁡     (   t   )       ⇔       1     T   M       ⁢       ∑     m   =     -   ∞       ∞     ⁢     (         G   ⁡     (     m     T   M       )       ·     [     1   +       ∑     l   =   1     n     ⁢       2   ·   cos     ⁢     {     2   ⁢           ⁢     π   ⁡     (     m     T   M       )       ⁢       T   0     ⁡     (     l   +       ∑     i   =   1     l     ⁢       u   ⁡     (     i   -   1     )       ·     Δ     T   0             )         }           ]       ⁢           ⁢   •   ⁢           ⁢     δ   ⁡     (     f   -     m     T   M         )         )                 (   5   )             
 
         [0050]     On comparing equation (2) and (5), it is seen that after the signal is frequency modulated, discrete frequency components occur at more closely space frequency intervals  
       δ   ⁡     (     f   -     m     T   M         )         
 
 (since T M &gt;T 0 ) while providing a spread spectrum effect. It is also observed that a factor Z(f) scales the transform amplitude envelope G(f)/T 0  of the unmodulated periodic activity. Z(f) can be written as:  
               Z   ⁡     (   f   )       =         T   0       T   M       ⁡     [     1   +       ∑     l   =   1     n     ⁢       2   ·   cos     ⁢     {     2   ⁢           ⁢     π   ·     (     fT   0     )     ·     (     l   +       ∑     i   =   1     l     ⁢       u   ⁡     (     i   -   1     )       ·     Δ     T   0             )         }           ]               (   6   )             
 
         [0052]     The following transforms show the effect of frequency modulation (or time period modulation) with different parameters on the system clock. ‘x’ is substituted for (fT 0 ), which is the real number multiple (integral and fractional) of the fundamental frequency (1/T 0 ).  
         [0053]     For ΔT 0  the maximum allowed deviation of the time period T 0 , which is set by the system requirements assuming p is the allowed fractional deviation of T 0  by the system, the following equations can be written in terms of the following system specified variables, p, modulating wave, u(i) and n:  
                 x   =     fT   0       ;     p   =       Δ   ⁢           ⁢     T   0         T   0         ;       Δ   ⁢           ⁢     T   0       =       u   ⁡     (     n   -   1     )       ·   Δ       ;         Δ     T   0       =     p     u   ⁡     (     n   -   1     )           ;   &amp;       ⁢     
     ⁢         T   0       T   M       =     1     2   ⁢     (     n   +       p     u   ⁡     (     n   -   1     )         ⁢       ∑     i   =   1     n     ⁢     u   ⁡     (     i   -   1     )             )                   (   7   )             
 
         [0054]     Substituting equation (7) in (6) we get an envelope multiplying factor Z′(x):  
                       Z   ′     ⁡     (   x   )       =       ⁢     1     2   ⁢     (     n   +       p     u   ⁡     (     n   -   1     )         ⁢       ∑     i   =   1     n     ⁢     u   ⁡     (     i   -   1     )             )                         ⁢     [     1   +       ∑     l   =   1     n     ⁢     2   ·     cos   (     2   ⁢           ⁢     π   ·   x   ·     (     l   +       ∑     i   =   1     l     ⁢       u   ⁡     (     i   -   1     )       ·     p     u   ⁡     (     n   -   1     )               )         }           ]                   (   8   )             
 
         [0055]     On plotting the function Z′(x), the scale factor for the radiation patterns of equation (8) against values of p and n, and keeping u(i) as a linear function, i.e., u(i)=i, we obtain the graphs shown in  FIGS. 4, 5 ,  6  and  7 . The graphs clearly show a substantial radiation attenuation of 6 dB (the Y axis value of 0.5 or less) compared to the unmodulated system clock. It is also observed that larger values of p (i.e., a larger deviation of system clock period) for a given value of n (same modulating frequency) give better attenuation. An attenuation of 6 dB is achieved at the 30 th  harmonic of the signal for p=1% and n=16 as shown in  FIG. 4 , whereas the same result is achieved at the 12 th  harmonic for p=2.5% as shown in  FIG. 5 .  
         [0056]     Similarly, a larger value of n for a given value of p provides better attenuation. An attenuation of 6 dB is achieved at the 15 th  harmonic of the signal as shown in  FIG. 6  for p=1% and n=32 as compared to the case with n=16 as shown in  FIG. 4 . Further, for p=2.5% and n=32 an attenuation of 6 dB is achieved at the 6 th  harmonic of the signal. These observations are in agreement with frequency modulation theories [Communication Systems, by Simon Haykin, Wiley Eastern Limited, 1979]. The attenuation at lower harmonics is very low, as is visible up to the 8 th  or 10 th  harmonic. It is therefore necessary to know the frequency range for which the EMI is to be reduced before design.  
         [0057]     Circuits to perform time period modulation based upon the above mentioned principle will now be discussed. A preferred embodiment of the present invention is the circuit as shown in  FIG. 8 . This embodiment has a delay line comprising a chain of small delay elements, each of delay value Δ, fed at the input by the system clock CK in . The delay chain is tapped at different points  14  determined by the modulating wave&#39;s nature, as shown for example in  FIG. 9 . The delay segments distribution can be set to u(i)=i or any such function, and not necessarily linear as shown. The delay steps preferably are maximum at the middle of the chain while tapering off at the ends (shown as the delay distribution in  FIG. 10 ) to provide a continuous curve modulating wave. The tapped delays are multiplexed at the output to produce a clock for the rest of the chip.  
         [0058]     The multiplexer  11  is implemented by transmission gates or tri-state gates. The control of the multiplexer comes from state machine  12  which counts up from 0 to ‘n’ states, followed by down counting from ‘n’ to 0 again. The lower half of the modulating wave in  FIG. 9 , where the time period reduces from the unmodulated value, is achieved by the down counting of the state machine  12 .  
         [0059]     Glitch free operation of the circuit is ensured by providing the clock input of the state machine  12  through a predetermined delay element  13  which receives its input from the output of the last element of the delay chain. The predetermined delay element is selected so that when the multiplexer selects any input, the entire delay chain reflects the state of the clock waveform (either logic 0 or 1). When the state machine changes, controls to the multiplexer  11  may not change at the same time. There may be a switching back and forth for some of the inputs to the output before the control settles. By this time all the inputs to the multiplexer have the same settled value, and the output will not see a glitch. This is achieved by conforming to defined timing constraints. The value of the predetermined delay element  13  T del  can be calculated pessimistically by the following relation:  
                   Σ   ⁢           ⁢       u   ⁡     (   i   )       ·   Δ       ︸     +     T   mux     +     T   del     +     T     CK   -&gt;   Sel         &lt;     T     HL   ⁢           ⁢   min               (   9   )             
 
         [0060]     Where T mux  is the maximum input to output delay in the multiplexer, T CK&gt;SEL  is the clock to output delay of the state-machine. T HLmin  is the minimum of the high or low phase of the unmodulated system clock period and Σ u(i).Δ  is the total delay of the delay chain. The architecture can have an enable signal SSCK_en for enabling/disabling the modulation.  
         [0061]     The choice of u(i), p and n of equation (8) depends on the minimum delay possible in the selected technology and the maximum deviation allowed in the system clock period. The delay element can comprise the minimum delay element available in the library or a finer delay element can be derived by available delay interpolation techniques. Quite often, larger variations (p) of clock periods is not allowed, so a modulating wave spanning over a larger number of clock cycles (n) would be preferred for better reduction of radiation, as it is evident from comparing  FIG. 4  vs.  6  or  FIG. 5  vs.  7 . In this case a much finer delay element would be necessary. The technique to achieve this is discussed in the second embodiment.  
         [0062]     A second embodiment of the invention for achieving finer delays than the library component by delay interpolation techniques is shown in  FIG. 11 . The delay elements δ are available delay units. Alternate taps (single line and double line taps) of the delay chain are fed to two multiplexers M 0  and M 1  which have the control signal-vector S.  
         [0063]     The outputs of the multiplexers are the respective inputs to the delay interpolation block I 0  and I 1 . The interpolation blocks are discussed in U.S. Pat. No. 6,169,436, which is assigned to the current assignee of the present invention and is incorporated herein by reference. Interpolation blocks will be explained for the sake of clarity and completeness. Only I 0  and I 1  comprise branches b 0  to bN of series connected PMOS/NMOS transistors with a binary weighted width-to-length (W/L) ratio (b 0  having the smallest), along with the control signal to turn on the branches K 0  . . . K N , and their complements. The control signals K i s and their complements are connected to blocks I 0  and I 1 , and for the same control code, if the I 0  section of the interpolator is stronger with an increased number of branches on, then the I 1  section will be weaker with less number of branches on, and vice-versa.  
         [0064]     This way, an interpolation of delay between (i)δ and (i+1)δ is achieved. By interpolating the delay between two taps (i.e., δ), the delay is divided into 2 N  possible finer delays. However, after obtaining the finely spaced delays, the control code is generated [S and K i /K i ′] sequentially (from a lower to a higher code and backward) so that the delay from CKin to CKout meets the requirements of the u(i)Δ function of a smooth modulating waveform.  
         [0065]      FIG. 12  shows an example of an arbitrary delay variation using the second embodiment of the invention to achieve a smooth modulation of the clock period. The code for multiplexer selection (i.e., S) is shown as a monotonically increasing code (Y-axis) for increasing delay (X-axis) between Ckin to CKout, whereas the code for delay interpolation (i.e., K i , Y-axis) is shown as increasing or decreasing for alternate codes of S, for increasing delay (X-axis). The delay variation pattern u(i).Δ for the i-th clock pulse is determined by the difference of the delay between Ckin to Ckout in a previous clock pulse [d(i−1)] to the same delay during the present clock pulse [d(i)].  
         [0066]     Discrete values of S and Ki are generated sequentially corresponding to required d(i)s for smooth time period modulation as shown in  FIG. 12 . This is a more suitable strategy for systems where the percentage variation of the clock period is small, yet there is a need to modulate over a larger number of clock cycles to achieve better attenuation in accordance with equation (8). A suitable delay is added before the clock reaches the control signal generator to avoid glitches.  
         [0067]     It will be apparent to those with ordinary skill in the art that the foregoing is merely illustratively and is not intended to be exhaustive or limiting, having been presented by way of example only and wherein various modifications can be made within the scope of the invention.  
         [0068]     Accordingly, this invention is not to be considered limited to the specific examples chosen for purposes of disclosure, but rather to cover all changes and modifications, which do not constitute departures from the permissible scope of the present invention. The invention is therefore not limited by the description contained herein or by the drawings.