Universal Test Specification Language

Last updated
UTSL logo.jpg

Universal Test Specification Language (UTSL) is a programming language used to describe ASIC tests in a format that leads to an automated translation of the test specification into an executable test code. UTSL is platform independent and provided a code generation interface for a specific platform is available, UTSL code can be translated into the programming language of a specific Automatic Test Equipment (ATE).

Contents

History

Increased complexity of ASICs leads to requirements of more complex test programs with longer development times. An automated test program generation could simplify and speed up this process. Teradyne Inc. together with Robert Bosch GmbH agreed to develop a concept and a tool chain for an automated test-program generation. [1] [2] [3] To achieve this a tester independent programming language was required. Hence, UTSL, a programming language that enables detailed description of tests that can be translated into the ATE specific programming language was developed. The ATE manufacturers need to provide a Test Program Generator that uses the UTSL test description as inputs and generates the ATE-specific test code with optimal resource mapping and better practice program code. [4] [5] [6]

As long as the ATE manufacturer provides with the test program generator that can use UTSL as an input the cumbersome task of translating a test program from one platform to another can be significantly simplified. In other words, the task of rewriting of the test programs for a specific platform can be replaced by the automatically generating the code from the UTSL based test specification. Prerequisite for this is that the UTSL description of tests is sufficiently detailed with definition of the test technique as well as the description of all the necessary inputs and outputs. [4] [5] [6]

Being a platform independent programming language, UTSL allows the engineers to read, analyse and modify the tests in the test specification regardless of the ATE at which the testing of the ASIC will be done. UTSL is based on C# and allows procedural programming and is class oriented. The classes contain sub-classes which in term have their sub-classes. [7]

Utsl build in 01.jpg

UTSL contains high amount of commands and test-functions. It also allows the usage of commonly known high level programming language syntax elements such as "if/then/else" , etc. [4]

Utsl syntax.jpg

Design

UTSL is a C# like language where the test are defined as blocks of code. Simple tests such a forcing current and measuring voltage or vice versa can be written in UTSL and with the means of the ATE (Automatic Test Equipment) specific code generator translated into testable code (see the picture1).

UTSL allows the user to set the instruments ranges and clamps in order to guarantee the measurement precision and to prevent the measurements from exceeding the instrument clamp values. The current UTSL capabilities can cover c.a. 70% of the required test specification for ASIC testing. For the remaining 30% one could use the option of writing comments in an informal form as it was done in the past. [4]

UTSL supports language features such as: [8]

Flow control - "if/then/else, select/case" Loops - "for, while, for each" Data types - "int, double, bool, string" Numerical operators - "=, +, -, *, /, %, **, --, &, |, <<, >>" Logical operators - "==, <, >, >=, <=, !=, ^" Arrays - "declare, resize, and [] operator" 

Furthermore, specialized classes for testing were added:

Pin and PinList classes - "for the test board specifics" TestEnvironment class - "wafer level vs final testing" SerialPort and SerialDataFrame classes - "for device serial communications" Evaluate class - "data-logs the results and compares the results to the defined limits" 

UTSL also supports the units and scales wherever floating point numbers are used. This is essential for a language that describes a test program where the values can be returned as "V, mV, uV, A, mA, uA" , etc. [1]

picture1 Force curr meas V.jpg
picture1

Also more complex tests such as serial communications with ASIC that require write and/or read to and from register can be implemented using UTSL. The example below shows a test where a certain trim code is written to a register and based on the trim code the internal regulator steps in voltage which is read back (see the picture2).

picture2 Serial write meas V.jpg
picture2

Additionally, UTSL allows the user to define the state of the instrument i.e. connected to the pin, or disconnected from the pin.

Related Research Articles

Java virtual machine Virtual machine

A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes what is required in a JVM implementation. Having a specification ensures interoperability of Java programs across different implementations so that program authors using the Java Development Kit (JDK) need not worry about idiosyncrasies of the underlying hardware platform.

In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits.

In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.

Electronic test equipment

Electronic test equipment is used to create signals and capture responses from electronic devices under test (DUTs). In this way, the proper operation of the DUT can be proven or faults in the device can be traced. Use of electronic test equipment is essential to any serious work on electronics systems.

Model-driven architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.

JTAG is an industry standard for verifying designs and testing printed circuit boards after manufacture.

In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level.

Teradyne, Inc. is an American automatic test equipment (ATE) designer and manufacturer based in North Reading, Massachusetts. Teradyne's high-profile customers include Samsung, Qualcomm, Intel, Analog Devices, Texas Instruments and IBM.

Automatic test equipment Apparatus used in hardware testing that carries out a series of tests automatically

Automatic test equipment or automated test equipment (ATE) is any apparatus that performs tests on a device, known as the device under test (DUT), equipment under test (EUT) or unit under test (UUT), using automation to quickly perform measurements and evaluate the test results. An ATE can be a simple computer-controlled digital multimeter, or a complicated system containing dozens of complex test instruments capable of automatically testing and diagnosing faults in sophisticated electronic packaged parts or on wafer testing, including system on chips and integrated circuits.

On-board diagnostics

On-board diagnostics (OBD) is an automotive term referring to a vehicle's self-diagnostic and reporting capability. OBD systems give the vehicle owner or repair technician access to the status of the various vehicle sub-systems. The amount of diagnostic information available via OBD has varied widely since its introduction in the early 1980s versions of on-board vehicle computers. Early versions of OBD would simply illuminate a malfunction indicator light or "idiot light" if a problem was detected but would not provide any information as to the nature of the problem. Modern OBD implementations use a standardized digital communications port to provide real-time data in addition to a standardized series of diagnostic trouble codes, or DTCs, which allow a person to rapidly identify and remedy malfunctions within the vehicle.

The VDE e. V. is one of Europe’s largest technical-scientific associations with 36,000 members, including 1,300 corporate and institutional members and 8,000 students.

Credence Systems Corporation was a manufacturer of test equipment for the global semiconductor industry, with a major focus on solving specific challenges facing the fast-growing consumer-driven semiconductor markets. Founded in 1978 by David Mees as Semiconductor Test Solutions, the company changed its name to Credence after acquiring Axiom and ASIX in 1990. The company's initial public offering was completed on October 28, 1993. It was publicly traded on the Nasdaq stock market under the symbol CMOS before the merger with LTX in 2008. It was headquartered in Milpitas, California, and was established in twenty countries.

In-system programming Embedded system programming technique

In-system programming (ISP), also called in-circuit serial programming (ICSP), is the ability of some programmable logic devices, microcontrollers, and other embedded devices to be programmed while installed in a complete system, rather than requiring the chip to be programmed prior to installing it into the system. It allows firmware updates to be delivered to the on-chip memory of microcontrollers and related processors without requiring specialist programming circuitry on the circuit board, and simplifies design work.

Cypress PSoC Type of integrated circuit

PSoC is a family of microcontroller integrated circuits by Cypress Semiconductor. These chips include a CPU core and mixed-signal arrays of configurable integrated analog and digital peripherals.

Executable UML is both a software development method and a highly abstract software language. It was described for the first time in 2002 in the book "Executable UML: A Foundation for Model-Driven Architecture". The language "combines a subset of the UML graphical notation with executable semantics and timing rules." The Executable UML method is the successor to the Shlaer–Mellor method.

Standard Test Data Format (STDF) is a proprietary file format for semiconductor test information originally developed by Teradyne, but it is now a de facto standard widely used throughout the semiconductor industry. It is a commonly used format produced by automatic test equipment (ATE) platforms from companies such as Cohu, Roos Instruments, Teradyne, Advantest, and others.

In-circuit test (ICT) is an example of white box testing where an electrical probe tests a populated printed circuit board (PCB), checking for shorts, opens, resistance, capacitance, and other basic quantities which will show whether the assembly was correctly fabricated. It may be performed with a bed of nails type test fixture and specialist test equipment, or with a fixtureless in-circuit test setup.

XC800 family

The Infineon XC800 family is an 8-bit microcontroller family, first introduced in 2005, with a dual cycle optimized 8051 "E-Warp" core. The XC800 family is divided into two categories, the A-Family for Automotive and the I-Family for Industrial and multi-market applications.

Device driver synthesis and verification

Device drivers are programs which allow software or higher-level computer programs to interact with a hardware device. These software components act as a link between the devices and the operating systems, communicating with each of these systems and executing commands. They provide an abstraction layer for the software above and also mediate the communication between the operating system kernel and the devices below.

IO-Link is a short distance, bi-directional, digital, point-to-point, wired, industrial communications networking standard used for connecting digital sensors and actuators to either a type of industrial fieldbus or a type of industrial Ethernet. Its objective is to provide a technological platform that enables the development and use of sensors and actuators that can produce and consume enriched sets of data that in turn can be used for economically optimizing industrial automated processes and operations.

References

  1. 1 2 A. Drappa, J. Vollmar und P. Huber, “Automatic Test Program Generation for Automotive Devices”, International Test Conference (ITC), Austin, Texas USA, 2010, Paper 17.1.
  2. "Automated test program generation for automotive devices - IEEE Conference Publication". doi:10.1109/TEST.2010.5699253. S2CID   21650481.Cite journal requires |journal= (help)
  3. A. Drappa, P. Huber und J. Vollmar, “Automatic Test Program Generation for Automotive Devices”, 23. GI/GMM/ITG-Workshop Universität Passau, 2011, page 81.
  4. 1 2 3 4 R. Baumann, N. Nebel, “Die automatische Generierung von Testprogrammen im täglichen Einsatz”, 27. GI/GMM/ITG-Workshop, Bad Urach 2015, page 59.
  5. 1 2 R. Baumann und N. Nebel, “Automated Test Program Generation for Automotive Devices”, Teradyne User Group (TUG) Conference, Fort Worth, TX, 2013.
  6. 1 2 R. Baumann und N. Nebel, “Integrating Automated Test Program Generation in Your Daily Workflow Saves Time”, Teradyne User Group (TUG) Conference, Anaheim, California, 2014.
  7. "UTSL Universal Test Specification Language" (PDF). Vde.com. Retrieved 8 June 2018.CS1 maint: discouraged parameter (link)
  8. "UTSL - Universal Test Specification Language". Vde.com. Retrieved 8 June 2018.CS1 maint: discouraged parameter (link)