US20040015749A1 - Apparatus and method for data pattern alignment - Google Patents

Apparatus and method for data pattern alignment Download PDF

Info

Publication number
US20040015749A1
US20040015749A1 US10/196,990 US19699002A US2004015749A1 US 20040015749 A1 US20040015749 A1 US 20040015749A1 US 19699002 A US19699002 A US 19699002A US 2004015749 A1 US2004015749 A1 US 2004015749A1
Authority
US
United States
Prior art keywords
pattern
alignment
alignment pattern
comparator
data
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
Application number
US10/196,990
Other versions
US7231561B2 (en
Inventor
James Ziegler
Roy Miles
Brent Schusheim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LTX Corp
Silicon Valley Bank Inc
Deutsche Bank AG New York Branch
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/196,990 priority Critical patent/US7231561B2/en
Assigned to LTX CORPORATION reassignment LTX CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MILES, ROY, SCHUSHEIM, BRENT, ZIEGLER, JAMES CRAIG
Publication of US20040015749A1 publication Critical patent/US20040015749A1/en
Application granted granted Critical
Publication of US7231561B2 publication Critical patent/US7231561B2/en
Assigned to LTX-CREDENCE CORPORATION reassignment LTX-CREDENCE CORPORATION MERGER (SEE DOCUMENT FOR DETAILS). Assignors: CREDENCE SYSTEMS CORPORATION
Assigned to SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT reassignment SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: EVERETT CHARLES TECHNOLOGIES LLC, LTX-CREDENCE CORPORATION
Assigned to XCERRA CORPORATION reassignment XCERRA CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: LTX-CREDENCE CORPORATION
Assigned to EVERETT CHARLES TECHNOLOGIES LLC, XCERRA CORPORATION reassignment EVERETT CHARLES TECHNOLOGIES LLC RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Assignors: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Assigned to SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT reassignment SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: EVERETT CHARLES TECHNOLOGIES LLC, XCERRA CORPORATION
Assigned to SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT reassignment SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT NUMBER 7261561 AND REPLACE WITH PATENT NUMBER 7231561 PREVIOUSLY RECORDED ON REEL 034660 FRAME 0188. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Assignors: EVERETT CHARLES TECHNOLOGIES LLC, XCERRA CORPORATION
Assigned to DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT reassignment DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: XCERRA CORPORATION
Assigned to DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT reassignment DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT STATEMENT THAT THIS DOCUMENT SERVES AS AN OATH/DECLARATION PREVIOUSLY RECORDED ON REEL 047185 FRAME 0628. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Assignors: XCERRA CORPORATION
Assigned to XCERRA CORPORATION reassignment XCERRA CORPORATION TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS, RECORDED AT REEL 047185, FRAME 0624 Assignors: DEUTSCHE BANK AG NEW YORK BRANCH, AS AGENT
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31908Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
    • G01R31/3191Calibration

Definitions

  • the present invention relates to the testing of electronics, and more particularly to the alignment of test data patterns.
  • the testing of digital circuitry often involves the transmission of a known data pattern to a device under test (DUT), the creation of a data pattern by the DUT in response, and the comparison of the data pattern created by the DUT to an expected data pattern.
  • a tester may search for a match with a test pattern or a pattern related in a known manner to the test pattern.
  • the actual search may be for the test pattern or a pattern related in a known manner to the test pattern.
  • Synchronous serial communications devices operating at high speed are particularly difficult to test.
  • One approach to aligning a test pattern with the output of the communications device is to set the clocks of the tester and device out of phase relative to one another. In this way, the test pattern will “slide by” the matching pattern the tester employs and the test pattern may thereby be aligned with a matching pattern the tester employs.
  • synchronous communications devices often employ clock-tracking circuitry, so that a tester would not be able to communicate with such a device while their clocks are out of phase with one another.
  • a data aligner in accordance with the principles of the present invention employs an alignment pattern that is transmitted and shifted as necessary until a receiving device recognizes the alignment pattern.
  • the recognition of the alignment pattern indicates that the receiving and transmitting devices are aligned and the transmission of regular data, for example, a test pattern in a digital test instrument application, may begin.
  • the tester may transmit a test pattern to a synchronous serial communications device then monitor the communications device's output for the test pattern (which could be the original pattern or a predictable modification of the test pattern).
  • the aligner ensures that the tester examines the correct portion of data from the communications device.
  • a tester that employs such an aligner may receive a pattern generated by a serial communications device under test and compare the received pattern to a test pattern. Again, the aligner may be used to ensure that the tester examines the correct portion of test data emanating from the communications device.
  • a tester in accordance with the principles of the present invention includes such an aligner.
  • the tester may be employed to test a synchronous serial communications device that, on its transmission side, accepts parallel data and converts the parallel data to serial form for transmission.
  • a tester may be employed to test a synchronous communications device that, on its receive side, accepts serial data and converts the serial data to parallel form.
  • the tester tests the transmit side of such a communications device, the tester generates a test pattern (for example, storing the test pattern in a pattern memory), loads the test pattern in the communications device, and monitors the output of the communications device for a test pattern.
  • the test pattern will typically be many bytes long.
  • the aligner loads the device with an alignment pattern that the tester attempts to match on the tester's monitoring side. If no match is detected, the monitoring side of the tester shifts the received pattern, tests for a match, and repeats the shifting/matching process until a match is detected. Once a match is detected, that is, once the alignment pattern is detected on the monitoring side, the pattern generating side is alerted to the fact that alignment has been achieved. The pattern generator side of the tester then proceeds to transmit the actual test pattern, keeping the pattern in alignment with the pattern expected by the monitoring side of the tester.
  • the tester transmits a serial test pattern to the serial communications device under test.
  • the test pattern must be aligned with the pattern expected at the monitor side of the tester.
  • an aligner loads an alignment pattern into a serializer which serializes the alignment pattern.
  • the serialized alignment pattern is transmitted to the communications device being tested.
  • the communications device under test converts the alignment pattern to parallel and the tester attempts to match the pattern on its monitoring side. If no match is detected, the monitoring side of the tester indicates there is no match and the tester's transmission side shifts the alignment pattern.
  • “no match” may be a default condition that is overridden by the monitoring side of the tester setting a flag whenever the monitoring side detects a match.
  • the tester repeats the shifting/matching process until a match is detected. Once a match is detected, that is, once the alignment pattern is detected on the monitoring side, the pattern generating side is alerted to the fact that alignment has been achieved.
  • the pattern generator side of the tester then proceeds to transmit the actual test pattern, keeping the pattern in alignment with the pattern expected by the monitoring side of the tester.
  • FIG. 1 is a block diagram of a data pattern aligner in accordance with the principles of the present invention
  • FIG. 2 is a conceptual diagram of a shifting alignment in accordance with the principles of the present invention.
  • FIG. 3 is a flow chart of a pattern alignment process in accordance with the principles of the present invention.
  • FIG. 4 is a block diagram of tester in accordance with the principles of the present invention configured to test the transmit portion of a high speed serial communications device;
  • FIG. 5 is a block diagram of a shifter in accordance with the principles of the present invention.
  • FIG. 6 is a block diagram of a multi-stage shifter in accordance with the principles of the present invention.
  • FIG. 7 is a block diagram of a tester in accordance with the principles of the present invention configured to test the receive portion of a high-speed serial communications device.
  • FIG. 1 illustrates the major components of a data aligner 100 in accordance with the principles of the present invention.
  • the data aligner 100 employs an alignment pattern that is output 101 and shifted as necessary until a monitoring device 102 recognizes the alignment pattern.
  • the recognition of the alignment pattern indicates that a pattern recipient 104 is aligned with the data aligner and that the transmission of regular data may commence.
  • the regular data may be a test pattern
  • the pattern recipient 104 may be a device under test, for example.
  • a shifter 106 may be operative between the pattern recipient and the monitor and/or a shifter 108 may be operative in the data path between the monitor and the alignment pattern output 101 to provide the shifting necessary for alignment.
  • the tester may transmit a test pattern to a synchronous serial communications device then monitor the communications device's output for the test pattern (which could be the original pattern or a predictable modification of the test pattern).
  • the aligner ensures that the tester examines the correct portion of data from the communications device.
  • a tester that employs such an aligner may receive a pattern generated by a serial communications device under test and compare the received pattern to a test pattern. The aligner may be used to ensure that the tester examines the correct portion of test data emanating from the communications device.
  • the conceptual signal diagram of FIG. 2 provides a detailed illustration of an alignment process in accordance with the principles of the present invention.
  • the alignment pattern is 1234.
  • This alignment pattern is sent to a pattern recipient.
  • the alignment pattern recipient is responsive to the receipt of the alignment pattern by producing a pattern output.
  • the alignment pattern may pass through the pattern recipient unmodified, as in this illustration, or it may be modified in a predictable way.
  • the output is windowed and may or may not be aligned with the alignment pattern that was received.
  • the windowing process may be the result of a communications device converting a serial bit stream into a series of parallel words, for example.
  • the received alignment pattern is windowed in four-number windows as illustrated by windows W 1 through W 5 .
  • the aligner compares the windowed numbers to the expected, 1234, pattern.
  • window W 1 the aligner notes that the windowed 3412 pattern does not match the expected 1234 pattern and shifts the alignment pattern by inserting a “1” into the pattern, as indicated by SHIFT 1 .
  • windowed pattern W 2 the aligner notes that the windowed pattern 3411 does not match the expected pattern. Because a shift has just been executed though, the aligner does not immediately execute another shift. That is, at least one window period is set aside for the comparison of the shift results (e.g., window W 3 ), as opposed to the shift window (e.g., window W 2 ) with the alignment pattern.
  • the aligner compares the 2341 pattern to the expected 1234 pattern and determines there is not a match. Consequently, the aligner shifts the alignment pattern once again by inserting a “1”, as indicated by SHIFT 2 in the Figure.
  • the aligner In the comparison of the windowed pattern W 4 , the aligner once again notes that, although the 2341 pattern does not match the 1234 expected pattern, it has just executed a shift and will therefore not execute a shift during the next window period.
  • the aligner recognizes that the windowed pattern W 5 matches the expected pattern and that, consequently, the alignment pattern recipient is aligned with the aligner.
  • the aligner may then commence to send aligned data to the alignment pattern recipient.
  • a tester sends the alignment pattern to a device under test and the tester monitors the device under test to detect the alignment pattern.
  • the flow chart of FIG. 3 illustrates a data alignment process in accordance with the principles of the present invention.
  • the process begins in step 300 and proceeds from there to step 302 where an aligner sends an alignment pattern to an alignment pattern recipient.
  • the recipient may respond to the receipt of data by reproducing the data or by modifying the data in a predictable manner.
  • step 302 the process proceeds to step 304 where the aligner compares a windowed pattern to the expected pattern. If the windowed pattern matches the expected pattern, the process proceeds to step 306 where the aligner notes the match. This step may include the setting of a flag or other operation that provides at least an internal indication that a match has been found. From step 306 the process proceeds to step 308 where the aligner continues processing.
  • the continued processing may include a smooth transition from the alignment pattern to a data pattern while maintaining the alignment that has been achieved in previous steps. After such a transition the aligner may be called upon to align more data patterns, in the “continue” step 308 , or it may proceed to end the alignment process in step 310 .
  • step 304 the aligner determines that there is not a match between the windowed pattern and the expected pattern
  • the process proceeds to step 312 where the aligner determines whether there has been a shift recently enough to interfere with the comparison process. For example, if the pattern shift is accomplished by inserting a number into the alignment pattern, the aligner will skip over the window that includes the extra number and will only shift again for a subsequent window. A shift that involves the deletion of a number from the alignment pattern does not require the aligner to skip a windowed pattern. If, in step 312 , the aligner determines that a potentially interfering shift has occurred (assuming the shift is effected through the insertion of an additional number), the process returns to step 302 and from there as previously described.
  • step 312 the process proceeds from step 312 to step 314 where the pattern is shifted, for example, by inserting an extra number in the pattern string. From step 314 the process proceeds to step 302 and from there as previously described.
  • the conceptual block diagram of FIG. 4 depicts a digital tester 400 that employs an aligner in accordance with the principles of the present invention.
  • the tester 400 tests a device under test (DUT) 402 .
  • the tester 400 may be employed to test a DUT 402 that is a synchronous serial communications device that, on its transmit side, accepts parallel data and converts the parallel data to serial form for transmission.
  • the DUT 402 may accept data in a variety of widths, including, 5, 8, 10, 16 or 20-bit words.
  • the tester 400 generates a test pattern, loads the test pattern in the DUT 402 , and monitors the output of the communications device for a test pattern.
  • a pattern generator 404 produces a digital test pattern that is sent to the DUT 402 .
  • the pattern may be a pattern stored in memory or a pattern generated in a pseudo-random generator, for example.
  • the pattern generator 404 generates an alignment pattern that it repeatedly loads into the DUT 402 until it receives an indication from the alignment word match comparator 414 that alignment has been achieved, whereupon the pattern generator 404 commences to load the test pattern into the DUT 402 .
  • the test pattern will typically be many bytes long.
  • the DUT 402 is a high-speed device that transmits serial data at a very high rate.
  • the serial data stream from the DUT 402 is converted to parallel form.
  • the deserializer converts the serial data from the DUT 402 to a block of data of a dimension that accommodates any word width involved. For example, in order to accommodate any of the word widths in which the DUT 402 might send data (e.g., 5, 8, 10, 16, or 20 bit) and, at the same time, accommodate the pattern memory storage width of 128 bits, the deserializer 408 deserializes data into blocks of 640 bits, the least common multiple, and loads the blocks into the shifter 410 .
  • the comparator 414 need not examine the entire 640-bit block to detect alignment.
  • the comparator searches for a match with a thirty-two-bit alignment match word within the 640-bit block to detect alignment.
  • the thirty-two-bit match word is unique within the 640-bit block.
  • the thirty-two-bit match word is positioned at the head of the block.
  • the comparator 414 examines thirty-two bit words within each alignment block in search of a match with the thirty-two-bit alignment match word stored in the storage 406 . If no match is detected, the shifter 410 shifts subsequent alignment blocks until a match between the first thirty-two bits of an alignment block and the alignment match word is detected. Once a match is detected, the pattern generator 404 is alerted to that fact and it may then proceed to transmit a test pattern. The shifter 410 quits shifting.
  • the alignment word is at the beginning of the 640-bit block.
  • the first block of data not to contain the alignment word in its first thirty-two bits after the comparator 414 indicates that a match has been found is recognized by the comparator as the first block of the test pattern and the comparator directs the 128K 128-bit words of the test pattern into pattern memory storage 412 .
  • FIG. 5 illustrates conceptually the operation of a data shifter in accordance with the principles of the present invention.
  • a data shifter may be employed in a variety of applications, including in a tester such as the tester 400 of FIG. 4.
  • a serial-to-parallel converter 500 converts a serial data stream consisting of a repeated pattern 1234. Such a pattern may be used as an alignment pattern, for example.
  • the serial-to-parallel converter 500 converts the data stream to four-bit words. As indicated by the vertically repeated 4123 pattern, the serial-to-parallel converter continuously makes the conversion and makes the four-bit words available at an output.
  • the serial-to-parallel converter is not aligned with the 1234 pattern and converts the data stream into a series of 4123 words.
  • Serial-to-parallel conversion may be employed, for example in testing a high-speed serial communications device.
  • the clock speed at which such operations as checking for a match between a match word and the input data stream may be substantially reduced.
  • the shifter 502 includes two four-bit registers, REG 1 and REG 2 and a multiplexor, MUX. Data received from the serial-to-parallel converter 500 is loaded into the register, REG 1 . When the next four-bit word is received from the serial-to-parallel converter 500 , the contents of register REG 1 are loaded into register REG 2 and the latest four-bit word from the serial-to-parallel converter is loaded into register REG 1 .
  • the multiplexor MUX is a four-of-sixteen multiplexor in this illustrative embodiment.
  • each of the multiplexor segments M 1 , M 2 , M 3 , and M 4 may select data from one out of four of the register segments.
  • the leftmost segment M 1 may select data from the leftmost segment of REG 1 , from the second-from-the-left segment of REG 1 , from the third-from-the-left segment of REG 1 , or from the fourth-from-the-left segment of REG 1 .
  • the second-from-the-left segment of the multiplexor M 2 may select from the second-from-the-left segment of REG 1 , from the third-from-the-left segment of REG 1 , from the fourth-from-the-left segment of REG 1 , or the leftmost segment of REG 2 .
  • the third-from-the-left segment of the multiplexor M 3 may select from the third-from-the-left segment of REG 1 , from the fourth-from-the-left segment of REG 1 , the leftmost segment of REG 2 , or the second-from-the-left segment of REG 2 .
  • the fourth-from-the-left segment of the multiplexor M 4 may select from the fourth-from-the-left segment of REG 1 , the leftmost segment of REG 2 , the second-from-the-left segment of REG 2 , or the third-from-the-left segment of REG 2 .
  • Other arrangements are possible and contemplated within the scope of this disclosure.
  • a zero-shift result 4123, labeled S 0 corresponds to each multiplexor segment selecting from its “zero” position, as indicated by the lines labeled S 0 .
  • the multiplexor With a signal from the control input CONT the multiplexor may be set to select from a different group of register segments.
  • the 3412 pattern labeled S 1 corresponds to the multiplexor selecting from the register segments as indicated by the labels S 1 . This shift amounts to a barrel shift. Similar shifts may be effected as indicated by the 2341 S 2 and 1234 S 3 patterns. If each of the patterns is tested for a match with the 1234 pattern, the S 3 shift would yield a match.
  • each of the registers REG 1 and REG 2 would be a 640-bit register and the multiplexor MUX would be a 640 segment multiplexor.
  • the area occupied by the shifter may be reduced by implementing a multi-stage shifter such as the multi-stage shifter depicted conceptually in the block diagram of FIG. 6.
  • a serial-to-parallel converter 600 receives a repetitive 1234 data stream, as in the example of FIG. 5.
  • the serial-to-parallel converter converts the serial data stream into two-bit words, rather than the four-bit words of FIG. 5. Lines labeled S 0 , S 1 and S 2 between the multiplexor and registers REG 1 and REG 2 respectively indicate zero-shift and one-shift selections.
  • the vertical column of two-bit entries represents a sequence of multiplexor outputs. To the left of the multiplexor outputs are the corresponding values within REG 1 and REG 2 .
  • the multiplexor selection process is depicted by the brackets labeled B 1 , B 2 , B 3 , B 4 , B 5 , and B 6 .
  • bracket B 1 indicates that the S 0 multiplexor position is selected with the resultant 23 selected at the output
  • bracket B 2 again indicates an S 0 multiplexor position, with the resultant 41 selected.
  • the multiplexor is modified to the S 1 position, with the bracket B 3 indicating the selection of a 12 resultant.
  • Subsequent multiplexor selections and their corresponding resultants are B 4 -34, B 5 -12, and B 6 -34. If every other one of the two-bit words is compared to an expected value, for example the leading 12 of a 1234 sequence, the multiplexor-based shifting will shift the desired 12 pattern into place for comparison. Further shifting may be accomplished by altering the timing of the comparison time slots (COMPARE 1 , COMPARE 2 , COMPARE 3 ). One way in which this comparison-time-slot-shift may be effected, is indicated by the comparison time slot COMPARE 3 , which has been moved to skip a compare that would otherwise have taken place. That is, skipping a comparison cycle (or adding one) is equivalent to a full-word-shift.
  • a multi-level shifter such as this may be implemented by comparing every fifth one hundred and twenty-eight-bit word.
  • two one hundred and twenty eight bit registers and a one hundred twenty eight-segment multiplexor may be used.
  • Full word shifts may be accomplished by skipping or adding a comparison with one of the words.
  • the tester transmits a serial test pattern to the serial communications device under test.
  • the test pattern must be aligned with the pattern expected at the monitor side of the tester.
  • an aligner loads an alignment pattern into a serializer which serializes the alignment pattern.
  • the serialized alignment pattern is transmitted to the communications device being tested.
  • the communications device under test converts the alignment pattern to parallel and the tester attempts to match the pattern on its monitoring side. If no match is detected, the monitoring side of the tester indicates there is no match and the tester's transmission side shifts the alignment pattern.
  • “no match” may be a default condition that is overridden by the monitoring side of the tester setting a flag whenever the monitoring side detects a match.
  • the tester repeats the shifting/matching process until a match is detected. Once a match is detected, that is, once the alignment pattern is detected on the monitoring side, the pattern generating side is alerted to the fact that alignment has been achieved.
  • the pattern generator side of the tester then proceeds to transmit the actual test pattern, keeping the pattern in alignment with the pattern expected by the monitoring side of the tester.
  • FIG. 7 depicts a digital tester 700 that employs an aligner in accordance with the principles of the present invention.
  • the tester 700 tests a device under test (DUT) 702 .
  • the tester 700 may be employed to test a DUT 702 that is a synchronous serial communications device that, on its receive side, accepts serial data and converts the serial data to parallel form for transmission.
  • the DUT 702 may produce parallel data in a variety of widths, including, 5, 8, 10, 16 or 20 - bit words.
  • the shifter 706 loads the DUT 702 with an alignment pattern that the tester 700 attempts to match on the tester's monitoring side (e.g., digital capture block 710 ). If no match is detected, the monitoring side of the tester alerts the shifter that no match has been found. This may be implemented by default. That is, for example, a flag may be reset at the beginning of a test and remain reset until the digital capture block 710 encounters a match, at which time the digital capture block 710 sets the flag, thereby alerting the shifter. With no match, the shifter 706 shifts the alignment pattern and repeats the shifting/matching process until a match is detected.
  • the monitoring side of the tester alerts the shifter that no match has been found. This may be implemented by default. That is, for example, a flag may be reset at the beginning of a test and remain reset until the digital capture block 710 encounters a match, at which time the digital capture block 710 sets the flag, thereby alerting the shifter. With no match, the shifter 706 shifts the
  • the pattern generator side of the tester then proceeds to transmit the actual test pattern, keeping the pattern in alignment with the pattern expected by the monitoring side of the tester.
  • the tester 700 generates a test pattern, stored as 128K 128-bit words in pattern memory 704 .
  • the pattern memory also stores a 640-bit block of alignment pattern.
  • the alignment pattern is repeatedly loaded into a shifter 706 , converted from parallel to serial form in the serializer 708 and sent to the DUT 702 .
  • the digital capture block 710 compares the parallel data from the DUT to an expected alignment pattern.
  • the shifter 706 shifts the alignment pattern until the digital capture block 710 finds a match between data received from the DUT 702 and the expected alignment pattern and is alerted to that fact by the digital capture block 710 .
  • the digital capture block 710 is aligned with data from the sending side (e.g., serializer 708 , shifter 706 , and pattern memory 704 ) and the sending side may send the 128-bit by 128K block of pattern memory to fully exercise the DUT 702 .
  • the sending side e.g., serializer 708 , shifter 706 , and pattern memory 704
  • the sending side may send the 128-bit by 128K block of pattern memory to fully exercise the DUT 702 .
  • the test pattern will typically be many bytes long.
  • the DUT 702 is a high-speed device that receives serial data at a very high rate and converts the data to 5, 8, 10, 16, or 20 bit words.
  • the parallel data stream from the DUT 402 may be converted to broader parallel form.
  • the comparison/shifting process may be implemented in a manner akin to that described in the discussion related to FIGS. 4, 5, and 6 , except that, in this illustrative embodiment, the shifting takes place before the alignment pattern is serialized for transmission to the DUT 702 .

Abstract

A digital tester includes a digital data pattern aligner. The digital data pattern aligner includes an alignment pattern source, a data shifter, and a data comparator. The alignment pattern source sends an alignment pattern to the comparator in a data stream. The comparator samples the data stream and compares the samples to a copy of the alignment pattern. The shifter shifts the data in the data stream so long as the comparator detects no match between a data stream sample and the copy of the alignment pattern. When a match is detected, the pattern source and the comparator are in alignment and other data, such as test patterns, may be sent to the comparator or associated components.

Description

    RELATED APPLICATIONS
  • A patent application entitled APPARATUS AND METHOD FOR DATA SHIFTING, having attorney docket number (LTXL 123), having the same inventors as this application, assigned to the same assignee as this application, filed on the same day as this application is hereby incorporated by reference.[0001]
  • FIELD OF THE INVENTION
  • The present invention relates to the testing of electronics, and more particularly to the alignment of test data patterns. [0002]
  • BACKGROUND OF THE INVENTION
  • As the operational speed of electronics devices relentlessly increases, the testing of such devices becomes even more problematic. The testing of digital circuitry often involves the transmission of a known data pattern to a device under test (DUT), the creation of a data pattern by the DUT in response, and the comparison of the data pattern created by the DUT to an expected data pattern. A tester may search for a match with a test pattern or a pattern related in a known manner to the test pattern. When we indicate that a tester is searching for a match with a test pattern, the actual search may be for the test pattern or a pattern related in a known manner to the test pattern. [0003]
  • Synchronous serial communications devices operating at high speed are particularly difficult to test. One approach to aligning a test pattern with the output of the communications device (the output of either the device's receive or transmit side) is to set the clocks of the tester and device out of phase relative to one another. In this way, the test pattern will “slide by” the matching pattern the tester employs and the test pattern may thereby be aligned with a matching pattern the tester employs. However, synchronous communications devices often employ clock-tracking circuitry, so that a tester would not be able to communicate with such a device while their clocks are out of phase with one another. [0004]
  • Notwithstanding the performance afforded by conventional digital circuit testers, a digital tester that provides for high-speed alignment of data patterns would be highly desirable. [0005]
  • SUMMARY OF THE INVENTION
  • A data aligner in accordance with the principles of the present invention employs an alignment pattern that is transmitted and shifted as necessary until a receiving device recognizes the alignment pattern. The recognition of the alignment pattern indicates that the receiving and transmitting devices are aligned and the transmission of regular data, for example, a test pattern in a digital test instrument application, may begin. [0006]
  • In a tester that employs such an aligner, the tester may transmit a test pattern to a synchronous serial communications device then monitor the communications device's output for the test pattern (which could be the original pattern or a predictable modification of the test pattern). The aligner ensures that the tester examines the correct portion of data from the communications device. Similarly, a tester that employs such an aligner may receive a pattern generated by a serial communications device under test and compare the received pattern to a test pattern. Again, the aligner may be used to ensure that the tester examines the correct portion of test data emanating from the communications device. [0007]
  • In an illustrative embodiment a tester in accordance with the principles of the present invention includes such an aligner. The tester may be employed to test a synchronous serial communications device that, on its transmission side, accepts parallel data and converts the parallel data to serial form for transmission. Similarly, such a tester may be employed to test a synchronous communications device that, on its receive side, accepts serial data and converts the serial data to parallel form. When such a tester tests the transmit side of such a communications device, the tester generates a test pattern (for example, storing the test pattern in a pattern memory), loads the test pattern in the communications device, and monitors the output of the communications device for a test pattern. In order to be effective, the test pattern will typically be many bytes long. In order to permit the derivation of a clock signal from data transmitted by a synchronous communications device, such devices operate continuously. Consequently, the expected pattern will arrive at a monitoring portion of the tester in a continuous stream of data. Before the tester loads the test pattern in the communications device under test, the aligner loads the device with an alignment pattern that the tester attempts to match on the tester's monitoring side. If no match is detected, the monitoring side of the tester shifts the received pattern, tests for a match, and repeats the shifting/matching process until a match is detected. Once a match is detected, that is, once the alignment pattern is detected on the monitoring side, the pattern generating side is alerted to the fact that alignment has been achieved. The pattern generator side of the tester then proceeds to transmit the actual test pattern, keeping the pattern in alignment with the pattern expected by the monitoring side of the tester. [0008]
  • To test the receive side of such a communications device, the tester transmits a serial test pattern to the serial communications device under test. As in the transmit side test, the test pattern must be aligned with the pattern expected at the monitor side of the tester. In an illustrative embodiment an aligner loads an alignment pattern into a serializer which serializes the alignment pattern. The serialized alignment pattern is transmitted to the communications device being tested. The communications device under test converts the alignment pattern to parallel and the tester attempts to match the pattern on its monitoring side. If no match is detected, the monitoring side of the tester indicates there is no match and the tester's transmission side shifts the alignment pattern. In operation, “no match” may be a default condition that is overridden by the monitoring side of the tester setting a flag whenever the monitoring side detects a match. The tester repeats the shifting/matching process until a match is detected. Once a match is detected, that is, once the alignment pattern is detected on the monitoring side, the pattern generating side is alerted to the fact that alignment has been achieved. The pattern generator side of the tester then proceeds to transmit the actual test pattern, keeping the pattern in alignment with the pattern expected by the monitoring side of the tester. [0009]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing and other objects of this invention, the various features thereof, as well as the invention itself, may be more fully understood from the following description, when read together with the accompanying drawings as described below. [0010]
  • FIG. 1 is a block diagram of a data pattern aligner in accordance with the principles of the present invention; [0011]
  • FIG. 2 is a conceptual diagram of a shifting alignment in accordance with the principles of the present invention; [0012]
  • FIG. 3 is a flow chart of a pattern alignment process in accordance with the principles of the present invention; [0013]
  • FIG. 4 is a block diagram of tester in accordance with the principles of the present invention configured to test the transmit portion of a high speed serial communications device; [0014]
  • FIG. 5 is a block diagram of a shifter in accordance with the principles of the present invention; [0015]
  • FIG. 6 is a block diagram of a multi-stage shifter in accordance with the principles of the present invention; ; and [0016]
  • FIG. 7 is a block diagram of a tester in accordance with the principles of the present invention configured to test the receive portion of a high-speed serial communications device.[0017]
  • DETAILED DESCRIPTION
  • The conceptual block diagram of FIG. 1 illustrates the major components of a data aligner [0018] 100 in accordance with the principles of the present invention. The data aligner 100 employs an alignment pattern that is output 101 and shifted as necessary until a monitoring device 102 recognizes the alignment pattern. The recognition of the alignment pattern indicates that a pattern recipient 104 is aligned with the data aligner and that the transmission of regular data may commence. In a digital test equipment application, the regular data may be a test pattern, and the pattern recipient 104 may be a device under test, for example. As illustrated in the conceptual block diagram of FIG. 1, a shifter 106 may be operative between the pattern recipient and the monitor and/or a shifter 108 may be operative in the data path between the monitor and the alignment pattern output 101 to provide the shifting necessary for alignment.
  • In a tester that employs such an aligner, the tester may transmit a test pattern to a synchronous serial communications device then monitor the communications device's output for the test pattern (which could be the original pattern or a predictable modification of the test pattern). The aligner ensures that the tester examines the correct portion of data from the communications device. Similarly, a tester that employs such an aligner may receive a pattern generated by a serial communications device under test and compare the received pattern to a test pattern. The aligner may be used to ensure that the tester examines the correct portion of test data emanating from the communications device. [0019]
  • The conceptual signal diagram of FIG. 2 provides a detailed illustration of an alignment process in accordance with the principles of the present invention. In this illustrative example the alignment pattern is 1234. This alignment pattern is sent to a pattern recipient. The alignment pattern recipient is responsive to the receipt of the alignment pattern by producing a pattern output. The alignment pattern may pass through the pattern recipient unmodified, as in this illustration, or it may be modified in a predictable way. The output is windowed and may or may not be aligned with the alignment pattern that was received. The windowing process may be the result of a communications device converting a serial bit stream into a series of parallel words, for example. In this example, the received alignment pattern is windowed in four-number windows as illustrated by windows W[0020] 1 through W5. The aligner compares the windowed numbers to the expected, 1234, pattern. In window W1 the aligner notes that the windowed 3412 pattern does not match the expected 1234 pattern and shifts the alignment pattern by inserting a “1” into the pattern, as indicated by SHIFT1. In the comparison of windowed pattern W2, the aligner notes that the windowed pattern 3411 does not match the expected pattern. Because a shift has just been executed though, the aligner does not immediately execute another shift. That is, at least one window period is set aside for the comparison of the shift results (e.g., window W3), as opposed to the shift window (e.g., window W2) with the alignment pattern.
  • In window W[0021] 3 the aligner compares the 2341 pattern to the expected 1234 pattern and determines there is not a match. Consequently, the aligner shifts the alignment pattern once again by inserting a “1”, as indicated by SHIFT2 in the Figure. In the comparison of the windowed pattern W4, the aligner once again notes that, although the 2341 pattern does not match the 1234 expected pattern, it has just executed a shift and will therefore not execute a shift during the next window period. In the examination of the windowed pattern W5, the aligner recognizes that the windowed pattern W5 matches the expected pattern and that, consequently, the alignment pattern recipient is aligned with the aligner. The aligner may then commence to send aligned data to the alignment pattern recipient. In an illustrative embodiment, a tester sends the alignment pattern to a device under test and the tester monitors the device under test to detect the alignment pattern.
  • The flow chart of FIG. 3 illustrates a data alignment process in accordance with the principles of the present invention. The process begins in [0022] step 300 and proceeds from there to step 302 where an aligner sends an alignment pattern to an alignment pattern recipient. The recipient may respond to the receipt of data by reproducing the data or by modifying the data in a predictable manner. From step 302 the process proceeds to step 304 where the aligner compares a windowed pattern to the expected pattern. If the windowed pattern matches the expected pattern, the process proceeds to step 306 where the aligner notes the match. This step may include the setting of a flag or other operation that provides at least an internal indication that a match has been found. From step 306 the process proceeds to step 308 where the aligner continues processing. The continued processing may include a smooth transition from the alignment pattern to a data pattern while maintaining the alignment that has been achieved in previous steps. After such a transition the aligner may be called upon to align more data patterns, in the “continue” step 308, or it may proceed to end the alignment process in step 310.
  • If, in [0023] step 304 the aligner determines that there is not a match between the windowed pattern and the expected pattern, the process proceeds to step 312 where the aligner determines whether there has been a shift recently enough to interfere with the comparison process. For example, if the pattern shift is accomplished by inserting a number into the alignment pattern, the aligner will skip over the window that includes the extra number and will only shift again for a subsequent window. A shift that involves the deletion of a number from the alignment pattern does not require the aligner to skip a windowed pattern. If, in step 312, the aligner determines that a potentially interfering shift has occurred (assuming the shift is effected through the insertion of an additional number), the process returns to step 302 and from there as previously described. On the other hand, if no potentially interfering shift has occurred, the process proceeds from step 312 to step 314 where the pattern is shifted, for example, by inserting an extra number in the pattern string. From step 314 the process proceeds to step 302 and from there as previously described.
  • The conceptual block diagram of FIG. 4 depicts a [0024] digital tester 400 that employs an aligner in accordance with the principles of the present invention. The tester 400 tests a device under test (DUT) 402. In this illustrative embodiment the tester 400 may be employed to test a DUT 402 that is a synchronous serial communications device that, on its transmit side, accepts parallel data and converts the parallel data to serial form for transmission. In this illustrative example the DUT 402 may accept data in a variety of widths, including, 5, 8, 10, 16 or 20-bit words.
  • The [0025] tester 400 generates a test pattern, loads the test pattern in the DUT 402, and monitors the output of the communications device for a test pattern. In this illustrative embodiment, a pattern generator 404 produces a digital test pattern that is sent to the DUT 402. The pattern may be a pattern stored in memory or a pattern generated in a pseudo-random generator, for example. In addition to the test pattern, the pattern generator 404 generates an alignment pattern that it repeatedly loads into the DUT 402 until it receives an indication from the alignment word match comparator 414 that alignment has been achieved, whereupon the pattern generator 404 commences to load the test pattern into the DUT 402. In order to be effective, the test pattern will typically be many bytes long. In order to permit the derivation of a clock signal from data transmitted by a synchronous communications device, such devices operate continuously. Consequently, the expected test pattern will arrive at a monitoring portion of the tester (e.g., including deserializer 408, shifter 410, test pattern memory 412, comparator 414 and storage for the alignment pattern 406) in a continuous stream of data. In an illustrative embodiment, the DUT 402 is a high-speed device that transmits serial data at a very high rate.
  • In order operate the comparison process at a slower clock rate, the serial data stream from the [0026] DUT 402 is converted to parallel form. The deserializer converts the serial data from the DUT 402 to a block of data of a dimension that accommodates any word width involved. For example, in order to accommodate any of the word widths in which the DUT 402 might send data (e.g., 5, 8, 10, 16, or 20 bit) and, at the same time, accommodate the pattern memory storage width of 128 bits, the deserializer 408 deserializes data into blocks of 640 bits, the least common multiple, and loads the blocks into the shifter 410. The comparator 414 need not examine the entire 640-bit block to detect alignment. In this illustrative example, the comparator searches for a match with a thirty-two-bit alignment match word within the 640-bit block to detect alignment. The thirty-two-bit match word is unique within the 640-bit block. In this illustrative embodiment, the thirty-two-bit match word is positioned at the head of the block. The comparator 414 examines thirty-two bit words within each alignment block in search of a match with the thirty-two-bit alignment match word stored in the storage 406. If no match is detected, the shifter 410 shifts subsequent alignment blocks until a match between the first thirty-two bits of an alignment block and the alignment match word is detected. Once a match is detected, the pattern generator 404 is alerted to that fact and it may then proceed to transmit a test pattern. The shifter 410 quits shifting.
  • After alignment is achieved it must be maintained. This could be accomplished by providing an indication of how many bits of alignment data remain after the alignment match word is detected, for example. In this illustrative embodiment, the alignment word is at the beginning of the 640-bit block. The first block of data not to contain the alignment word in its first thirty-two bits after the [0027] comparator 414 indicates that a match has been found is recognized by the comparator as the first block of the test pattern and the comparator directs the 128K 128-bit words of the test pattern into pattern memory storage 412.
  • The block diagram of FIG. 5 illustrates conceptually the operation of a data shifter in accordance with the principles of the present invention. Such a data shifter may be employed in a variety of applications, including in a tester such as the [0028] tester 400 of FIG. 4. In this illustrative embodiment, a serial-to-parallel converter 500 converts a serial data stream consisting of a repeated pattern 1234. Such a pattern may be used as an alignment pattern, for example. In this illustrative embodiment, the serial-to-parallel converter 500 converts the data stream to four-bit words. As indicated by the vertically repeated 4123 pattern, the serial-to-parallel converter continuously makes the conversion and makes the four-bit words available at an output. Additionally, in this illustrative embodiment, the serial-to-parallel converter is not aligned with the 1234 pattern and converts the data stream into a series of 4123 words. Serial-to-parallel conversion may be employed, for example in testing a high-speed serial communications device. By converting the serial data stream to parallel form, the clock speed at which such operations as checking for a match between a match word and the input data stream may be substantially reduced.
  • Four-bit blocks of data produced by the parallel-to-[0029] serial converter 500 are sent to the shifter 502. The shifter includes two four-bit registers, REG1 and REG2 and a multiplexor, MUX. Data received from the serial-to-parallel converter 500 is loaded into the register, REG1. When the next four-bit word is received from the serial-to-parallel converter 500, the contents of register REG1 are loaded into register REG2 and the latest four-bit word from the serial-to-parallel converter is loaded into register REG1. Conceptually, the multiplexor MUX is a four-of-sixteen multiplexor in this illustrative embodiment. That is, each of the multiplexor segments M1, M2, M3, and M4 may select data from one out of four of the register segments. The leftmost segment M1 may select data from the leftmost segment of REG1, from the second-from-the-left segment of REG1, from the third-from-the-left segment of REG1, or from the fourth-from-the-left segment of REG1. The second-from-the-left segment of the multiplexor M2 may select from the second-from-the-left segment of REG1, from the third-from-the-left segment of REG1, from the fourth-from-the-left segment of REG1, or the leftmost segment of REG2. The third-from-the-left segment of the multiplexor M3 may select from the third-from-the-left segment of REG1, from the fourth-from-the-left segment of REG1, the leftmost segment of REG2, or the second-from-the-left segment of REG2. The fourth-from-the-left segment of the multiplexor M4 may select from the fourth-from-the-left segment of REG1, the leftmost segment of REG2, the second-from-the-left segment of REG2, or the third-from-the-left segment of REG2. Other arrangements are possible and contemplated within the scope of this disclosure. A zero-shift result 4123, labeled S0, corresponds to each multiplexor segment selecting from its “zero” position, as indicated by the lines labeled S0. With a signal from the control input CONT the multiplexor may be set to select from a different group of register segments. The 3412 pattern labeled S1, corresponds to the multiplexor selecting from the register segments as indicated by the labels S1. This shift amounts to a barrel shift. Similar shifts may be effected as indicated by the 2341 S2 and 1234 S3 patterns. If each of the patterns is tested for a match with the 1234 pattern, the S3 shift would yield a match.
  • Scaled up to the scale of the tester described in the discussion related to FIG. 4, each of the registers REG[0030] 1 and REG2 would be a 640-bit register and the multiplexor MUX would be a 640 segment multiplexor. In an integrated circuit embodiment, the area occupied by the shifter may be reduced by implementing a multi-stage shifter such as the multi-stage shifter depicted conceptually in the block diagram of FIG. 6. In this illustrative embodiment a serial-to-parallel converter 600 receives a repetitive 1234 data stream, as in the example of FIG. 5. However, in this example, the serial-to-parallel converter converts the serial data stream into two-bit words, rather than the four-bit words of FIG. 5. Lines labeled S0, S1 and S2 between the multiplexor and registers REG1 and REG2 respectively indicate zero-shift and one-shift selections.
  • The vertical column of two-bit entries represents a sequence of multiplexor outputs. To the left of the multiplexor outputs are the corresponding values within REG[0031] 1 and REG2. The multiplexor selection process is depicted by the brackets labeled B1, B2, B3, B4, B5, and B6. For example, bracket B1 indicates that the S0 multiplexor position is selected with the resultant 23 selected at the output, bracket B2 again indicates an S0 multiplexor position, with the resultant 41 selected. After the selection corresponding to bracket B2, the multiplexor is modified to the S1 position, with the bracket B3 indicating the selection of a 12 resultant. Subsequent multiplexor selections and their corresponding resultants are B4-34, B5-12, and B6-34. If every other one of the two-bit words is compared to an expected value, for example the leading 12 of a 1234 sequence, the multiplexor-based shifting will shift the desired 12 pattern into place for comparison. Further shifting may be accomplished by altering the timing of the comparison time slots (COMPARE1, COMPARE2, COMPARE3). One way in which this comparison-time-slot-shift may be effected, is indicated by the comparison time slot COMPARE 3, which has been moved to skip a compare that would otherwise have taken place. That is, skipping a comparison cycle (or adding one) is equivalent to a full-word-shift. In the 640-bit block tester embodiment described in relation to the discussion of FIG. 4, a multi-level shifter such as this may be implemented by comparing every fifth one hundred and twenty-eight-bit word. To shift within a one hundred and twenty eight-bit word, two one hundred and twenty eight bit registers and a one hundred twenty eight-segment multiplexor may be used. Full word shifts may be accomplished by skipping or adding a comparison with one of the words.
  • To test the receive side of a communications device, the tester transmits a serial test pattern to the serial communications device under test. As in the transmit side test, the test pattern must be aligned with the pattern expected at the monitor side of the tester. In an illustrative embodiment an aligner loads an alignment pattern into a serializer which serializes the alignment pattern. The serialized alignment pattern is transmitted to the communications device being tested. The communications device under test converts the alignment pattern to parallel and the tester attempts to match the pattern on its monitoring side. If no match is detected, the monitoring side of the tester indicates there is no match and the tester's transmission side shifts the alignment pattern. In operation, “no match” may be a default condition that is overridden by the monitoring side of the tester setting a flag whenever the monitoring side detects a match. The tester repeats the shifting/matching process until a match is detected. Once a match is detected, that is, once the alignment pattern is detected on the monitoring side, the pattern generating side is alerted to the fact that alignment has been achieved. The pattern generator side of the tester then proceeds to transmit the actual test pattern, keeping the pattern in alignment with the pattern expected by the monitoring side of the tester. [0032]
  • The conceptual block diagram of FIG. 7 depicts a [0033] digital tester 700 that employs an aligner in accordance with the principles of the present invention. The tester 700 tests a device under test (DUT) 702. In this illustrative embodiment the tester 700 may be employed to test a DUT 702 that is a synchronous serial communications device that, on its receive side, accepts serial data and converts the serial data to parallel form for transmission. In this illustrative example the DUT 702 may produce parallel data in a variety of widths, including, 5, 8, 10, 16 or 20 - bit words.
  • Before the [0034] tester 700 sends the test pattern to the DUT 702, the shifter 706 loads the DUT 702 with an alignment pattern that the tester 700 attempts to match on the tester's monitoring side (e.g., digital capture block 710). If no match is detected, the monitoring side of the tester alerts the shifter that no match has been found. This may be implemented by default. That is, for example, a flag may be reset at the beginning of a test and remain reset until the digital capture block 710 encounters a match, at which time the digital capture block 710 sets the flag, thereby alerting the shifter. With no match, the shifter 706 shifts the alignment pattern and repeats the shifting/matching process until a match is detected. The pattern generator side of the tester then proceeds to transmit the actual test pattern, keeping the pattern in alignment with the pattern expected by the monitoring side of the tester. The tester 700 generates a test pattern, stored as 128K 128-bit words in pattern memory 704. The pattern memory also stores a 640-bit block of alignment pattern.
  • In an operation similar to that of testing the transmit side of the DUT, the alignment pattern is repeatedly loaded into a shifter [0035] 706, converted from parallel to serial form in the serializer 708 and sent to the DUT 702. The digital capture block 710 compares the parallel data from the DUT to an expected alignment pattern. The shifter 706 shifts the alignment pattern until the digital capture block 710 finds a match between data received from the DUT 702 and the expected alignment pattern and is alerted to that fact by the digital capture block 710. At the time the digital capture block finds a match, the digital capture block 710 is aligned with data from the sending side (e.g., serializer 708, shifter 706, and pattern memory 704) and the sending side may send the 128-bit by 128K block of pattern memory to fully exercise the DUT 702.
  • As in the case of testing the transmit side of such as serial communications device, in order to be effective, the test pattern will typically be many bytes long. In order to permit the derivation of a clock signal from data transmitted by a synchronous communications device, such devices operate continuously. Consequently, the expected test pattern will arrive at a monitoring portion of the tester (e.g., digital capture block [0036] 710) in a continuous stream of data words. In an illustrative embodiment, the DUT 702 is a high-speed device that receives serial data at a very high rate and converts the data to 5, 8, 10, 16, or 20 bit words. In order to operate the comparison process at a slower clock rate, the parallel data stream from the DUT 402 may be converted to broader parallel form. The comparison/shifting process may be implemented in a manner akin to that described in the discussion related to FIGS. 4, 5, and 6, except that, in this illustrative embodiment, the shifting takes place before the alignment pattern is serialized for transmission to the DUT 702.
  • Although various exemplary embodiments of the invention have been disclosed, it will be apparent to those skilled in the art that various changes and modifications can be made which will achieve some of the advantages of the invention without departing from the spirit and scope of the invention. It will be apparent to those reasonably skilled in the art that other components performing the same functions may be suitably substituted. The foregoing description of specific embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed, and many modifications and variations are possible in light of the above teachings. The embodiments were chosen and described to best explain the principles of the invention and its practical application, and to thereby enable others skilled in the art to best utilize the invention. It is intended that the scope of the invention be limited only by the claims appended hereto. [0037]

Claims (36)

What is claimed is:
1. A data aligner comprising:
a data alignment pattern source configured to produce and send an alignment pattern;
a comparator configured compare one or more received data patterns to at least a portion of the alignment pattern; and
a shifter within the data path between the pattern source and the comparator, the shifter configured to shift the alignment pattern, said comparator also configured to initiate a shift within the shifter when one of said comparisons yields no match between a received data pattern and said at least potion of the alignment pattern.
2. The data aligner of claim 1 wherein the shifter is configured to shift the alignment pattern before the alignment pattern is sent to the comparator.
3. The data aligner of claim 1 wherein the shifter is configured to shift the alignment pattern after the alignment pattern is received by the comparator.
4. The data aligner of claim 1 wherein the alignment pattern generator is configured to generate a pattern that includes an alignment word and to send a pattern that includes the alignment word.
5. The data aligner of claim 4 wherein the pattern generator is configured to repeatedly send the alignment pattern until it receives an indication from the comparator that the comparator has found a match between at least a portion of the alignment pattern and a received data pattern.
6. The data aligner of claim 4 wherein the comparator is configured to match an alignment word within the alignment pattern.
7. A method of data alignment comprising the steps of:
a data alignment pattern source producing a data alignment pattern;
the data alignment pattern source sending said alignment pattern;
a comparator receiving said alignment pattern and comparing one or more received data patterns to at least a portion of the alignment pattern; and
a shifter within the data path between the pattern source and the comparator, the shifter shifting the alignment pattern, said comparator initiating a shift within the shifter when one of said comparisons yields no match between a received data pattern and said at least potion of the alignment pattern.
8. The method of claim 7 wherein the shifter shifts the alignment pattern before the alignment pattern is sent to the comparator.
9. The method of claim 7 wherein the shifter shifts the alignment pattern after the alignment pattern is received by the comparator.
10. The method of claim 7 wherein the alignment pattern generator generates a pattern that includes an alignment word and sends a pattern that includes the alignment word.
11. The method of claim 11 wherein the pattern generator repeatedly sends the alignment pattern until it receives an indication from the comparator that the comparator has found a match between at least a portion of the alignment pattern and a received data pattern.
12. The method of claim 10 wherein the comparator matches an alignment word within the alignment pattern.
13. An electronics tester comprising:
a data alignment pattern source configured to produce and send an alignment pattern to an electronics device under test;
a comparator configured to compare one or more received data patterns received from the electronics device under test to at least a portion of the alignment pattern; and
a shifter within the data path between the pattern source and the comparator, the shifter configured to shift the alignment pattern, said comparator also configured to initiate a shift within the shifter when one of said comparisons yields no match between a received data pattern and said at least potion of the alignment pattern.
14. The electronics tester of claim 13 wherein the shifter is configured to shift the alignment pattern before the alignment pattern is sent to the comparator.
15. The electronics tester of claim 13 wherein the shifter is configured to shift the alignment pattern after the alignment pattern is received by the comparator.
16. The electronics tester of claim 13 wherein the alignment pattern generator is configured to generate a pattern that includes an alignment word and to send a pattern that includes the alignment word.
17. The electronics tester of claim 16 wherein the pattern generator is configured to repeatedly send the alignment pattern until it receives an indication from the comparator that the comparator has found a match between at least a portion of the alignment pattern and a received data pattern.
18. The electronics tester of claim 16 wherein the comparator is configured to match an alignment word within the alignment pattern.
19. The electronics tester of claim 13 wherein the pattern generator is configured to send a test pattern to the electronics device under test after the comparator indicates that it has detected the alignment pattern.
20. The electronics tester of claim 19 wherein the shifter and pattern generator are respectively configured to shift and send the alignment pattern as a default condition and to stop doing so when the comparator provides an indication of alignment.
21. The electronics tester of claim 13 wherein the pattern generator is configured to generate an alignment pattern that includes an alignment word buried in the alignment pattern.
22. The electronics tester of claim 21 wherein the pattern generator is configured to generate an alignment pattern wherein the alignment word is positioned at the head of the alignment pattern.
23. The electronics tester of claim 13 wherein the tester is configured to test a serial communications device that accepts parallel data and sends serial data on its transmission side and that receives serial data and converts that to parallel data on its receive side.
24. The electronics tester of claim 23 wherein the pattern generator is configured to produce an alignment pattern of a length that is a common multiple of the serial communications device parallel words and a pattern memory in which the alignment pattern is stored.
25. A method of testing electronics components including the steps of:
a data alignment pattern source producing and sending an alignment pattern to an electronics device under test;
a comparator comparing one or more received data patterns received from the electronics device under test to at least a portion of the alignment pattern; and
a shifter within the data path between the pattern source and the comparator shifting the alignment pattern, said comparator also initiating a shift within the shifter when one of said comparisons yields no match between a received data pattern and said at least portion of the alignment pattern.
26. The method of claim 25 wherein the shifter shifts the alignment pattern before the alignment pattern is sent to the comparator.
27. The method of claim 25 wherein the shifter shifts the alignment pattern after the alignment pattern is received by the comparator.
28. The method of claim 25 wherein the alignment pattern generator generates a pattern that includes an alignment word and sends a pattern that includes the alignment word.
29. The method of claim 28 wherein the pattern generator repeatedly sends the alignment pattern until it receives an indication from the comparator that the comparator has found a match between at least a portion of the alignment pattern and a received data pattern.
30. The method of claim 28 wherein the comparator matches an alignment word within the alignment pattern.
31. The method of claim 28 wherein the pattern generator sends a test pattern to the electronics device under test after the comparator indicates that it has detected the alignment pattern.
32. The method of claim 31 wherein the shifter and pattern generator respectively shift and send the alignment pattern as a default condition and stop doing so when the comparator provides an indication of alignment.
33. The method of claim 25 wherein the pattern generator generates an alignment pattern that includes an alignment word buried in the alignment pattern.
34. The method of claim 33 wherein the pattern generator generates an alignment pattern wherein the alignment word is positioned at the head of the alignment pattern.
35. The method of claim 25 wherein the tester tests a serial communications device that accepts parallel data and sends serial data on its transmission side and that receives serial data and converts that to parallel data on its receive side.
36. The method of claim 35 wherein the pattern generator produces an alignment pattern of a length that is a common multiple of the serial communications device parallel words and a pattern memory in which the alignment pattern is stored.
US10/196,990 2002-07-17 2002-07-17 Apparatus and method for data pattern alignment Active 2024-06-20 US7231561B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/196,990 US7231561B2 (en) 2002-07-17 2002-07-17 Apparatus and method for data pattern alignment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/196,990 US7231561B2 (en) 2002-07-17 2002-07-17 Apparatus and method for data pattern alignment

Publications (2)

Publication Number Publication Date
US20040015749A1 true US20040015749A1 (en) 2004-01-22
US7231561B2 US7231561B2 (en) 2007-06-12

Family

ID=30442877

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/196,990 Active 2024-06-20 US7231561B2 (en) 2002-07-17 2002-07-17 Apparatus and method for data pattern alignment

Country Status (1)

Country Link
US (1) US7231561B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138498A1 (en) * 2003-12-04 2005-06-23 Silvus Gregory L. Channel processing data without leading sync mark
US20060156138A1 (en) * 2004-11-29 2006-07-13 Fujitsu Limited Test pattern generating apparatus, circuit designing apparatus, test pattern generating method, circuit designing method, test pattern generating program and circuit designing program
US20090100303A1 (en) * 2007-10-12 2009-04-16 Teradyne, Inc. Adjustable test pattern results latency
WO2017172284A1 (en) * 2016-04-02 2017-10-05 Intel Corporation Search and replace operations in a memory device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9461759B2 (en) 2011-08-30 2016-10-04 Iheartmedia Management Services, Inc. Identification of changed broadcast media items
US8639178B2 (en) 2011-08-30 2014-01-28 Clear Channel Management Sevices, Inc. Broadcast source identification based on matching broadcast signal fingerprints

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168527A (en) * 1978-02-17 1979-09-18 Winkler Dean A Analog and digital circuit tester
US5163051A (en) * 1990-02-02 1992-11-10 Telecom Analysis Systems Inc. Paired bit error rate tester
US5654657A (en) * 1995-08-01 1997-08-05 Schlumberger Technologies Inc. Accurate alignment of clocks in mixed-signal tester
US6347387B1 (en) * 1998-10-09 2002-02-12 Agere Systems Guardian Corp. Test circuits for testing inter-device FPGA links including a shift register configured from FPGA elements to form a shift block through said inter-device FPGA links
US6492923B1 (en) * 2001-11-01 2002-12-10 Mitsubishi Denki Kabushiki Kaisha Test system and testing method using memory tester
US20030208709A1 (en) * 2002-04-23 2003-11-06 Rolf Kassa Data alignment for telecommunications networks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4879731A (en) * 1988-08-24 1989-11-07 Ampex Corporation Apparatus and method for sync detection in digital data
JP2732759B2 (en) * 1992-07-15 1998-03-30 沖電気工業株式会社 Frame synchronization control method
US6332152B1 (en) * 1997-12-02 2001-12-18 Matsushita Electric Industrial Co., Ltd. Arithmetic unit and data processing unit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168527A (en) * 1978-02-17 1979-09-18 Winkler Dean A Analog and digital circuit tester
US5163051A (en) * 1990-02-02 1992-11-10 Telecom Analysis Systems Inc. Paired bit error rate tester
US5654657A (en) * 1995-08-01 1997-08-05 Schlumberger Technologies Inc. Accurate alignment of clocks in mixed-signal tester
US6347387B1 (en) * 1998-10-09 2002-02-12 Agere Systems Guardian Corp. Test circuits for testing inter-device FPGA links including a shift register configured from FPGA elements to form a shift block through said inter-device FPGA links
US6492923B1 (en) * 2001-11-01 2002-12-10 Mitsubishi Denki Kabushiki Kaisha Test system and testing method using memory tester
US20030208709A1 (en) * 2002-04-23 2003-11-06 Rolf Kassa Data alignment for telecommunications networks

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138498A1 (en) * 2003-12-04 2005-06-23 Silvus Gregory L. Channel processing data without leading sync mark
US7134068B2 (en) * 2003-12-04 2006-11-07 Seagate Technology Llc Channel processing data without leading sync mark
US20060156138A1 (en) * 2004-11-29 2006-07-13 Fujitsu Limited Test pattern generating apparatus, circuit designing apparatus, test pattern generating method, circuit designing method, test pattern generating program and circuit designing program
US7334171B2 (en) * 2004-11-29 2008-02-19 Fujitsu Limited Test pattern generating apparatus, circuit designing apparatus, test pattern generating method, circuit designing method, test pattern generating program and circuit designing program
US20090100303A1 (en) * 2007-10-12 2009-04-16 Teradyne, Inc. Adjustable test pattern results latency
WO2009049117A1 (en) * 2007-10-12 2009-04-16 Teradyne, Inc. Adjustable test pattern results latency
US7788564B2 (en) 2007-10-12 2010-08-31 Teradyne, Inc. Adjustable test pattern results latency
WO2017172284A1 (en) * 2016-04-02 2017-10-05 Intel Corporation Search and replace operations in a memory device
US10261688B2 (en) 2016-04-02 2019-04-16 Intel Corporation Performing search and replace operations in a memory device using command parameters and a storage controller without transferring data to a processor

Also Published As

Publication number Publication date
US7231561B2 (en) 2007-06-12

Similar Documents

Publication Publication Date Title
US5726991A (en) Integral bit error rate test system for serial data communication links
US7275195B2 (en) Programmable built-in self-test circuit for serializer/deserializer circuits and method
JP4757958B2 (en) Test apparatus and test method
US5640401A (en) Communication circuit fault detector
US6904019B2 (en) Identifying a pattern in a data stream
US7231561B2 (en) Apparatus and method for data pattern alignment
US7035887B2 (en) Apparatus and method for data shifting
US8687681B2 (en) Receiver and signal testing method thereof
CN112015119B (en) Debug control circuit and debug control method
US11586956B2 (en) Searching apparatus utilizing sub-word finite state machines
US6543027B1 (en) On-chip detection of clock gitches by examination of consecutive data
US6577546B2 (en) Semiconductor integrated circuit and operating method
US8941516B2 (en) Signal processing apparatus and signal processing method thereof
US7756655B2 (en) Observation apparatus, observation method and program
US7106820B2 (en) System and method for establishing word synchronization
JP4360944B2 (en) Test apparatus and control method
US6895542B2 (en) Data recovery circuit and method and data receiving system using the same
JP2007010605A (en) Testing device and testing method
US5072448A (en) Quasi-random digital sequence detector
US5636369A (en) Fast pattern-detection machine and method
US8743702B2 (en) Test apparatus and test method
US20020172311A1 (en) Large-input-delay variation tolerant (lidvt) receiver adopting FIFO mechanism
US6181730B1 (en) Pull-in circuit for pseudo-random pattern
JPWO2006062067A1 (en) Test equipment
KR101031641B1 (en) Chip logic debugging chip, debugging system using chip logic debugging chip and method for datarization of external chip signal

Legal Events

Date Code Title Description
AS Assignment

Owner name: LTX CORPORATION, MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZIEGLER, JAMES CRAIG;MILES, ROY;SCHUSHEIM, BRENT;REEL/FRAME:013120/0737

Effective date: 20020701

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: LTX-CREDENCE CORPORATION, MASSACHUSETTS

Free format text: MERGER;ASSIGNOR:CREDENCE SYSTEMS CORPORATION;REEL/FRAME:025894/0629

Effective date: 20090130

AS Assignment

Owner name: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT, CALI

Free format text: SECURITY AGREEMENT;ASSIGNORS:LTX-CREDENCE CORPORATION;EVERETT CHARLES TECHNOLOGIES LLC;REEL/FRAME:032086/0476

Effective date: 20131127

AS Assignment

Owner name: XCERRA CORPORATION, MASSACHUSETTS

Free format text: CHANGE OF NAME;ASSIGNOR:LTX-CREDENCE CORPORATION;REEL/FRAME:033032/0768

Effective date: 20140520

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: XCERRA CORPORATION, MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS;ASSIGNOR:SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT;REEL/FRAME:034660/0394

Effective date: 20141215

Owner name: EVERETT CHARLES TECHNOLOGIES LLC, MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS;ASSIGNOR:SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT;REEL/FRAME:034660/0394

Effective date: 20141215

Owner name: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT, CALI

Free format text: SECURITY AGREEMENT;ASSIGNORS:XCERRA CORPORATION;EVERETT CHARLES TECHNOLOGIES LLC;REEL/FRAME:034660/0188

Effective date: 20141215

AS Assignment

Owner name: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT, CALI

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT NUMBER 7261561 AND REPLACE WITH PATENT NUMBER 7231561 PREVIOUSLY RECORDED ON REEL 034660 FRAME 0188. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT;ASSIGNORS:XCERRA CORPORATION;EVERETT CHARLES TECHNOLOGIES LLC;REEL/FRAME:037824/0372

Effective date: 20141215

AS Assignment

Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT, NEW YORK

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:XCERRA CORPORATION;REEL/FRAME:047185/0624

Effective date: 20181001

Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:XCERRA CORPORATION;REEL/FRAME:047185/0624

Effective date: 20181001

AS Assignment

Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT, NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT STATEMENT THAT THIS DOCUMENT SERVES AS AN OATH/DECLARATION PREVIOUSLY RECORDED ON REEL 047185 FRAME 0628. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT;ASSIGNOR:XCERRA CORPORATION;REEL/FRAME:047675/0354

Effective date: 20181001

Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT STATEMENT THAT THIS DOCUMENT SERVES AS AN OATH/DECLARATION PREVIOUSLY RECORDED ON REEL 047185 FRAME 0628. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT;ASSIGNOR:XCERRA CORPORATION;REEL/FRAME:047675/0354

Effective date: 20181001

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

AS Assignment

Owner name: XCERRA CORPORATION, MASSACHUSETTS

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS, RECORDED AT REEL 047185, FRAME 0624;ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS AGENT;REEL/FRAME:066762/0811

Effective date: 20240209