The invention relates generally to integrated serializer/deserializers and more particularly to techniques for testing the performances of such components.
A serializer/deserializer (SERDES) may be used as a transceiver within a network environment. The transmitter section of a SERDES accepts a parallel data word (which is typically 8-bit/10-bit encoded) and provides multiplexing into a single data stream having a transmission rate that is ten times the parallel rate. Conventionally, the outgoing parallel data is latched into the input register of the transmitter on the rising edge of a reference clock, but is serialized and transmitted at a speed of approximately ten times the reference clock. The high speed serial output may be connected to a copper cable for electrical transmission or may be converted to optical signals for transmission via a fiber optic cable.
The receive section of a SERDES recovers original 10-bit wide parallel data. That is, the received section is a deserializer. This section may employ a phase-locked loop (PLL) to determine the clocking for the recovered data. Clock recovery may be achieved by locking onto the frequency of the reference clock and by phase locking onto the incoming data stream.
Originally, the serializer was fabricated as one integrated circuit (IC) chip, while the deserializer was formed as a separate IC chip. In a first round of integration, the serialization function block and deserialization function block were integrated into a single IC chip. The motivations for the integration included reducing the total chip count and reducing the required board real estate. The same motivations applied to a second round of integration in which multiple SERDESs were incorporated into a single IC chip. As a third round of integration, application-specific circuitry may be embedded with the multiple SERDESs. For example, the circuitry of a switch logic chip may be integrated into the SERDES chip, thereby removing the necessity of providing parallel data lines which connect a switch logic chip to a SERDES chip. In addition to preserving board real estate, significant reductions in required power are realized at this level of integration.
Potential concerns that are raised by the integration of SERDES-related circuitry into a single IC chip include determining a testing approach that is sufficiently thorough. Preferably, each SERDES within a highly integrated chip is individually tested and the different components of each SERDES are tested at their different specific speeds to ensure proper functionality. During testing, the parallel data at the serializer input (i.e., Tx input) is dynamically toggled and the recovered data at the deserializer input (i.e., Rx input) is compared to the transmitted data. The tests are executed over various modes, such as a loop-back mode and a byte-sync enable mode. A functional test at the specific speed ensures that the signal integrity of the output drivers and the subtle behaviors of the PLLs are all tested.
The stimuli and measurements of the data may be provided and performed using an external high-speed IC test system. One test system is referred to as the Bit-Error-Rate Tester (BERT). The BERT generates pseudo-random bit sequence (PRBS) patterns and continuously monitors the received PRBS patterns for errors. A high volume of data is channeled through a SERDES by a BERT, which records any errors in order to determine the bit error rate. Since the parallel signals which interface the embedded SERDESs with the embedded core logic, such as switch core logic, are internal to highly integrated IC chips, the traditional methods of testing are difficult or impossible to apply. Thus, what is needed is a method of testing the SERDES circuitry within a highly integrated IC chip.
Particularly where a SERDES utilizes analog functionality (such as within its PLLs), the SERDES is sensitive to crosstalk and power supply variations. Thus, testing the functionality of a single embedded SERDES channel does not ensure that the SERDES which supports that channel will function properly when all of its channels are active. It follows that proper testing requires all embedded SERDESs to be operating simultaneously.
What is needed is a multiple-SERDES testing capability that can be applied to highly integrated IC chips, with the testing being adapted to simulate a real-time environment of operation.
An integrated circuit includes a number of serializer/deserializers (SERDESs) and embedded testers which allow individual testing of each SERDES. In one embodiment, each tester includes a functional test controller (FTC) and a functional test interface (FTI). A particular FTI is dedicated to one SERDES, with the FTC of the same tester being enabled to control modes of either or both of the FTI and the SERDES. The FTCs are individually addressable and may be accessed by an embedded input/output controller. The FTIs, FTCs and the input/output controller are coupled to a common test bus through which signals are exchanged. The input/output controller is also connected to an output, such as a serial port, that enables the controller to receive and transmit signals to and from an external source, such as a personal computer.
As one implementation of the invention, each FTI is connected between the operatively associated SERDES and core processing logic that is also embedded within the integrated circuit. As a result, the FTI can intercept the parallel data that is transmitted in either direction and can perform the functions of loop-back testing, static data testing and dynamic data testing. The FTI may include a test pattern generator (such as a PRBS generator) connected to the parallel data inputs of the associated SERDES and may include an error detector connected to the parallel data outputs of the same SERDES.
The common test bus structure and the unique addresses of the FTIs allow an external source to access the parallel signals of an individual SERDES and to control the mode of the SERDES. Moreover, static data testing can be enabled by setting the SERDES in the loop-back mode and comparing the received parallel data to anticipated bits. This test can be used to identify processing defects, such as metal shorts.
To perform full functional testing at the specific speed that will be encountered in actual use, the test pattern generator and the error detector of a particular FTI may be utilized. In one embodiment, the test pattern generator is a conventional arrangement that utilizes seven flip-flops and one Xor gate to generate a 27-1 sequence at the serial rate. Since the requirement is to direct a 10-bit pattern into the transmit parallel inputs, the output of the seven flip-flop generator can be demultiplexed 1 to 10. However, this technique requires significant power. An alternative approach to generating the equivalent 10 bits at the parallel rate is preferred. This can be achieved by embedding a pattern generator having 10 flip-flops and 10 Xor gates. However, other approaches may be employed.
Regarding the embedded error detector, an identical 10-bit generator may be used, so that the bit sequence is derived from known states. Thus, the received parallel data can be “seeded” onto the pattern generator of the error detector. During the seeding process, it is assumed that the 10-bit loading is error free, so that any inconsistencies that are detected may be counted as errors introduced within the SERDES. The errors may be stored in a local register within the FTI or FTC for later polling from the external source through the input/output controller.
In one embodiment of an embedded bit error rate tester (BERT), patterns such as 1010101010 and 1100110011 and their complements may be toggled. These toggling patterns may be used to expose weaknesses of the SERDES that would result from induced power supply variations.
An advantage of the invention is that the SERDES blocks can be addressed, controlled and monitored independently. As another optional feature, the integrated circuit may include an embedded built-in-self-tester (BIST) that is used for the static data testing. As another advantage of the invention, by embedding the test pattern generators and error detectors within the integrated circuit, the entire chip can be exercised at its nominal operating bit rate. The system allows all the SERDES blocks to be operating simultaneously, while each SERDES bit error rate is individually identified. Yet another advantage is that the self-seeding error detection method provides the ability to synchronize to an external PRBS pattern that is unrelated to the transmitter section of a SERDES. As examples, the PRBS pattern can be generated with an external BERT or other chips with embedded SERDESs.
With reference to
Each of the FTCs is connected to a test bus 36, which may be used to transmit and receive data and commands. Also connected to the test bus is an input/output controller (IOC) 38, which is coupled to a serial port in order to allow the testing capability to communicate with an external (i.e., off-chip) device, such as a personal computer used for the testing process. The serial port may be an RS232 interface, but other techniques for communicating with external devices may be substituted for the serial port.
The SERDESs may be conventional serializer/deserializers. The structure of such components will not be described herein. A SERDES is used to convert data at parallel data inputs to a stream of serial data and to convert incoming serialized data to parallel data. For example, with regard to the SERDES 18, parallel data at an arrangement of inputs 40 is converted to a stream of serial data which is transmitted via output 42, while incoming serialized data received via input 44 is converted to parallel data that is directed to its parallel data outputs 46. The serialized data is transmitted at a speed of ten times the reference clock for manipulating the parallel data. Circuitry for implementing the conversions is known in the art.
Also embedded within the integrated circuit is core processing logic 48. At least a portion of the core processing logic is designed to manipulate parallel data. The core processing logic may be application specific and may include a central processing unit (CPU), but this is not critical. As will be explained more fully below, when the FTIs 30, 32 and 34 are set in normal-operation modes by the FTCs 24, 26 and 28, parallel data which is directed along data lines 50 from the core processing logic transparently passes through the associated FTI to the inputs 40 of the associated SERDES. Similarly, the normal-operation mode of the FTI allows parallel data from data lines 46 to pass through the FTI to the input transmission lines 52 of the core processing logic. In addition to the normal-operation mode, the FTIs 30, 32 and 34 may be set by the FTCs 24, 26 and 28 into one or more test modes. Each FTC is connected to both the associated FTI and the associated SERDES 18, 20 and 22 to enable mode setting of each of the two components. Mode-setting commands are received from either the IOC 38 or an optional built-in-self-test (BIST) state machine 54. The BIST state machine is also integrally formed on the substrate 16.
The goals of the testing procedure include:
(1) controlling the transmitter (Tx) parallel data and modes of each SERDES 18, 20 and 22,
(2) measuring the parallel data and status at each receive section (Rx) of the SERDESs,
(3) performing functional tests at the specified speed of each SERDES,
(4) enabling concurrent running of the testing of the embedded SERDESs, so that the effects of crosstalk and power supply variations may be detected, and
(5) enabling continuous monitoring of the bit error rate performance of each SERDES.
Referring now to
In operation, the addressing, control instructions and data are transmitted onto the common test bus 36 to all of the FTC blocks 24, 26 and 28 by the IOC 38. Commands and addresses are interpreted by the FTCs, which control the FTIs 30, 32 and 34 accordingly. The FTCs also are able to set the mode of the embedded SERDESs 18, 20 and 22. The common test bus can also be accessed by the BIST state machine 54.
The common test bus structure 36 allows an external device, such as a personal computer, to monitor performance of parallel data transmissions within the integrated circuit 16. The test structure alone can be used to perform static data testing, wherein static data is set at each of the parallel inputs 40 of each SERDES, which is engaged within the loop-back mode, so that the bits at the parallel outputs 46 of the SERDES can be compared with anticipated bits. The resulting comparison test can often identify existing gross processing defects, such as metal shorts.
A full functional test at the normal operational speed of the SERDES may be performed using a test pattern generator 66 within the FTI 30. When a mode set component 68 of the FTI is controlled by the associated FTC 24 to disable the test pattern generator 66 by operation of a switching device 67, the flow of data through the FTI is transparent. That is, the position of the FTI does not affect the flow of data between the core processing logic 48 and a cooperating SERDES 18, 20 or 22. However, when the mode set component 68 of the FTI is controlled to enable the test pattern generator 66 by activating the switching device 67, signals are directed to the parallel lines 40 from the test pattern generator. While not critical, the test pattern generator may provide conventional 27-1 PRBS sequencing.
The FTI 30 of
One embodiment of a possible test pattern generator 66 is shown in
While the embodiment of
An alternative test pattern generator is shown in
Referring again to
To overcome the concerns with the direct comparison technique, the error detector 70 may be formed to include a second 10-bit PRBS generator that is identical to the one of the test pattern generator 66. Since the generated bit sequences are derived from known states, the received parallel data can be seeded onto the pattern generator of the error detector. During this seeding process, it is assumed that the pattern generated by the error detector is error-free. This assumption is acceptable, since one error in ten consecutive bits is extremely low when the bit error rate (BER) is below one in one billion.
The performance monitor 72 counts errors, which may be stored in a local register within the FTI 30. Alternatively or additionally, the FTC 24 includes a local register 74 for storing error information. The error information may be polled by an external personal computer through the IOC 38 of
Either the individual FTIs 30, 32 and 34 or the BIST 54 may include the capability of toggling patterns, such as 1010101010 and 1100110011 and their complements. Monitoring the BER during the toggling of such patterns can be used to expose weaknesses of the SERDES block 10, 12 and 14 as a result of induced power supply variations.
In the fabrication of the integrated circuit of
Number | Name | Date | Kind |
---|---|---|---|
3816847 | Nagao | Jun 1974 | A |
4307934 | Palmer | Dec 1981 | A |
4680733 | Duforestel et al. | Jul 1987 | A |
4847848 | Inoue et al. | Jul 1989 | A |
4966430 | Weidel | Oct 1990 | A |
4993799 | Stein | Feb 1991 | A |
5104242 | Ishikawa | Apr 1992 | A |
5195156 | Freeman et al. | Mar 1993 | A |
5390271 | Priest | Feb 1995 | A |
5394490 | Kato et al. | Feb 1995 | A |
5485021 | Abe | Jan 1996 | A |
5512860 | Huscroft et al. | Apr 1996 | A |
5513289 | Hosokawa et al. | Apr 1996 | A |
5532524 | Townsley et al. | Jul 1996 | A |
5552918 | Krug et al. | Sep 1996 | A |
5565672 | Siegel et al. | Oct 1996 | A |
5566265 | Spaeth et al. | Oct 1996 | A |
5577142 | Mueller-Fiedler et al. | Nov 1996 | A |
5578863 | De Poorter | Nov 1996 | A |
5602855 | Whetsel, Jr. | Feb 1997 | A |
5665982 | Torikai | Sep 1997 | A |
5742833 | Dea et al. | Apr 1998 | A |
5781422 | Lavin et al. | Jul 1998 | A |
5801402 | Shin | Sep 1998 | A |
5822352 | Mizutani et al. | Oct 1998 | A |
5835514 | Yuen et al. | Nov 1998 | A |
5867620 | Bunin et al. | Feb 1999 | A |
5875205 | Spaeth et al. | Feb 1999 | A |
5883988 | Yamamoto et al. | Mar 1999 | A |
5912872 | Feldman et al. | Jun 1999 | A |
5940564 | Jewell | Aug 1999 | A |
5956370 | Ducaroir et al. | Sep 1999 | A |
5981945 | Spaeth et al. | Nov 1999 | A |
5998982 | Groeneveld et al. | Dec 1999 | A |
6016548 | Nakamura et al. | Jan 2000 | A |
6036872 | Wood et al. | Mar 2000 | A |
6037641 | Goel | Mar 2000 | A |
6047380 | Nolan et al. | Apr 2000 | A |
6079025 | Fung | Jun 2000 | A |
6085048 | Mikoshiba et al. | Jul 2000 | A |
6085328 | Klein et al. | Jul 2000 | A |
6089456 | Walsh et al. | Jul 2000 | A |
6115763 | Douskey et al. | Sep 2000 | A |
6144787 | Johnston et al. | Nov 2000 | A |
6187211 | Smith et al. | Feb 2001 | B1 |
6201829 | Schneider | Mar 2001 | B1 |
6228675 | Ruby et al. | May 2001 | B1 |
6230277 | Nakaoka et al. | May 2001 | B1 |
6234687 | Hall et al. | May 2001 | B1 |
6243508 | Jewell et al. | Jun 2001 | B1 |
6265246 | Ruby et al. | Jul 2001 | B1 |
6274890 | Oshio et al. | Aug 2001 | B1 |
6275513 | Chang-Hasnain et al. | Aug 2001 | B1 |
6303922 | Kasper | Oct 2001 | B1 |
6354747 | Irie et al. | Mar 2002 | B1 |
6376280 | Ruby et al. | Apr 2002 | B1 |
6416238 | Gilliland et al. | Jul 2002 | B1 |
6422766 | Althaus et al. | Jul 2002 | B1 |
6429511 | Ruby et al. | Aug 2002 | B2 |
6460143 | Howard et al. | Oct 2002 | B1 |
6540412 | Yonemura et al. | Apr 2003 | B2 |
6556608 | Gilliland et al. | Apr 2003 | B1 |
6567439 | Auracher et al. | May 2003 | B1 |
6567590 | Okada et al. | May 2003 | B1 |
6599666 | Rolfson | Jul 2003 | B2 |
6608476 | Mirov et al. | Aug 2003 | B1 |
6652158 | Bartur et al. | Nov 2003 | B2 |
6684033 | Doh et al. | Jan 2004 | B1 |
6686580 | Glenn et al. | Feb 2004 | B1 |
6731882 | Althaus et al. | May 2004 | B1 |
6757308 | Eldring et al. | Jun 2004 | B1 |
6759723 | Silverbrook | Jul 2004 | B2 |
6774404 | Imai | Aug 2004 | B2 |
6777263 | Gan et al. | Aug 2004 | B1 |
6787897 | Geefay et al. | Sep 2004 | B2 |
6801196 | Bodley et al. | Oct 2004 | B1 |
6905618 | Matthews et al. | Jun 2005 | B2 |
6919222 | Geefay | Jul 2005 | B2 |
6956992 | Coleman | Oct 2005 | B2 |
6979810 | Chujo et al. | Dec 2005 | B2 |
6980823 | Challa et al. | Dec 2005 | B2 |
7134032 | Yamada et al. | Nov 2006 | B2 |
20010023920 | Ando et al. | Sep 2001 | A1 |
20020008326 | Mizusaki | Jan 2002 | A1 |
20020101641 | Kurchuk | Aug 2002 | A1 |
20020152408 | Inui et al. | Oct 2002 | A1 |
20020179921 | Cohn | Dec 2002 | A1 |
20030023912 | Lesea | Jan 2003 | A1 |
20030035473 | Takinosawa | Feb 2003 | A1 |
20030071283 | Heschel | Apr 2003 | A1 |
20030089902 | Yue | May 2003 | A1 |
20030116825 | Geefay | Jun 2003 | A1 |
20030119308 | Geefay | Jun 2003 | A1 |
20030142914 | Jewell et al. | Jul 2003 | A1 |
20030160256 | Durocher et al. | Aug 2003 | A1 |
20040086011 | Bhandarkar | May 2004 | A1 |
20040190836 | Kilian | Sep 2004 | A1 |
20050019042 | Kaneda | Jan 2005 | A1 |
20050052255 | Chiang | Mar 2005 | A1 |
20050058222 | Black et al. | Mar 2005 | A1 |
20050134349 | Krishnaswami | Jun 2005 | A1 |
20050191059 | Swenson et al. | Sep 2005 | A1 |
20060115280 | Chang | Jun 2006 | A1 |
20070019966 | Chiu et al. | Jan 2007 | A1 |
20070047963 | Dallesasse | Mar 2007 | A1 |
20070127929 | Nishihara | Jun 2007 | A1 |
20070154147 | Weem | Jul 2007 | A1 |
20070154225 | Schilz | Jul 2007 | A1 |
20070166047 | Berger | Jul 2007 | A1 |
20070206964 | Lee et al. | Sep 2007 | A1 |
Number | Date | Country |
---|---|---|
1104113 | May 2001 | EP |
1187373 | Mar 2002 | EP |
1199697 | Apr 2002 | EP |
1187373 | Jan 2005 | EP |
2007020008 | Jan 2007 | JP |
WO-9850810 | Nov 1998 | WO |
WO-0101497 | Jan 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20030149922 A1 | Aug 2003 | US |