Loopbacks are used in the testing of serial and parallel links in production. Thereby, the simplest loopback is based on a cable loopback or a load board loopback. This has low initial cost and enables to take advantage of DFT/BIST testing (DFT=Design for Test). Moreover, a better fault coverage can be achieved by using a parameterized loopback as offered in most ATE solutions (ATE=Automatic Test Equipment). Almost all new high-speed standards define a DFT/BIST mode, which enables the ATE to take advantage of those capabilities using loopback.
Motivations for loopback solutions are the time to test, e.g. no engineering effort is required to setup patterns in the ATE, that the DUT internal BIST engine has a higher test coverage (DUT=Device Under Test), and that the DUT internal BIST engine can control the test. In addition, due to the analog behavior of the links, a parameterized loopback testing is enabled, such as DC measurement, at-speed level verification and jitter tolerance test.
Advantages of a parameterized loopback compared to a load board loopback are greater or enhanced test capabilities similar to those offered by an ATE channel, signal conditioning and/or stressing and higher fault coverage, e.g. jitter injection, DC at-speed level verification and jitter tolerance test.
In the loopback path 14 shown in
Thereby, the tester driver (driver channel 37) can be configured to generate a captured pattern continuously (as long as other digital pattern run) and to perform a jitter injection. The tester receiver (receiver channel 29) can be configured to capture a pattern continuously, to provide source data for drive (as long as other digital pattern run; wrap around) and to measure a jitter via a time stamper (TIA).
Thereby, the tester driver (drive channel 37) is configured to perform a generic pattern generation, e.g. Pseudo Random Bit Sequence, PRBS, and to perform a jitter injection as timing stress. The tester receiver (receive channel 29) is configured to perform a generic pattern compare, an error count and an edge sweep in order to find the optimum timing.
According to an embodiment, an automatic test equipment is configured to receive an input signal from a device under test and to write an information describing the input signal to a memory; and to read the information describing the input signal from the memory and to provide an output signal for the device under test based on the information describing the input signal read from the memory; and the device under test has a built in self test unit, wherein the automatic test equipment is coupled to the device under test to receive a signal provided by the built in self test unit as the input signal and to provide the output signal to the built in self test unit.
According to another embodiment, a method for testing a device under test having a built in self test unit may have the steps of: receiving an input signal from the device under test and writing an information describing the input signal to a memory; and reading the information describing the input signal from the memory and providing an output signal for the device under test based on the information describing the input signal read from the memory; wherein receiving the input signal includes receiving a signal provided by the built in self test unit as the input signal; and wherein providing the output signal includes providing the output signal to the built in self test unit of the device under test.
Another embodiment may have a computer program for testing a device under test, the computer program having a program code for performing, when running on a computer or microprocessor, a method according to claim 15.
According to another embodiment, in an apparatus for configuring an automatic test equipment, the apparatus is adapted to configure the automatic test equipment to receive an input signal from a device under test and to write an information describing the input signal to a memory; and the apparatus is adapted to configure the automatic test equipment to read the information describing the input signal from the memory and to provide an output signal for the device under test based on the information describing the input signal read from the memory; and the device under test has a built in self test unit, wherein the automatic test equipment is coupled to the device under test to receive a signal provided by the built in self test unit as the input signal and to provide the output signal to the built in self test unit.
According to another embodiment, a method for configuring an automatic test equipment may have the steps of: configuring the automatic test equipment to receive an input signal from a device under test and to write an information describing the input signal to a memory; and configuring the automatic test equipment to read the information describing the input signal from the memory and to provide an output signal for the device under test based on the information describing the input signal read from the memory; wherein the device under test has a built in self test unit, wherein the automatic test equipment is coupled to the device under test to receive a signal provided by the built in self test unit as the input signal and to provide the output signal to the built in self test unit.
Another embodiment may have a computer program for configuring an automatic test equipment, the computer program having a program code for performing, when running on a computer or microprocessor, a method according to claim 18.
According to another embodiment, an automatic test equipment system may have an automatic test equipment according to claim 1 and a device under test, wherein the device under test has a built in self test unit, wherein the automatic test equipment is coupled to the device under test to receive a signal provided by the built in self test unit as the input signal and to provide the output signal to the built in self test unit.
Embodiments of the present invention provide an automatic test equipment that is configured to receive an input signal from a device under test and to write an information describing the input signal to a memory. The automatic test equipment is further configured to read the information describing the input signal from the memory and to provide an output signal for the device under test based on the information describing the input signal read from the memory.
According to the concept of the present invention, a loopback between driver and receiver of the device under test is provided by storing an information describing the input signal to the memory, and by providing an output signal based on the information describing the input signal stored on the memory.
Embodiments of the present invention will be detailed subsequently referring to the appended drawings, in which:
a shows a block diagram of the automatic test equipment shown in
b shows a block diagram of the automatic test equipment shown in
Equal or equivalent elements or elements with equal or equivalent functionality are denoted in the following description by equal or equivalent reference numerals.
In the following description, a plurality of details are set forth to provide a more thorough explanation of embodiments of the present invention. However, it will be apparent to one skilled in the art that embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form rather than in detail in order to avoid obscuring embodiments of the present invention. In addition, features of the different embodiments described hereinafter may be combined with each other, unless specifically noted otherwise.
In embodiments, the automatic test equipment 100 is configured to provide a loopback for the input signal 102 received from the device under test 104 by storing an information describing the input signal 102 to the memory 106 and by providing an output signal 108 for the device under test 104 based on the information describing the input signal 102 stored on the memory 106. In other words, in embodiments, the output signal 108 can be a (delayed) loopback of the input signal 102.
In other words, the approach according to the concept of the present invention is that generic building blocks of the ATE 100 are used in a new way. For example, the memories 42 and 44 shown in
The automatic test equipment 100 can be configured to write the information describing the input signal 102 to the memory 106 such that the information describing the input signal 102 are vectors describing the input signal 102. In embodiments, the data storage format can depend on whether the user chooses to have “electrical idle detection” on or off In the case that the user chooses to have “electrical idle detection” off, only two states of the DUT signal may be captured by the receiver and forwarded to the driver, namely low and high. Therefore, one bit per sample can be enough to capture the DUT state. A “low” state can be represented by 0, a “high” state can be represented by 1. In the case that the user chooses to have “electrical idle detection” on, three states of the DUT signal can be captured, namely low, intermediate and high. Two bits per sample may be used for storing DUT state. A “low” can be represented by 00, a “high” can be represented by “01”, and an “intermediate” can be represented by “10”. In some embodiments, both modes can be mixed.
In embodiments, an input path 110 of the automatic test equipment 100 can be configured to convert the input signal 102 into a digital signal using an adjustable sample frequency and an adjustable threshold level in order to obtain the information describing the input signal 102. An output path 112 of the automatic test equipment 100 can be configured to provide the output signal 108 using an adjustable clock edge and an adjustable signal level based on the information describing the input signal 102 read from the memory 106.
In the following, alternative implementation examples of the automatic test equipment 100 according to the concept of the present invention are described making reference to
a shows a block diagram of the automatic test equipment 100 shown in
b shows a block diagram of the automatic test equipment 100 shown in
Referring to
The automatic test equipment 100 can comprise a measurement unit for measuring a parameter of the input signal 102. For example, the measurement unit can be configured to perform a jitter measurement, DC measurement (DC=Direct Current) and/or a transition test measurement. Referring to the exemplary embodiments shown in
Moreover, the automatic test equipment 100 can further comprise a modification unit for modifying a parameter of the output signal 108. For example, the modification unit can be configured to perform a jitter injection and/or a skew injection. Referring to the exemplary embodiments shown in
Furthermore, the automatic test equipment 100 can further comprise a retiming unit for detecting a timing of the input signal 102 and for retiming the output signal 108. In addition, the retiming unit can be configured to retime the output signal 108 based on the timing of the input signal 102. Alternatively, the retiming of the output signal 108 can be given by the automatic test equipment 100. Referring to the exemplary embodiments shown in
In the following, the functionality of the automatic test equipment 100 is described by means of an exemplary embodiment of an automatic test equipment system comprising the automatic test equipment 100 according to the concept of the present invention and a device under test 104.
Furthermore, as shown in
The automatic test equipment 100 can comprise a first channel 114, a memory 106 and a second channel 116. The first channel can be configured to receive the input signal 102 from the device under test 104 and to write the information describing the input signal 102 to the memory 106. The second channel 116 can be configured to read the information describing the input signal 102 from the memory 106 and to provide the output signal 108 for the device under test 104 based on the information describing the input signal 102 read from the memory 106. As exemplarily shown in
The first channel 114 (receive channel or loopback receive channel) can comprise a measurement unit 124 for measuring a parameter of the input signal 102. As exemplarily shown in
The second channel 116 (drive channel or loopback drive channel) can comprise a modification unit 128 for modifying the output signal 108. As shown in
In other words,
An advantage of the integration of the loop back capability into the ATE 100 pin electronics is that this way a seamless switching between classical ATE mode and loop mode is enabled. ATE mode is aimed to verify the device under test (DUT) 104 by means of stimulus and response and compares this against specifications set (e.g. in pattern content, levels, timing etc.) The loop mode is the counterpart to built-in self test (BIST) 120 capabilities of the DUT 104 design, which are aimed to verify from inside the device that the building blocks can work and function together as a whole. Without integration of a loop mode into the ATE 100 additional relays on the DUT 104 load board 140 may facilitate this, leading to additional costs in load board 140 manufacturing.
Moreover, as shown in
In the case that the test processor 100 is configured to provide single-ended channels 114 and 116, the loopback receiver channel 114 can be configured to write the information describing the input signal 102 to the memory 106, where the loopback driver channel 116 can be configured to read the information describing the input signal 102 from the memory 106.
Moreover, as shown in
In other words,
In the following, the FIFO based memory allocation of the memory 106 shown in
Time 0:
Time 0 . . . latency:
Time latency:
Time latency . . . SharedMemoryBlocksize
Time SharedMemoryBlocksize
Time SharedMemoryBlocksize+latency
In the following, an example programming setup of the FIFO based memory allocation of the example shown in
Pin (a): Input pin
Pin (b): Output pin
Port (porta): contains pin (a)
Port (port_b): contains pin (b)
TIMINGSET 1 “loopback_tim”
PINS a, b, c, d
loopback_period=[period_spec]; defines the sampling period, at which the first channel 114 samples the input signal 102. Also defines the retiming period, at which the second channel 116 drives the output signal 108 to the DUT 104
Subsequently, advantages of the memory based loopback provided by the automatic test equipment 100 according to the concept of the present invention compared to state of the art loopback solutions are described.
An advantage of the memory based loopback is that hardware typically available in ATE systems (receiving, result capturing in memory, generate signals based on patterns in memory, shared memory) can be used independent of the availability of hardware loopback.
A further advantage of the memory based loopback is the flexibility of pin assignment for loopback. For example, it is possible to combine arbitrary pins as loopback that share the same memory 106 or can exchange memory content with a sufficient speed. In addition, the drive and receive channel 114 and 116 may swap direction on any given pair. This is very important to apply to parallel I/O of the device under test 104 (I/O=Input/Output).
Moreover, an advantage of the memory based loopback is the flexibility to use the same pin for drive/receive and loopback. The same pin can be used for digital drive/receive, PRBS generation/detection and as loopback (PBRS=Pseudo Random Bit Sequence). In addition, switching during test is possible.
A further advantage of the memory based loopback are additional hardware possibilities. For example, it is possible to make usage of all hardware possibilities in receive and drive paths 114 and 116 of the ATE channel, i.e. for drive path 114 jitter injection, retiming and equalization, and for the receive path 116 transition test and clock data recovery.
Furthermore, an advantage of the memory based loopback is the possibility of reuse in future products. For example, a loopback mode can be inherited by future products. Moreover, no special hardware support is required. In addition, no additional traces, connections and relays are necessary.
Moreover, an advantage of the memory based loopback is the possibility of an independent timing programming of the drive/receive channels 114 and 116. Independent programming of driver and receiver is also possible for the level programming. In contrast to that, an independent timing of the receive and drive part 114 and 116 of the loopback is not possible in load board based/parameterized loopback.
A further advantage of the memory based loopback is a constant latency. The latency between receiving 114 and driving 116 is a constant number of cycles independent of a tester period.
In embodiments, the drive data can be generated out of the captured data, i.e. the same fast convertible format can be used between memory data for capturing and vectors/signal generation. For example, in embodiments, the captured data can be interpreted directly as vectors without the need of processing. A clever wavetable setup can make this possible. Naturally, other implementation are also possible.
Furthermore, in embodiments with a limited memory size, a wrap-around of memory can be used to use the same memory area several times in order to deal with the limited memory size. For example, in embodiments, a double buffer approach can be used for capture and replay, wrap-around on capture buffer. This allows a continuous execution with only minimal memory requirement, e.g. with 8 k byte of memory used.
Moreover, in embodiments, the latency is the offset between write and read. Thereby, the memory 106 is not read before written, i.e. by latency between result capturing/signal generation and accessing both with the same speed. The latency between drive and receive paths 114 and 116 can be minimized to fit application needs.
Furthermore, in embodiments, the automatic test equipment 100 can switch between loopback mode and drive/receive mode. A criteria to end loopback mode and switch to drive/receive mode can be a predefined value for a number of loopback vectors or an auto-detect end of loopback based on the status of non-loopback pins/ports. In the latter, loopback may run till tasks running in parallel execution on other pins/ports are finished. This involves at least one non-loopback pin/port.
In embodiments, in order to deal with mid level/electrical idle, a dual threshold comparator can be used to detect and capture to memory and loop back mid level/electrical idle states. In this case, three states of the input signal can be captured and stored in two bits per sample.
Embodiments of the present invention provide a cost efficient structural test solution for high-speed interfaces. It enables serving test needs, e.g. for USB3, PCIe Gen. 2 and 3, SATA and other high-speed interfaces seen in many devices targeting consumer applications. Some embodiments of the present invention provide a structural (BIST driven) test approach without the need of having relay circuitry on the device interface board.
In some embodiments, the data from the device under test 104 can be captured in a buffer or memory 106, be processed with an embedded processor and then sent back to the device under test 104. Thereby, a continuous capture and replay without any intermediate processing steps is provided.
Further embodiments of the present invention provide a method for testing a device under test. In a first step, an input signal is received from the device under test and an information describing the input signal is written to a memory. In a second step, the information describing the input signal is read from the memory and an output signal is provided for the device under test based on the information describing the input signal read from the memory.
Further embodiments of the present invention provide an apparatus for configuring an automatic test equipment 100. The apparatus is adapted to configure the automatic test equipment 100 to receive an input signal 102 from a device under test 104 and to write an information describing the input signal 102 to a memory 106. The apparatus is further adapted to configure the automatic test equipment 100 to read the information describing the input signal 102 from the memory 106 and to provide an output signal 108 for the device under test 104 based on the information describing the input signal 102 read from the memory 106.
Further embodiments of the present invention provide a method for configuring an automatic test equipment. In a first step, the automatic test equipment is configured to receive an input signal from a device under test and to write an information describing the input signal to a memory. In a second step, the automatic test equipment is configured to read the information describing the input signal from the memory and to provide an output signal for the device under test based on the information describing the input signal read from the memory.
Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some one or more of the most important method steps may be executed by such an apparatus.
Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.
Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.
Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine readable carrier.
Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.
A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitionary.
A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.
A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.
A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.
In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are advantageously performed by any hardware apparatus.
While this invention has been described in terms of several embodiments, there are alterations, permutations, and equivalents which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations and equivalents as fall within the true spirit and scope of the present invention.
This application is a continuation of copending International Application No. PCT/EP2011/068677, filed Oct. 25, 2011, which is incorporated herein by reference in its entirety. Embodiments of the present invention relate to an automatic test equipment. Some embodiments of the present invention relate to a BIST loopback by memory based capture and replay (BIST=built-in self test).
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2011/068677 | Oct 2011 | US |
Child | 14259043 | US |