From its inception Roos Instruments designed Cassini to have a more comprehensive interaction between ATE hardware and software. We found the best results by using a state-based approach in our software; it allows the software's commands to operate on the hardware components as state-based objects. It becomes easier to develop test plans and measurement algorithms when the programming interface reflects the changes in hardware states that occur during a test. The following section explains our approach to ATE software and how to use it to build measurements, create test plans, and control the flow of test execution.

Next Section
Software Architecture
Software Architecture
1. Test Object Library

Collection of definitions for fixture configurations, test commands, and measurement functions. Functionality and commands vary based on TIM configuration.

2. Test Plan Builder

Graphic User Interface that represents commands visually as blocks that link together to build test plans and procedures.

3. Synapse™

Test plan optimizer that aligns measurement procedure with the hardware to minimize test times and cost.

4. Test Exec

Executes test plans according to the current configuration. Provides visual feedback to the user and saves all results in Guru.

5. Guru™

Repository for all files, resources, and test data. Serves as the central hub for backup, software distribution, and synchronization.

An ATE system needs a set of compiled instructions to control its targeted hardware. All other ATE systems take a linear approach; they launch a sequence of hardware states in the order that the commands were written. The problem with this method is that it is difficult for the user to know if a given list of commands uses the hardware most efficiently. It may be possible to change the timing of commands to achieve faster test times, but that would mean having to rewrite the entire list.

Cassini's software takes a different approach, using state-based objects instead of just a command prompt. The user creates a sequence for the state-based hardware, and then the system computes the most efficient way to execute those commands. The compiler optimizes the order of operation and combines redundant tasks into one. This helps reduce operating costs and programming time.

What is the state-based approach?

Programming languages are grouped according to their abstraction level. The lowest abstraction level combines binary ones and zeroes into a code can operate simple machines. This is known as machine code. More complex programming languages use syntaxes and expression to group larger chunks of code into more manageable units. This allows the user to work with a simple set of commands which a compiler then translates back into the binary code used by the machine.

The higher the abstraction level, the simpler it becomes for the programmer to create commands for complex tasks. The tradeoff that comes with using these higher-level languages is that the hardware loses efficiency when using the abstracted code.

Roos Instruments' state-based approach offers an easier programming platform without losing efficiency in hardware execution. Each software function corresponds with changes in hardware states. A traditional ATE software changes multiple hardware states in sequence but does not account for the time of keeping a hardware component in a given state while waiting for other hardware states to change. Cassini knows that certain hardware state changes take longer than others and schedules them accordingly. This minimizes the idle time of each hardware component, resulting in a faster test procedure. For example, if instrument A takes 40 nanoseconds (ns) to settle on a new frequency while instrument B takes 80 ns. Cassini would know to start transitioning the 80 ns one first and then begin 40 ns one 4ns later.

Graphical Programming

All ATE systems need a logically organized software environment to simplify the development process. A typical program starts with a set of macros linked to functions from reference libraries. Then the user defines the default values and variables that will be used to change hardware states and collect data. Finally, the program's execution runs the commands in the order they were written. Cassini's software works in a similar same way, but the structure has been improved to incorporate a graphic interface into its programming environment and a unique hardware aware two stage compiling process to improve execution speeds and measurement accuracy.

RI designed the programming interface to parallel the logical flow of the hardware as it moves between states. Commands and functions are represented as a layout of individual blocks. These building blocks, called test objects, represent three different elements of test design:

  • Data: information created or captured
  • Function: the actions that act upon the data
  • Calls: Requests to utilize hardware and software resources.

The user chooses which test objects they want to use, then connects the input and output terminals of each block together to create higher-level algorithms and measurements. The graphic representation gives the user a more intuitive way to design complex operations. The connections between building blocks make it much easier to see the logical flow of a complex operation.

Dynamic Test Objects

Each function block corresponds with one of the hardware functions available in the current TIM configuration. The software assembles a library of function blocks to reflect all operational capabilities the user can access based on the TIMs attached to the system. Building upon the software's intuitive relationship with the hardware, Cassini's test plan software provides three classes of functions to help the user build complex measurements.

  • Elemental Operations: Collection of basic arithmetic operations and matix manipulations
  • Control Commands: Combination of data and algorithmic flow control and contraints
  • Higher-Order Functions: Pre-built, advanced measurement operations: Noise Figure, ACPR, PAR, IP3, EVM, etc.

Context-Aware Functions

Another unique feature of Cassini's graphical programming environment is that blocks are context-aware. When the user begins to connect the input and output terminals of each block, the software can identify the characteristics of each block upstream or downstream in the logic flow. This allows the test builder to identify the continuity of variable type, data conversion, and unit of measurement between the interconnected blocks. This allows the user to focus on a logical development of their measurements knowing that the software will optimize the way the individual blocks work together. "Unit" awareness reduces the most aggrivating and difficult to find bugs found in traditional software.

Control Hierarchy

Cassini's test builder software uses a tiered system of windows to help the user organize complex test plans. The "global" tier defines the default values and control settings for multiple TIMs that will be used unless a specific system or panel states otherwise. The "section" tier allows the user to group related tests and instruments and define settings, variables, and algorithms that will only apply to that section. The "panel" tier defines algorithms, commands, and variables for an individual test.

Test Plan Simulator

Cassini's software platform is built upon an object oriented language (Smalltalk, similar to Objective-C used by Apple) and eComStation operating system (related to OS/2). This more streamlined platform has lower latency and less delay than more familiar operating systems. As a result, the system's small footprint can easily be ported into a virtual environment on the user's operating system of choice. This allows Cassini to simulate the test system on the developer's local computer. The user can verify their setup with an emulated TIM configuration and debug the configuration before running it on the actual hardware. This reduces the need to run trials on the hardware to see how well a test pattern will work.


Graphical Test Plan Development Software Accelerates Development

Simple, reliable test hardware driven by novel system software sets the RI tester apart from the competition. Designed to make fundamental measurements, the system hardware is tailored for speed, reliability and stability. Typical time-wasters such as redundant measurement states, error correction calculations, and instrument processing delays are reduced or eliminated through sophisticated automatic test plan optimization. Complex measurements are synthesized by the system software from the fundamental measurements taken at very high speed, woven together with the data processing to create error corrected data. With little effect on system speed, the measurements are unobtrusively captured and saved by the built-in database. RI's virtual instrument design provides superior performance at lower cost and high reliability.

Graphical Test Plan Creation Tools

Test plan development plays a crucial role in the time-to-market equation. RI software provides the tools that enable engineers to quickly and easily debug tests, revise test programs, document, and analyze test data. Test plan creation is fast and intuitive with a graphical test plan editor. Just cut and paste tests as dictated by your requirements. RI systems allow your test engineers to design in a completely new and highly productive way. Operating in a multitasking graphical environment, test designers use a mouse to manipulate graphical objects (buttons) representing measurement processes, parameters and test results. Buttons are connected graphically and parameter values are set, resulting in a simplified flow chart-like picture of the test. Completed tests are stored in graphic form and are easily recalled and modified to create new tests.

Measurement Expert System

An ATE system needs both the right instruments and streamlined processes in order to deliver consistent results. This is especially true when production testing requires a durable DUT interface, consistency across multiple testers, and fast test times. Cassini integrates 80 collective years of microwave expertise into its workflow. Our expertise translates into accurate measurements, robust hardware, and a simplified user experience.

Optimization Ensures Maximum Performance

RI's test plan compiler and optimizer automatically considers time requirements for system state changes, identifies duplicate measurement states, and restructures the test sequence for highest measurement speed. Execution speed is improved dramatically by compiling and optimizing the test plan instead of simply interpreting it. Rapid test plan development makes device characterization a powerful capability of the RI system. The software allows you to change frequency ranges and add measurement points with simple mouse selections. For example, adding multiple bias points to a gain vs. frequency test requires adding a single DC bias state button. The large volumes of data generated by device characterization are collected, stored and analyzed by RI's built-in database. Debugging features including break points and single stepping that help the user to quickly finish test plans.

Effortless Data Collection

Whether characterizing a part with hundreds of parameters or performing production testing with only a few parameters, capturing and storing measurement data is effortless with the integrated RI database. Test plans automatically store all system state, user and device information as standard data types in an SQL relational database. RI's Advanced Analysis Package allows you to analyze, summarize and view data, or export it to a variety of database and spread sheet formats.

Scalable User Interface

Log-on and security features of the RI software automatically tailor the user interface to fit the various requirements of the current user. System operators can easily select tests and start and stop the tester with a click of the mouse. Technicians can view real-time graphical test results to monitor fixture performance and overall lot/sublot performance. Production test engineers maintain complete control over tests and data. At RI, we recognize the unique requirements of each customer. We are prepared to work with customers to modify the interfaces to match specific production test environments. We also modify our data export formats to support existing data collection systems.

RTalk - ROOS on JVM

ROOS development tools are moving to a more capable environment based on the Java Virtual Machine. "RTalk" provides a Smalltalk compatible emulation layer that implements a dynamic language on the JVM.