Test Sequencing : The Answer is SequenTEST

SequenTEST is an open architecture test sequencer that serves as an add-on to a LabVIEW suite of Virtual Instruments. It offers a single environment for sequencing of all test steps, including conditional branching. The tool allows the user to easily develop and execute a user defined sequence of tests for prototype verification or production test. Hence the tool greatly simplifies the difficult and often cumbersome task of creating a test sequence in LabVIEWâ. It also allows managing of test results and interfacing to databases.  The SequenTEST tool is a system module. The tool supports custom tailoring of test sequences in an intuitive, easy-to-use programming style. Along with its flexibility, this means time and money savings. It features capabilities such as Repeat (a given test to more DUT pins), Loop (a single test) Goto (conditional branch ) Continuous (carry on testing the entire sequence), etc.

LabVIEW is a powerful tool for writing test programs with efficient and flexible features. However, in some test situations this flexibility is less desirable, because a number of sub-tests that have to be implemented to comprise a full test program is almost identical with only minor modifications. The flexibility of a directly LabVIEW based test program can even be undesirable in some situations, if test program validation1 is a requirement. The basic concept of SequenTEST is that test functions are written in LabVIEW as reusable modules. However, the test program itself is written in a formula like format, without any LabVIEW coding. This has several advantages: In many cases test programs can be written without any knowledge of LabVIEW programming at all.

Click on the window for a full-size version
The SequenTEST Editor is actually much more than an editor. It is the heart of SequenTEST from where all normal operations, including configuration and execution of test sequences can be performed as well as of course creating and modifying test programs. Everything is done from an intuitive interface, which can easily be learned, with a look and feel similar to normal Windows programs. Even though it is a LabVIEW application, all normal operations can be performed without doing any LabVIEW programming at all.

Using the test flow editor of SequenTEST, a sequence of tests can easily be developed and subsequently used for production test, prototype verification, or debugging purposes. The tool solves the difficult and cumbersome job that the test system programmer would otherwise face in creating a test sequencer in LabVIEW only environment.

It is fast and easy to change limits, parameters, etc. without modifying source code. Both for debugging and in a production environment, it is very convenient that limits and setup parameters can easily be changed without the need and knowledge of a programming language.

Once a library of standard functions has been implemented (or acquired), test programs can be written very fast and efficiently.

The test functions only have to be validated once.

These advantages are not achieved by loosing out on the flexibility traditional LabVIEW programming provides. It is still possibly to program in traditional LabVIEW data flow programming in addition to using e.g. the SequenTEST tool, hence getting the best of the two worlds.

SequenTEST is not a fixed "closed" system. It is implemented for easy adoption of user requirements and the given setup of the instrumentation. This also implies that some user customization is required for the tools before they can be used.

SequenTEST consists of the following main modules:

  • The SequenTEST Editor used for editing and debugging test programs. Actually many users can solve all their tasks from within the editor.
  • The SequenTEST Factory, which is a more production-oriented tool, can load and execute the programs generated by the editor. This module will in many cases be modified to fit into the existing environment

Sequencing

The main purpose of SequenTEST is, as the name indicates, sequencing of a number of tests. A number of different methods are supported:

  • Conditional and unconditonal branching, depending on the results of a test.
  • 5 levels of prioritised sequencing.
  • Tests only executed once, on errors, etc.
  • An approach for handling multiple diversities. Some products that are going to be tested are characterized by being part of a family of products more or less alike. This can for example be products produced for different markets around the world, one designed for 110V supply and another for 230V. Test programs required for such products are of course very similar and often only a few measurements and setups actually differ, so from an implementation and maintenance point of view, it can be very unpractical to have separate test programs for each diversity, and the convenient solution is to have one program that supports all product types. SequenTEST includes a special facility that provides an easy way to handle diversities
  • Support for multiple DUTs. Multiple DUTs is an approach where several DUTs are tested as one combined unit. Typically this is P.C.B where two or more similar devices are produced at the same time and then later separated. All devices are tested the same way, just how the test resources are routed to the DUT is changed.

 

image10.gif (15827 bytes)

User Types

Three types of users with different types of access rigths are supported.

  • Test Technician
  • Test Maintenance
  • Test Operator

Test Types

In SequenTEST a test is one complete measurement including setup of the conditions, the actually measurement and the validation of the result. Each test can again be divided into a number of steps, where each step is an action that change the test conditions. The steps involved into a test are:

  • A number of setup steps that typical define signals that are applied to the device under test. This could for example be the power supply and other electrical signals that must be applied to the DUT.
  • Routing or switching is the process of defining the physical path for the electrical signals. A matrix or simple relays can for example accomplish this. The setup of switching will also be a step in the test.
  • The measurement and validation is also a step.
  • Depending on the layout and strategy for the program, there can be a shut-down procedure afterwards where the setup steps are carried out in opposite direction.

SequenTEST accept that the measurement result can be returned in several formats:

  • Boolean – is a simple pass/fail indication. This may be used because if the measurement VI or the instrument itself defines if the measurement result is OK or not. For example in the case of testing a RAM device.
  • Simple Parameter – The typical result is a double precision parameter value. It can be the direct result from a measurement or the result of a calculation. In this case SequenTEST will do the validation of the result. In the SequenTEST Editor it is defined what the minimum and maximum value should be for the parameter result to be OK. SequenTEST handles results unit less, although there is support for displaying a unit with the result and scale the displayed value to the required value.
  • Vectors - A more complex result type is the vector. Here the result is an array of X,Y values that defines a curve. SequenTEST does always contain support for display the vector. Note that a test can return a vector even if the result type is boolean. This is used when the measurement function wants to validate the result, but also wants SequenTEST to be able to display the vector for the user.
  • Strings – are standard ASCII strings where the pass/fail condition can be defined using a simple string expression.

 

Example on source code written in LabVIEW.

Optimizing Execution

Speed is an issue in many contexts and SequenTEST has been designed with this in mind. One of the possibilities for improving the execution speed is by using a special initization function. Each test function has an init case that is executed only when the test program is loaded. Here operations can be performed that only need to be done once and an obvious possility is to create macros in the instrument itself so when the test actually runs, it is only necessary to trigger the macro. Another example is the generation of complex multitone signals, this may take a while for the instrument to create the signal, but it is only needed to do this once.

SequenTEST is Flexible

SequenTEST is designed with a flexible architecture that allows it to be used in a number of different contexts and easily be modified to the specific requirements. Built on a central kernel, different interfaces can be added with a minimum of efforts.

SequenTEST is built as a kernel with a number of interfaces fitting various needs. This makes it very easy to customize SequenTEST to the target environment.

In-line Handlers

SequenTEST may be interfaced to automatic handlers or loaders. This is done through a driver and must be adopted to the actually handler.

Statistic Tools

SequenTEST has built-in support for calculation and display of statistical results as mean values, standard deviations and Cp and Cpk. This on-line statistical tool may be used for monitoring the quality of a production or in the lab to check that measured results are valid.

Click on the Window for a full size version.

 

Factory Environment

The Factory Environment is the interface to SequenTEST that fit into the production floor. It may be operated manually or work in an automatic production line, interfacing to PLCs or similar devices.

Click on the Window for a full size version.

 

 

Wafer Stepper Control

A wafer stepper is used for testing ICs at the wafer level. The SequenTEST interface allows the user to define a layout file for the wafer and then automatically step through the wafer and test each of the dies . A number of smart features exist: The interface supports for example wafers with mixed die sizes, this means that for small production quantities, where each wafer actually contains more than one type with varying sizes, SequenTEST can test first one type and then the other. Another feature is late inking. While testing SequenTEST creates a log file containing information about the result of each test as well as an ID for the wafer. Then inking of bad devices can be performed later from the file.

 

Datalogging

SequenTEST may log data to a file that later can be read by a database program, for example HandyBasel or similar tools.

Report generation

If SequenTEST is used for characterization or engineering testing the user in many cases need to create reports containing test results.

Included with SequenTEST is a tool called MxPlot. This is a Windows ActiveX control that may display a graph in a Windows document (e.g. Winword) created from a data file created by SequenTEST. By linking the graph to the data file, it is automatically updated when the measurement is repeated. This makes it fast to create reports that easily can be modified just be running the test program again.


© microLEX Systems A/S 1998. email microlex@microlex.dk , phone: +45 4576 2100, fax: +45 4576 2200.
Dr. Neergaards Vej 5C, DK-2970 Hoersholm, Denmark.