WO2015077277A1 - Automated test system with edge steering - Google Patents
Automated test system with edge steering Download PDFInfo
- Publication number
- WO2015077277A1 WO2015077277A1 PCT/US2014/066295 US2014066295W WO2015077277A1 WO 2015077277 A1 WO2015077277 A1 WO 2015077277A1 US 2014066295 W US2014066295 W US 2014066295W WO 2015077277 A1 WO2015077277 A1 WO 2015077277A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- timing
- specifications
- edge
- edges
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31922—Timing generation or clock distribution
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/26—Testing of individual semiconductor devices
- G01R31/2601—Apparatus or methods therefor
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31725—Timing aspects, e.g. clock distribution, skew, propagation delay
- G01R31/31726—Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
Definitions
- ATE automated test equipment
- DUT device-under-test
- a tester For many types of tests, operations of a tester are controlled by event signals in each of a number of channels, each of which is connected to a test point, sometimes called a "pin", on the DUT.
- the event signals are generated by a timing generator associated with the channel, and are sent to pin electronics.
- Pin electronics include a driver and a comparator. When applied to a driver, the event signals are sometimes called "edges.” Some edges, when fired, cause the driver to drive a HI output. Other edges, when fired, cause the driver to drive a LO output. By specifying which of these edges fires, and the time at which they fire, within a tester cycle, a digital stimulus signal may be defined.
- event signals coupled to the comparator which are sometimes called “strobes,” control the comparator to test for a HI signal or a LO signal, allowing the output of the DUT to be compared to an expected value.
- strobes control the comparator to test for a HI signal or a LO signal, allowing the output of the DUT to be compared to an expected value.
- the results of these comparisons are used in testing the DUT, such as to determine whether it is properly operating or to control subsequent steps in the test.
- testers may be programmable.
- a test pattern may specify various parameters, such as the signal to apply to each test point on the DUT, the signal expected to be read from the DUT, and the time of the event signals that control the generation or measurement of test signals.
- precision is needed in producing the stimulus signals and controlling the measurement times.
- a tester cycle may last for multiple cycles of a test system clock. Accordingly, timing of event signals within a tester cycle may be determined by counting pulses of the test system clock. However, the test system clock may not provide a desired timing resolution.
- a vernier may delay an event in a signal by a fraction of a period of the tester clock.
- each event signal may be generated in part by a counter that counts a programmed number of cycles of a test system clock after the start of a tester cycle and then produces a signal indicating an event.
- This signal may be provided as an input to a vernier, programmed to introduce a further delay.
- the combination of delay introduced by the counter and the vernier provides a precisely timed event, with a precision greater than a cycle of a test system clock.
- FIG. 1 is a schematic drawing of a tester, in accordance with some embodiments.
- FIG. 2 is a block diagram of a conventional channel circuitry of a tester.
- FIG. 3 is a block diagram of channel circuitry of a tester, in accordance with some embodiments.
- FIG. 4 is a block diagram of edge steering circuitry, in accordance with some embodiments.
- the inventors have recognized and appreciated techniques to reduce the cost and complexity of automated test equipment without decreasing functionality.
- the number of timing verniers in an automated test system may be reduced without reducing user flexibility in programming drive signals output by the test system.
- Such a reduction may be achieved by circuitry that dynamically steers time specifications for edges to verniers that output an indication of when the edges are to occur. Based on the time specifications, the steering circuitry may reduce the total number of edges that are required to control a driver to generate a desired output for one cycle of tester operation.
- tester hardware may be designed with fewer verniers.
- Such tester hardware may be smaller, lower cost, consume less power, and/or dissipate less heat than conventional tester designs offering the same functionality.
- smart edge steering may be performed by a method that may include one or more of: receiving inputs that specify time specifications for edges;
- the serialized time specifications may specify a reduced number of required edges. These time specifications may be combined with drive data at pin electronics to produce one or more edges, which are applied to a driver to cause a test signal to be sent to the DUT at the specified time.
- edge steering within a tester may steer multiple edge specifications to the same vernier to cause it to output multiple edges in the same tester cycle. Such steering may also reduce the number of verniers needed in a channel to control a driver to generate a desired signal.
- the edge steering circuit may, for each tester cycle, distinguish between timing specifications specifying edges in a first portion of the tester cycle and timing specifications specifying edges in a second portion of the tester cycle. The first portion of the timing specifications may be applied to the verniers first. Subsequently, for the same tester cycle, the second portion may be applied to the same verniers.
- an automated test system may be used to test
- a tester operates by generating stimulus signals and measuring responses on each of a number of test points on the DUT.
- the input/output points of the tester are designed to be coupled to test points on the DUT, are sometimes referred to as "pins.”
- This terminology is used generically to refer to a connection point of a DUT, and does not limit the manner in which that connection is made, as connections may be made to a DUT in any suitable way, before or after the DUT is packaged.
- a tester may incorporate a number of instruments, each of which may generate and/or measure test signals of a certain type at one or more pins.
- Each instrument has circuitry to process a signal for one or more pins.
- a tester includes some circuitry that performs operations that impact the test signals generated for all, or combinations of, pins.
- the tester it is frequently necessary that the tester contain circuitry that can independently generate and/or measure a test signal for each of multiple pins in every cycle of DUT operation.
- the circuitry that is dedicated to processing a test signal for one pin is called a "channel.”
- An instrument may contain one or multiple channels.
- a digital instrument designed to generate or measure a digital signal.
- a digital instrument may contain numerous channels, with each having circuitry, called “pin electronics," that generates a digital signal or determines the state of a digital signal.
- the pin electronics may include a driver and a comparator.
- Each of these may be controlled in various ways to support flexibility in configuring a tester to test multiple types of semiconductor devices.
- the driver may be configurable to set the voltage that will be driven when the driver is driving a logical HI signal and driving a logical LO signal.
- the comparator may similarly be configured for the voltage levels that will be recognized as a logical HI or logical LO signal. Accordingly, the voltage levels that correspondence to HI and LO are not critical to the invention.
- a test program, loaded into the tester, may specify for each channel, an operation for each cycle of DUT operation.
- the tester may be programmed to operate with tester cycles that match the cycles of DUT operation.
- Specified operations within each tester cycle may include, for example, drive HI or drive LO.
- the specified operation may include checking for a HI or checking for a LO. In some tester cycles, no operation may be performed for a particular channel, and this possibility may also be reflected in the program.
- the timing of each operation, or actions in completing that operation may be programmed. This
- timing generator within the channel.
- the timing generator outputs timing specifications for event signals that control an operation within the pin electronics, with different event signals controlling different operations.
- the edge generator conventionally comprises circuitry that generates edge signals at the specified times corresponding to all of the timing specifications.
- the shape of the event signals may depend on the
- each event signal will have, at a defined time, a signal transition or other feature of the type to which an element of the pin electronics responds.
- the time of this signal transition may be said to be the time of the event.
- the event signal may control when, relative to the start of that cycle, the value at a pin should be compared to an expected value.
- Such an event signal is sometimes called a "strobe.”
- multiple event signals may be generated to specify the desired output. These event signals may be called "edges.”
- Pin electronics may include edge coupled logic such that the signal transition may be a LO to HI transition or a HI to LO transition. However, it should be appreciated that an "edge" may be represented by a signal of any suitable form.
- one or more edges may be combined in the pin electronics to generate a suitable stimulus signal, which may depend on the formatting required for a specific protocol used by the DUT.
- a "1" may be represented by a transition to a logical HI state at a first time, followed by a transition to a logical LO at a second time.
- two edge signals are required to define the desired output.
- a "1" may be represented by a transition to a logical LO state followed by a transition to a logical HI state, followed by a transition to a logical LO at a second time.
- three edge signals are required to define the desired output.
- each channel of the test system may include edge generator circuitry to generate multiple event signals.
- the edges and strobes output by the edge generator are coupled to control inputs of the pin electronics, with different events controlling different operations, such as drive HI, compare to an expected HI value, etc.
- the timing of these events, within each tester cycle, may be established by timing specifications from a timing generator.
- the timing generator may compute the timing specifications for each event. This computation may be based on a "time set" stored in a time set memory as part of a test program in combination with data defining what operation, during each cycle, the channel is to perform. Each time set may specify a time for each event that could be generated in a tester cycle.
- the memory may contain multiple time sets and, from cycle to cycle, a different time set may be specified in the test program to allow flexibility in controlling the timing of events within the pin electronics.
- each timing specification may be associated with an enable signal to indicate whether, for a particular cycle, the action associated with that edge signal is to occur in order to complete a programmed operation.
- This enable signal may be generated based on the data indicating the operation for the channel in a particular tester cycle and the format in which digital values are represented. For example, in a cycle in which drive data is to be provided, strobe signals may not be enabled.
- the programmed operation is completed by the output signal being in a HI state at a specific time, only one edge signal may be required to trigger the driver to drive HI at the specified time.
- edge signals may be disabled.
- multiple edge signals may be enabled to ensure that the driver is triggered to be in a LO state at the beginning of the cycle, there is a transition to a HI state and then a subsequent transition to a LO state.
- an edge generator may generate multiple edge signals per cycle.
- a conventional test system may generate four edge signals that any of which, when fired, will cause a driver to drive HI.
- An additional four edges, when fired, may cause a driver to drive LO.
- a stimulus signal with a total of eight signal transitions per tester cycle may be
- edges may be used during each cycle. Which edges are generated may be determined by the timing generator, using techniques as are known in the art, based on the specific operation programmed for that cycle and the data specified for that operation. However, because the specific edges used vary from cycle to cycle, conventionally, the edge generator has included circuitry that can generate every edge signal in every cycle. This circuitry may include a counter and a vernier for each edge that could be generated. The counter counts from the start of the tester cycle some number of cycles of a test system clock, to reach a time that is close to, but before, the specified time. At this time, the counter outputs a signal transition, which is then delayed in a vernier.
- the vernier may be an analog circuit that can impart a precise amount of programmable delay that is a fraction of one period of the test system clock. In this way, the combined delay through the counter and the vernier results in a signal with a transition that occurs at the specified time of the edge.
- Timing verniers are complex to integrate into a circuit, and consume power and silicon die area.
- smart edge steering it is possible to reduce the use of timing verniers by using an approach, called smart edge steering, to reduce the number of edges generated by an edge generator, as described below. This reduction may be achieved without reducing the ability of a user to program a number of edges.
- timing specifications for edges in each cycle may be processed to produce for that cycle a reduced number of specifications for edges.
- the reduction may be based on specific signal formatting and specific data programmed for the cycle and may result in edges that, when applied to the pin electronics, generate the same test signal that would have resulted had the number of edges not been reduced.
- a timing generator may output a set of time
- the number m may, in some embodiments, correspond to a number of edges that a programming language supports. Test engineers and other users of the test system may write programs with the expectation that m edges may be programmed and the test system can generate m edges.
- the set of time specifications may be received by an edge steering circuit, which processes the time specifications to potentially coalesce, cancel, or otherwise reduce the number of time specifications for edges.
- the edge steering circuit may then send each of the remaining time specifications to one of n timing verniers, which may be part of the edge generator.
- the number of timing verniers n may correspond to the number of edges for which time specifications are provided by the edge steering circuit, which may be different from the number of edges m for which timing specifications were supplied by the timing generator. In some cases, the number of timing verniers n may be less than the number of edges m specified by the timing generator. In some embodiments, the number of timing verniers n may be half the number of edges m specified by the timing generator. Thus, despite the perception of the user that the test system can generate m edges, the test system may contain verniers to generate fewer than m edges per tester cycle.
- each vernier may be capable of firing more than once per tester cycle.
- timing specifications indicating events during a first portion of a tester cycle may be steered to as many as all of the verniers.
- Timing specifications indicating events during a second portion of a tester cycle again may be steered to as many as all of the verniers, allowing at least twice as many events in one tester cycle as there are verniers.
- timing specifications indicating events during a first portion of a tester cycle may be steered to as many as all of the verniers.
- Timing specifications indicating events during a second portion of a tester cycle again may be steered to as many as all of the verniers, allowing at least twice as many events in one tester cycle as there are verniers.
- in some vernier may be capable of firing more than once per tester cycle.
- redundant edge specifications may be removed by the smart edge steering circuitry, leaving, in each cycle, a smaller number of edge specifications that can be implemented in a tester with a reduced number of verniers.
- FIG. 1 is a schematic drawing of a tester in accordance with some embodiments.
- the tester is shown with a plurality of digital channels, of which channels 116, 118 and 120 are numbered. Each of the channels may be configured to generate or measure a digital test signal that is applied to a test point on DUT.
- FIG. 1 represents a simplified block diagram of a tester. A commercial tester may include more digital channels and may include other instruments, which are not shown for simplicity of illustration.
- Each of the channels 116, 118 and 120 may include pattern generator 102, timing generator 104, edge generator 106, pin electronics 108 (which includes driver 110 and comparator 112), and failure results processor 114.
- Pin electronics 108 may be coupled to a test point of a DUT (not shown).
- Test computer 101 may coordinate all channels in the tester, including channels 116, 118, and 120. Test computer 101 may be programmed to load test programs into pattern generators in each of the channels and otherwise configure programmable circuitry within the tester. Test computer 101 also may initiate operation of those pattern generators and retrieve data captured during execution of a test.
- test computer 101 may provide non-interactive control of the tester, such as in a production environment. In other embodiments, test computer 101 may provide interactive control of the tester, such as in a development environment.
- a test program may be loaded into test computer 101, which may then load a channel- specific subset of the test program into pattern generator 102, as well as pattern generators for each other channel (such as channels 118, 120).
- Other data that specifies execution of the test may also be loaded. This data may include programmed times for edges in each of multiple, values to drive and data that defines the format of by which drive data is represented.
- the operation of the channels may be synchronized by signals from test computer 101, control circuitry within the tester, control signals exchanged between channels or any other suitable technique, including control techniques as are known in the art.
- channel 116 which may be illustrative of other digital channels in the tester.
- pattern generator 102 provides, for each tester cycle, a value indicating an operation to be performed by pin electronics 108.
- Timing generator 104 produces timing specifications for events that will control the pin electronics 108 to perform the desired operation. Accordingly, timing generator 104 generates timing specifications for one or more events according to the pattern specified by pattern generator 102. Both which events are enabled in a tester cycle and the time at which those events occur may be determined based on the pattern and/or other data that may be programmed into the tester, such as a format. In some embodiments, the information defining the operations may be loaded into the tester as multiple separate data sets.
- format data may be loaded into a format memory - or even preprogrammed into the tester.
- Data for each tester cycle may be loaded and stored as a pin data mask, which may be applied to a time set.
- Timing data may be loaded and stored as one or more time sets. Accordingly, in determining timing of events, timing generator 104 may select from one of a number of time sets, stored within timing generator 104 in a time set memory (not shown) based on programming within a pattern, as in a
- the timing generator may then determine, based on an operation specified for the cycle, as well as the data and format associated with that operation, which of those events are enabled in that cycle.
- any suitable approach may be used to specify timing of events that control the pin electronics to perform programmed operations.
- Edge generator 106 may generate one or more event signals with the specified timing.
- the event signals may then be output to pin electronics 108 where the event signals act as high-resolution timing signals that control operation of the pin electronics.
- the event signals may be coupled to specific control inputs of the pin electronics so that each edge signal, when it fires, causes a specific effect on the drive signal generated for the pin, such as drive HI or drive LO at times determined by those edge signals.
- Strobe signals generated by edge generator 106 likewise may control measurements made by comparator 112.
- Pin electronics 108 may respond to the generated edge or edges to drive a test signal on a pin via driver 110, in some embodiments. Likewise, the pin electronics may respond to the strobe or strobes to measure a signal output from the DUT. The results of the comparison may be passed to failure results processor 114. Failure results processor 114 may then take any one or more actions, including recoding the results of the comparison, selectively recording the result when the result is not as expected or generating control signals indicating when a failure has occurred such as by setting a hardware signaling line called a "failure flag.” Pattern generator 102, or any other suitable components within the tester, may respond to the failure flag to perform different operations in response to a failure.
- the number of edge signals capable of being generated is based on the number of verniers provided in the edge generator.
- channel 116 may include smart edge steering circuitry that allows fewer verniers in edge generator 106 than a conventional edge generator implementing the same level of functionality.
- FIG. 2 is a block diagram of a portion of conventional channel circuitry of a tester, showing in greater detail portions of a single channel for sending a signal to a single DUT pin. Accordingly, FIG. 2 illustrates the generation of edge signals, but, in some embodiments, techniques as described herein may be applied to strobes or other control signals.
- timing generator 202 generates time specifications for one or more edges using values stored in time set memory 204.
- Edge generator 206 receives the time specifications from timing generator 202.
- Other signals may indicate whether an edge is to be generated at a specified time during a tester cycle. These signals may act as enable signals, and may be represented in any suitable way, such as drive data, indicating a value to be driven in a channel in a tester cycle.
- the enable signals may be derived from multiple data sets, such as the drive and format data set 214, illustrated in FIG. 2. These enable signals may be applied within edge generator 206 in any suitable way. In some embodiments, enable signals may suppress processing of time
- edge generator 206 specifications at the input of edge generator 206 for edges that are not enabled.
- enable signals may suppress the output of edges or other processing within edge generator 206.
- edge generator 206 may generate a timing control signal with at signal transition at an appropriate time.
- edge generator 206 may include counters 208, and groups of timing verniers 210 and 212.
- Edge generator 206 divides each timing specification into a coarse part and a fine part. In this example, coarse and fine are defined relative to a period of the clock used to control operation of edge generator 206. The coarse part can be counted as a number of cycles of that clock. The fine part specifies a time shorter than the period of that clock.
- circuitry within edge generator 206 loads the coarse part into a counter within counters 208, and the fine part is loaded into a timing vernier of the groups of timing verniers 210 or 212.
- Counters 208 and verniers 210 and 212 may be implemented in any suitable way, including using techniques as are known in the art.
- Counters 208 for example, may be implemented as a collection of counters, with a separate counter for each edge. Alternatively, the same result may be achieved by a ring counter or other suitable structure that can output an indication when any of multiple programmed times is reached.
- Groups of timing verniers 210 and 212 may each comprise four verniers, as a non-limiting example.
- the verniers within each group have the same function. Edges output by any of the verniers within group 210, in this example, define a time when driver 222 transitions to driving a HI output. Verniers within group 212, in this example, define a time when driver 222 transitions to driving a LO output. In the example circuitry in FIG. 2, this result is achieved by combining, in an OR operation, the outputs of the verniers in group 210 within OR circuitry 216. Likewise, the outputs of the verniers in group 212 are combined within OR circuitry 218.
- OR circuitry 216 and OR circuitry 218 are applied to driver 222 through a set/reset flip flop 220. As shown in FIG. 2, the output of OR circuitry 216 is coupled to the set input of set/reset flip flop 220. The output of OR circuitry 218 is coupled to the reset input of set/reset flip flop 220.
- the output of set/reset flip flop 220 will be HI in response to any one of the verniers within group 210 generating an edge signal. Following such an edge signal, the output of set/reset flip flop 220 will stay HI until one of the verniers within group 212 generates an edge signal.
- the output of set/reset flip flop 220 serves as an input to driver 222 such that the output 224 of driver 222 is defined by the order and timing of the firing of edges within groups of verniers 210 and 212.
- output 224 has a rising edge at time T 1; indicating the firing of an edge from a vernier with in group 210 at time T ⁇ .
- Output 224 has a falling edge at time T 2 , indicating the firing of an edge from a vernier within group 212 at time T 2 .
- the edge generator illustrated in FIG. 2 has a total of eight verniers, allowing a complex waveform with up to eight signal transitions in each tester cycle to be specified.
- the ability to specify multiple edges within the tester cycle facilitates programming of a test system.
- the inventors have recognized and appreciated, however, that in any tester cycle, not all edges may be used. Rather, a test program may be written to use different combinations of edges in different tester cycles to specify different waveforms to be output by a driver. While such flexibility is useful for a programmer, implementing a tester that supports this flexibility using conventional designs leads to having more verniers than are necessary in any given cycle.
- a smart edge steering circuit may be used. The smart edge steering circuit may, from tester cycle to tester cycle, direct each timing specification to a vernier.
- n may therefore be less than m.
- the ratio of n and m may be 2n ⁇ m, or n and m may have any other suitable ratio.
- FIG. 3 is a block diagram of the portion of channel circuitry of a tester illustrated in FIG. 2, modified to include smart edge steering circuit 326, in accordance with some embodiments.
- timing generator 202 outputs timing specifications for edges to smart edge steering (SES) circuit 326.
- SES circuit 326 may, using one or more techniques as described herein, reduce the number of timing specifications for which an edge is generated. This reduction may occur dynamically on a tester cycle-by-tester cycle basis.
- edge generator 306 may have less circuitry for generating edges.
- edge generator 306 includes vernier groups 310 and 312, each of which contains only two timing verniers.
- vernier groups 210 and 212 each includes four verniers, such that the number of verniers in edge generator 206 is twice that in edge generator 306.
- counters 308 may include circuitry for processing fewer time specifications than counters 208.
- the outputs of each of the vernier groups 310 and 312 may have the same effect on the operation of driver 222 as the outputs of vernier groups 210 and 212.
- the outputs of the verniers within vernier group 310 are provided as inputs to OR circuitry 316.
- OR circuitry 316 combines the outputs of multiple verniers to produce control signals to control the set input to set/reset flip-flop 220.
- OR circuitry 318 combines the outputs of multiple verniers to control the reset input to set/reset flip-flop 220.
- the net result may be the same, as indicated by the circuitry of FIG. 3 producing the same output 224 as the circuit in FIG. 2.
- SES circuit 326 may include fire ordering circuit 328 and serializing circuit 330.
- fire ordering circuit 328 within SES circuit 326 may order all of the edges programmed to fire within a tester cycle.
- a test engineer may define, as part of a test program, times within a tester cycle when edges are to be fired.
- the programming model may not require the edges to be programmed in any specific order, such that in some tester cycles or some test programs, one programmed edge may have a time that is before another programmed edge, but in other programs or other tester cycles, the reverse may occur for the same two edges.
- fire ordering circuit 328 the order of all the edges is determined based on the timing specifications for the edges in that tester cycle.
- the order may be determined to be "HI HI LO LO LO HI HI HI," where each HI indicates that an edge that causes driver to drive HI has been programmed to fire and LO indicates that an edge that causes driver to drive LO has been programmed to fire.
- eight edges are shown in the fire order sequence. The number eight is chosen for illustration to correspond with the eight verniers illustrated in FIG. 2, representing the number of edges for which a test engineer may have written programs. It should be appreciated that test programs may be written with any suitable number of edges, which may be more or less than eight.
- not all edges may fire in every tester cycle.
- fire order circuit 328 may process only time specifications for edges enabled during the tester cycle. Accordingly, the number of timing specifications for which an ordering is produced in fire order circuit 328 may be different than in the above example and that number may vary from tester cycle-to-tester cycle, depending on the number of edges enabled in each tester cycle.
- Fire order circuit 328 may be implemented in any suitable way.
- comparators, multiplexers and/or other known digital logic components may be combined to order digital values representing timing specifications.
- the ordered values may be stored in a FIFO memory or represented in any other suitable way.
- edge specifications may be removed from the order by SES circuit 326. Any suitable criteria may be used to remove edge specifications from the order. In some embodiments, timing specifications may be removed when generation of an edge at the specified time would not impact the output of driver 222. As a specific example, edge time specifications may be removed if they are redundant. An order in which timing specifications are associated with sequential edges of the same type may contain redundant information, because applying a second drive HI edges to set/reset flip flop 220 immediately following a first drive HI edge does not change the state of set/reset flip flop 220. Accordingly, SES 326 may reduce the set of timing specifications to include a set that fires in ordered HI-LO pairs.
- suppression of edge specifications may be performed on only the specifications for edges to be fired within a single tester cycle.
- the first edge specified for a tester cycle may be redundant if it does not cause a change in the state of driver 222 from the last edge specified for the preceding cycle.
- SES circuit 326 may perform fire suppression from the end of the previous cycle to the beginning of a current cycle.
- Table 1 is shown below.
- 4 HI and 4 LO edges are supported in a programming model.
- the center column of Table 1 shows exemplary sequences containing up to 4 HI edge times and up to 4 LO edge times. These edge sequences may be generated in a single tester cycle.
- the right column shows how these sequences might be reduced to sequences using a reduced number of HI and LO transitions.
- the reduced edge sequence in any tester cycle may depend on the state of the driver at the end of the prior tester cycle. Further reduction in the number of edges may be achieved when redundant edges are identified both based on adjacent edges in the same tester cycle as well as adjacent edges from a prior tester cycle.
- Table 1 includes a left-most column indicating the last edge in a sequence of the prior tester cycle.
- edges are suppressed based on being redundant
- other criteria may be used to eliminate edges, including, for example, that an edge at a programmed time may be ineffective.
- An ineffective edge may come about, for example, in some embodiments, because certain circuits, such as verniers 310 and 312, or set-reset flip-flop 320, may have a settling time that limits how fast the circuitry can respond to a sequence of three or more edges. For example, a sequence of LO, HI, LO is only effective if the circuitry generating a signal in accordance with this sequence has time to respond to the HI edge before the edge commanding a return to a LO state occurs. If not, the HI, and the following LO edge may be omitted without impacting the output. Accordingly, other criteria may be applied by SES circuit 326 to suppress one or more edges.
- the reduced set of timing specifications may be passed on to counters 308 and groups of verniers 310 and 312 to generate edge signals, using techniques as described above for counters 208 and groups 210 and 212.
- This action, or passing on selected ones of the ordered timing specifications for edge generation, may be performed by serializing circuit 330 or any other suitable circuitry. Serializing may be implemented with known digital logic components or in any other suitable way.
- the number of verniers needed in a tester cycle, and thus the number of verniers included in a tester channel, may be further reduced by using the same vernier to generate more than one edge per cycle.
- the time specifications are ordered, it is possible to assign the time specifications to verniers to provide the maximum possible separation between edge firing times for any vernier - or to at least ensure that the specified firing times are separated by at least the refire time of the vernier.
- Such an ordering may be achieved, for example, by assigning specifications to verniers within each group 310 and 312 in a round-robin order. If there are more time
- round-robin assignment may result in one or more verniers within the group being controlled to fire more than once within the tester cycle.
- the round-robin assignment based on the ordering ensures that any time a vernier fires for a second, or subsequent time, within a tester cycle, that vernier fired the longest ago of any of the other verniers within its group.
- the circuitry that assigns the timing specifications to verniers may operate at a higher clock rate than other circuitry within the tester.
- serializing circuit 330 may operate at a higher clock frequency, such as an 800MHz frequency, when the system clock for other components in the tester is 400 MHz. Such a higher clock frequency may facilitate processing multiple edge time specifications per tester cycle.
- serializing circuit 330 may provide edge time specifications to a counter or counters within counters 308 and verniers within groups 310 and 312.
- FIG. 4 is a block diagram of edge steering circuitry, in accordance with some embodiments, which illustrates a reduction in the number of edge specifications.
- smart edge steering circuitry comprises fire ordering circuit 402 and serializing circuit 404.
- Fire ordering circuit 402 has inputs d(n)_fire_hi, d(n)_fire_lo, d(n)_lsb_tim[2 msbs], and d(n)_lsb_tim_lo[2 msbs], where (n) is replaced by an integer from 0 to 3, which are inputs providing timing specifications for edges from a timing generator.
- Four HI and four LO input lines are provided, where the HI lines allow the timing generator to specify a HI edge and the LO lines allow the timing generator to specify a LO edge, thereby allowing a timing generator to specify up to four HI and four LO edges to be fired within a given cycle.
- Fire ordering circuit 402 has four sets of outputs, each set comprising three values, a fire_quad(n)_occ output, a fire_quad(n)_state output, and a
- Each set of outputs from fire ordering circuit 402 provides a time specification, a state, and a selector to serializing circuit 404. These outputs may collectively define an edge and a time, indicating both whether it is a drive HI or a drive LO edge, as well as a time at which it is to occur, and/or whether that edge is enabled for the specific tester cycle. This information may be represented in any suitable way, including by having the entire time specification appear as the output or by using a fewer number of bits to indicate a location or selector setting that may be used to access the data for an edge.
- edges for which information is to be provided may be ordered. For example, the specification for an edge associated with fire_quad(n)_occ may come first when the parameter n has a lower value than for a timing specification for which the parameter n has a higher value.
- Serializing circuit 404 has as inputs the outputs of fire ordering circuit 402. Serializing circuit 404 receives the outputs of fire ordering circuit 402 and one or more signals for generating HI or LO edges to the edge generator in accordance with the specified order. Serializing circuit 404 outputs time specifications on four sets of two outputs. The four sets of two outputs are: fire_hi0/fire_hi0_sel[2:0],
- fire_hi0/fire_hi0_sel[2:0] and fire_hil/fire_hil_sel[2:0], w ich are used to cause the edge generator to generate a HI edge, and which include the time specification and selector received from fire ordering circuit 402.
- Serializing circuit 404 also produces outputs fire_lo0/fire_lo0_sel[2:0] and fire_lol/fire_lol_sel[2:0], which are used to cause the edge generator to generate a LO edge, and also include the time specification and selector received from fire ordering circuit 402.
- an exemplary circuit configuration was provided.
- processing of data specifying edges was stored in specific ways and processing was done in a specific order.
- processing functions may reordered and that different data storage formats may be used.
- a pin mask might be applied in a fire order circuit to determine which edges are generated in a tester cycle.
- the pin mask alone or in combination with other data, may be applied at any circuit stage, including in a serializing circuit to avoid a specification for which no edge is needed being loaded into a vernier or even to gate the output of a vernier to suppress a generated output that is not required.
- HI and LO refer to states of a signal. In some embodiments, these states may correspond to voltage levels, such that a HI state corresponds to a voltage that is higher than the LO state. However, it should be
- HI and LO may refer to logical states that may be represented by any suitable parameter and any suitable value of that parameter. Accordingly, if the HI and LO states both correspond to voltages, in other embodiments, the voltage in the LO state may be higher than in the HI state.
- circuitry is described as responding to edges in a timing signal. It should be appreciated that an edge as described herein is an example of an event, such as a zero crossing or polarity reversal, in a signal that may be used to control the timing of an operation of a circuit component. Circuitry may be constructed to respond to any suitable edge in a signal.
- processors may be implemented as integrated circuits, with one or more processors in an integrated circuit component. Alternately, a processor may be implemented using circuitry in any suitable format.
- a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone, a tablet, or any other suitable portable or fixed electronic device.
- PDA Personal Digital Assistant
- a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, touch screens, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
- Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet.
- networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
- the invention may be embodied as a computer readable storage medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs (CD), optical discs, digital video disks (DVD), magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above.
- a computer readable storage medium may retain information for a sufficient time to provide computer-executable instructions in a non-transitory form.
- Such a computer readable storage medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above.
- the term "computer-readable storage medium” encompasses only a computer-readable medium that can be considered to be a manufacture (i.e., article of manufacture) or a machine.
- the invention may be embodied as a computer readable medium other than a computer-readable storage medium, such as a propagating signal.
- program or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
- Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- functionality of the program modules may be combined or distributed as desired in various embodiments.
- data structures may be stored in computer-readable media in any suitable form.
- data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that conveys relationship between the fields.
- any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
- the invention may be embodied as a method, of which an example has been provided.
- the acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
- circuits and modules depicted and described may be reordered in any order, and signals may be provided to enable reordering accordingly.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Tests Of Electronic Circuits (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016526818A JP6594309B2 (en) | 2013-11-19 | 2014-11-19 | Channel circuit and automatic test system |
| KR1020167014038A KR102220744B1 (en) | 2013-11-19 | 2014-11-19 | Automated test system with edge steering |
| CN201480063240.4A CN105874341B (en) | 2013-11-19 | 2014-11-19 | Automatization test system with edge guiding |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/083,985 US9279857B2 (en) | 2013-11-19 | 2013-11-19 | Automated test system with edge steering |
| US14/083,985 | 2013-11-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015077277A1 true WO2015077277A1 (en) | 2015-05-28 |
Family
ID=53172676
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2014/066295 Ceased WO2015077277A1 (en) | 2013-11-19 | 2014-11-19 | Automated test system with edge steering |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9279857B2 (en) |
| JP (1) | JP6594309B2 (en) |
| KR (1) | KR102220744B1 (en) |
| CN (1) | CN105874341B (en) |
| WO (1) | WO2015077277A1 (en) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10145893B2 (en) | 2016-12-25 | 2018-12-04 | Nuvoton Technology Corporation | Resolving automated test equipment (ATE) timing constraint violations |
| US10241146B2 (en) * | 2017-05-01 | 2019-03-26 | Advantest Corporation | Test system and method |
| US10276229B2 (en) * | 2017-08-23 | 2019-04-30 | Teradyne, Inc. | Adjusting signal timing |
| US12041713B2 (en) | 2017-08-23 | 2024-07-16 | Teradyne, Inc. | Reducing timing skew in a circuit path |
| US11169203B1 (en) | 2018-09-26 | 2021-11-09 | Teradyne, Inc. | Determining a configuration of a test system |
| US11461222B2 (en) | 2020-04-16 | 2022-10-04 | Teradyne, Inc. | Determining the complexity of a test program |
| CN111693847B (en) * | 2020-05-18 | 2022-08-12 | 大唐微电子技术有限公司 | Chip testing method and device |
| US11500016B2 (en) * | 2020-12-07 | 2022-11-15 | Taiwan Semiconductor Manufacturing Company Ltd. | Circuit screening system and circuit screening method |
| KR102690235B1 (en) | 2021-11-29 | 2024-08-05 | 주식회사 와이씨 | Semiconductor test apparatus inlcuding timing generator |
| KR102844282B1 (en) | 2022-07-04 | 2025-08-08 | 주식회사 와이씨 | Semiconductor test apparatus with improved edge output structure of timing generator |
| US12461141B2 (en) | 2023-03-21 | 2025-11-04 | Teradyne, Inc. | Identifying failures in device cores |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020108079A1 (en) * | 2001-02-02 | 2002-08-08 | Koji Takahashi | Test pattern conversion apparatus and conversion method |
| US20030028832A1 (en) * | 2001-05-02 | 2003-02-06 | Teradyne, Inc. | Driver for integrated circuit chip tester |
| US20030126530A1 (en) * | 2001-12-31 | 2003-07-03 | Doug Larson | Time shift circuit for functional and AC parametric test |
| US6609077B1 (en) * | 2000-05-31 | 2003-08-19 | Teradyne, Inc. | ATE timing measurement unit and method |
| US20070124638A1 (en) * | 2005-10-27 | 2007-05-31 | Advantest Corporation | Test apparatus and test method |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4734637A (en) | 1986-04-16 | 1988-03-29 | Teradyne, Inc. | Apparatus for measuring the length of an electrical line |
| US5274796A (en) | 1987-02-09 | 1993-12-28 | Teradyne, Inc. | Timing generator with edge generators, utilizing programmable delays, providing synchronized timing signals at non-integer multiples of a clock signal |
| USRE36063E (en) | 1987-02-09 | 1999-01-26 | Teradyne, Inc. | Timing generator with edge generators, utilizing programmable delays, providing synchronized timing signals at non-integer multiples of a clock signal |
| JP2846356B2 (en) * | 1989-08-21 | 1999-01-13 | 株式会社アドバンテスト | IC test equipment |
| US5212443A (en) | 1990-09-05 | 1993-05-18 | Schlumberger Technologies, Inc. | Event sequencer for automatic test equipment |
| US6469493B1 (en) | 1995-08-01 | 2002-10-22 | Teradyne, Inc. | Low cost CMOS tester with edge rate compensation |
| JPH1144739A (en) * | 1997-07-29 | 1999-02-16 | Ando Electric Co Ltd | Ic test device |
| US6073259A (en) | 1997-08-05 | 2000-06-06 | Teradyne, Inc. | Low cost CMOS tester with high channel density |
| US5854797A (en) | 1997-08-05 | 1998-12-29 | Teradyne, Inc. | Tester with fast refire recovery time |
| US6553529B1 (en) | 1999-07-23 | 2003-04-22 | Teradyne, Inc. | Low cost timing system for highly accurate multi-modal semiconductor testing |
| WO2002075343A1 (en) | 2001-03-19 | 2002-09-26 | Teradyne, Inc. | Ate calibration method and corresponding test equipment |
| WO2002075335A2 (en) | 2001-03-19 | 2002-09-26 | Nptest, Inc. | Test system formatters |
| CN1384366A (en) * | 2001-04-29 | 2002-12-11 | 株式会社鼎新 | Flexible modular semiconductor test system |
| US6631340B2 (en) * | 2001-10-15 | 2003-10-07 | Advantest Corp. | Application specific event based semiconductor memory test system |
| JP2003156543A (en) * | 2001-11-20 | 2003-05-30 | Advantest Corp | Semiconductor-testing apparatus |
| KR101237878B1 (en) | 2005-09-23 | 2013-02-27 | 테라다인 인코퍼레이티드 | Strobe technique for recovering a clock in a digital signal |
| US7574632B2 (en) | 2005-09-23 | 2009-08-11 | Teradyne, Inc. | Strobe technique for time stamping a digital signal |
| US7856578B2 (en) | 2005-09-23 | 2010-12-21 | Teradyne, Inc. | Strobe technique for test of digital signal timing |
| US7573957B2 (en) | 2005-09-23 | 2009-08-11 | Teradyne, Inc. | Strobe technique for recovering a clock in a digital signal |
| US7480581B2 (en) | 2006-06-27 | 2009-01-20 | Teradyne, Inc. | Calibrating a testing device |
| US20080238516A1 (en) | 2007-03-30 | 2008-10-02 | Teradyne, Inc. | Timing interpolator with improved linearity |
| EP2227726A4 (en) | 2007-12-31 | 2012-12-05 | Teradyne Inc | Timing signal generator providing synchronized timing signals at non-integer clock multiples adjustable by more than one period |
| US7987063B2 (en) * | 2008-04-22 | 2011-07-26 | Teradyne, Inc. | Fast, low power formatter for automatic test system |
| US7973584B2 (en) * | 2008-09-04 | 2011-07-05 | Advantest Corporation | Waveform generator |
| US8988081B2 (en) | 2011-11-01 | 2015-03-24 | Teradyne, Inc. | Determining propagation delay |
-
2013
- 2013-11-19 US US14/083,985 patent/US9279857B2/en active Active
-
2014
- 2014-11-19 JP JP2016526818A patent/JP6594309B2/en active Active
- 2014-11-19 CN CN201480063240.4A patent/CN105874341B/en active Active
- 2014-11-19 KR KR1020167014038A patent/KR102220744B1/en active Active
- 2014-11-19 WO PCT/US2014/066295 patent/WO2015077277A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6609077B1 (en) * | 2000-05-31 | 2003-08-19 | Teradyne, Inc. | ATE timing measurement unit and method |
| US20020108079A1 (en) * | 2001-02-02 | 2002-08-08 | Koji Takahashi | Test pattern conversion apparatus and conversion method |
| US20030028832A1 (en) * | 2001-05-02 | 2003-02-06 | Teradyne, Inc. | Driver for integrated circuit chip tester |
| US20030126530A1 (en) * | 2001-12-31 | 2003-07-03 | Doug Larson | Time shift circuit for functional and AC parametric test |
| US20070124638A1 (en) * | 2005-10-27 | 2007-05-31 | Advantest Corporation | Test apparatus and test method |
Also Published As
| Publication number | Publication date |
|---|---|
| CN105874341A (en) | 2016-08-17 |
| US20150137838A1 (en) | 2015-05-21 |
| CN105874341B (en) | 2019-07-12 |
| KR20160087817A (en) | 2016-07-22 |
| JP6594309B2 (en) | 2019-10-23 |
| KR102220744B1 (en) | 2021-02-26 |
| JP2016538538A (en) | 2016-12-08 |
| US9279857B2 (en) | 2016-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9279857B2 (en) | Automated test system with edge steering | |
| EP3629038A1 (en) | Limited pin test interface with analog test bus overview | |
| KR100506773B1 (en) | Multiple end of test signal for event based test system | |
| US9488674B2 (en) | Testing device and a circuit arrangement | |
| US8290725B2 (en) | Synchronized reconfiguration of measurement modules | |
| KR20010098552A (en) | Glitch detection for semiconductor test system | |
| CN104321655A (en) | Integrated circuits capable of generating test mode control signals for scan tests | |
| US6219289B1 (en) | Data writing apparatus, data writing method, and tester | |
| EP0228332A2 (en) | Automatic test system having a "true tester-per-pin" architecture | |
| US20080052584A1 (en) | Test apparatus and test method | |
| US20250199069A1 (en) | Architecture for testing multiple scan chains | |
| EP2772861A1 (en) | Semiconductor test device and semiconductor test method | |
| US7366967B2 (en) | Methods of testing semiconductor memory devices in a variable CAS latency environment and related semiconductor test devices | |
| US6668331B1 (en) | Apparatus and method for successively generating an event to establish a total delay time that is greater than can be expressed by specified data bits in an event memory | |
| JP2020128977A (en) | Device and method for automatically testing electronic device | |
| CN103176120A (en) | Signal simulation device, signal recording and simulation test method | |
| US10180661B2 (en) | Frequency division circuit, method of controlling frequency division circuit, and analog electronic timepiece | |
| JP3210236B2 (en) | Pattern generator for IC test equipment | |
| JP4090431B2 (en) | Scan vector support in event-based test systems | |
| JPH07169299A (en) | Address data generator | |
| CN119580814A (en) | DDR4 function test system and method | |
| JP5119255B2 (en) | Test apparatus, test method, and manufacturing method | |
| JP2010085230A (en) | Analog/digital hybrid integrated circuit device | |
| JP2002174670A (en) | Testing device for semiconductor | |
| JPH04265872A (en) | Timing generation circuit of ic tester |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14864160 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2016526818 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 20167014038 Country of ref document: KR Kind code of ref document: A |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14864160 Country of ref document: EP Kind code of ref document: A1 |
