US20150346744A1 - Method and Apparatus for Compensating PVT Variations - Google Patents
Method and Apparatus for Compensating PVT Variations Download PDFInfo
- Publication number
- US20150346744A1 US20150346744A1 US14/290,390 US201414290390A US2015346744A1 US 20150346744 A1 US20150346744 A1 US 20150346744A1 US 201414290390 A US201414290390 A US 201414290390A US 2015346744 A1 US2015346744 A1 US 2015346744A1
- Authority
- US
- United States
- Prior art keywords
- pvt
- look
- pvt compensation
- circuit
- compensation values
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
- G05F1/10—Regulating voltage or current
- G05F1/46—Regulating voltage or current wherein the variable actually regulated by the final control device is dc
- G05F1/462—Regulating voltage or current wherein the variable actually regulated by the final control device is dc as a function of the requirements of the load, e.g. delay, temperature, specific voltage/current characteristic
- G05F1/463—Sources providing an output which depends on temperature
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
Definitions
- the present invention relates generally to a device and method for compensating PVT (process, voltage, temperature) variations, and, in particular embodiments, to a device and method for compensating PVT variations in spread-spectrum clock generation (SSCG).
- PVT process, voltage, temperature
- SSCG spread-spectrum clock generation
- Spread-spectrum clock generator is used in synchronous digital systems in order to reduce spectral density of the electromagnetic interference (EMI).
- a synchronous digital system is one that is driven by a clock signal and, because of its periodic nature, has a narrow frequency spectrum.
- Spread-spectrum clocking reduces the peak radiated energy and electromagnetic emissions.
- a SSCG generates a clock signal with a frequency that is intentionally swept (frequency modulated) within a certain frequency range, with a predefined modulation profile.
- Spread-spectrum clocking does not reduce the total power of the harmonic noise but it spreads the energy of each clock harmonic evenly over a dedicated bandwidth. In this way, the peak power level at each clock harmonic is reduced as much as 10-20 DB, depending on the modulation depth and the modulation profile.
- a SSCG typically spreads energy over a larger bandwidth thereby effectively reduces electrical and magnetic readings within narrow bandwidths. Distributing this same energy into a larger bandwidth prevents systems from putting enough energy into any one narrowband to exceed the statutory limits.
- spread-spectrum clocking like other kinds of dynamic frequency changes, may create challenges such as clock/data misalignment or clock skew.
- an integrated circuit comprises a buffer circuit and a PVT (process, temperature, voltage) compensation circuit configured to compensate a PVT variation of the buffer circuit, wherein the PVT compensation circuit comprises adders and subtractors.
- PVT process, temperature, voltage
- a method for compensating a PVT (process, voltage, temperature) variation of a buffer circuit comprises calculating a plurality of PVT compensations values for the buffer circuit by applying an arithmetic subtraction calculation.
- a method for compensating a PVT (process, voltage, temperature) variation of a buffer circuit comprises calculating a plurality of PVT compensations values for the buffer circuit, and storing the PVT compensation values in a first look-up table.
- an integrated circuit comprises a buffer circuit and a PVT (process, temperature, voltage) compensation circuit comprising a first look-up table configured to store PVT compensation values.
- PVT process, temperature, voltage
- FIG. 1 is a flowchart of a method for calculating a PVT compensation value WR according to an arithmetic subtraction calculation
- FIG. 2 is a flowchart of a method for calculating and storing PVT compensation values
- FIG. 3 is a block diagram of an SSCG circuit according to an embodiment of the invention.
- FIG. 4 is an exemplary clock delay
- FIG. 5 shows a waveform of an embodiment of a PVT compensation circuit with register-based look-up tables.
- a spread system clock generator (circuit, unit) shifts an input clock signal (e.g., by rising and/or falling edges) by a chain of buffer delay cells to provide a predetermined output clock signal.
- SSCG spread system clock generator
- Such a shift from the input clock signal to the output clock signal may reduce the electromagnetic interference (EMI) energy.
- EMI electromagnetic interference
- the mean operating frequency may be maintained.
- PVT Process, Voltage and Temperature
- Conventional PVT compensation circuits comprise analog feedback circuit such as PLL (phase locked loop) or digital divider circuit using digital arithmetic divider calculations.
- Conventional digital PVT compensation circuits typically include standard divider cells. Disadvantages of such conventional circuits are: 1) The compensation circuits may not be implemented in slower process technologies because it requires a long chain of digital combinational circuits to achieve the compensation within a single clock cycle, and 2) the conventional compensation circuits run continuously in real-time which prevent the implementation of a power saving mode.
- Embodiments of the invention provide a PVT compensation circuit comprising register based look-up tables.
- Embodiments provide a PVT compensation circuit applying an arithmetic subtraction calculations. Some embodiments avoid divider circuits for formula calculations. Further embodiments include a method to stop calculating PVT compensation values when not required thereby reducing power consumption of the PVT compensation circuit.
- these PVT compensation circuits can be applied to a wider range of process technologies (e.g., technologies 130 nm or smaller) than conventional PVT compensation circuits.
- Other advantages are that the PVT compensation circuit can be turned off periodically to save power. Since PVT does not change rapidly but rather slowly in real world settings or applications.
- the PVT variations of delay buffer circuits in a SSCG are compensated with a PVT compensation circuit applying an arithmetic subtraction calculation (referred herein also as arithmetic subtraction calculation).
- the arithmetic subtraction calculation replaces or substitutes the conventional arithmetic division calculation (also referred herein as arithmetic division method, division method or division calculation).
- the arithmetic subtraction calculation may be used together with two sets of register-based memory tables.
- the arithmetic subtraction calculation requires inevitably more calculation cycles to calculate the PVT compensation values than the division method.
- the method is overall superior than the conventional division calculation.
- the results according to the subtraction calculation are stored in look-up tables and then processed from one of the look-up tables the overall time for receiving a PVT compensation value is actually reduced compared to the conventional division method.
- the first look-up table stores the results (PVT compensation values) of the on-going PVT calculation.
- the PVT compensation values for all buffer cells being calculated and stored in a first look-up table are copied to a second look-up table.
- the second look-up table may be refreshed only periodically with the current PVT compensation values stored in the first look-up table.
- the arithmetic subtraction method continuously calculates PVT compensation values and stores them in the first look-up table.
- the stored compensation values are overwritten in the first look-up table and are replaced with newly calculated PVT compensation values.
- the buffer cells are compensated with the PVT compensation values stored in and accessed from the second look-up table.
- SHIFT may change in every clock cycle. This may cause the formula and the division of MEAS to be required in every clock cycle for proper operation. Depending on the number of buffer delay cells used in the delay lines, the value SHIFT can be quite large.
- cr _ref (shift ⁇ dcdl )/2 12
- the division can be achieved with digital logic based subtractors rather than with digital logic based dividers.
- cr_ref/meas can be represented by cr_ref ⁇ meas and by performing this operation x times.
- the total number of subtraction routines results in an integer and equals the division result. In this case the integer is represented by WR and the result of applying a logic operation (arithmetic subtraction calculation) as shown in the flowchart of FIG. 1 .
- a look up table may be built based on the arithmetic subtraction method shown in FIG. 1 .
- the PVT compensation value WR may a range because SHIFT may be a range.
- the first table is then transferred or copied to the second table.
- the first table is continuously refreshed with newly calculated values, while the second table is maintained with (quasi-)fix values transferred from the first table to the second table.
- the values of the second table may not change for some time.
- the values of the second table may only be updated or refreshed after a certain predetermined time. For example, the second table is refreshed when the first table is fully recalculated.
- the second table comprises 64 delay cells (in a delay line)
- the second table comprises the PVT (shift) compensation values, and is configured to provide these values (output) to the delay cells.
- the first look-up table may take some time to be updated for all compensation values. However, the system will still be able to function in real time through the second look-up table. As explained above, the second look-up table is periodically updated via the first look-up table.
- a MEAS value is calculated for the clock generation circuit in the PVT compensation circuit.
- a MEAS value is calculated for a ring oscillator of the PVT compensation circuit.
- the MEAS may be calculated for 1024 clock cycles since the empirical PVT values change slowly in a real world setting. Alternatively, the MEAS may be calculated for less than 1024 clock cycles (e.g., 512, 256, etc.) or for more than 1,024 clock cycles (e.g., 2048, 5096, etc.)
- the PVT compensation values, WR (shift) values are calculated.
- the WR values are calculated by applying arithmetic subtraction calculation for the calculated MEAS. A WR value may be obtained for each shift value or each buffer delay cell.
- the first look-up table is completed 230 . If the SSCG comprises 64 buffer delay cells 64 WR (shift) values are calculated and stored in the first look-up table. The look-up table is complete or full if all 64 WR (shift) values are calculated and stored. If the SSCG comprises less than 64 delay cells (e.g., 32 delay cells) then 32 WR values are calculated and stored in the first look-up table. If there are more buffer delay cells (e.g., 128 delay cells) then more WR values are calculated to complete the first look-up table.
- the first look-up table is copied to a second look-up table (e.g., the 64 WR values are copied over).
- the second look-up table's content may be (quasi) static (e.g., static for a certain amount of time) and ready to be used for the buffer delay cells. Namely, the values of the second look-up table are only refreshed after certain periods.
- the WR values are still calculated and copied to both the look-up tables.
- the calculated values will base on a default which has been intentionally coded in the design to represent a nominal condition scenario (room temperature, standard voltage, and standard process corner).
- the size of the look-up tables may be fixed depending on the number of the buffer delay cells. For example, if 64 sets of N-bit registers are used in each table, the first table will be constantly updated by the latest calculated values for the PVT compensation (shift) values WR. Once the first table has reaches its full register size, the full register is copied to the second table. The PVT compensation values from the second look-up table are used to control the buffer delay lines.
- the system may be able to function in real-time through the second table while the first table is updated.
- a power saving function may be implemented. For example, the PVT calculation does not take place for a certain amount of time (turned off and then turned on) or operates only every 1,000, 10,000 or 100,000 clock circles.
- FIG. 3 shows a block diagram according to an embodiment of the invention.
- the block diagram shows an implementation of a Spread System Clock Generator (SSCG) 300 .
- the SSCG 300 comprises a digital processor unit 310 and a delay line unit 320 .
- the digital processor unit 310 comprises a measurement unit 330 and a modulator 340 , wherein the modulator 340 comprises a waveform generator and digital period synthesizer.
- the waveform generator may generate waves with triangular waveform. However, the waveform generator may generate any other suitable waves such as sine waveform or a rectangular waveform.
- the measurement unit 330 is configured to measure and calculate compensation of the PVT variation.
- the delay line unit 320 includes the buffer delay cells in delay lines 362 , 364 .
- SSCG 300 comprises two delay lines 362 , 364 , wherein the phase is shifted between the first delay line 362 and the second delay line 364 by half a clock cycle.
- the SSCG 300 is configured to provide a certain output clock frequency.
- the selected output clock frequency can be 100 MHz or 300 MHz (or 150 MHz or 250 MHz) or any other desired MHz frequency.
- the SSCG 300 is configured to turn on and off delay frequency cells.
- the delay line unit 320 can be digitally controlled to set the number of turned on buffer delay cells.
- the number of buffer delay cells (located in both the delay lines) to be turned on, may be based on the final calculated PVT compensation value after the calculation is completed through the measurement unit 330 .
- the SSCG 300 uses the method to calculate the final calculated PVT compensation value described with respect to FIGS. 1 and 2 .
- the final calculated PVT compensation value is 50
- 50 buffer delay cells in each delay line 362 , 364 are turned on out of the total of 64 delay cells in each delay line 362 , 364 of the SSCG 300 .
- the period (and therefore the characteristic) of the output clock signal can be changed by changing the number of buffer delay cells to be turned on.
- the SSCG 300 comprises the PVT compensation circuit 350 .
- the PVT compensation circuit comprises circuit elements of the digital processor unit 310 and of the delay line unit 320 .
- the PVT compensation circuit 350 comprises the measurement unit 330 , a delay line 368 , and a prescaler 370 .
- the measurement unit 330 may comprise a power save (power off) circuit 332 , a subtraction circuit 334 , a first register table 336 and a second register table 338 .
- the delay line 368 is employed in the PVT compensation circuit 350 to track process, voltage and temperature variations.
- the SSCG 300 has an input terminal 382 and an output terminal 384 .
- the input terminal 382 receives an input signal (e.g., clock signal CLK) and the output terminal 344 provides and transmits an output signal (e.g., clock signal CLK OUT ).
- CLK OUT edges can be generated by the different delay lines 362 , 364 .
- the clock output signal can be delayed by ⁇ RE or by ⁇ FE .
- An example of a delay between an input clock signal and an output clock signal is shown in FIG. 4 .
- the look-up tables 336 , 338 may be located in the measurement unit 330 of the digital processor.
- the two look-up tables may be register based look-up tables located inside the processor. Alternatively, the look-up tables may be located outside of the digital processor in separate memory devices.
- the look-up tables are two look-up tables. Alternatively, there are more than two look-up tables. For example, there are four, six, eight or more look-up tables.
- the array may be 32 or 16, or alternatively, 128, 256, 512, or 1024.
- the array can comprise a different size.
- the control value WR may comprise more or less than 7 bits.
- Each register can be represented by 1 flip-flop.
- the PVT compensation circuit 350 comprises a power off circuit. It is not necessary to obtain the MEAS value for every clock cycle since PVT changes very slowly in a real world scenario. For example, the MEAS value can be obtained every 1,000 k cycles or every 100 k cycles. When the MEAS value is not updated, the PVT compensation circuit 350 (in particular the subtraction circuitry 334 ) can be turned off to save power.
- the design can be easily implemented in VHDL and cater for wide range of process technologies.
- the advantage of embodiments of the invention is to provide a design of a PVT compensation circuit for slow process technologies.
- FIG. 5 shows the waveform of the implemented PVT compensation circuit a with register based look-up table mechanism.
- wr_ref represents WR from the first look-up table
- wr_fix represents WR from the second look-up table
- wr_pvt and wf_pvt shows the final compensated PVT values used to control the amount of buffers to be turned on/off in the delay cells of the delay lines.
- the delay cells delay value may be intentionally forced to a smaller value (thus a faster delay). This caused the MEAS value (the count value of reference clock slicing the divided delayed clock) to change from 64 to 45, for example. The lesser count means the period of the delayed clock is smaller, thus meaning a faster delay in the delay cell.
- the PVT compensation circuitry may start to work. It triggers calculating and refreshing of the PVT values in the first look-up table wr_ref at the first arrow 501 .
- the initial wr_ref calculation is based on MEAS 64 (before first arrow 501 ). The calculation may be completed before the next calculation of the PVT values starts.
- the values are copied into the second look-up table wr_fix. The copying takes place at the second arrow 502 .
- Wr_fix is the final WR value for the amount of buffer cells to be turn on.
- wr_pvt is the buffer delay value for the rising edge of the output clock
- wf_pvt is the buffer delay value for the falling edge of the output clock.
- the final SSCG output clock is re-constructed by combining both the rising edge of the delayed clock and the falling edge of the delayed clock.
- the change of value of ‘wr_pvt’ and ‘wf_pvt’ represents that the new PVT calculated value is obtained based on the change of MEAS value.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
Description
- The present invention relates generally to a device and method for compensating PVT (process, voltage, temperature) variations, and, in particular embodiments, to a device and method for compensating PVT variations in spread-spectrum clock generation (SSCG).
- Spread-spectrum clock generator (SSCG) is used in synchronous digital systems in order to reduce spectral density of the electromagnetic interference (EMI). A synchronous digital system is one that is driven by a clock signal and, because of its periodic nature, has a narrow frequency spectrum. Spread-spectrum clocking reduces the peak radiated energy and electromagnetic emissions.
- A SSCG generates a clock signal with a frequency that is intentionally swept (frequency modulated) within a certain frequency range, with a predefined modulation profile. Spread-spectrum clocking does not reduce the total power of the harmonic noise but it spreads the energy of each clock harmonic evenly over a dedicated bandwidth. In this way, the peak power level at each clock harmonic is reduced as much as 10-20 DB, depending on the modulation depth and the modulation profile.
- A SSCG typically spreads energy over a larger bandwidth thereby effectively reduces electrical and magnetic readings within narrow bandwidths. Distributing this same energy into a larger bandwidth prevents systems from putting enough energy into any one narrowband to exceed the statutory limits.
- However, spread-spectrum clocking, like other kinds of dynamic frequency changes, may create challenges such as clock/data misalignment or clock skew.
- In accordance with embodiments of the present invention, an integrated circuit comprises a buffer circuit and a PVT (process, temperature, voltage) compensation circuit configured to compensate a PVT variation of the buffer circuit, wherein the PVT compensation circuit comprises adders and subtractors.
- In accordance with embodiments of the present invention, a method for compensating a PVT (process, voltage, temperature) variation of a buffer circuit comprises calculating a plurality of PVT compensations values for the buffer circuit by applying an arithmetic subtraction calculation.
- In accordance with embodiments of the present invention, a method for compensating a PVT (process, voltage, temperature) variation of a buffer circuit comprises calculating a plurality of PVT compensations values for the buffer circuit, and storing the PVT compensation values in a first look-up table.
- In accordance with embodiments of the present invention, an integrated circuit comprises a buffer circuit and a PVT (process, temperature, voltage) compensation circuit comprising a first look-up table configured to store PVT compensation values.
- For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
-
FIG. 1 is a flowchart of a method for calculating a PVT compensation value WR according to an arithmetic subtraction calculation; -
FIG. 2 is a flowchart of a method for calculating and storing PVT compensation values; -
FIG. 3 is a block diagram of an SSCG circuit according to an embodiment of the invention; -
FIG. 4 is an exemplary clock delay; and -
FIG. 5 shows a waveform of an embodiment of a PVT compensation circuit with register-based look-up tables. - A spread system clock generator (SSCG) (circuit, unit) shifts an input clock signal (e.g., by rising and/or falling edges) by a chain of buffer delay cells to provide a predetermined output clock signal. Such a shift from the input clock signal to the output clock signal may reduce the electromagnetic interference (EMI) energy. At the same time, the mean operating frequency may be maintained. PVT (Process, Voltage and Temperature) variations affect the buffer delay cells delay and the predetermined output clock signal's shifting manner. Therefore, a PVT compensation circuit is used to overcome and compensate for PVT variation.
- Conventional PVT compensation circuits comprise analog feedback circuit such as PLL (phase locked loop) or digital divider circuit using digital arithmetic divider calculations. Conventional digital PVT compensation circuits typically include standard divider cells. Disadvantages of such conventional circuits are: 1) The compensation circuits may not be implemented in slower process technologies because it requires a long chain of digital combinational circuits to achieve the compensation within a single clock cycle, and 2) the conventional compensation circuits run continuously in real-time which prevent the implementation of a power saving mode.
- Embodiments of the invention provide a PVT compensation circuit comprising register based look-up tables. Embodiments provide a PVT compensation circuit applying an arithmetic subtraction calculations. Some embodiments avoid divider circuits for formula calculations. Further embodiments include a method to stop calculating PVT compensation values when not required thereby reducing power consumption of the PVT compensation circuit.
- Advantages of these embodiments are that these PVT compensation circuits can be applied to a wider range of process technologies (e.g., technologies 130 nm or smaller) than conventional PVT compensation circuits. Other advantages are that the PVT compensation circuit can be turned off periodically to save power. Since PVT does not change rapidly but rather slowly in real world settings or applications.
- The PVT variations of delay buffer circuits in a SSCG are compensated with a PVT compensation circuit applying an arithmetic subtraction calculation (referred herein also as arithmetic subtraction calculation). The arithmetic subtraction calculation replaces or substitutes the conventional arithmetic division calculation (also referred herein as arithmetic division method, division method or division calculation). The arithmetic subtraction calculation may be used together with two sets of register-based memory tables.
- The arithmetic subtraction calculation requires inevitably more calculation cycles to calculate the PVT compensation values than the division method. However, because two register based look-up tables are used to provide the PVT values to the delay buffer circuits (cells) the method is overall superior than the conventional division calculation. In particular, since the results according to the subtraction calculation are stored in look-up tables and then processed from one of the look-up tables the overall time for receiving a PVT compensation value is actually reduced compared to the conventional division method. After the PVT compensation values being calculated, they are stored in a first look-up table. The first look-up table stores the results (PVT compensation values) of the on-going PVT calculation. After the PVT compensation values for all buffer cells being calculated and stored in a first look-up table, they are copied to a second look-up table. In other words, the second look-up table may be refreshed only periodically with the current PVT compensation values stored in the first look-up table. The arithmetic subtraction method continuously calculates PVT compensation values and stores them in the first look-up table. After copying the PVT compensation values to the second look-up table, the stored compensation values are overwritten in the first look-up table and are replaced with newly calculated PVT compensation values. The buffer cells are compensated with the PVT compensation values stored in and accessed from the second look-up table.
- In the SSCG, the finite state machine (FSM) and PVT compensation value calculation is implemented by the following formula:
-
- wherein:
-
- “WR” is the compensation value (control value) submitted to the buffer delay cells in order to achieve the desired spread clock behavior (indicating the number of delay cells required to be activated to achieve the clock shifting needs for clock edges in real-time);
- “SHIFT” is a calculated value from the FSM based on the algorithm of a SSCG circuit. An example is disclosed in Davide de Caro et al., A 1.27 GHz, All Digital Spread Spectrum Clock Generator/Synthesizer in 65 m CMOS, IEEE Journal of Solid State Circuits, Vol. 45 (2010), 1048-1060. SHIFT (value) may be a range because it is based on the algorithm of a spread spectrum clock which in turn may be based on a range of different input clock frequencies.
- “DCDL” is a user input value based on the selected output clock signal frequency (such as 100 MHz or 300 MHz (or 150 MHz or 250 MHz) or any other desired MHz value between or outside these values) of the SSCG;
- “MEAS:” the PVT compensation circuit comprises a clock generation circuit with the same delay cells (e.g., in
delay line 368 inFIG. 4 ) as the main delay (buffer) circuits (e.g., indelay lines FIG. 4 ). For example, the PVT compensation circuit comprises a ring oscillator with the same delay cells as in the main delay cell circuit. A reference clock signal is used to calculate the delay of the clock signal running through the reference delay cells. The delayed clock running through the delay cells are further divided by a fixed value. The reference clock is then used to slice the divided delayed clock by X number of times to obtain the period of the delayed clock in the measured PVT condition (“Count” (value) means the number of times the reference clock slicing the delayed clock. Count is represented by MEAS). If the reference delay cells are slower, the count value is different than if the reference delay cells are faster. The larger the MEAS number the more often the reference clock has sliced the divided delayed clock and the slower the delay cells are behaving in the PVT condition.
- SHIFT may change in every clock cycle. This may cause the formula and the division of MEAS to be required in every clock cycle for proper operation. Depending on the number of buffer delay cells used in the delay lines, the value SHIFT can be quite large.
- The above formula can be rewritten as:
-
cr_ref=(shift×dcdl)/212 -
with -
wr=cr_ref/meas - The division can be achieved with digital logic based subtractors rather than with digital logic based dividers. For example, cr_ref/meas can be represented by cr_ref−meas and by performing this operation x times. The total number of subtraction routines results in an integer and equals the division result. In this case the integer is represented by WR and the result of applying a logic operation (arithmetic subtraction calculation) as shown in the flowchart of
FIG. 1 . - Whenever a new result MEAS is obtained a look up table may be built based on the arithmetic subtraction method shown in
FIG. 1 . The PVT compensation value WR may a range because SHIFT may be a range. - Once the first table is built using many clock cycles, the first table is then transferred or copied to the second table. The first table is continuously refreshed with newly calculated values, while the second table is maintained with (quasi-)fix values transferred from the first table to the second table. The values of the second table may not change for some time. The values of the second table may only be updated or refreshed after a certain predetermined time. For example, the second table is refreshed when the first table is fully recalculated. For example, if the SSCG comprises 64 delay cells (in a delay line), the second table is refreshed after the 64 PVT (shift) compensation values are calculated. The second table comprises the PVT (shift) compensation values, and is configured to provide these values (output) to the delay cells. The first look-up table may take some time to be updated for all compensation values. However, the system will still be able to function in real time through the second look-up table. As explained above, the second look-up table is periodically updated via the first look-up table.
- The
full method 200 for calculating and storing the PVT compensation values is represented in the flowchart ofFIG. 2 . In a first step 210 a MEAS value is calculated for the clock generation circuit in the PVT compensation circuit. For example, a MEAS value is calculated for a ring oscillator of the PVT compensation circuit. The MEAS may be calculated for 1024 clock cycles since the empirical PVT values change slowly in a real world setting. Alternatively, the MEAS may be calculated for less than 1024 clock cycles (e.g., 512, 256, etc.) or for more than 1,024 clock cycles (e.g., 2048, 5096, etc.) In anext step 220 the PVT compensation values, WR (shift) values, are calculated. The WR values are calculated by applying arithmetic subtraction calculation for the calculated MEAS. A WR value may be obtained for each shift value or each buffer delay cell. By calculating the PVT compensation values the first look-up table is completed 230. If the SSCG comprises 64 buffer delay cells 64 WR (shift) values are calculated and stored in the first look-up table. The look-up table is complete or full if all 64 WR (shift) values are calculated and stored. If the SSCG comprises less than 64 delay cells (e.g., 32 delay cells) then 32 WR values are calculated and stored in the first look-up table. If there are more buffer delay cells (e.g., 128 delay cells) then more WR values are calculated to complete the first look-up table. In thelast step 240, the first look-up table is copied to a second look-up table (e.g., the 64 WR values are copied over). The second look-up table's content may be (quasi) static (e.g., static for a certain amount of time) and ready to be used for the buffer delay cells. Namely, the values of the second look-up table are only refreshed after certain periods. - If there is no PVT compensation for some or all the delay cells, the WR values are still calculated and copied to both the look-up tables. The calculated values will base on a default which has been intentionally coded in the design to represent a nominal condition scenario (room temperature, standard voltage, and standard process corner).
- The size of the look-up tables (e.g., register size) may be fixed depending on the number of the buffer delay cells. For example, if 64 sets of N-bit registers are used in each table, the first table will be constantly updated by the latest calculated values for the PVT compensation (shift) values WR. Once the first table has reaches its full register size, the full register is copied to the second table. The PVT compensation values from the second look-up table are used to control the buffer delay lines.
- The system may be able to function in real-time through the second table while the first table is updated.
- In some embodiments a power saving function may be implemented. For example, the PVT calculation does not take place for a certain amount of time (turned off and then turned on) or operates only every 1,000, 10,000 or 100,000 clock circles.
-
FIG. 3 shows a block diagram according to an embodiment of the invention. The block diagram shows an implementation of a Spread System Clock Generator (SSCG) 300. TheSSCG 300 comprises adigital processor unit 310 and adelay line unit 320. Thedigital processor unit 310 comprises ameasurement unit 330 and amodulator 340, wherein themodulator 340 comprises a waveform generator and digital period synthesizer. The waveform generator may generate waves with triangular waveform. However, the waveform generator may generate any other suitable waves such as sine waveform or a rectangular waveform. Themeasurement unit 330 is configured to measure and calculate compensation of the PVT variation. Thedelay line unit 320 includes the buffer delay cells indelay lines SSCG 300 comprises twodelay lines first delay line 362 and thesecond delay line 364 by half a clock cycle. - The
SSCG 300 is configured to provide a certain output clock frequency. For example, the selected output clock frequency can be 100 MHz or 300 MHz (or 150 MHz or 250 MHz) or any other desired MHz frequency. To achieve the different output clock frequencies, theSSCG 300 is configured to turn on and off delay frequency cells. Thedelay line unit 320 can be digitally controlled to set the number of turned on buffer delay cells. The number of buffer delay cells (located in both the delay lines) to be turned on, may be based on the final calculated PVT compensation value after the calculation is completed through themeasurement unit 330. In some embodiments theSSCG 300 uses the method to calculate the final calculated PVT compensation value described with respect toFIGS. 1 and 2 . - For example, if the final calculated PVT compensation value is 50, then 50 buffer delay cells in each
delay line delay line SSCG 300. The period (and therefore the characteristic) of the output clock signal can be changed by changing the number of buffer delay cells to be turned on. - The
SSCG 300 comprises thePVT compensation circuit 350. The PVT compensation circuit comprises circuit elements of thedigital processor unit 310 and of thedelay line unit 320. ThePVT compensation circuit 350 comprises themeasurement unit 330, adelay line 368, and a prescaler 370. Themeasurement unit 330 may comprise a power save (power off)circuit 332, asubtraction circuit 334, a first register table 336 and a second register table 338. Thedelay line 368 is employed in thePVT compensation circuit 350 to track process, voltage and temperature variations. - The
SSCG 300 has aninput terminal 382 and anoutput terminal 384. Theinput terminal 382 receives an input signal (e.g., clock signal CLK) and the output terminal 344 provides and transmits an output signal (e.g., clock signal CLKOUT). CLKOUT edges can be generated by thedifferent delay lines FIG. 4 . - The look-up tables 336, 338 may be located in the
measurement unit 330 of the digital processor. The two look-up tables may be register based look-up tables located inside the processor. Alternatively, the look-up tables may be located outside of the digital processor in separate memory devices. The look-up tables are two look-up tables. Alternatively, there are more than two look-up tables. For example, there are four, six, eight or more look-up tables. Each look-up table may have the size of 64×7=448 registers. The number of registers may cater to the frequency range in which the SSCG is supposed to work. 64 is the number of arrays for a complete PVT compensation and to cover the full range of delay variations for all buffers. 7 is the number of bits for the control value WR. These numbers can be different. For example, the array may be 32 or 16, or alternatively, 128, 256, 512, or 1024. Alternatively, the array can comprise a different size. Similarly, the control value WR may comprise more or less than 7 bits. Each register can be represented by 1 flip-flop. - The
PVT compensation circuit 350 comprises a power off circuit. It is not necessary to obtain the MEAS value for every clock cycle since PVT changes very slowly in a real world scenario. For example, the MEAS value can be obtained every 1,000 k cycles or every 100 k cycles. When the MEAS value is not updated, the PVT compensation circuit 350 (in particular the subtraction circuitry 334) can be turned off to save power. - The design can be easily implemented in VHDL and cater for wide range of process technologies. The advantage of embodiments of the invention is to provide a design of a PVT compensation circuit for slow process technologies.
-
FIG. 5 shows the waveform of the implemented PVT compensation circuit a with register based look-up table mechanism. - In the diagram: wr_ref represents WR from the first look-up table, wr_fix represents WR from the second look-up table, and wr_pvt and wf_pvt shows the final compensated PVT values used to control the amount of buffers to be turned on/off in the delay cells of the delay lines.
- The delay cells delay value may be intentionally forced to a smaller value (thus a faster delay). This caused the MEAS value (the count value of reference clock slicing the divided delayed clock) to change from 64 to 45, for example. The lesser count means the period of the delayed clock is smaller, thus meaning a faster delay in the delay cell. With the change in the MEAS, the PVT compensation circuitry may start to work. It triggers calculating and refreshing of the PVT values in the first look-up table wr_ref at the
first arrow 501. The initial wr_ref calculation is based on MEAS 64 (before first arrow 501). The calculation may be completed before the next calculation of the PVT values starts. After the calculation of the wr_ref (MEAS=45) is completed the values are copied into the second look-up table wr_fix. The copying takes place at thesecond arrow 502. - Once wr_fix are updated to the latest value, wr_pvt and wf_pvt are recalculated. Wr_fix is the final WR value for the amount of buffer cells to be turn on. In this particular embodiment wr_pvt is the buffer delay value for the rising edge of the output clock, and wf_pvt is the buffer delay value for the falling edge of the output clock. Essentially these two values (wr_pvt and wf_pvt) use the same number of delay cells (taken from wr_fix), but half a period time shifted, and they are used to control the rising and falling stage of the clock independently. The final SSCG output clock is re-constructed by combining both the rising edge of the delayed clock and the falling edge of the delayed clock. The change of value of ‘wr_pvt’ and ‘wf_pvt’ represents that the new PVT calculated value is obtained based on the change of MEAS value.
- While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.
Claims (24)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/290,390 US9207693B1 (en) | 2014-05-29 | 2014-05-29 | Method and apparatus for compensating PVT variations |
DE102015108386.8A DE102015108386B4 (en) | 2014-05-29 | 2015-05-27 | Method and device for compensating for PVT fluctuations |
CN201510285363.9A CN105322924B (en) | 2014-05-29 | 2015-05-29 | Method and apparatus for compensating PVT difference |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/290,390 US9207693B1 (en) | 2014-05-29 | 2014-05-29 | Method and apparatus for compensating PVT variations |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150346744A1 true US20150346744A1 (en) | 2015-12-03 |
US9207693B1 US9207693B1 (en) | 2015-12-08 |
Family
ID=54481652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/290,390 Active 2034-06-03 US9207693B1 (en) | 2014-05-29 | 2014-05-29 | Method and apparatus for compensating PVT variations |
Country Status (3)
Country | Link |
---|---|
US (1) | US9207693B1 (en) |
CN (1) | CN105322924B (en) |
DE (1) | DE102015108386B4 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10892794B1 (en) * | 2020-02-06 | 2021-01-12 | Global Unichip Corporation | Multi-channel transmission device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3046856B1 (en) * | 2016-01-15 | 2020-06-05 | Continental Automotive France | METHODS AND DEVICES FOR COUNTING A DURATION OF SERVICE FOR A SPLIT CLOCK SIGNAL AS WELL AS FOR DETERMINING OR GENERATING A REAL DURATION OF TIME |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1108822A (en) * | 1994-03-16 | 1995-09-20 | 加拿大独立电动产品公司 | Battery temperature compensating device for battery recharging systems |
KR100348303B1 (en) * | 1999-11-09 | 2002-08-10 | 주식회사 하이닉스반도체 | Method for compensating delay between a clock signal and other clock signal according to using multi clock signal |
CN1393993A (en) * | 2001-07-02 | 2003-01-29 | 朗迅科技公司 | Delay compensating circuit |
US7719371B2 (en) * | 2004-03-22 | 2010-05-18 | Integrated Device Technology, Inc. | Spread spectrum clock and reference signal generator |
CN100433492C (en) * | 2005-12-29 | 2008-11-12 | 华润矽威科技(上海)有限公司 | Current limiting circuit with temperature compensation and method |
US7716511B2 (en) * | 2006-03-08 | 2010-05-11 | Freescale Semiconductor, Inc. | Dynamic timing adjustment in a circuit device |
TWI451697B (en) * | 2006-05-03 | 2014-09-01 | Synopsys Inc | Very low power analog compensation circuit |
US7812661B2 (en) * | 2007-09-24 | 2010-10-12 | Mediatek Inc. | Electronic system capable of compensating process, voltage and temperature effects |
TWI505642B (en) * | 2012-12-21 | 2015-10-21 | Nat Univ Chung Cheng | All - digital Spread Spectrum Clock Generation Circuit with Electromagnetic Interference Effect Decay and Its Control Method |
-
2014
- 2014-05-29 US US14/290,390 patent/US9207693B1/en active Active
-
2015
- 2015-05-27 DE DE102015108386.8A patent/DE102015108386B4/en active Active
- 2015-05-29 CN CN201510285363.9A patent/CN105322924B/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10892794B1 (en) * | 2020-02-06 | 2021-01-12 | Global Unichip Corporation | Multi-channel transmission device |
Also Published As
Publication number | Publication date |
---|---|
CN105322924B (en) | 2019-04-16 |
US9207693B1 (en) | 2015-12-08 |
CN105322924A (en) | 2016-02-10 |
DE102015108386A1 (en) | 2015-12-03 |
DE102015108386B4 (en) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9939839B2 (en) | Low power automatic calibration method for high frequency oscillators | |
US9735787B2 (en) | Frequency synthesizer with dynamic phase and pulse-width control | |
US8269565B2 (en) | Spread spectrum clock generators and electronic devices including the same | |
US9520886B2 (en) | Methods and devices for error correction of a signal using delta sigma modulation | |
US7921318B2 (en) | Techniques for integrated circuit clock management using pulse skipping | |
US8723577B2 (en) | Spreading a clock signal | |
Elkholy et al. | 15.4 A 20-to-1000MHz±14ps peak-to-peak jitter reconfigurable multi-output all-digital clock generator using open-loop fractional dividers in 65nm CMOS | |
WO2016054289A1 (en) | Digital open loop duty cycle correction circuit | |
EP1803215A1 (en) | System and method for introducing dither for reducing spurs in digital-to-time converter direct digital synthesis | |
US9207693B1 (en) | Method and apparatus for compensating PVT variations | |
El-Shennawy et al. | Fractional-N PLL optimization for highly linear wideband chirp generation for FMCW radars | |
US7346095B1 (en) | Spread spectrum clock generator with controlled delay elements | |
US20160006421A1 (en) | Frequency synthesiser circuit | |
CN106941351B (en) | Dual calibration loop for random spread spectrum modulator | |
US8588275B2 (en) | Electronic device and method for spread spectrum clock (SSC) modulation | |
US9716505B2 (en) | System and method for enhanced clocking operation | |
US8656203B2 (en) | Fractional frequency division or multiplication by using an oversampled phase rotator for reducing jitter | |
Hati et al. | A fast and efficient constant loop bandwidth with proposed PFD and pulse swallow divider circuit in ΔΣ fractional-N PLL frequency synthesizer | |
US7035369B2 (en) | Apparatus and method for a programmable clock generator | |
KR20210089951A (en) | Spread spectrum clock generation appratus for generating spread spectrum clock signal and a method for operating the same | |
Kim et al. | A 32nm, 0.9 V Supply-noise sensitivity tracking PLL for improved clock data compensation featuring a deep trench capacitor based loop filter | |
Akram et al. | All digital duty-cycle corrector for integrated phase noise improvement in phase-locked loop | |
US11538511B2 (en) | Apparatus and methods for fractional synchronization using direct digital frequency synthesis | |
Lam et al. | Modified TSPC clock dividers for higher frequency division by 3 and lower power operation | |
Rapinoja et al. | A 0.3-to-8.5 GHz frequency synthesizer based on digital period synthesis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INFINEON TECHNOLOGIES AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TAN, HEE YENG;REEL/FRAME:033001/0688 Effective date: 20140529 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |