1. Field of the System
The present system relates to field programmable gate array (FPGA) devices. More specifically, the system relates to an apparatus for interfacing and testing a phase locked loop of an FPGA.
2. Background
FPGAs are known in the art. An FPGA comprises any number of logic modules, an interconnect routing architecture and programmable elements that may be programmed to selectively interconnect the logic modules to one another and to define the functions of the logic modules. To implement a particular circuit function, the circuit is mapped into an array and appropriate connections are programmed to implement the necessary wiring connections that form the user circuit.
A gate array circuit can be programmed to implement virtually any set of functions. Input signals are processed by the programmed circuit to produce the desired set of outputs. Such inputs flow from the user's system, through input buffers and through the circuit, and finally back out the user's system via output buffers. Such buffers provide any or all of the following input/output (I/O) functions: voltage gain, current gain, level translation, delay, signal isolation or hysteresis.
An FPGA core tile may be employed as a stand-alone FPGA, repeated in a rectangular array of core tiles within a single integrated circuit, or included with other devices in a system-on-a-chip (SOC). The core FPGA tile may include an array of logic modules, and input/output modules. An FPGA core tile may also include other components such as read only memory (RAM) modules. Horizontal and vertical routing channels provide interconnections between the various components within an FPGA core tile. Programmable connections are provided by programmable elements coupled between the routing resources.
As FPGAs grow in size, on-chip clock distribution becomes increasingly important. Clock skew and clock delay impact FPGA performance and the task of managing clock skew and clock delay with conventional clock trees becomes more difficult in large FPGAs. As such, in large, fast FPGAs, the performance limiting element is often clock delay due to large clock networks. Phase locked loops (PLLs) are used to reduce the clock delays inherent in large FPGAs and, thereby improve performance.
By anticipating the edges of the input clock, a PLL can generate new clocks with edges slightly earlier than the input clock. By tuning the amount of time these new clock edges precede the input clock edge to the delays of the various clock tree branches, all registers will see the clock edge at about the same time. This reduces the overall clock network delay as well as minimizing clock skew.
Hence, PLLs are important tools to increase performance in large, fast FPGAs. There is need in the art for an apparatus for interfacing and testing PLLs in an FPGA.
A better understanding of the features and advantages of the present invention will be obtained by reference to the following detailed description of the invention and accompanying drawings which set forth an illustrative embodiment in which the principles of the invention are utilized.
Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons.
This disclosure may relate to data communications. Various disclosed aspects may be embodied in various computer and machine-readable data structures. Furthermore, it is contemplated that data structures embodying the teachings of the disclosure may be transmitted across computer and machine-readable media, and through communications systems by use of standard protocols such as those used to enable the Internet and other computer networking standards.
The disclosure may relate to machine-readable media on which are stored various aspects of the disclosure. It is contemplated that any media suitable for retrieving instructions is within the scope of the present disclosure. By way of example, such media may take the form of magnetic, optical, or semiconductor media, and may be configured to be accessible by a machine as is known in the art.
Various aspects of the disclosure may be described through the use of flowcharts. Often, a single instance of an aspect of the present disclosure may be shown. As is appreciated by those of ordinary skill in the art, however, the protocols, processes, and procedures described herein may be repeated continuously or as often as necessary to satisfy the needs described herein. Accordingly, the representation of various aspects of the present disclosure through the use of flowcharts should not be used to limit the scope of the present disclosure.
In addition, I/O pad 200 may be coupled to PLL cell 218 though a plurality of multiplexers. As shown in
Two routing buses connect PLL cell 218 directly to PLL cluster. Routing bus 226 connects an output of PLL cell 218 directly to PLL cluster 220. Routing bus 224 connects an output of PLL cluster 220 directly to PLL cell 218.
The I/O pads 200 attached to a PLL cluster 120 can be configured for regular functions through the inside I/O cluster 104 if they are not required by PLL cluster 120. I/O clusters 104 are beyond the scope of this disclosure and will not be discussed in detail herein. The path to I/O cluster 104 should be gated by control signals to minimize loading on the clock path. I/O pads 200 may also be configured in all modes available to the regular I/O pads in the same I/O bank. In particular, the REFN and REFP pads can be configured into a differential pair.
PLL cells 218 may share a pair of dedicated pads, pad 202 coupled to an analog power supply and pad 204 coupled to ground. Pad 204 is coupled to pad 202 through a decoupling capacitor (not shown) to reduce the jitter of the PLL. PLL cells may also share a common pad that supplies the analog ground (not shown).
PLL 240 has a first output coupled to divider J 242 and delay 244. First output of PLL 240 provides both the clock 1 signal through clock 1 signal output line 247, which is coupled to the first output of PLL 240 though divider J 242, and the clock 2 signal through clock 2 signal output line 246, which is coupled to the first output of PLL 240 through delay circuit 244. The first output of PLL 240 may also be “looped” to the second input of PLL 240 through the second input of two-input multiplexer 230, delay line 234 and divider I 238. PLL 240 has a second output coupled to the lock signal output line 248.
Divider I 238 in the feedback path of the “loop” of PLL 240 is employed for clock signal multiplication. Divider I 238 sets the divide value for the feedback divider. Divider J 242 coupled to the output of PLL 240 is employed for clock signal division. Divider J 242 sets the divide value for the clock 1 divider.
Left group of modules 250 is comprised of seventeen RT modules 254, an RO module 256, two RX modules 258 and a TY module 260. RX modules 258 receive a clock signal from a long distance. RO modules 256 provide the lock signal and the clock out signal selected between the clock 1 and clock 2 outputs of the PLL cell 218. RC module 264 provides the feedback port signal to PLL cell 218. RT modules configure the various mutliplexer select lines or provide control signals to PLL cell 218.
Right group of modules is comprised of fourteen RT modules 254, an RO module 256, two RX modules 258, a TY module 260, a buffer module 262 and an RC module 264. In this example, RT modules 254, RC module 264 and TY module 260 are driver modules and RX modules 258 and RO modules 256 are receiver modules. Table 1 sets forth PLL cluster 220 signal assignments.
To avoid overcomplicating the disclosure and thereby obscuring the present invention, RT modules and RO module 256 are not described in detail herein. The implementation of RT modules 254 and RO module 256 suitable for use according to the present system is disclosed in U.S. patent application Ser. No. 10/448,259, filed May 28, 2003, now issued as U.S. Pat. No. 6,838,902, and hereby incorporated herein by reference.
To avoid overcomplicating the disclosure and thereby obscuring the present invention, receiver modules 258, transmitter modules 260 and buffer module 262 are not described in detail herein. The implementation of receiver modules 258 and transmitter modules 260 suitable for use according to the present system is disclosed in U.S. patent application Ser. No. 10/323,613, filed on Dec. 18, 2002, now issued as U.S. Pat. No. 6,946,871, and hereby incorporated herein by reference. The implementation of buffer modules 262 suitable for use according to the present system is disclosed in U.S. patent application Ser. No. 10/293,895, filed on Nov. 12, 2002, now issued as U.S. Pat. No. 6,727,726, and hereby incorporated herein by reference.
Referring still to
PLL boundary scan register bit 304(30) is a special control bit. PLL boundary scan register bit 304(30) controls the output of multiplexers 314 of PLL boundary scan register bit 304(0) through 304(29) to determine whether PLL cell 218 is controlled by PLL cluster 220 or by PLL test register 300. PLL boundary scan register bit 304(30) controls the output of multiplexers 314 of PLL boundary scan register bit 304(0) through 304(29) through the output of multiplexer 310 which is coupled to the control input of multiplexers 314 in PLL boundary scan register bit 304(0) through 304(29) through flip-flop 332 and 334 in PLL boundary scan register bit 304(30). The output of flip-flop 334 is coupled via routing line 322 to the control input of multiplexers 314. The output of multiplexers 314 is then looped via routing line 324 to the second input of multiplexers 312. The output of multiplexer 314 is also coupled to output CBOUT via routing line 330.
PLL test register 300 may also be used to observe normal PLL cell 318 controls. Observing PLL cells 318 controls is accomplished by loading the data values from the outputs of multiplexers 314 through line 324 and multiplexers 312 into the PLL boundary scan register bits 340(0) through 340(30) and shifting them out through the output of the boundary scan register (BSR) for validation.
Microprobe 400 receives ROOT signals from the four PLL cells 318 on the same edge of FPGA core tile 100 through inputs 408, 410, 412, 414 of multiplexer 402. The output of multiplexer 402 is coupled to a first output of two-input multiplexer 404. The output of multiplexer 404 is coupled to microprobe 400 through buffer 406. As stated previously, the results of the testing of PLL cell 318 are read through microprobe 400.
In an alternate embodiment, microprobe 400 receives signals from the normal probe circuitry. When receiving normal probe circuitry signals, microprobe 400 is configured to observe the LOCK or CLKOUT signal of the PLLs. The frequency of the output signal on microprobes 400 may be limited to approximately 50 MHz by using the frequency divider in the PLLs.
It should be understood that various alternatives to the embodiments of the disclosed method and apparatus descried herein maybe employed in practicing the disclosed method and using the disclosed apparatus. It is intended that the following claims define the scope of the disclosed method and apparatus and that methods and structures within the scope of these claims and their equivalents be covered thereby.
This application is a divisional of U.S. patent application Ser. No. 10/235,245, filed Sep. 3, 2002, which is hereby incorporated by reference as if set forth herein.
Number | Name | Date | Kind |
---|---|---|---|
4255748 | Bartlett | Mar 1981 | A |
4625313 | Springer | Nov 1986 | A |
4638187 | Boler et al. | Jan 1987 | A |
4638243 | Chan | Jan 1987 | A |
4684830 | Tsui et al. | Aug 1987 | A |
4700130 | Bloemen | Oct 1987 | A |
4706216 | Carter | Nov 1987 | A |
4713557 | Carter | Dec 1987 | A |
4717912 | Harvey et al. | Jan 1988 | A |
4718042 | Moll et al. | Jan 1988 | A |
4742252 | Agrawal | May 1988 | A |
4772812 | Desmarais | Sep 1988 | A |
4800176 | Kakumu et al. | Jan 1989 | A |
4857774 | El-Ayat et al. | Aug 1989 | A |
4870300 | Nakaya et al. | Sep 1989 | A |
4870302 | Freeman | Sep 1989 | A |
4873459 | El Gamal et al. | Oct 1989 | A |
4928023 | Marshall | May 1990 | A |
4930097 | Ledenbach et al. | May 1990 | A |
4935645 | Lee | Jun 1990 | A |
4959561 | McDermott et al. | Sep 1990 | A |
4978905 | Hoff et al. | Dec 1990 | A |
5008855 | Eltoukhy et al. | Apr 1991 | A |
5046035 | Jigour et al. | Sep 1991 | A |
5083083 | El-Ayat et al. | Jan 1992 | A |
5121394 | Russell | Jun 1992 | A |
5122685 | Chan et al. | Jun 1992 | A |
5126282 | Chiang et al. | Jun 1992 | A |
5132571 | McCollum et al. | Jul 1992 | A |
5144166 | Camarota et al. | Sep 1992 | A |
5187392 | Allen | Feb 1993 | A |
5198705 | Galbraith et al. | Mar 1993 | A |
5208491 | Ebeling et al. | May 1993 | A |
5220213 | Chan et al. | Jun 1993 | A |
5220215 | Douglas et al. | Jun 1993 | A |
5221865 | Phillips et al. | Jun 1993 | A |
5222066 | Grula et al. | Jun 1993 | A |
5258319 | Inuishi et al. | Nov 1993 | A |
5272388 | Bakker | Dec 1993 | A |
5286992 | Ahrens et al. | Feb 1994 | A |
5293133 | Birkner et al. | Mar 1994 | A |
5300830 | Hawes | Apr 1994 | A |
5300832 | Rogers | Apr 1994 | A |
5317698 | Chan | May 1994 | A |
5365485 | Ward et al. | Nov 1994 | A |
5367207 | Goetting et al. | Nov 1994 | A |
5375089 | Lo | Dec 1994 | A |
5394033 | Tsui et al. | Feb 1995 | A |
5394034 | Becker et al. | Feb 1995 | A |
5396128 | Dunning et al. | Mar 1995 | A |
5397939 | Gordon et al. | Mar 1995 | A |
5399920 | Van Tran | Mar 1995 | A |
5400262 | Mohsen | Mar 1995 | A |
5430335 | Tanoi | Jul 1995 | A |
5430687 | Hung et al. | Jul 1995 | A |
5469003 | Kean | Nov 1995 | A |
5469396 | Eltoukhy | Nov 1995 | A |
5473268 | Declercq et al. | Dec 1995 | A |
5485103 | Pedersen et al. | Jan 1996 | A |
5486775 | Veenstra | Jan 1996 | A |
5526312 | Eltoukhy | Jun 1996 | A |
5537057 | Leong et al. | Jul 1996 | A |
5546019 | Liao | Aug 1996 | A |
5559464 | Orii et al. | Sep 1996 | A |
5572476 | Eltoukhy | Nov 1996 | A |
5666322 | Conkle | Sep 1997 | A |
5670905 | Keeth et al. | Sep 1997 | A |
5744979 | Goetting | Apr 1998 | A |
5744980 | McGowan et al. | Apr 1998 | A |
5801547 | Kean | Sep 1998 | A |
5809281 | Steele et al. | Sep 1998 | A |
5815003 | Pedersen | Sep 1998 | A |
5815004 | Trimberger et al. | Sep 1998 | A |
5821776 | McGowan | Oct 1998 | A |
5825200 | Kolze | Oct 1998 | A |
5825201 | Kolze | Oct 1998 | A |
5825202 | Tavana et al. | Oct 1998 | A |
5825662 | Trimberger | Oct 1998 | A |
5828230 | Young | Oct 1998 | A |
5828538 | Apland et al. | Oct 1998 | A |
5831448 | Kean | Nov 1998 | A |
5832892 | Yaoita | Nov 1998 | A |
5835165 | Keate et al. | Nov 1998 | A |
5835998 | Pedersen | Nov 1998 | A |
5838167 | Erickson et al. | Nov 1998 | A |
5838584 | Kazarian | Nov 1998 | A |
5838954 | Trimberger | Nov 1998 | A |
5847441 | Cutter et al. | Dec 1998 | A |
5847577 | Trimberger | Dec 1998 | A |
5848005 | Cliff et al. | Dec 1998 | A |
5848006 | Nagata | Dec 1998 | A |
5850151 | Cliff et al. | Dec 1998 | A |
5850152 | Cliff et al. | Dec 1998 | A |
5850564 | Ting et al. | Dec 1998 | A |
5852608 | Csoppenszky et al. | Dec 1998 | A |
5854763 | Gillingham et al. | Dec 1998 | A |
5859542 | Pedersen | Jan 1999 | A |
5859543 | Kolze | Jan 1999 | A |
5859544 | Norman | Jan 1999 | A |
5861761 | Kean | Jan 1999 | A |
5869981 | Agrawal et al. | Feb 1999 | A |
5870586 | Baxter | Feb 1999 | A |
5880492 | Duong et al. | Mar 1999 | A |
5880512 | Gordon et al. | Mar 1999 | A |
5880597 | Lee | Mar 1999 | A |
5880598 | Duong | Mar 1999 | A |
5883526 | Reddy et al. | Mar 1999 | A |
5883850 | Lee et al. | Mar 1999 | A |
5949719 | Clinton et al. | Sep 1999 | A |
5952847 | Plants et al. | Sep 1999 | A |
5994934 | Yoshimura et al. | Nov 1999 | A |
6011744 | Sample et al. | Jan 2000 | A |
6034677 | Noguchi et al. | Mar 2000 | A |
6038627 | Plants | Mar 2000 | A |
6049487 | Plants et al. | Apr 2000 | A |
6111448 | Shibayama | Aug 2000 | A |
6181174 | Fujieda et al. | Jan 2001 | B1 |
6272646 | Rangasayee et al. | Aug 2001 | B1 |
6289068 | Hassoun et al. | Sep 2001 | B1 |
6292016 | Jefferson et al. | Sep 2001 | B1 |
6329839 | Pani et al. | Dec 2001 | B1 |
6426649 | Fu et al. | Jul 2002 | B1 |
6430088 | Plants et al. | Aug 2002 | B1 |
6437650 | Sung et al. | Aug 2002 | B1 |
6496887 | Plants | Dec 2002 | B1 |
6604231 | Kaneko | Aug 2003 | B2 |
6690224 | Moore | Feb 2004 | B1 |
6856171 | Zhang | Feb 2005 | B1 |
7434080 | Kuo et al. | Oct 2008 | B1 |
Number | Date | Country |
---|---|---|
0 415 542 | Mar 1991 | EP |
0 415 542 | Mar 1991 | EP |
0 889 593 | Jan 1999 | EP |
1 137 188 | Sep 2001 | EP |
1 137 188 | Sep 2001 | EP |
Number | Date | Country | |
---|---|---|---|
20090045855 A1 | Feb 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10235245 | Sep 2002 | US |
Child | 12198249 | US |