The operation of modern electronic systems is synchronized by a periodic signal known as a clock signal that is provided by a clock generator to control the sequence and pacing of the devices of the electronic circuit. Programmable clock generators intended for high performance consumer, networking, industrial, computing and data communications applications are known in the art. Programmable clock generators may be programmed to generate a plurality of output clock signals from a single reference clock input.
The clock signals generated by the clock generator are provided to other devices within the system. The difference in the length of the conductive traces connecting the clock generator to the other devices results in the clock signal arriving at the various devices at different times. Undesirable clock skew results when the clock signal generated by the clock generator arrives at these devices at different times.
In order to accommodate for the difference in trace lengths, board designers utilizing clock generator chips are commonly required to add physical length to the shorter traces in their board designs to match the longest clock delay in the system or to add delay to the outputs of the clock generator driving shorter length traces. Requiring the board designer to make board level adjustments to accommodate for the clock skew of a clock generator unnecessarily complicates the use of a particular clock generator in a board level design.
Accordingly, what is needed in the art is a system and method for automatically detecting the trace lengths at each output of a clock generator and for adding an appropriate delay to each of the outputs to deskew the clock generator outputs.
The invention describes a system and method by which the multiple outputs of a clock generator can be made to arrive at their destinations substantially simultaneously. The system and method of the present invention automatically detects the trace lengths at each output of a clock generator and adds an appropriate delay to each of the outputs to deskew the clock generator outputs, thereby eliminating the need for board level clock deskewing by the system board designer.
In one embodiment, a method for deskewing output clock signals includes, determining, at a clock generator, a transit time of each of a plurality of traces, each of the plurality of traces coupled between one of a plurality of clock generator outputs and one of a plurality of clock receivers. After the transit time of each of the traces as been determined, the method further includes, determining a longest transit time of the transit times of each of the plurality of traces and determining a difference between the longest transit time and the transit time of each of the plurality of traces to identify a time delay for each of the plurality of clock generator outputs. Following the determination of the time delay for each of the clock generator outputs, the method further includes, adding the time delay for each of the plurality of clock generator outputs to a output clock signal transmitted from each of the plurality of clock generator outputs. The addition of the appropriate time delay to each of the clock generator outputs is effective in automatically deskewing the clock generator outputs.
In an additional embodiment of the present invention, a circuit for deskewing output signals of a clock generator is provided which includes, a line length to digital converter circuit configured to determine a transit time of each of a plurality of traces coupled between one of a plurality of clock generator outputs of a clock generator and one of a plurality of clock receivers. The circuit further includes, a control circuit coupled to each of the line length to digital converter circuits. The control circuit is configured to determine a longest transit time of the transit times of each of the plurality of traces and to determine a difference between the longest transit time and the transit time of each of the plurality of traces to identifying a time delay for each of the plurality of clock generator outputs. To adjust the time delay of the clock generator outputs, the circuit further includes a digitally controlled delay element coupled to the control circuit and to the plurality of clock generator outputs. The digitally controlled delay element is configured to receive the time delay for each of the plurality of clock generator outputs and to add the time delay for each of the plurality of clock generator outputs to a output clock signal transmitted from each of the plurality of clock generator outputs, thereby deskewing the clock generator outputs.
Accordingly, the present invention provides a system and method for automatically detecting the trace lengths at each output of a clock generator and for adding an appropriate delay to each of the outputs to deskew the clock generator outputs
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention, and together with the description, serve to explain the principles of the invention.
The operation of modern electronic systems is synchronized by a periodic signal known as a clock signal that is provided by a clock generator to control the sequence and pacing of the devices of the electronic circuit. Programmable clock generators intended for high performance consumer, networking, industrial, computing and data communications applications are known in the art. The programmable clock generators may be programmed to generate a plurality of output clock signals from a single reference clock input. The present invention provides a system and method for deskewing the output signals of a clock generator.
With reference to
As shown in
With reference to
In the present invention, each of the line length to digital converter circuits 220, 225, 240 are configured to determine a transit time of a trace coupled between the clock generator output and one of a plurality of clock receivers. In the present invention, the transit time of each of the plurality of traces is approximately equal to one half of a round-trip transit time of a signal transmitted on the trace between the clock generator output and a clock receiver. As such, referring to both
The clock generator 110 further includes, a control circuit 200 coupled to each of the plurality of line length to digital converter circuits 220, 235, 250. The control circuit 200 is configured to determine the longest transit time of the transit times determined by each of the line length to digital converter circuits 220, 235, 250 and to determine a difference between the longest transit time and the transit time of each of the plurality of traces to identifying a time delay for each of the plurality of clock generator outputs 210, 230, 245. In general, the control circuit 200 receives the digital representation of the length of each trace from the plurality of line length to digital converter circuits 220, 235, 250 and performs the necessary calculations to determine which of the traces coupled to the clock generator outputs is the longest trace. The control circuit 200 also calculates a time delay for each of the clock generator outputs, wherein the time delay is dependent upon the difference between the longest trace length and the length of the trace being driven by each of the clock generator outputs. The time delay for each of the clock generator outputs 210, 230, 245 is substantially equal to the amount of delay that needs to be added to each individual clock generator outputs such that a clock signal sent on each of the individual clock generator outputs will arrive at a clock receiver at the same time as a clock signal simultaneously sent on the clock generator output coupled to the longest trace.
In an exemplary embodiment, with reference to
After an appropriate time delay has been calculated by the control circuit 200 for each of the clock generator outputs, the time delays are provided to the corresponding clock generator outputs by a digitally controlled delay element. The digitally controlled delay elements of the present invention are additionally programmed to delay the output clock signal at the clock generator outputs as determined by the time delays generated by the control circuit 200. In one embodiment, the clock generator 110 comprises, a plurality of digitally controlled delay elements 205, 225, 240, wherein each of the plurality of digitally controlled delay elements 205, 225, 240 are coupled to the control circuit 200 and to one of the plurality of clock generator outputs 210, 230, 245. Each of the digitally controlled delay elements 205, 225, 240 are configured to receive the time delay for the clock generator output that the digitally controlled delay element is coupled to from the control circuit 200 and to add the time delay for the clock generator output to an output clock signal transmitted from the clock generator output.
In the exemplary embodiment, with reference to
In general, in order to automatically determine the length of each of the traces coupled to each of the clock generator outputs, a clock signal is transmitted on each of the traces from the clock generator outputs to the associated clock receiver. The reflected clock signal reflected back to the clock generator output from the clock receiver, is then measured by the line length to digital converter circuits coupled to the clock generator output.
In an exemplary embodiment shown with reference
In one embodiment, the line length to digital converter circuit A 220 includes a first buffer 305 to receive the reflected signal 335 and a second buffer 310 to receive the reflected signal 335, wherein the threshold voltage of the first buffer 305 is lower than the threshold voltage of the second buffer 310. To measure the transit time for a trace coupled to a clock generator output, the first buffer 305, having a low threshold voltage, is used to measure the time required for a reflected signal 335 on a clock generator output to reach a first voltage level 340, wherein the first buffer 305 triggers when the clock output signal 335 reaches a first voltage level 340. The second buffer 310, having a high threshold voltage, is used to measure the time required for the reflected signal 335 on the same clock generator output to reach a second voltage level 345, wherein the second buffer 310 triggers when the clock output signal 335 reaches a second voltage level 345. The time difference (T1) between the time required for the reflected signal 335 to reach the first voltage level 340 and the time required for the reflected signal 335 to reach the second voltage level 345 is representative of the length of the conductive trace. In a specific embodiment, the first voltage level 340 may be equal to about 20% of a voltage of the transmitted clock signal and the second voltage level 345 may be equal to about 80% of a voltage of the transmitted clock signal.
As shown with reference to
The line length to digital converter circuit A 220 may further include a time to digital converter 350 coupled to the outputs 307, 312 of the first buffer 305 and the second buffer 310 for converting the measured time delay to a digital representation of the trace length. The line length to digital converter circuit 300 may be configured to detect the rising edge 321 at an output 307 of the first buffer 305 to measure the time required for the reflected signal 335 to reach the first voltage level 340 and to detect a rising edge 322 at an output 312 of the second buffer 310 to measure the time required for the reflected signal 335 to reach the second voltage level 345. The time to digital converter 350 is further configured to convert the transit time 320, which is equal to the difference between the time required for the reflected signal to reach the first voltage level and the time required for the reflected signal to reach the second voltage level, to a digital transit time for the trace coupled to the clock generator output.
In another exemplary embodiment shown with reference
In one embodiment, the line length to digital converter circuit B 235 includes a first buffer 405 to receive the reflected signal 435 and a second buffer 410 to receive the reflected signal 435, wherein the threshold voltage of the first buffer 405 is lower than the threshold voltage of the second buffer 410. To measure the transit time for a trace coupled to a clock generator output, the first buffer 405 having a low threshold voltage, is used to measure the time required for a reflected signal 435 on a clock generator output to reach a first voltage level 440, wherein the first buffer 405 triggers when the clock output signal 435 reaches a first voltage level 440. The second buffer 410, having a high threshold voltage, is used to measure the time required for the reflected signal 435 on the same clock generator output to reach a second voltage level 445, wherein the second buffer 410 triggers when the clock output signal 435 reaches a second voltage level 445. The time difference (T1) between the time required for the reflected signal 435 to reach the first voltage level 440 and the time required for the reflected signal 435 to reach the second voltage level 445 is representative of the length of the conductive trace. In a specific embodiment, the first voltage level 440 may be equal to about 20% of a voltage of the transmitted clock signal and the second voltage level 445 may be equal to about 80% of a voltage of the transmitted clock signal.
As shown with reference to
The line length to digital converter circuit B 235 may further include a time to digital converter 450 coupled to the outputs 407, 412 of the first buffer 405 and the second buffer 410 for converting the measured time delay to a digital representation of the trace length. The line length to digital converter circuit B 235 may be configured to detect the rising edge 421 at an output 407 of the first buffer 405 to measure the time required for the reflected signal 435 to reach the first voltage level 440 and to detect a rising edge 422 at an output 412 of the second buffer 410 to measure the time required for the reflected signal 435 to reach the second voltage level 445. The time to digital converter 450 is further configured to convert the transit time 420, which is equal to the difference between the time required for the reflected signal to reach the first voltage level and the time required for the reflected signal to reach the second voltage level, to a digital transit time for the trace coupled to the clock generator output.
In comparing
It follows, that a similar process could be used to measure effective length of the trace 135 between the clock generator 110 and the clock receiver C 125.
Accordingly, each line length to digital converter circuit 220, 235, 250 is operable to monitor the voltage at the clock generator output to determine when the clock signal leading edge waveform is output (indicated by the voltage at the clock generator output reaching the first voltage level) and to determine when the reflection causes the voltage to increase at the clock generator output (indicated by the voltage at the clock generator output reaching the second voltage level). The time to digital converter may then provide the N-bit digital representation of the trace length to the control circuit 200. As previously described, the control circuit 200 then uses the digital representation of the trace lengths to determine a time delay to be added to each of the clock generator outputs to deskew a clock signal transmitted on each of the clock generator outputs. In this way all of the clock generator outputs will rise at the same time and the clock generator outputs have been deskewed.
In operation of the present invention, with reference to
In a specific embodiment, the present invention may be implemented in a clock skew equalization circuit of the clock generator 110 and the clock skew equalization may perform the deskewing of the clock generator outputs as previously described.
With reference to
After the length of each of the traces has been determined, the method continues by determining a longest transit time of the transit times of each of the plurality of traces 610. In determining the longest transit time, the control circuit 200 of the clock generator 110 may receive the transits times of each of the traces from the line length to digital converters 220, 235, 250 and identify the trace with the longest transit time. The transit times may be determined by transmitting a signal on each of the plurality of clock generator outputs, measuring a time required for a reflected signal resulting from the signal transmitted on each of the plurality clock outputs to reach a first voltage level, measuring a time required for the reflected signal to reach a second voltage level and calculating a difference between the time required for the reflected signal to reach the first voltage level and the time required for the reflected signal to reach a second voltage level to determine a transit time for each of the plurality of traces.
After identifying the trace with the longest transit time, the method continues by determining a difference between the longest transit time and the transit time of each of the plurality of traces to identify a time delay for each of the plurality of clock generator outputs 615. In one embodiment, the control circuit 200 of the clock generator 110 is configured for identifying the time delay for each of the clock generator outputs. In one embodiment the time delay to be added to each clock generator output is identified by dividing each determined round-trip time difference by half to obtain a time delay for each clock generator output that reflects the one-way transit time to the respective clock receiver 115 or 135.
Following the determination of an appropriate time delay for each of the clock generator outputs, the method continues by adding the time delay for each of the plurality of clock generator outputs to a output clock signal transmitted from each of the plurality of clock generator outputs 620. In one embodiment, the control circuit 200 provides the appropriate calculated time delays to a digitally controlled delay element 205, 225, 240 coupled to each of the clock generator outputs. Digitally controlled delay elements 205, 225, 240 are configured to delay a clock signal transmitted at the clock generator output by the appropriate calculated time delay, thereby deskewing the clock generator outputs.
The invention describes a system and method by which the multiple outputs of a clock generator can be made to arrive at their destinations substantially simultaneously. The system and method of the present invention automatically detects the trace lengths at each output of a clock generator and adds an appropriate delay to each of the outputs to deskew the clock generator outputs, thereby eliminating the need for board level clock de-skewing by the system board designer.
Exemplary embodiments of the invention have been described using CMOS technology. As would be appreciated by a person of ordinary skill in the art, a particular transistor can be replaced by various kinds of transistors with appropriate inversions of signals, orientations and/or voltages, as is necessary for the particular technology, without departing from the scope of the present invention.
In one embodiment, the deskewing clock generator may be implemented in an integrated circuit as a single semiconductor die. Alternatively, the integrated circuit may include multiple semiconductor dies that are electrically coupled together such as, for example, a multi-chip module that is packaged in a single integrated circuit package.
In various embodiments, the system of the present invention may be implemented in a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC). As would be appreciated by one skilled in the art, various functions of circuit elements may also be implemented as processing steps in a software program. Such software may be employed in, for example, a digital signal processor, microcontroller or general-purpose computer.
For purposes of this description, it is understood that all circuit elements are powered from a voltage power domain and ground unless illustrated otherwise. Accordingly, all digital signals generally have voltages that range from approximately ground potential to that of the power domain.
Although the invention has been described with reference to particular embodiments thereof, it will be apparent to one of ordinary skill in the art that modifications to the described embodiment may be made without departing from the spirit of the invention. Accordingly, the scope of the invention will be defined by the attached claims not by the above detailed description.
Number | Name | Date | Kind |
---|---|---|---|
4862485 | Guinea et al. | Aug 1989 | A |
5663105 | Yu et al. | Sep 1997 | A |
5748949 | Johnston et al. | May 1998 | A |
5757240 | Boerstler et al. | May 1998 | A |
5903195 | Lukes et al. | May 1999 | A |
6219797 | Liu et al. | Apr 2001 | B1 |
6259327 | Balistreri et al. | Jul 2001 | B1 |
6640311 | Knowles et al. | Oct 2003 | B1 |
6643787 | Zerbe | Nov 2003 | B1 |
6650193 | Endo et al. | Nov 2003 | B2 |
6683506 | Ye et al. | Jan 2004 | B2 |
6727767 | Takada et al. | Apr 2004 | B2 |
6768387 | Masuda et al. | Jul 2004 | B1 |
6959066 | Wang et al. | Oct 2005 | B2 |
7012476 | Ogiso et al. | Mar 2006 | B2 |
7323916 | Sidiropoulos et al. | Jan 2008 | B1 |
7405594 | Xu et al. | Jul 2008 | B1 |
7434083 | Wilson et al. | Oct 2008 | B1 |
7541848 | Masuda et al. | Jun 2009 | B1 |
7545188 | Xu et al. | Jun 2009 | B1 |
7573303 | Chi et al. | Aug 2009 | B1 |
7586347 | Ren et al. | Sep 2009 | B1 |
7590163 | Miller et al. | Sep 2009 | B1 |
7671635 | Fan et al. | Mar 2010 | B2 |
7737739 | Bi et al. | Jun 2010 | B1 |
7741981 | Wan et al. | Jun 2010 | B1 |
7750618 | Fang et al. | Jul 2010 | B1 |
7786763 | Bal et al. | Aug 2010 | B1 |
7816959 | Isik et al. | Oct 2010 | B1 |
7907625 | MacAdam et al. | Mar 2011 | B1 |
7928880 | Tsukamoto | Apr 2011 | B2 |
7941723 | Lien et al. | May 2011 | B1 |
8018289 | Hu et al. | Sep 2011 | B1 |
8164367 | Bal et al. | Apr 2012 | B1 |
8179952 | Thurston et al. | May 2012 | B2 |
8188796 | Zhu et al. | May 2012 | B2 |
8259888 | Hua et al. | Sep 2012 | B2 |
8284816 | Clementi et al. | Oct 2012 | B1 |
8305154 | Kubena et al. | Nov 2012 | B1 |
8416107 | Wan et al. | Apr 2013 | B1 |
8432231 | Nelson et al. | Apr 2013 | B2 |
8436677 | Kull et al. | May 2013 | B2 |
8456155 | Tamura et al. | Jun 2013 | B2 |
8471751 | Wang | Jun 2013 | B2 |
8537952 | Arora et al. | Sep 2013 | B1 |
8693557 | Zhang et al. | Apr 2014 | B1 |
8704564 | Hasegawa et al. | Apr 2014 | B2 |
8723573 | Wang et al. | May 2014 | B1 |
8791763 | Taghivand | Jul 2014 | B2 |
8896476 | Harpe | Nov 2014 | B2 |
8933830 | Jeon | Jan 2015 | B1 |
8981858 | Grivna et al. | Mar 2015 | B1 |
9077386 | Holden | Jul 2015 | B1 |
9100232 | Hormati | Aug 2015 | B1 |
20020079937 | Xanthopoulos et al. | Jun 2002 | A1 |
20020191727 | Staszewski et al. | Dec 2002 | A1 |
20030042985 | Shibahara et al. | Mar 2003 | A1 |
20030184350 | Wang et al. | Oct 2003 | A1 |
20040136440 | Miyata et al. | Jul 2004 | A1 |
20040165691 | Rana et al. | Aug 2004 | A1 |
20060103436 | Saitou et al. | May 2006 | A1 |
20060119402 | Thomsen et al. | Jun 2006 | A1 |
20060197614 | Roubadia et al. | Sep 2006 | A1 |
20060290391 | Leung et al. | Dec 2006 | A1 |
20070149144 | Beyer et al. | Jun 2007 | A1 |
20070247248 | Kobayashi et al. | Oct 2007 | A1 |
20080043893 | Nagaraj et al. | Feb 2008 | A1 |
20080104435 | Pernia et al. | May 2008 | A1 |
20080129351 | Chawla et al. | Jun 2008 | A1 |
20080246546 | Ha et al. | Oct 2008 | A1 |
20090083567 | Kim et al. | Mar 2009 | A1 |
20090140896 | Adduci et al. | Jun 2009 | A1 |
20090184857 | Furuta et al. | Jul 2009 | A1 |
20090231901 | Kim et al. | Sep 2009 | A1 |
20090256601 | Zhang et al. | Oct 2009 | A1 |
20090262567 | Shin et al. | Oct 2009 | A1 |
20100007427 | Tomita et al. | Jan 2010 | A1 |
20100052798 | Hirai et al. | Mar 2010 | A1 |
20100090731 | Casagrande et al. | Apr 2010 | A1 |
20100164761 | Wan et al. | Jul 2010 | A1 |
20100194483 | Storaska et al. | Aug 2010 | A1 |
20100323643 | Ridgers et al. | Dec 2010 | A1 |
20110006936 | Lin et al. | Jan 2011 | A1 |
20110032013 | Nelson et al. | Feb 2011 | A1 |
20110234204 | Tamura et al. | Sep 2011 | A1 |
20110234433 | Aruga et al. | Sep 2011 | A1 |
20110285575 | Landez et al. | Nov 2011 | A1 |
20110304490 | Janakiraman | Dec 2011 | A1 |
20120013406 | Zhu et al. | Jan 2012 | A1 |
20120161829 | Fernald et al. | Jun 2012 | A1 |
20120200330 | Kawagoe | Aug 2012 | A1 |
20120249207 | Natsume et al. | Oct 2012 | A1 |
20120262315 | Kapusta et al. | Oct 2012 | A1 |
20120297231 | Qawami et al. | Nov 2012 | A1 |
20120317365 | Elhamias et al. | Dec 2012 | A1 |
20120328052 | Etemadi et al. | Dec 2012 | A1 |
20130002467 | Wang | Jan 2013 | A1 |
20130162454 | Lin | Jun 2013 | A1 |
20130194115 | Wu et al. | Aug 2013 | A1 |
20130211758 | Prathapan et al. | Aug 2013 | A1 |
20130300455 | Thirugnanam et al. | Nov 2013 | A1 |
20140029646 | Foxcroft et al. | Jan 2014 | A1 |
20140210532 | Jenkins et al. | Jul 2014 | A1 |
20140327478 | Horng et al. | Nov 2014 | A1 |
20140347941 | Jose et al. | Nov 2014 | A1 |
20150162921 | Chen et al. | Jun 2015 | A1 |
20150180594 | Chakraborty et al. | Jun 2015 | A1 |
20150200649 | Trager et al. | Jul 2015 | A1 |
20150213873 | Ihm et al. | Jul 2015 | A1 |
20160084895 | Imhof | Mar 2016 | A1 |
20160119118 | Shokrollahi | Apr 2016 | A1 |
20160162426 | Benjamin | Jun 2016 | A1 |
20160211929 | Holden | Jul 2016 | A1 |
Entry |
---|
“19-Output PCIE Gen 3 Buffer”, Si53019-A01A, Silicon Laboratories Inc., Rev. 1.1 May 2015, 34 Pages. |
“NB3W1200L: 3.3 V 100/133 MHz Differential 1:12 Push-Pull Clock ZDB/Fanout Buffer for PCle”, ON Semiconductor, http://onsemi.com, Aug. 2013, Rev. 0, 26 Pages. |
Avramov, et al., “1.5-GHz Voltage Controlled Oscillator with 3% Tuning Bandwidth Using a Two-Pole DSBAR Filter”, Ultrasonics, Ferroelectrics and Frequency Control. IEEE Transactions on. vol. 58., May 2011, pp. 916-923. |
Hwang, et al., “A Digitally Controlled Phase-Locked Loop with a Digital Ohase-Frequency Detector for Fast Acquisition”, IEEE Journal of Solid State Circuits, vol. 36, No. 10, Oct. 2001, pp. 1574-1581. |
Kratyuk, et al., “Frequency Detector for Fast Frequency Lock of Digital PLLs”, Electronic Letters, vol. 43, No. 1, Jan. 4, 2007, pp. 1-2. |
Mansuri, “Fast Frequency Acquisition Phase-Frequency Detectors for GSamples/s Phase-Locked Loops”, IEEE Journal of Solid-State Circuits, vol. 37 No. 10, Oct. 2002, pp. 1331-1334. |
Nagaraju, “A Low Noise 1.5GHz VCO with a 3.75% Tuning Range Using Coupled FBAR's”, IEEE International Ultrasonics Symposium (IUS), Oct. 2012, pp. 1-4. |
Watanabe, “An All-Digital PLL for Frequency Multilication by 4 to 1022 with Seven-Cycle Lock Time”, IEEE Journal of Solid-State Circuits, vol. 39 No. 2, Feb. 2003, pp. 198-204. |
Texas Instruments “CDCEx913 Programmable 1-PLL VCXO Clock Synthesizer With 1.8-V, 2.5-V, and 3.3-V Outputs”, Apr. 2015, pp. 1-36, pp. 11, 20-22. |