0% found this document useful (0 votes)
46 views

Student Manual Week 1

Uploaded by

Peter Chang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Student Manual Week 1

Uploaded by

Peter Chang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 680

Mixed Signal Programming

Student Manual

Applications Engineering Training


Book 1 of 2 PN 553-405-85 MRP Rev 002

October 2003
Limited Reproduction Rights for
Teradyne Customers
This document may be reproduced by a Teradyne customer under the Software Product Support Agreement
solely for internal use by the customer’s employees whose responsibility include Teradyne equipment. Any copy
of this document, or portions thereof, must contain copyright and propriety rights notice as stated on the original.

Copyright 2003 Teradyne Inc.


Printed in the U.S.A.
Teradyne Inc.
321 Harrison Avenue
Boston, MA 02118

The material contained in this document is subject to change without prior notice. Teradyne, Inc. assumes no
responsibility for the completeness or accuracy of this document. This document contains trade secrets and
confidential information, and is furnished pursuant to a license from Teradyne, Inc. Use or reproduction of this
document is restricted under the terms of the license.

RESTRICTED RIGHTS

Use, duplication or disclosure by the Government is subject to restrictions as set forth in paragraph (c) (1) (ii) of
the Rights in Technical Data and Computer Software clauses at 252.227-7013.

ACKNOWLEDGEMENTS

FLEX,Catalyst, and Tiger Training Documentation contains references to SUN, UNIX, Sparc and Ultra
workstations, SUN O.S. and Solaris Openwin and CDE environments. It also contains references to Windows
NT and Windows 2000.

2
PN 553-405-85 MRP Rev 002
Printing History

Document Name Part Number Version Description Date

FLEX Student Class Manual 553-405-85 2003.6.20 Initial Release June 2003

FLEX Student Lab Guide 553-405-90 2003.6.20 Initial Release June 2003

FLEX Student Class Manual 553-405-85 2003.9.15 Second Release Oct 2003

FLEX Student Lab Guide 553-405-90 2003.9.15 Second Release Oct 2003

3
PN 553-405-85 MRP Rev 002
Course Revision History

Date +++ Session +++ Revision+++


Oct. 00 Workshop 000
Jan. 02 Workshop 001
Feb. 02 Alpha Seminar 000
Apr. 02 Alpha Seminar 001
Jun. 02 Beta Class 000
Aug. 02 Beta Class 001
Oct. 02 Customer Beta Class 002
Dec. 02 In-House Beta Class 003
Jan. 03 Customer Beta Class 003
Feb. 03 In-House Beta Class 004
Mar. 03 In-House Beta Class 005
April 03 In-House Customer 006
June 03 Customer Class 007
Sept 03 Customer Class 008
4
PN 553-405-85 MRP Rev 002
Course Objectives
Upon completion of the course the student should be able to:
¾ Understand the system architecture and test head configuration in order to
define proper instrument channel(s) to device pin(s) mapping.
¾ Understand the program development and procedure development
environments in order to create IG-XL programs.
¾ Identify and describe the purpose/functionality of the FLEX instruments in
order to successfully create, load, run, and debug a digital, linear and
mixed signal device test program.
¾ Utilize the Tool Sets available in order to build test coherency.
¾ Use Debug Display tools in order to debug test programs during run time
and characterize devices.

5
PN 553-405-85 MRP Rev 002
Outline
Day 1
I. Software Overview III. System Architecture
a. IGXL Overview a. System Overview
b. Installation and Help b. Instrument Capabilities
Lab (Installation/Help) c. Test Head Configuration
d. DIB Slot Configuration
Lab (System Walk Around Demo)

II. Test Program Development IV. Device Pin Configuration


a. Test Program Overview ( Demo) a. Understanding Signal Flow
b. Datatool b. Pinmap
c. Workbooks c. Device Pin Names
d. Templates d. Pin Types/Groups
e. Validation d. Export/Import
Lab (Data Tool) e. Channel Map
Lab (Pin Map / Channel Map)
Lab (Validation)

6
PN 553-405-85 MRP Rev 002
Outline
Day 2
I. Spec Sheets III. Test Debug Environment
a. Global Spec Sheet a. Overview
b. Device Specifications b. Menus
c. DC & AC Spec Sheets c. Tools
Lab (Spec Sheets) d. Debug Displays
e. Levels Creation
Lab (Pin Levels Sheet)
IV. DC Instruments
II. Test Sequence and Flow a. DC Features
a. Test Instance Sheet b. DC30 Hardware Overview
b. Instance Editor c. Power Supply Test Template
c. Flow Table d. Debug Display
d. Home Sheet e. DC75 Overview
e. Job List Sheet Lab (Power Supply Test)
f. Datalogging Lab (Test Debug Environment)
g. Run Options and Debug

7
PN 553-405-85 MRP Rev 002
Outline
Day 3
I. HSD Instruments III. Pattern Files
a. Digital Features a. Understanding Pattern Files
b. Major Components b. Compiler/reverse compiler
c. Functional block diagram c. Pattern Creation
d. Per Pin Measurement Unit d. Pattern Sets and groups
e. Parametric Test Template e. Microcodes
Lab ( PPMU Tests) Lab ( Pattern Creation)

II. Digital Timing


a. Timing Diagrams
b. Modes of Operation
c. Edgesets and Tsets
d. Timing Worksheets
Lab (Timing Sheets)

8
PN 553-405-85 MRP Rev 002
Outline
Day 4
I. Pattern Tool III. Procedure Development
a. Using PT a. Procedure Worksheet
b. Editing Features b. Test Element Editor
c. Viewing Features c. Variables Table
d. Debug Features d. Creating the Instance Editor
e. HRam and Actual Mode e. Test Instance Sheet
f. Export and Import
II. Functional Testing Lab (Procedure Development)
a. Functional Test Template
b. Instance Editor
c. Pattern File
Lab ( Functional Test)

9
PN 553-405-85 MRP Rev 002
Outline
Day 5
I. DCVI Test Elements
a. DCVI Test Elements
b. Test Element Editors
c. DCVI Setup
d. Source/Capture Waveforms
e. New Mixed Signal User model
Lab (DCVI Test Procedures)

10
PN 553-405-85 MRP Rev 002
Outline
Day 6
I. DC Time Instrument III.VBT Test Elements
a. Hardware Overview a. Test Element Editor
b. User and System Interface b. Writing VBT Functions
c. Types of Measurements c. DCVI Functions
d. Test Elements and Procedure d. Using psets in VBT
Development e. Pattern Programming
e. Debug Display f. Debugging Functions
f. Asynchronous Triggers Lab (VBT Functions)
Lab (Rise Time Test, Frequency)

II.Visual Basic for Test


a. Applications Project Explorer
b. VBT
c. Hardware
d. Executive
e. Object Browser
f. Templates
g. Interpose functions
Lab (VBT Interpose Function)

11
PN 553-405-85 MRP Rev 002
Outline
Day 7
I. Mixed Signal Testing III. Introduction to DSP
a. Mixed Signal Overview a. Sampling Theory
b. Characteristics of a Mixed signal b. DFT Fundamentals
user model c. Basics of Signal Analysis
d. Signal to Noise and Total Harmonic
c. Workbook structure
Distortion
Demo (Mixed Signal Overview)
IV. Mixed Signal Workshop
II. Wavelab a. Mixed Signal Timing
a. Wave Definition Worksheet b. Source Detail
b. WaveDesigner c. Capture Detail
d. Solving Coherency
c. Wave Display Lab (Mixed signal Workshop)
Lab (Wave Designer)

12
PN 553-405-85 MRP Rev 002
Outline
Day 8
I. IG-XL DSP Theory III. BBAC
a. Hardware Overview
a. Source & Capture Overview
b. PDE and DSP Procedures
c. DSP Language b. Building a Workbook
d. Characteristics of VBT for DSP c. BBAC Test Elements
e. Validation, Execution and d. Test Element Parameters
Debugging e. Visual Basic for Test
f. DSP Functions f. Debug Displays
Lab (DSP Algorithms) Lab (Analog loopback)
g. BBAC Opcodes
h. BBAC PSets
II Digital Signal Source/Capture Lab (Pattern control)
a. Hardware Overview Lab (Psets)
b. Source Instrument
c. Capture Instrument
d. Pattern Commands
e. VBT for DSSC
Lab (Loopback Test)

13
PN 553-405-85 MRP Rev 002
Outline
Day 9

I. Converter Testing II. VHFAC


a. DAC Testing a. Overview
b. ADC Testing b. Waveform segments
Lab (Mixed signal device) c. VHFAC Test Elements
d. Test Element Parameters
e. Visual Basic for Test
f. Debug Display
Lab (Analog Loopback)

14
PN 553-405-85 MRP Rev 002
Outline
Day 10
I. Characterization III. Utility Bits & Use Power Supplies
a. Overview a. Support Board
b. Characterization Mode b. Utility Bits
c. Characterization Setup c. Utility Bit Programming
d. Running Characterization d. User Power
Lab (Characterization) e. User Power Programming

II. DIB Access


a. Purpose
b. Connections
c. Feature
d. Instruments
e. Syntax
f. Usage
Lab (DIB Access and Shared Resources)

15
PN 553-405-85 MRP Rev 002
Outline
APPENDIX
I. Scan Testing
a. Flex Scan Architecture
b. Scan Programming Overview
c. Scan Optimization
d. Scan Pattern Programming
e. Debug and Setup Displays

16
PN 553-405-85 MRP Rev 002
IG-XL Architecture

An Overview

Rev0343
- confidential -
Objective
• The goal of this session is to explain the
different parts of IG-XL software that are
used to develop a device test program.

Module 1- 2
- confidential -
What is a Test Program in IG-XL?
An organized collection of Device-Oriented
Data which is used by test methods to create
tests in a flow.
Or … DUT Data + Test Methods = IG-XL

Module 1- 3
- confidential -
Overview
• An IG-XL test program is an Excel workbook
• It consists of a number of worksheets for entering
data (XL is Microsoft Excel)
• Teradyne defines IG as Data Tool software
• Data Tool is an integrated graphics tool that is used
to build a test program
• IG-XL uses test templates to program the hardware
instruments
• Visual Basic for Test is the programming language
that is used to build the test templates

Module 1- 4
- confidential -
Excel Based Tools

IG-XL Data Tool


• Test Templates Test Debug
Templates Environment
• Test Procedures (TDE)
– Test elements
• VBT
Visual Basic
• Debug Environment Test
for Test
(VBT)
Procedures

Test
Elements Instrument Drivers

Module 1- 5
- confidential -
Data tool and VBA
Data Tool is part of Visual Basic for Applications is part
Excel Based Tools of the Excel workbook environment.
(IG-XL Data Tool) Data Tool is the software that is used
Test to build projects within the VBA
Templates Debug environment.
Environment A Test program is a VBA project.

Test Visual Basic


Visual Basic for Applications
Procedures for Test

Module 1- 6
- confidential -
Test Templates
Excel Based Tools
(IG-XL Data Tool) Test Templates are a
Test library of predefined test
Templates Debug techniques:
Environment – Written in Visual Basic within
Excel
Test Visual Basic – Very powerful and easy to use
Procedures for Test source level debugger
– Code changes can be made
without recompiling or
Test Template
reloading
– Custom Excel dialog boxes
used to view/edit instance
specific arguments to the
templates

Module 1- 7
- confidential -
Test Procedures
Excel Based Tools Test Procedures are user
(IG-XL Data Tool)
Test created tests:
Templates Debug – Written using the Procedure
Environment Development Environment
Test
– Created to support device
Visual Basic specific tests
Procedures for Test
– User designed tests using
Test Procedure generic test elements for
repeatability.

Test
Elements

Module 1- 8
- confidential -
Test Elements vs. VBT Code
Test Elements are pieces of VBT code wrapped in a graphical U.I.

With TheHdw.DCVI.pins(Arg_PowerPins)
.VoltageRange.Autorange = True
.Voltage = 7.5
.CurrentRange.Autorange = True
.Current = Arg_CurrentDCVI
.Bandwidth = 50000
.ComplianceRange = 15
End With

Equivalent VBT code


• Simplifies and speeds
programming
• Limits possibilities for errors
• Supports Incremental
programming
DCVI Setup Test Element
Module 1- 9
- confidential -
Visual Basic for Test
Excel Based Tools
(IG-XL Data Tool) Visual Basic for Test is:
Test – Part of Visual Basic for
Templates Debug Applications
Environment – Written using Command
Test line code
Visual Basic
Procedures for Test – User designed tests using
functions and procedures
Visual Basic for Test

Module 1- 10
- confidential -
VBT Development Environment

• Full featured, customizable


development and debug
environment
• VBT integrated in Visual Basic
• Access instruments and exec
objects
• Program-to-Program compatibility

Module 1- 11
- confidential -
IG-XL Functional Test Tools

Tools for Functional Test (Pattern Tools)


• Pattern Compiler ASCII
Files
• Pattern Reverse
Compiler
• Pattern Tool Pattern Pattern Reverse
Compiler Compiler
– Pattern Editor
– Pattern Debugger
Binary
Files
• Tools run outside of
Data Tool with the
exception of Pattern
Pattern Tool
Debug Tool (Editor/Debug Tool)

Module 1- 12
- confidential -
Debug Environment
Excel Based Tools
(IG-XL Data Tool) Debug Environment is:
Test – Used as an
Templates Debug Editor/Debugger of test
Environment programs
Test – capable of monitoring and
Visual Basic
Procedures changing hardware setups
for Test
– Used as the main Debug
Test Debug Environment Tool in IG-XL

Module 1- 13
- confidential -
Module 1- 14
- confidential -
IG-XL Installation
Installing Software

Rev0343
- confidential -
Application Requirements

Required
– Windows 2000, service pack 2
– Office 2000
– Excel 2000

Recommended
– Installation of the Visual Basic for Applications help
files (These are not installed in the default installation)
– Visual Basic (optional)
• Visual Basic 6.0, Professional Edition
• Service Pack 5

Module 2 - 2
- confidential -
System Computer Requirements
„

Off-line PC Test System PC


– 1.2 GHz Pentium or better – Must be Teradyne certified
recommended
– Dual-processor 1.6 GHz
– 512 recommended – 512 MB minimum
– 250 MB free disk space – 500 MB free disk space
(assumes Excel already (allows room for Datalog, etc.)
installed)
– CDROM (CD-RW
– CDROM recommended)
– Windows 2000, service – Windows 2000, service pack
pack 2 2
– Tester Default
• 2- 1.6Ghz processors
• 2 G memory
- Please Check IG-XL Release Notes for the latest requirements -

Module 2 - 3
- confidential -
IG-XL Software Installation
Simple: Uses PC software industry standards

Install the software from the CD:


– Insert the IG-XL Installation CD into the CD-ROM drive.
– Open the IG-XL directory and run the Setup.exe file by
double clicking on it.
Note: In all cases, use the default installation options by
clicking the Next button in response to all of the
installation questions.
– The Software is installed in C:\Program Files\Teradyne\IG-
XL directory.
– Reboot the computer.
– Log in.

Module 2 - 4
- confidential -
IG-XL Software Installation

Starting IG-XL
– Select Start | Programs | Teradyne IG-XL | New Test Program
OR
– Select Start | Programs | Teradyne IG-XL | Open Existing Test
Program

Module 2 - 5
- confidential -
IG-XL License File

Note
• When IG-XL is installed for the
first time a license is required.
• The name of the file is
license.dat and is typically placed
in Program Files\Teradyne\
IG-XL\ Tester directory.

Module 2 - 6
- confidential -
Flex License Manager Tool

1. Click on Browse to
1
locate a
license.dat file.
2. Select file type
license files (*.dat)
from the drop-
down menu.
3. Click on the
license file.
3 4. Click Open.
C:\Program Files\Teradyne\
2 4 IG-XL\3.90.xx\tester\license.dat

Module 2 - 7
- confidential -
License.dat File
VENDOR TERADITD

FEATURE IG-XL_DataTool TERADITD 99.99 permanent uncounted \


55E29D04D73A HOSTID=DISK_SERIAL_NUM=5c2dfe99 ck=114
FEATURE IG-XL_BitmapView TERADITD 99.99 permanent uncounted \
194A4A2B5FBA HOSTID=DISK_SERIAL_NUM=5c2dfe99 ck=124
FEATURE IG-XL_RedAnalysis TERADITD 99.99 permanent uncounted
\
42E0B54F0CEC HOSTID=DISK_SERIAL_NUM=5c2dfe99 ck=146
FEATURE IG-XL_TesterServiceDaemon TERADITD 99.99 permanent
uncounted \
4339EF93A247 HOSTID=DISK_SERIAL_NUM=5c2dfe99 ck=93
FEATURE IG-XL_WaferView TERADITD 99.99 permanent uncounted \
237934F9B457 HOSTID=DISK_SERIAL_NUM=5c2dfe99 ck=89

Module 2 - 8
- confidential -
IG-XL Program Menu

Select Programs | Teradyne IG-XL | About IG-XL

Module 2 - 9
- confidential -
About IG-XL

About IG-XL contains


information on:
1 1. Version of IG_XL

2 2. Version of Windows NT

3. Verifying IG-XL
installation, click Verify
3 Installation.

Module 2 - 10
- confidential -
Switching IGXL Versions

Module 2 - 11
- confidential -
Steps for IG-XL Switching
¾ By default, the path is Start | Programs | Teradyne IG-XL.

¾ In the Teradyne program menu, choose Switch IG-XL Version. The version
selector will appear in the Program Menu regardless of the version selected.

¾ The IG-XL Version Selector dialog box appears with the currently installed
version displayed. The text box includes a list of all other currently installed IG-
XL versions.

¾ Highlight the desired IG-XL version. (If only one version of IG-XL is installed,
the Select New Version button will not be active).

¾ Ensure the check box for Copy files from \tester directory is selected, if you
wish to copy calibration data files to the new IG-XL version.

¾ Click on the Select New Version button.

¾ In the Confirm Version Change dialog box (Version Numbers to be switched are
identified), click OK. After registering files to the selected version the version
selector dialog box displays the new currently installed version.

¾ Click the Close button to exit the Version Selector.

Module 2 - 12
- confidential -
IG-XL Help

Rev0343
- confidential -
IG-XL On-line Help

On-line help is found in several areas:

– In the Start\Programs\Teradyne IG-XL Menu


– Add-in to the Excel help menu
– As context-sensitive help for each sheet and column
– Help buttons on many dialog boxes

Module 2 - 14
- confidential -
On-Line Help

Select Programs | Teradyne IG-XL | IG-XL Help

Module 2 - 15
- confidential -
IG-XL Solutions: Using Contents

1. Select Contents
1 tab
4
2 2. Click on a book
3. Select a topic
from the
expanded lists.
3 4. Use the general
information
window to
navigate
Solutions.

Module 2 - 16
- confidential -
IG-XL Solutions: Index & Search
1. Select Index tab 1. Select Search tab
2. Type in a key word 2. Type in a key word
3. Select a topic 3. List Topics
4. Select Display 4. Select a topic
5. Select Display

Module 2 - 17
- confidential -
Excel On-line Help
To find a topic in
2
the on-line help:
3
1. Select the
worksheet you
want help with
2. Select a Help
1 and select the
DataTool Help
OR
3. Select the ?

Module 2 - 18
- confidential -
Lab Exercise

IG-XL Help Lab

Rev0343
- confidential -
IG-XL Software

Switching IG-XL versions


– Select Start|Programs|IG-XL|Version Selector
– Select version to switch to from from list
– Click Apply
Uninstalling IG-XL Software
– Select Add/Remove programs in the Windows Control Panel
– Choose IG-XL
– Click Remove

Module 2 - 20
- confidential -
Test Program Development

Rev0343
- confidential -
Objectives

The goal of this session is to introduce


you to the different pieces of an IG-XL
test program, how a new workbook is
created and how to add, delete and
import/export worksheets.

Module 3 - 2
- confidential -
How to Program in IG-XL
Three Basic Methods of Creating a Test:
• Templates (Highest Level)
– Parametric Tests
– Functional Tests
• Procedures
– Custom tests using test elements
• Visual Basic for Test (Lowest Level)
– Code level control of hardware and functions

Module 3 - 3
- confidential -
IG-XL Test Programming Model
Template
Increasing
Ease of Use

Test Templates Reusable

Procedure Test Procedures Reusable

Test Procedures User Defined

Elements Test Elements Graphics


Visual Basic for Test Language
Increasing
VBT Functions Code Flexibility
Increasing
VBT Complexity
HW Driver

Module 3 - 4
- confidential -
Test Program Workbook–Starting Program

Select Programs | Teradyne IG-XL | New Test Program

Module 3 - 5
- confidential -
New Program Loading (Default)

• Test programs are created in customized


Microsoft Excel (IG-XL Data Tool).
• Each worksheet in the workbook is a
piece of the test program.
• Test program code (if any) is Visual
Default worksheets,
Basic for Test (VBT) and is included in
Additional worksheets
can be added to the the workbook.
workbook • The workbook can be stored as a .xls file
or in ASCII files.

Module 3 - 6
- confidential -
Test Program Data Sheets
IG-XL lends itself to bottom-up programming.
A complete test plan consists of the following data
sheets:
• Pin map • Mixed Signal
• Channel Map Coherency
• Test Procedures
• AC/DC Specs
• Test Instance
• Pin Levels
• Flow Table
• Time Sets
• Home Sheet
• Patterns • Job List

Module 3 - 7
- confidential -
Test Program Workbook
Mixed
Test
Signal
Procedure
Pinmap Timing

Level
Level
Sheet
Sheet

Device DIB
Spec Chanmap
Sheets Edge Set Test
Sheet Instance Flow Table DUT
Sheet
Specs sheets
Global, AC & Timing
DC Set Sheet

Test
Instance VBT

Pattern
Job Home Files
List Sheet
Sheet

Module 3 - 8
- confidential -
Creating a New Test Program
• Open up a New Test Program
– Start > Programs > IG-XL > New Test Program (Excel Workbook)
• Determine basic data from device spec sheets
– Fill in Pinmap using pin names from device
– Insert Channel Map sheet and add pin and channel data
– Insert Spec sheets and provide AC/DC Specs
– Insert Levels and Timing sheets, and add levels and timing information
– Insert Wave definitions and coherency values for mixed signal testing
– Create a Pattern file for functional and mixed signal testing
• Create Test Instances (worksheet)
– Add tests using Test Template, Test Procedure, VBT functions
• Provide test parameters (Limits, values, etc.)
• Provide supporting parameters (Pin levels, Pattern and timing
information, etc.)
• Set up Test Flow (worksheet)
– Add tests from Instance worksheet
• Order in which Test Instances are called
• Setup Branching, Gating, Binning, etc.
Module 3 - 9
- confidential -
Pin Map & Channel Map Sheets
• The Pinmap defines the DUT’s pins and pin
Pin Map Sheet
types.
• Pin groups can be defined to make
programming more convenient.
• The Channel map defines tester resource to
DUT pin mapping.

Channel Map Sheet


Module 3 - 10
- confidential -
Test Data Sheets

• Spec sheet support the definition of


multiple conditions and combinations.
• Equations and spec’s can be used for
parameter definition.

Module 3 - 11
- confidential -
Test Setups
• The Level and Timing sheets define
test setups.

Module 3 - 12
- confidential -
Wave Definitions &
Coherency
• Wave definitions are used to • Coherency values are created
generate different waveforms using Mixed Signal Timing or can
using tester instruments be programmed manually

Module 3 - 13
- confidential -
Pattern Creation
• ASCII versions of the pattern data • Converted pattern data files will
can be created and then be used for functional and mixed
converted to binary files signal tests

Module 3 - 14
- confidential -
Test Instances
• Test Instances define tests based on:
• Teradyne pre-defined Test Templates OR
• Custom Test Templates (created through Test
Procedures) OR
• Code (VBT, C++, etc.)
• Test Instances bind test data to test
algorithms.

Module 3 - 15
- confidential -
Test Instance Editor
• The Test Instance Editor defines the
parameters for a specific instance of a test.
• The interface guides the user through the
test definition process.
• Test arguments can be changed directly on
sheet for quick updates.
• Standard VB Forms make customization
easy.

Module 3 - 16
- confidential -
Test Flow
• Test Flow defines the order of tests,
binning, and conditions under which tests
are run or skipped.
• Test Flow supports very complex flows
including branching differently for each site
in multi-site testing.

Module 3 - 17
- confidential -
Saving a Workbook

1
2

1. To save an entire workbook; Select Save from the File menu.


2. To save an entire workbook under a new name; Select Save As from the
File menu.

Note: All files are saved with a *.xls extension.

Module 3 - 18
- confidential -
Inserting & Naming Worksheets

1 1. Add a new worksheet


by clicking Worksheet
from the Insert menu

2. Worksheets can be
given any name, but it
2 is recommended to
keep them short to
minimize tab width.

3 3. Tab Names can be


changed by right-
clicking the tab and
select Rename.

Module 3 - 19
- confidential -
Inserting Worksheets

• Sheets can be added from an IG-XL drop-down list.


• Non IG-XL sheets can be added to a workbook as
Excel worksheets.

Module 3 - 20
- confidential -
Deleting Worksheets

Select Worksheet to delete,


Remove worksheets from a workbook by clicking Delete
Sheet from the Edit menu.
Module 3 - 21
- confidential -
Importing/Exporting Worksheets

1
2

1. Worksheets can be imported or exported as ASCII Text Files by selecting


Import Worksheets or Export Worksheets from the File menu.
Note: An entire Workbook can be imported from ASCII source files.
2. Import will search for available text files. Navigate to different folders to locate
text files available.
Module 3 - 22
- confidential -
IG-XL Toolbar
• The IG-XL toolbar is added when DataTool is Run.
• Tool buttons are provided for common functions such as:
– Start and Stop Data Tool
– Home Sheet - Return to Home sheet
– Formula/Value - toggle between formula and value
– Validate Job - check for validation errors
– Report Potential Hazards
– Run, Run Options - Run program and setup run options
– Output Window, Data Collect Setup & Enable/Disable - send test results to output
displays
– Pattern Tool, Pattern Compiler
– PDE
– TDE
– Calibrate TDR
– Debug Displays (Debug Run, Debug Stop, Toggle Breakpoint, Step, Step over) - Used
to debug a test program
– Hide Sheets
– Import/Export Test Procedures
– Run DUT Characterization
– Data Tool Help - Help is available

Module 3 - 23
- confidential -
Data Tool & Run Buttons

Run Datalog
Home Setup
Options
Sheet

Formula Enable/Disable
Start Run
Data Datalog
Tool
Output
Stop Validate Window
Data Job
Tool

Module 3 - 24
- confidential -
Debug Run Buttons

Debug Step
Run
Step
Toggle Over Data
Breakpoint Tool
Help

Debug
Stop

Module 3 - 25
- confidential -
Module 3 - 26
- confidential -
Validation

Rev0343
- confidential -
Three Phases of Validation

• Syntax
• Linking
• Run Time

Module 3 - 28
- confidential -
3 Phases of Validation: Syntax
• Cell Validation: Cell by cell verification for each
column on each sheet on entry
• Excel errors
• Aborts validation if there is no Pin Map
• Sheet validation: No duplicate names on certain
sheets
• With no Job List sheet, you can only have one
Pin Map, one Test Instance and one Flow Table

Example: Cannot have two Pin Map sheets for 1 job

Module 3 - 29
- confidential -
3 Phases of Validation: Linking
• Inter-sheet validation for active job: Checks that
sheets and pins being called actually exist.
Example: Pin Map and Chan Map. Test Instance with Specs sheets

• Verifies minimum sheets required: Pin Map, Channel


Map, Test Instance, and Flow Table Sheet.
• Checks for valid data between Global and Test-
specific Specs sheets
– Example: Levels sheet data is available on spec sheets

Module 3 - 30
- confidential -
3 Phases of Validation: Run Time
• Validates the S/W with the H/W instrument
drivers
• Verifies *.pat files exist and identifies any
mismatches of pattern data with the sheet data.
• Verifies correct formats, and validates tester
resources, etc.
• Verifies test program with instrument drivers for
valid settings (tester capabilities).

Important! An IG-XL Test Program will not run until


it successfully validates.

Module 3 - 31
- confidential -
If Validation Errors Occur

3
2
1

1. Errors sheet tab is always located at the right-most column of the


spreadsheet tabs when present.
2. Validation errors are documented by sheet type on an Errors
sheet. Hypertext links (jump to error) can validate one job while
another has errors. Clicking on the link will take you to the error
sheet.
3. Error information:
– Sheet Name
– Hypertext link
– Description Text

Module 3 - 32
- confidential -
Flow Chart of Program
Press Start Data Tool Button

Changes Flow Table


since last No
Test Instance
validation Selection
Yes
Validate Flow
(Syntax Check) Test Table No
Pass
Instance Complete?
Load Specs
Fail
Load Levels Yes
& Timing Stop

Load
Module 3 - 33
Patterns
- confidential -
Module 3 - 34
- confidential -
Appendix

Rev0343
- confidential -
Worksheet Rules
Control of sheet formatting is required for data
validation and import and export sheet data.
– All worksheets can be imported/exported in ASCII format
– New sheets are created in a fixed format
– Users must not change column positions within the data area.
– Columns may be inserted to the right of the data area
– Blank rows may be inserted outside the data area
– User may also add their own variables or commentary outside
of the data area. One blank row or column must be inserted
between the data area and the user inserted data or comment.

Module 3 - 36
- confidential -
Data Entry
There are several types of commonly
performed data entries:
– Data names must be typed in by the user, such as pin or
worksheet names.
– Values can be entered in terms of formulas or equations for
timing or voltage levels.
– Some inputs are entered using drop-down lists that Teradyne
provides. Clicking on a cell that has a limited set of legal
values will produce a drop-down box from which a selection
can be made.

Module 3 - 37
- confidential -
Data Names
• Character Set
– Names for pins, groups, parameters: USASCII
alphabetic characters of upper or lower case, digits,
and underscore. First character must be a letter not a
digit or underscore.
– Names can be arbitrarily long, it is recommended they
be kept to 12 characters or less.
– Embedded spaces are not allowed.
– Comments:Text in the comment column can use any
character set.

Module 3 - 38
- confidential -
Data Names
• Scope
– Symbol names used on any sheet in a workbook
(such as pin names and parameter names) are usable
through the entire workbook. You can not create a
symbol that is sheet specific.
• Reserve Names
– ps, ns, us, ms, s, pA, nA, uA, mA, A, nV, uV, mV, V.
– Default units: secs: S, amps: A, volts: V.
Note: These names do not begin with underscore, and are
not otherwise reserved by Excel. They are macros created
by Teradyne.

Module 3 - 39
- confidential -
Data Names
• Generated Names
– Based on the variable names defined by the user:
– Teradyne creates Excel variables of the same name,
but preceded by an underscore (ex: _tpd).
– References to those variables, for example in
equations, must use the underscore version of the
symbol name.
– The use of underscores allows the test program to
contain symbols that are otherwise reserved for use
by Excel such as cell names (e.g. “T13”).

Module 3 - 40
- confidential -
Data Names
• Case Sensitivity--Excel is “not” case sensitive
but consistency is enforced.
– For example: “cs” and “Cs” are treated as the same name.
– Named cells (variables) retain their defined case. Any reference
to a name is converted to the form used at the time of definition.
– If “cs” is a pin defined on the Pin Map sheet, and you type in
“CS” on the Channel Map sheet, Excel automatically converts
the “CS” to “cs.”
– If you redefine ”cs” as “Cs” on the Pin Map sheet, the Channel
Map sheet reference is automatically updated to “Cs”.
– (The conversion to a consistent style may not occur
immediately, but will take place by the next job load or restart.)

Module 3 - 41
- confidential -
Cell Formulas
• Use of Equations
– Test values can and should be derived through equations from a small set of
spec sheet values. The user can enter either a pure numeric value or an
equation based on previously defined variables or cell values.
– Excel normally shows the results of a calculation in each cell.The equation
behind the value is shown in an editing area when the cell is selected with
the mouse.
– Pressing the IG-XL toolbar formula button toggles the column displays
between displaying the formulas and the result values. Cells can be edited in
either display mode.
– Formulas (equations) are entered directly into a cell by typing an equal sign
followed by the formula. For example, =2*6/5 is a formula.
– =2*C24 is a formula that includes a reference to the value of the cell in
column C, row 24 on that sheet.

Module 3 - 42
- confidential -
Cell Formulas
• Engineering Units
– Numbers to be displayed in engineering notation, e.g. 50. E-
09 can be defined using scaling values that define the
meaning of ns, to be 1E-09 for example.
– You enter units by using a numeric formula. The general
format is: =value*unit
– Where unit is one of the following predefined scaling values:
• ps, ns, us, ms, s, pA, nA, uA, mA, A, nV, uV, mV, V
• Examples: =20*mA , =0.6*ns
– Engineering units can also be used in a formula containing
variables. For example, this formula adds 2 nanoseconds to
the current value of “tpd”: =_tpd+2*ns

Module 3 - 43
- confidential -
Module 3 - 44
- confidential -
System Architecture
System Overview

Rev0343
- confidential -
Goals

• The objective of this section is to cover the FLEX


hardware architecture, instrument capability and
instrument to DIB connections in order to locate
instruments in the FLEX, and be able to connect
instrument channels to device pins.

Module 4 - 2
- confidential -
Design Goals

• Universal configuration
• Ultra-high density
instruments
• Short signal path
• Full parallel SOC test
• DUT limited test time
• Air cooling

Module 4 - 3
- confidential -
System Features
• 24 Universal slots • High-density/single-
– 50 Mbyte/s bus per slot board instrumentation
– Instrument-initiated – Patgen on every board
Move via the Move Bus – Universal channel/DIB
Access
– Pipelined capture/
– Waveform-capable DC
move/processing
– Parallel DC metering and
– Control of Instruments multiple DC Time
with Pattern file instruments
– 6 DSSC engines per
digital board

• IG-XL Programming
– User-friendly interface
– Complete SOC
programming suite
Module 4 - 4
- confidential -
System Overview
SMC System Node &
Exhaust Air Computer Option
Space
Fan Tray
DC Power Supplies
(optional)
Central Frequency
Reference
Testhead Air Hose (100MHz)

Option (IEEE Inst.)


Integrated HP3458 Space
Manipulator
(Reid Ashman)
48V DC Output

Blower
PDU
EM
AC Outlets
Testhead O
Circuit
breakers

Exhaust Air
(optional) Side Air Air Intake
Exhaust

Module 4 - 5
- confidential -
Test Head
Device Interface Instrumentation
Board (20” x 16”) Interconnect
• Multi-site ready • 152 (72 Coax) Pogo
• 200 sq. in of pins per slot
applications space • 6 Blind RF
connectors possible
per slot
Standard Docking • Direct or Indirect
Channel Card to
Interfaces
DUT connection
• K-Dock
• Intest
• Native Dock 24 Universal
Instrument Slots
(Configuration Flexibility)

Module 4 - 6
- confidential -
Device Interface Board
24 Universal Instrument Slots
+ 2 Support Board Slots

1 26

152 pogo pin


8 33
connectors
DIB
7 20

20 45

13 14

4 Distributed Support
Board Signal Connectors
to the DIB
Module 4 - 7
- confidential -
DIB Docking &
Manipulation Control

Docking Control
Buttons

DIB Manipulation
Buttons

Manipulator Control
Buttons for:
raising and lowering
the Test System

Module 4 - 8
- confidential -
Top View of Test Head

152 pogo pin


connectors

Module 4 - 9
- confidential -
Instrument Architecture
152 Pogo (72 Coax)

Backplane

PPMU behind every PPMU


Test Head Configuration
PPMU PPMU

channel on HSD & BBAC


PPMU
PPMU
PPMU
PPMU
PPMU • 24 Universal Slots
• BBAC
DIB Access PPMU
• DC-30
PPMU
PPMU
Time
Stamper
• DC-75
• DC-90
DC Time Instruments TCIO
TCIO
• VHFAC
on DCVIs only Instrument
Move
Move • Microwave
Bus
Bus
Master
Master
Channels • 48 digital channels
50Mbyte/sec Instr. per (HSD 200)
Pat
Pat
Initiated Move Bus Gen
Gen • DSSC (Digital Signal
(optional) Clk
Clk Source and Capture)
• MTO (Memory Test
Pattern Generator Option)
Local Clock • SCAN
DC-DC Converters

Module 4 - 10
- confidential -
Distributed Instrument Control
Sync-Bus distributed
from support board
to/from each slot Local Control of
Instrument Parameters
from Pattern Generator
Tester
Computer Sync bus
Parameter
Pat
TCIO Set memory
Gen
TCIO (Test Computer bus Pat Parameter
Input/Output) 50MHz Serial Gen Set memory DUT
bus is distributed from the Pat Parameter
Gen Set memory
computer to the Support
boards and then to each slot Pat Parameter
Gen Set memory

UCode

Pattern Generators on Clk


Clk
every board RefClk
allows for Asynchronous Instrument
logical pattern
Channels Concurrent Testing:
generation. Multiple Timing Domains
Test different parts of Dut
Local Digital
Synthesized at different clock rates
Clock
Module 4 - 11
- confidential -
DSP on FLEX
t2 0
50 Mbyte Move Bus Slo
from each slot to the
l ot7
DSP engines on the S P e s
DS gin
E n
Support Boards.
Instrument Initiated P e s
DS gin
moves (IIM) allow each E n

instrument to send
capture data to DSP for
Analysis automatically.
Support Boards

Module 4 - 12
- confidential -
DIB Access
AC and DC Connect instruments
capability behind together via the DIB
a DUT pin Connect multiple
instrument resources to
device(s) pin(s)
AC inst. DC inst. • Requires use of
PPMU

S F
TCAL

additional pogo pins on


each DIB connector
– 1 DIB access per 4 HSD
channels
– 1 DIB access per BBAC
main access main access channel line
– 1 DIB access per 2 DCVI
channels
DIB Access TP
DUT DIB

Module 4 - 13
- confidential -
Instrumentation: DCVI

• DCVI Board
– DC30; 20 Channels full VI +/- 30V +/- 200mA
– DC75; 4 Channels full VI +/- 75V +/-2A
– DC90; 4 Channels full VI +/- 90V +/-2A

• Shared Instruments on Board


– 1 Pattern Generator – trigger source
– 2 Differential Meters
– 2 Time Measurement Instruments
– 10 DIB Access Points for DC30, 8 for DC75, 16 for DC90

Module 4 - 14
- confidential -
Instrumentation: Digital
Digital (HSD 200)
• Full Parallel
– 48 Channels Single-ended
Digital Shared Instruments on Board
• 24 Channels Differential – 1 Pattern Generator
• 6 Digital Signal Sources – 1 50 Mbytes/sec Data Bus

• 6 Digital Signal Capture – 12 DIB Access

• 1 Memory Test Option


• 1-16 Scan Chains
• 48 Parallel Edge Find

Module 4 - 15
- confidential -
Digital Signal Source & Capture
• Six 16 bit Engines per Board
– 16 x 16Mb Source/Capture

Alternate Data Bus


Source//Capture

memory
– Can be combined to form “virtual
Memory

instruments”
• Required for:
Digital Signal
Source/Capture – sourcing complex algorithmic
digital waveform data to
embedded DAC’s and for
LVM capturing complex digital data
(Large
Vector Memory) from Embedded Analog-Digital
Up to 64 Mb
Move Converters
Bus Format Digital
SVM
Timing Channel • Re-configurable “On-the-Fly”
(Subroutine Vector
Memory) 1K – From one pattern to another

To DSP

Module 4 - 16
- confidential -
Instrumentation BBAC

Full Parallel Instruments Share


• 2 Sources • 1 Pattern Generator
• 2 Digitizers • 1-100 Mbytes/sec on
• 10 PPMU board Data Bus
• 10 DIB Access

Module 4 - 17
- confidential -
Broadband AC (BBAC)
Local control and storage of
Local Pattern Psets instrument parameter sets
Generator for Pat Parameter
Instrument Gen Sets Mem
initiation
UCode 2 high precision AWGs
PPMU
2 high precision digitizers
1MS Mem SRC 1 DIB Access per Channel
line
High BW DataPort

PPMU
4MS Mem 1 PPMU per Channel line
DIG
Dual Port Capture Memory
4 Independent PPMU
Clock Sources 1MS Mem
SRC l
Up to 15MHz bandwidth
50MByte/sec PPMU
Move Bus to Single-ended or differential
4MS Mem DIG
DSP
Full mixed signal ucode
and event control

Module 4 - 18
- confidential -
Configuration

Standard Configuration Configurable to:


Digital Pins 192 1,056 (22 slots)
DCVI - low power 20 480
DCVI - med. power 4 96
Slots
instruments 24 24
support 2 2
DSP 2 8 - 4 DSPs per support board
LVM (in meg) 64 64
Data rate (in mbps) 50 25, 50, or 200
Available options DC-30, DC-75, or DC-90, Pool DC-30, DC-75, or DC-90, Pool
Universal Slots AC, MTO, RF, Pico Clock AC, MTO, RF, Pico Clock
Manipulator Integrated manipulator Integrated manipulator

Module 4 - 19
- confidential -
Appendix

Rev0343
- confidential -
Test Head Buttons

Module 4 - 21
- confidential -
System Power Control
& Sync Panel

Module 4 - 22
- confidential -
Side Panel Connections

Module 4 - 23
- confidential -
Unassembled View

Module 4 - 24
- confidential -
Support Board

Module 4 - 25
- confidential -
Module 4 - 26
- confidential -
Understanding Signal Flow

Hardware Overview

Rev0343
- confidential -
Objective
• Provide an understanding of how an
instrument’s channel card signal pins are
mapped to device interface board (DIB) slot
pogo pads
• This understanding is useful for:
– Test engineers when developing test programs
– DIB designers when laying out DIBs

Module 5 - 2
- confidential -
Tester and DIB Slots
Channel Card to DIB
Block Cable Assembly DIB Blocks

Slot 1 DIB Slot 26


J1 J26
Test Head Slots

Test Head Slots


J8 J33
Slot 7 Slot 20

J20 J45

J25 J50
Slot 13 Slot 14

Slots 7 and 20 are Integra FLEX Support Boards

Module 5 - 3
- confidential -
Tester Slot & DIB Slot Configuration

J1 J26

DC30#1

HSD#1 J8 J33

J10
J11
Support Support

J20 J45 HSD#3

HSD#2

HSD#1 DC30#2
J25 J50

BBAC #1

Module 5 - 4
- confidential -
Channel Card Signal Path
DUT side
DIB

DIB
Stiffener

Test Head side


Pogo
Housing
Signals from the
Cables Channel Card are
Channel delivered through the
Card board
launch cables into the Pogo
Channel
connector
Card Housing pins which
contacts the DIB pin
block pogo pads.

Module 5 - 5
- confidential -
DIB Interface Cable

Module 5 - 6
- confidential -
Software Process Overview
1. Determines board P/N in each
tester slot by reading board
EEPROM.
2. Reads the testerConfig.txt for DIB
slot mapping
3. Current hardware and DIB slot
Configuration mapping is saved in
Services Currentconfig.txt
4. A. Queries the ATE Registry for the
default “Cable P/N”.txt P/N
associated with each Channel Card
and searches for the “Cable P/N”.txt
file in <install dir>\bin
5. Reads the “Cable P/N”.txt file and
completes mapping and saves the
information to the
CurrentChannelMap.txt
Module 5 - 7
- confidential -
Configuration Files
Locations:
• SimulatedConfig.txt or TesterConfig.txt (input files)
– Location: (1) <install dir>\tester
(2) <install dir>\bin
• currentconfig.txt (output file)
– Location: <install dir>\tester
• DIBSlotConfig.txt (input file) Not longer used
– Location: (1) <install dir>\tester
(2) <install dir>\bin
• “Cable P/N”.txt (input file)
– Location: <install dir>\bin (for default cable files)
<install dir>\tester (for custom cable files)
• CurrentChannelMap.txt (output file)
– Location: <install dir>\tester

Module 5 - 8
- confidential -
Software checks these files
creates

1 creates 2 reads 4
CurrentConfig.txt TesterConfig.txt CurrentChannelMap.txt
CurrentConfig.txt TesterConfig.txt CurrentChannelMap.txt
Determines instrument Determines instrument Determines signal path at DIB slot
Determines instrument Determines instrument Determines signal path at DIB slot
locations in Test Head slots. slot # to DIB slot #. #, column letter, and pin #.
locations in Test Head slots. slot # to DIB slot #. #, column letter, and pin #.
Defined by software in: Created manually by Defined by software each time
Defined by software in: Created manually by Defined by software each time
\IGXl\version\ user. Default file located DataTool runs. Checks
\IGXl\version\ user. Default file located DataTool runs. Checks
tester directory in: CurrentConfig, DIBSlotconfig and
tester directory in: CurrentConfig, DIBSlotconfig and
\IGXl\version\bin cablept#.txt. Default file located in:
\IGXl\version\bin cablept#.txt. Default file located in:
\IGXl\version\tester
\IGXl\version\tester
directory
a, b, c, d directory
10.a2
10.a2
DIB
Block DIB DIB Slot 10 pin 2
DCVI 30 Slot 5 column a
HSD 100 Slot 6

Use DIB Slot wiring


diagrams based on
= DCVI Channel 1 Sense
instrument used:
Test Head dcvi
hsd
reads support board
bbac Defines signal path from
3 instrument channel to
device pins created by the
User creates user.
cablept#.txt
cablept#.txt
Determines
5 Channel Map
Determines
instrument DIB block
instrument DIB block Site 0 Site 1
wiring path.
wiring path. vcc dcvi 10.a2
Defined by software Use this file to create
Defined by software entries in your channel
in:
in:
\IGXl\version\ map for each device
\IGXl\version\ pin i.e. 10.a2
bin directory
bin directory

Module 5 - 9
- confidential -
Currentconfig.txt File
This file is created by reading
the real tester configuration
and a user written
Testerconfig.txt file
or
simulatedconfig.txt file off-line

File is saved in:


ProgramFiles/
Teradyne/igxl/igxl
version/tester.

The file name is


CurrentConfig.txt

It contains hardware slot


information and hardware to
DIB slot information.

Module 5 - 10
- confidential -
TesterConfig.txt

This file is updated by the


user

There is a default copy in:


Program Files/
Teradyne/igxl/igxl
version/bin

Copy the default and save


it in: Program Files/
Teradyne/igxl/igxl
version/tester

This file maps the


instrument slots to the DIB
slots

Module 5 - 11
- confidential -
CurrentChannelMap.txt Example

<testhead slot>. <DIB slot>.


<CC pin> <DIB pogo pad>

CurrentChannelMap.txt
• Saves the mapping
information
• Created Automatically
• Located in <install dir>\tester
Instrument’s
Signal

Module 5 - 12
- confidential -
DIB Slot Example
For example:
• DC-30 will go in tester slot 4
• In the TesterConfig.txt file, slot 4 is
mapped out to DIB slot 10
• Incorporating your pin list of this
instrument

1.A1 (DIB slot #, Row A, Column 1) is


ch1F signal
10.b1 is ch1G guard signal
10.c1 is ch9G guard signal

10.a2 is ch1S sense line is used for


channel map entries for DCVI
channel 1

Module 5 - 13
- confidential -
Channel Map
3 4 1. Add Device Pin Names
2. Device Pin Number is
1 Optional
2 3. Instrument Type from
5 drop-down list
4. DIB Slot channel
CurrentChannelMap.txt
numbers for each site
using
CurrentChannelMap.txt
located in IGXL\Tester
directory
5. Add any Comments

An example of a Channel Map of a test program for a dual test site


DIB is shown. This will be covered in more detail later.
Module 5 - 14
- confidential -
File for Off-line execution
• If you are running the program offline, the tester
configuration is always read from a configuration file
called SimulatedConfig.txt:

1. Check for a user-created configuration file, in this order:

<curdir>\SimulatedConfig.txt
<installdir>\Tester\SimulatedConfig.txt
<installdir>\Bin\SimulatedConfig.txt

As soon as a file is found, it goes to the next step.


2. Write the configuration information to

<installdir>\Tester\CurrentConfig.txt

• If no user-created configuration file is found, a default


simulation file located in IGXL\bin directory is used to
create the configuration file.
Module 5 - 15
- confidential -
SimulatedConfig File
Place file in local
program directory
or in:
Program Files/
Teradyne/ig-xl/
igxl version/tester.

The file name is


Simulatedconfig.txt
It will have a default
hardware
configuration and a
default Dib slot
configuration.

Module 5 - 16
- confidential -
Mapping on an Off-Line Simulator
Copy Edit SimulatedConfig.txt to
SimulatedConfig.txt file add or change CC slots, and
from bin directory to to Map instrument slots to
tester directory. DIB slots.

Load a program or, if


program is already loaded,
restart DataTool.

Automatically
Yes generated No
Done
CurrentChann
elMap.txt file
ok?

Module 5 - 17
- confidential -
Summary
• Configuration Service takes care of the Mapping process
• Configuration Services requires certain files. Some are
generated automatically and some need to be created
manually.
• Signals behind each DIB pogo pads can be determined by
viewing the CurrentChannelMap.txt file.
• It can also be determined by knowing the Configuration of the
Tester which requires: (refer to example in next slide)
1. Tester’s Configuration file (what CC go in what testhead slots)
2. List of what testhead slot mapped to what DIB slot
(TesterConfig.txt file)
3. CC (instrument’s) pinlist (“Cable P/N”.txt file)

Module 5 - 18
- confidential -
Appendix

Rev0343
- confidential -
Appendix

• File Creation notes


• DIB Diagram
• Cable P/N.txt file
• Mapping Explanation
• ATE Registry file
• Cable part numbers
• DC30 DIB pin out
• DC75 DIB pin out
• HSD200 DIB pin out
• BBAC DIB pin out
• Support board DIB pin out
• Support Board Test Heads
locations

Module 5 - 20
- confidential -
Reading EEPROM Notes
When Data Tool starts up:
1. All board drivers first read the EEPROMs to
determine if they are present in the testhead slot.
2. Software then reads the configuration file if any
(TesterConfig.txt on tester or SimulatedConfig.txt
off line) exists
– tells the board drivers to “map” to slots indicated
in the files.
– Off-line SimulatedConfig.txt will have hardware
slots and hardware to DIB slot mapping

Module 5 - 21
CC- Channel Card - confidential -
File Creation Notes
• For a program running on a tester the following
logic is used to read the tester configuration and
any user-created tester configuration files:
1. Read the ID proms from the hardware.
2. Check for a user-created configuration file, in this order:
<curdir>\TesterConfig.txt
<installdir>\Tester\TesterConfig.txt
<installdir>\Bin\TesterConfig.txt

As soon as a file is found, it is used to define the hardware to DIB


slot configuration.
Writes the result to:
<installdir>\Tester\CurrentConfig.txt

Module 5 - 22
- confidential -
TesterConfig.txt Notes
Creating or Updating the TesterConfig.txt file:
1. Create a TesterConfig.txt file by copying the
“default” file supplied in
< install dir>\bin\TesterConfig.txt
2. Save the new copy in
< install dir>\tester\TesterConfig.txt
3. Update the new TesterConfig.txt to reflect the
actual tester hardware and mapping preferences

Module 5 - 23
- confidential -
TesterConfig.txt Notes
Conditions to Update TesterConfig.txt File:
– New installation of IG-XL (<==create)
– If a CC is added or removed from the testhead
(<==update)
– If the CCs are moved to a different testhead slot
(<==update)
– If the CCs’ cable is moved to a different DIB slot
(<==update)

Module 5 - 24
CC- Channel Card - confidential -
CurrentChannelMap.txt Notes
The Configuration Services:
1. Check the CurrentConfig.txt file.
2. Reads the “Cable P/N”.txt file
4. Completes the mapping from <testhead
slot>.<CC pin> to <DIB slot>.<DIB pogo pad>
and saves information to the
CurrenChannelMap.txt file.

Key Words:
CC- Channel Card
DIB- Device Interface Board
Module 5 - 25
- confidential -
DIB Top View

Module 5 - 26
- confidential -
Cable P/N.txt
#Board Description: HSD Board
866-260-00
#CC DIB Sub-slot Signal
Connector Pin Pogo Name
A2 D2 1 #ch48
A3 B2 1 #ch47
A4 C3 1 #ch46
A5 A3 1 #ch45
A6 D10 1 #Acc12
A7 B10 1 #DGS3

Note: The instrument’s pinlist is shown as an


example. Refer to the Integra FLEX DIB Design
Manual for an accurate pinlist.

Module 5 - 27
- confidential -
Explanation
TesterConfig.txt #Board Description: HSD Board
#Tester Slot DIB Slot Cable P/N 866-260-00
(optional)
#CC DIB Sub-slot Signal
1 1 Connector Pin Pogo Name
3 5 A2 D2 1 #ch48
7 8, 20 A3 B2 1 #ch47
8 16 879-444-02 A4 C3 1 #ch46
. A5 A3 1 #ch45
. A6 D10 1 #Acc12
26 A7 B10 1 #DGS3

For example:
In the first case, a channel card in tester slot 1 is mapped to DIB slot 1. The default
cable file is 866-260-00.txt.
So the mapping is as follows: <DIB slot>.<DIB pogo pad>
1.D2 brings out the digital ch48 signal
Module 5 - 28
- confidential -
Cable P/N.txt
• The Configuration Service queries the ATE Registry
for the default “Cable P/N”.txt file P/N associated with
the instruments found in the tester.
– If a custom cable P/N was specified in the
DIBSlotConfig.txt file, then that number will be
used instead
• It then searches for the corresponding “Cable
P/N”.txt file in < install dir>\bin for default cable files
and/or in <install dir>\tester\cables for custom cable
files

Module 5 - 29
- confidential -
Cable P/N.txt
• Every Instrument (channel card) has a default “Cable
P/N”.txt file number associated with it
• The default “Cable P/N”.txt file number is stored in the ATE
Registry
Example: CC Name “Cable P/N”.txt file P/N
BBAC 866-262-00
Support Board 866-263-00
LPB 866-298-00
• A particular (instrument) cable assembly can come in
different lengths and hence has multiple part numbers.
– Mapping to the DIB pogo pad remains the same regardless of
cable lengths
– By default, the “Cable P/N”.txt file of the shortest cable file will
be used

Module 5 - 30
- confidential -
Cable P/N.txt
• Maps Channel Card #Board Description: HSD Board
connector pin to the DIB 866-260-00
block pogo pad #CC DIB Sub-slot Signal
Connector Pin Pogo Name
• There is a default cable A2 D2 1 #ch48
file associated with each A3 B2 1 #ch47
channel card
A4 C3 1 #ch46
• Each cable file is stored A5 A3 1 #ch45
in < install dir>\bin (ex. A6 D10 1 #Acc12
866-262-00.txt) A7 B10 1 #DGS3
• Special case: Custom .
cable files can also be .
created .
B32 A33 1 #ch1

Module 5 - 31
- confidential -
DC30
LPB: Low Power Board J1 DC 30
DIB Pinout

Note: Refer to DIB Design


Guidelines for full pinout

Module 5 - 32
- confidential -
DC75
PB: Medium Power J1 DC 75
DIB Pinout
Board

Note: Refer to DIB Design


Guidelines for full pinout

Module 5 - 33
- confidential -
HSD Pins
HSD: High Speed Digital

Note: Refer to DIB Design


Guidelines for full pinout

Module 5 - 34
- confidential -
BBAC Pins
BBAC: Base Band AC

Note: Refer to DIB Design


Guidelines for full pinout

Module 5 - 35
- confidential -
Support Board Pins
Grey boxes indicate
Upper View grounds.
“I_” indicates an input to
the support board, all other
signals are outputs of the
board.
DGND = Digital Ground

Note: Refer to DIB Design


Guidelines for full pinout

Module 5 - 36
- confidential -
Support Board Pins
Grey boxes indicate
grounds.
Middle View
“I_” indicates an input to
the support board, all other
signals are outputs of the
board.
DGND = Digital Ground

Note: Refer to DIB Design


Guidelines for full pinout

Module 5 - 37
- confidential -
Support Board Pins
Grey boxes indicate
Lower View grounds.
“I_” indicates an input to
the support board, all other
signals are outputs of the
board.
DGND = Digital Ground

Note: Refer to DIB Design


Guidelines for full pinout

Module 5 - 38
- confidential -
Creating a Pinmap

Rev0343
- confidential -
Purpose of Pin Map
• Pin names relate to the DUT
• Defines pin names in program
• Allows Group assignments of pins
• Defines relationship between DUT and a tester
resource type

Module 6 - 2
- confidential -
Pin Map

A Pin Map Worksheet


is created automatically
when opening up a new
workbook.

Module 6 - 3
- confidential -
Pin Map

Device pin names


should come from
device specification
sheets.

Module 6 - 4
- confidential -
Pin Map
Recommended steps:
• Enter pin name in Pin Name column.
• Select a “Type” from drop-down list.
• Move down to next row and repeat as needed
for each pin on the DUT.
• Use Excel’s AutoFill feature to rapidly enter pins
for buses.

Module 6 - 5
- confidential -
Pin Type – Required
Pin Type Information:
Describes the type of
DUT pin, (used during
Validation)

Module 6 - 6
- confidential -
Selecting Pin Type
Enter one of the following pin types:
Type Meaning
I/O bi-directional digital pin
Input digital pin for input only
Output digital pin for output only
Analog BBAC or AC/DC instrument pin
Power device power supply (DCVI) pin
Gnd ground pin
Utility utility databit pin
Voltage force voltage pin
Current force current pin
Unknown unknown pin or N/C (no connect)
Differential Differential Digital pins (future release)

Module 6 - 7
- confidential -
Pin Groups
Allows grouping of common pin functions:
– Address Bus
– Output Bus
– Data Bus
– Differential Pairs
– Common timing or level setups
– Multisite common functional relays

Module 6 - 8
- confidential -
Pin Groups

Pin groups can


have any name
and consist of a
number of already
defined pin names.
Pin Names listed in the
Pin Group should be
ordered MSB to LSB or
as defined in the
patterns.

Module 6 - 9
- confidential -
Pin Groups

Expand and collapse


groups using Excel’s
built-in Outline function.
Use the ‘+’ and ‘-’ on the
left column of the
spreadsheet.

Module 6 - 10
- confidential -
Group Names

Use of Group Names are Optional:


• Enter Group Name first, then add pin names
previously entered in Pin Name column.
• Groups can contain other groups.
• Groups can contain the following pin types:
– I/Os -- Analog
– Inputs -- Power
– Outputs -- Utility
• Pin Name and Group Name cannot be the same.

Module 6 - 11
- confidential -
Grouping Pins
Specify group type in the first row only,
then the whole group defaults to that type.
Type Meaning
Input The bus contains only pins of type Input.
Output The bus contains only pins of type Output.
I/O The bus contains I/O pins or a mixture of pin
types. Use this type when creating “Continuity
Test” groups.
Analog Group contains only pins of Analog type.
Power Group contains only pins of Power type.
Utility Group contains only pins of Utility type.
Differential
Differential Digital Pins (future release)
Current/Voltage Grouping of current or voltage pins
Module 6 - 12
- confidential -
Lab Exercise

Run the Pin Map Lab

Module 6 - 13
- confidential -
Creating a Channel Map

Rev0343
- confidential -
Channel Map Features
Channel Map defines DUT connections to the
tester resources:
– Maps individual device pin names to the test system
channels and power supplies.
– Defines tester connections for up to 32 parallel test
sites.
– Contains wiring information for Device Interface
Board (DIB).
– Channel Map can import Pin Map sheet information.

Module 6 - 15
- confidential -
Insert Channel Map
From the Insert Menu, select Worksheet | Channel Map | OK

Module 6 - 16
- confidential -
Channel Map Site Selection

Test Channel Site 0 to n


• Enter the number of
sites required
• Note: The first site will be
labeled as site 0.

Module 6 - 17
- confidential -
Channel Map

3 1. Enter a Pin Name from


2 pinmap sheet. Group
names are not allowed.
2. Channel Type- select
Tester Hardware.
Channel type must
match pin type from
1 pinmap sheet. Pins that
are not wired should be
assigned to N/C.
3. Instrument pin outs
are listed for each site.

Module 6 - 18
- confidential -
Pogo Pin Channel Map

Select Pogo
from the View
Mode drop-
down list

Pogo Pin
names

Module 6 - 19
- confidential -
Signal Channel Map

Select Signal
from the View
Mode drop-
down list

Channel signal
names

Module 6 - 20
- confidential -
Resource Sharing
• It is possible for a single instrument to be shared by more than one DUT
pin or by more than one site in a multi-site test environment.
• To indicate that a resource is shared, you use special syntax for the entry in
the Tester Channel Site column of the Channel Map sheet.
– A pin can share a resource with another pin by indicating that the same
tester channel is connected to both pins.
Vcc shares a
dcvi channel
with vcc1

– Two or more sites can share a resource by indicating that the same tester
channel is connected to more than one site.
Dcvi at pins
10.a2 and 10.a6
are shared
between site0
and site1

Module 6 - 21
- confidential -
Multiple Resource
• Instruments of different types on the same
board can be directly connected to a DUT
pin.
– To indicate that several resources are connected to a pin,
you use special syntax M for the entry in the Device Under
Test Pin Name column of the Channel Map sheet.
– For example, the following channel map entries indicate that
pin a1 is connected to three different instruments:

Module 6 - 22
- confidential -
Channel Map Options
• DUT Package Pin:
– Name of the physical package pin number, bonding pad name,
etc. Value can be a number or a string.
– Package pin or bonding pad designator - “AF13”
• DIB ID:
– ID number of the Device Interface Board used with this Channel
Map.
– Format: 879-858-20
– Hexadecimal (0-9,A-F) characters and must contain dashes in
the above positions.
– Verified at run time with ID PROM on DIB bd. If Ids do not
match, you cannot run the program.

Module 6 - 23
- confidential -
Lab Exercise

Run the Channel Map Lab

Module 6 - 24
- confidential -
Creating Spec Sheets
Spec Sheet

Rev0343
- confidential -
Spec Sheets
Objective:
• In this section we will describe why is is
important to select DUT specifications and
define them as variable parameters in a
centralized location in your workbook.
• Our objective will be to have an
understanding of these worksheets and what
they are to be used for.
• We will have an exercise which will verify
understanding of these worksheets.

Module 7 - 2

- confidential -
Workbook Spec Sheets
• There are Three Types:
– Global specs
– DC (voltage and current) specs
– AC (timing) specs
• Select Data from the “DUT” specification sheets and
add it to these workbook sheets.
• It becomes the “Central” location for key values that
are used in equations on other worksheets such as
Test Templates, Timing sheets, and Levels sheets.
– Example: tpd is set to 25ns on the AC Specs sheet, the Edge set
sheet can set a timing value to be “=_tpd+3*ns”

Module 7 - 3

- confidential -
Global Spec Sheet

Global Spec Sheets


z Created automatically by IG-XL
z Can contain both DC and AC specs
z Define common specs for all jobs
z Define common specs for a particular job
or jobs
z Sheet information will be defined on next
page.
Module 7 - 4

- confidential -
Global Spec Sheet

Required sheet information to be entered:


– Symbol: spec name
• When the Global Spec sheet is created, a set of default symbols is provided.
• Value: numeric value or formula
Example : Vcl_default is referred to as _Vcl_default on other sheets
Optional Sheet information:
Job name: The Job for which this spec will be valid - When left blank the spec
will be used for all Jobs.
Comment: A brief description of the Symbol
Note: Symbols should be defined before being used in calculations, if not IG-XL
will flag them as errors.
Module 7 - 5

- confidential -
Default Values Reference Sheet
Pin Parameters that are assigned default values on the
Global Spec sheet:
– VCH - Clamp Voltage High: clamp voltage to limit ringing on
high going outputs.
– VCL - Clamp Voltage Low: clamp voltage to limit ringing on
low going outputs.
– Vph - Programming High Voltage Driver
– Iph - Programming current limit for hi-voltage pins
– Tpr - Rise/fall time (10-90%) of the Vph programming voltage
– Gl_Isc – Programmed current value for power pins
– Gl_Tdelay – Programmed time delay for power pins

Module 7 - 6

- confidential -
DC Spec Sheet
Symbol: Name of the Selector Name: Name of a particular
spec you want to define group of specs that defines different
combinations of Typ, Min, and Max
values to be used for a test.

Selector Val: Select which


Category column is to be used
for this spec when this selector
is selected. The values are:
Typ., Min., and Max.

DC Spec sheet is used


to define dc levels from
the device spec sheet. Module 7 - 7

- confidential -
Device Spec Sheet Example
Transfer data to workbook spec sheets from DUT spec sheets

DC Spec Sheet

Category
DUT Specification Sheet

Environment
Module 7 - 8

- confidential -
AC Spec Sheet
A Symbol is defined
Selector Name: Name of
which represents
a particular group of
timing specs from the
specs for the test.
device spec sheet.

Selector Val: Select


AC Spec worksheet is
which Category column
used to define timing
is to be used for this
parameters for testing.
spec when this selector
is selected. The values
are Typ., Min., and Max.
Module 7 - 9

- confidential -
Defining Category Information
Different Categories can
1 be added to spec sheets
3 The actual value can then be such as: Commercial,
selected using the Selector Val Military, etc.
drop-down .

Each Category will have entries


for Typical, Minimum and
2
Maximum values.

Module 7 - 10

- confidential -
Inserting/Appending Info

3 2

1. Select Spec Info from the Insert menu, the Insert Spec Info window opens.
2. Click Append to add information to the last column or row.
3. Data is inserted before the cursor position on the worksheet.
Module 7 - 11

- confidential -
Deleting Spec Info

1. Select Delete Spec Info. from the Edit menu


2. The Delete Spec Info window opens.

Module 7 - 12

- confidential -
Context Boxes
Context boxes are used to select the Active Job, Channel Map, Part,
Environment, Spec Category and Spec Type for Program Validation
and Run.

Active
Active Channel Active Active Spec Spec
Job Map Part Environment Category Selector

Active Spec
Value = Selector + Category+ Environment

Module 7 - 13

- confidential -
Spec Sheet Selection
Spec Sheet(s) are selected for
a particular test using the Test
Instance Sheet or Test
Template.

Spec Sheets can also be selected with


the Job List sheet if one has been
added to the workbook.

Module 7 - 14

- confidential -
Spec Data Selection
Specific data can be selected for a
test using a test template.
Should reference Spec Sheet variables by
their name preceded by an underscore _.
Example: idd_output_hi is
referenced as:
_ idd_output_hi

Module 7 - 15

- confidential -
Lab Exercise

Create the DC and AC Spec Sheets

Module 7 - 16

- confidential -
Creating Pin Levels

Rev0343
- confidential -
Pin Levels Sheet
The formula button on the IG-XL toolbar switches between value and symbol

Values: Absolute or
symbols previously
defined on the DC
Spec Sheet.

Order of entries on this sheet is


Input, Output, I/O, important.
and Device Power The various levels are applied
Supply pins must to the pins in the order in which
be defined. they are entered (and/or by the
numbers listed in the SEQ
column). Typically, first define
Defines DC levels for the device supply levels, then
I/O voltages and current the digital input and I/O pins,
loads to be applied to the DUT. and finally the output pins.

Module 7 - 18

- confidential -
Pin Levels Sheet Entries
Required Sheet Information:
– Pin/Group:
Enter the name of a pin or pin group whose levels are to be defined.
– Parameter:
Depending on the type of the pin or group, the number of required parameter
entries (one per line) varies. Enter one of the following values (available from
a cell dropdown list.
•Use the Dropdown Parameter filter to make choices.
Note: See the help file for requirements, restrictions, and errors.
Device Pin Type Relevant Parameters
Digital Input Vil, Vih, Vph, Iph, Tpr
Digital Output Vol, Voh, Vt,
Iol,Ioh, VCH, VCL
Digital I/O Vil, Vih, Vol, Voh,
Vt, Iol,Ioh, VCH, VCL, Vph, Iph, Tpr
Device Power Vps, Isc, Tdelay

Module 7 - 19

- confidential -
Pin Levels Definitions
Vil Voltage Input Low - represents a logic zero
Vih Voltage Input High - represents a logic one
Vol Voltage Output Low - testing threshold for logic
zero
Voh Voltage Output High - testing threshold for logic
one
Iol Current to be sunk by a Low output
Ioh Current to be sourced by a High output
Vt Transition voltage below which Isource takes
hold and above which Isink takes hold
Vps Voltage Power Supply - voltage to be applied to
the DUT
Isc power supply Short-circuit current limit setting for the device
power supply
Tdelay Delay time after application of supply voltage

Module 7 - 20

- confidential -
Default Values
• Value: Numeric formula - Enter the numeric
value or formula for the symbol

• Note: As you add a pin or group name to the


sheet, rows of parameter values are
automatically added based on the pin or group
type. If the pin type is unknown then it will be
treated as being of type I/O.

Module 7 - 21

- confidential -
Sequencing Pin Levels Notes
Specifies order of sequence levels applied to the DUT. By
default, the levels are applied in the order they appear (top to
bottom).
– To specify a non-default order:
• Enter a Seq. value (Int >0)
• All levels with a Seq. value are applied before default levels
• Levels with different Seq. values are applied in order (low to high)
• Levels with the same Seq. Value are applied in order (top to
bottom)
– After all levels with Seq. values are applied:
• All levels, without Seq. values, are applied in order (top to bottom)

Module 7 - 22

- confidential -
Lab Exercise

Create the Pin Levels worksheet

Module 7 - 23

- confidential -
Module 7 - 24

- confidential -
Test Program Flow

Rev0343
- confidential -
Test Sheets

The objective of this section will be to create a


simple program from the major/key Tables and
Sheets and gain an understanding of each one.
• Test Instance Sheet
• Instance Editor
• Flow Table
• Home Sheet
• Job List Sheet
• Datalogging
• Run Options and Debug

Module 8 - 2

- confidential -
Test Instance Sheet
Specifying Tests

Rev0343
- confidential -
Test Instance Sheet
Defines specific tests (Instances) to be performed on the DUT.
Allows for the selection and editing of parameters for each of
the tests.

Module 8 - 4

- confidential -
Test Instance Test Names
Steps used to define a Test Instance:
– Test Name: Identify the name for your test
– Type: Determine the type of test to be used
– Name: Test template, procedure, or function
– Called As: Select how IG-XL calls the test

Enter a User
defined test name
Module 8 - 5

- confidential -
Test Instance Test Types
An individual test instance is based on one of five types:
– An IG-XL “Test Template” supplied by Teradyne.
– A user-written test procedure stored on the Test Procedures sheet.
– A user-written test template, or a template modified and renamed from a
Teradyne-supplied template
– A user-written routine using VB-T that functions like a test procedure
– A “routine (other than a template)” written by the user.

Select the Type of


Test from the drop
Module 8 - 6
down list.
- confidential -
Test Names

PowerSupply_T Performs a power supply test

Functional_T Performs functional tests using a


list of one or more patterns Select a Name from
PinPmu_T Performs DC parametric test on the drop down list.
device pins using the pin PMU
Empty_T
Note:This will vary based on
Performs a user defined test
the Type that was selected.
MtoMemory_T Performs tests requiring Memory
Test Option
CTOAdc_T Performs a converter test using
converter test option
Module 8 - 7

- confidential -
Test Instance Called As

IG-XL Templates are called


as an Excel Macro from a drop
down list.

Module 8 - 8

- confidential -
Test Instance Template

Click on the Ellipsis button


to bring up a Test Instance.

Module 8 - 9

- confidential -
Test Instance Template
The IG-XL template is the most
common way to create a test.
Templates employ Visual Basic
functions to perform
specific tests:
1. Uses data values from other sheets.
2. Can be reused, employing different
data sets.
3. Provides a quick method to create
tests.
4. Can be stepped through using Excel
VBA debugger
5. Parameters can be selected from
drop-down lists.
6. Select the Apply button to complete
data entry within
templates

Module 8 - 10

- confidential -
Template Structure
Test Templates consist of three major sections:
„ PreBody
– Performs test initialization. Typical PreBody set-up activities
include: obtaining levels and timing information for any patterns to
be run, computing the number of samples to be made, and setting
initial states on pins
„ Body
– Performs the test. Typical Body activities include: running any
patterns for preconditioning or dynamic conditioning, connecting
and disconnecting specified pins, performing the functional test or
parametric measurement, and running interpose functions at the
appropriate points
„ PostBody
– Performs any post-test clean-up functions. Typical PostBody
activities include: restoring pin electronics to the pre-test state and
returning channels to default start-state conditions.

Module 8 - 11

- confidential -
Module 8 - 12

- confidential -
Templates
The following templates will be covered in
detail later on in the class.

Rev0343
- confidential -
Power Supply_T Template
The Power Supply
Template can be used
to create a device
power supply test.
Parameter entries
are added as variable
names or absolute
values (Variable names
are defined on other
Sheets).

Module 8 - 14

- confidential -
PinPmu_T Template

The PPMU Template can


be used
to create a device
Shorts, opens and
leakage test(s).
Parameter entries
are added as variable
names or absolute
values (Variable names
are defined on other
Sheets).

Module 8 - 15

- confidential -
Functional_T Template
The Functional Template
can be used to create a
Digital device functional
test.
Parameter entries
are added as variable
names or absolute
values (Variable names
are defined on other
Sheets).
A Binary Pattern file, that
contains vector drive and
expect data, is selected to
run the test.

Module 8 - 16

- confidential -
Empty_T Template

The Empty test


Template has the
Optional arguments
common to all the test
templates: for setting
levels and timing,
setting pins, and
executing interpose
functions.
The Empty test
templates can be used to
set any of these values
without actually
executing a test.

Module 8 - 17

- confidential -
MtoMemory_T Template

The MTO Template is


used to create Memory
device tests.
Note: MTO is not covered
in this class.

Module 8 - 18

- confidential -
CTOAdc_T Template

The DC30 ADC test


template performs testing
of a DUT analog-digital
converter.
The general actions of the
template are:
• Test the DUT by
applying a ramp of
analog voltages and
recording the digital
results.
• Analyze the array of
digital results.

Module 8 - 19

- confidential -
Module 8 - 20

- confidential -
Flow Table
Order of Test Execution

Rev0343
- confidential -
Features
The Flow Table executes instances (tests) and processes the test results, setting
pass/fail, sort, and bin values for each device.
The Flow Table implicitly deals with parallel (multi-site) testing, without
requiring explicit programming.
Conditional flow can also be executed based on pass/fail results of
previous instances (tests) or the state of devices or groups of devices.
Result processing can assume test results for specific sites and remove that
site from anymore testing.

Module 8 - 22

- confidential -
Flow Table Opcodes
Command Opcode

Test Opcode

Required Sheet Information to be entered:


– The Command Opcode: Defines the action for the current step.
• The Test Opcode causes execution of the named test instance.
• Other Opcodes control the flow, set state variables, flags, or print
messages.
• If no Opcode is specified in the Command Opcode column (for example,
if the step only defines a label), the default Opcode is nop.
Module 8 - 23

- confidential -
Common Opcode Definitions
Test Executes the test instance specified in
the Parameter column

stop Terminates program execution

nop No operation

set-device Set binning at current point in test flow.


Typically used to set pass bin at the
end of test.
goto Go to label specified in Parameter
column. Often used to temporarily
modify flow during debug.

Module 8 - 24

- confidential -
Flow Table Parameters

Test Names

Required Sheet Information to be entered:


¾Command Parameter : Some Opcodes require a value in this column.
¾If an Opcode requires a parameter, selecting the Opcode enables the Parameter
column.
¾If a Test Opcode is selected then the Parameter Name will be the test name
defined on the Test Instance Sheet.
Module 8 - 25

- confidential -
Flow Table Label & Enable

Optional Sheet Information to be entered:


Label column: Creates a label that identifies the step.
– A label can be used as the target of these Opcodes:
goto, goto-on-all-done, and goto-on-all-lastfail
Enable column: Execution of a step is conditional upon the value of a word
entered.
– If the Enable column is blank, the step is executed.
If a word is in the Enable column, The step is executed only
if that word has been previously enabled in the run options
or in the opcode column .
Module 8 - 26

- confidential -
Flow Table Gating

Optional Sheet Information to be entered:


Gate Columns: Enable or disable a specific Test Step based on a
particular Job, Part number, or Environment. If left blank,
the Test Step applies to all Jobs, Part numbers, and
Environments.

Module 8 - 27

- confidential -
Flow Table Result Processing

Optional Sheet Information to be entered:


Result Column: Removes device from active site list based on results
of test instance execution.
Flow controller maintains a Pass/Fail Result variable
for each device.
Module 8 - 28

- confidential -
Result Processing Notes
• The flow controller maintains a set of state variables for each
device:
– a Pass/Fail Result
– a Bin Number
– a Sort Number
• Result processing involves assigning values to these variables,
based on the results of test instance execution. When
execution of the flow table stops, the current values of the
Pass/Fail Result, Bin Number, and Sort Number state variables
are written to the executive.
• The flow controller maintains a Logic State variable and a set of
user-created flags for each device. It can also set the value of
the Logic State variable or the flags based on test results.

Module 8 - 29

- confidential -
Module 8 - 30

- confidential -
Job List Sheet
For more than one Pinmap, job etc.

Rev0343
- confidential -
Job List Sheet Example

User selects active job


via a toolbar selection on the IG-XL toolbar.

• This Sheet is only required when you create more


than one job in a workbook.
– Specify a combination of sheets for creating various test
programs.
– Allows user to have more than one Pin Map (ex: wafer, various
package types), Flow Table, etc., in the same workbook.
– Validation performed only on Active Job. Not possible to
perform validation on all possible combination of sheets.
Module 8 - 32

- confidential -
Job List Sheet
Job Name Enter the name of the job you
want to define.
Pin Map Select the Pin Map sheet to be
used in the job.
Test Instances Select the Test Instances sheet
to be used in the job.
Flow Table Select the Flow Table sheet to
be used in the job.
Optional:
AC Specs Select the AC Spec sheet to be used in the job
DC Specs Select the DC Spec sheet to be used in the job
Pattern Sets Select the Pattern Sets sheet to be used in the job
Pattern Group Select the Pattern Group sheet to be used in the job
Comment Text field or job description
Note: Only one Job List sheet per workbook is allowed.

Module 8 - 33

- confidential -
Module 8 - 34

- confidential -
Home Sheet
Quick link to all sheets and forms

Rev0343
- confidential -
Home Sheet

• Automatically created and updated by DataTool. Do not insert, edit


or export it.
• Offers an overview of the contents of the workbook along with active
links to each worksheet or Test Instance.
• Each row lists the Test Instances and Worksheets of the job. Each
item is an active link to the actual sheet or test.
• Displays the currently selected job.
• Uses the Active Job Control selector to determine which components
are displayed.
Module 8 - 36

- confidential -
Data Collection

Rev0343
- confidential -
Data Collection
IG-XL Tool Bar

Use the Data Collection Setup to:


• Turn Datalog on
• Specify what data is to be Data Enable/
Collection Disable
collected during test program Setup Datalog
execution
• Determine what to display in a
report
Use Enable/Disable to
• Save data to a file
toggle Datalog On or Off.

Module 8 - 38

- confidential -
Datalog Setup Tab
Use Datalog Setup tab
1 to configure datalog files 1

2 Customize checkbox
allows using saved setups 2 3

3 Setup File button allows


selection of datalog format
and criteria

Module 8 - 39

- confidential -
Datalog Output

Defines datalog output


type and location:
Window: Display in window
Text File: ASCII format
STDF File: Binary format
User Filter: Custom datalog
format

Module 8 - 40

- confidential -
Datalog Setups - Default

1. Select Customize

2. Select Setup File

Module 8 - 41

- confidential -
Datalog Setups
Select for Parametric
Setup window (see next
Slide)

Select new to
create a new file

Select Display Formats


and criteria

Module 8 - 42

- confidential -
Parametric Setup

Used to specify
parametric test datalog
format on a per test
basis

Module 8 - 43

- confidential -
Functional Setup

Used to specify
functional test datalog
format on a per test
basis

Can Display different


information

Module 8 - 44

- confidential -
HRAM Setup
Trigger: Specifies the cycle in the
pattern where capture is to begin.
Capture: Selects which vectors to
capture once triggered. Options
are:
– Cycle: Capture all vectors.
– Fail: Capture failing vectors.
– STV: Capture vectors
containing the control bit ”stv"
(Store This Vector)

Module 8 - 45

- confidential -
Sample Datalog

Module 8 - 46

- confidential -
Summary Report Tab
Output – Send to:
1 Window 1
Text File
STDF File

Criteria: Tests to be included:


2 Options are:
2
All Tests 3
Failed Tests

Output width – Maximum


3 number of characters per
line in Summary Report.
The default is 80.

Module 8 - 47

- confidential -
Sample Summary

Module 8 - 48

- confidential -
Lot Definition Tab
Used to set up general information
for the lot being tested

Enter text string for:


Lot ID
Part Type
Operator (If left blank,
username is used)

Select from drop-down:


Test Mode (for example,
Production or Engineering)

Note: Use More button to assign


data to specific STDF
header fields

Module 8 - 49

- confidential -
Module 8 - 50

- confidential -
Debug
How to find out what is really connected

Rev0343
- confidential -
Selecting Run Option
IG-XL Tool Bar

RUN RUN
Options

Module 8 - 52

- confidential -
Program Execution

Setup – Run Options


• The default for running
tests is stop on a
failure
• To override this select
Do_All and click OK
• Running a program:
1. Print results display
results in an output
window
2. In Debug Run you
can select execution
time
3. Select the site
information you want
displayed
Module 8 - 53

- confidential -
Program Execution Looping

• The Looping tab of the Run


Options dialog box lets you loop
the test program or a test
instance, executing it a specified
number of times.
• In Loop Count, enter the number
of times to loop the program.
• To loop indefinitely, enter a 0 or
leave the box blank.
• To start looping, select Loop
Program.
• To stop looping, select Stop.
• Selecting Run will cause standard
program execution, not looping.

Module 8 - 54

- confidential -
Program Execution Events

The Events tab allows program


execution to stop on specified events:
• Failing test
• Error
• Specific test number
• First failing test after a specific
test number.

Module 8 - 55

- confidential -
Debugging a Program
IG-XL Tool Bar

Debug Run Options

Debug Run Debug Toggle Step Step


to Breakpoint Stop Breakpoint Over

Module 8 - 56

- confidential -
Flow Table Debugging

Toggle
Breakpoint

DataTool provides a debug mode for test program execution. On the


active Flow Table sheet, a set of buttons is enabled on the IG-XL toolbar
for running and stopping in debug mode, for setting breakpoints, and for
stepping through the flow table.

Module 8 - 57

- confidential -
Setting Breakpoints
Toggle Breakpoint sets
or removes a breakpoint
on the current flow step.

When you use Debug Run,


execution runs to the next
breakpoint, where it stops.

PreBody
Body
PostBody

Module 8 - 58

- confidential -
Stepping Through a Program

Step executes the next section of code in the flow.


While stepping through the code, the current trap
position is represented by a yellow arrow.
Ready to execute the test template prebody.
Ready to execute the test template body.
Ready to execute the test template postbody.
Module 8 - 59

- confidential -
Stepping Over

PreBody • Step Over executes the current test without stepping


Body into the prebody, body, and postbody.
PostBody • Step Over executes the current test as a unit, and
moves to the next line in the flow table.
• If trapped within a test, Step Over executes the rest
of the test as a unit, and moves to the next line in the
flow table.

Module 8 - 60

- confidential -
TDE
Test Debug Environment

Rev0343
- confidential -
TDE
• The objective of this section is to show you
how to use the Test Debug Environment to
enter TDE, bring up the different tools
available, use the debug displays and learn
how to debug an IG-XL test program.

Module 9 - 2

- confidential -
Outline
• Introduction to Test Debug Environment
• Methods to Debug using TDE
• Breakpoints and step functions using MiniFlow
• Tools available in TDE
• Instrument Displays available in TDE
• Building Toolsets using TDE

Module 9 - 3

- confidential -
Debug Methods
• Method 1: (From the Workbook)
– Start TDE
– Restore tool state
– Set breakpoints in Flow and/or Test procedure
– Set enable words and run options via MiniFlow
– Blue run button to start the test program
• Method 2: (from Flow Table)
– Put breakpoint on Flow Table
– Press Run Options button and select enables, run mode
– Press blue run button
– Maximize TDE
• Method 3: (from a Test Procedure)
– Press triple dot button on a procedure
– Put breakpoints in the test procedure in PDE
– Press blue run button
• Method 4: (from VBA)
– Set breakpoints in VBA code
– Go to Data Tool and press blue button

Module 9 - 4

- confidential -
Fundamentals
• IDE (Integrated Development Environment) is
the basic model:
– Dockable tools
– Resizable windows
– User preferences (Toolsets)
• Not all tools needed all the time
– Unused tools will be minimized
• Build Toolsets for defining different setups
– Create up to 4 Toolsets for specific device applications
– Displays can be selected based on type of device or tests

Module 9 - 5

- confidential -
Invoking TDE

TDE Window Display

From the IGXL


menu select This will bring up the
Test Debug TDE window
Environment or
click on the
TDE Icon

Module 9 - 6

- confidential -
TDE Tools & Instruments
• Source tools

• Debug displays

Module 9 - 7

- confidential -
Sample TDE Tools Setup

Mini Flow
displays the
enabled tests
defined in the
flow table.

Debug displays
can be selected
from the
Instruments menu
for immediate
mode execution. Module 9 - 8
- confidential -
File Menu

Close tools
sequentially starting
with the last one that
was opened, Print
Miniflow, Export
Flow or Exit TDE

Module 9 - 9

- confidential -
TDE Menu

From the TDE


menu you can The Toolbar menu will
select: change when you click on
Tools a certain display
Instruments
Other options

Module 9 - 10

- confidential -
TDE Tools Menu

A list of Tools will


be displayed. Click
on the tool to be
Select the Tools displayed See
menu form TDE to appendix for a
display the brief explanation
available Tools of the Tools
available.

Module 9 - 11

- confidential -
MiniFlow
Debug Run Functions:
RUN
Halt
Break
Step In
Step Over
Step Out
Loop on/off

Once in Miniflow you can


set breakpoints, use the
step functions and debug
your program.

When you select MiniFlow from the


Tools menu, TDE will add the
enabled tests in the Flow Table to the
Display. The TDE Tool Bar menu
will change as well.

Module 9 - 12

- confidential -
Using the
Debug Functions
Debug
Options: You
can set a
breakpoint,
Run to Break
and step
through the
prebody, body
and post body
of a test.

From the Tools


menu you can
display the
Results window
and observe test
results while
stepping through
the program.
Failures will be
displayed in Red

Module 9 - 13

- confidential -
Show Result

Click on a test
name, right
click to Show
Results for that
test

Module 9 - 14

- confidential -
Debug Functions
Step Out
As you
Function
continue to
step into the
program TDE
will
automatically
step into
Visual Basic
for Test. Use
the Step Out
function to
return to
TDE.

Module 9 - 15

- confidential -
Debug Displays Menu

A list of Instruments for


debug can be selected
from the TDE Tools
Menu.

Module 9 - 16

- confidential -
DCVI Debug Display
The DCVI Debug
Display is an
interactive tool that
shows the state of a
selected channel
connected to a
device pin.

The display is
used in To begin debugging
conjunction with select a pin and site
Debug Run to display parameters
options, break,
step, step over. and make changes .

Module 9 - 17

- confidential -
Instrument Summary Display
Debug displays
typically show a
great deal of
information about a
single pin, arranged
in a schematic
diagram. At times,
you may want to
display a smaller
amount of
information about
all available pins, to
compare pins in a
single view. Summary Display

Module 9 - 18

- confidential -
Debug Menu

Use the Debug menu to set


breakpoints, use the step
functions and run the
program. Or, Use the
Debug/Run buttons
to debug

Module 9 - 19

- confidential -
Window Functions

The Window functions can


be used to manipulate and
customize your window
setup.

Module 9 - 20

- confidential -
Toolsets

Select ToolSets
from the TDE drop
down menu.

Module 9 - 21

- confidential -
Toolsets
Define up to 4
ToolSets and select
the Toolset to be
displayed when
selecting TDE.
Toolsets will be
saved under IG-XL
and will have a file
named that matches
the user logged in.
It is system
dependent.

Module 9 - 22

- confidential -
Selecting Toolsets

Select a Toolset,
that was previously
defined and saved,
from the drop-down
list.

Module 9 - 23

- confidential -
Help Menu

Use on-line Help to learn


more about TDE.

Module 9 - 24

- confidential -
TDE
Appendix

Rev0343
- confidential -
TDE Tool Examples
Tools will be covered in more detail later in the
class

Rev0343
- confidential -
Debugging PDE
PDE is used in TDE
during Debug when
using the step function
to step into the test
procedure.

Each time the


Step Function
is clicked the
next Test
element is
executed.

Variables will be
updated with
valid data as
you step
through the
program.

Module 9 - 27

- confidential -
Wave Designer
Use Wave
Designer to
select and
create
primitive
waveforms

Wave
Scope will
display the
selected
waveform

Module 9 - 28

- confidential -
Wave Scope

The Wave Scope tool is


used to look at waveform
data. It currently supports
displaying waveform
primitive, user defined
waveforms, text files and
IMAGE .wav files.

Module 9 - 29

- confidential -
Mixed Signal Workshop
The Mixed Signal
Workshop Tool is
used to create a
timing context and
build coherency for
Mixed Signal
Testing.

The instruments
can be selected
from the MSW
Menu and
options change
depending on
user input.

Each instrument in the


context is represented, as
well as their frequency
relation through the DUT.

Module 9 - 30

- confidential -
Pattern Tool
Select Pattern Tool from the TDE
Tools Menu to display Digital
Pattern Tool is
Pattern Files
used to debug
and edit
digital
patterns. You
can display
symbolic,
waveform or
HRAM mode.

Module 9 - 31

- confidential -
Pattern Control Display
Select Pattern Control
Display from the TDE
Tools Menu to load and
manipulate pattern files

Module 9 - 32

- confidential -
Instrument Display Examples
Debug displays will be covered in more detail later
in the class.

Rev0343
- confidential -
DCDiffMeter
The DC Differential
Debug Display is an
interactive tool that
shows the state of the
DC Differential Meter
Instrument.

Module 9 - 34

- confidential -
DC Time Debug Display

The DC Time Debug Display


is an interactive tool that
shows the state of the DC
Time Instrument in real time.
Most of the parameters are
interactive.

Module 9 - 35

- confidential -
HSD Channel Debug Display
This display lets you view
and change the tester’s
format and timing values
and the pin electronics
values for all digital
channels.

To display the values, first


specify the channel (pin plus
site) and the time set (if
needed) whose values you
want. When you change the
channel or time set, the new
information is immediately
displayed.

Module 9 - 36

- confidential -
PPMU Debug Display

This display lets you view


and change the tester’s
ppmu settings.

Module 9 - 37

- confidential -
Board Displays
Board displays will be covered in more detail later
in the class.

Rev0343
- confidential -
DC30 Board Display

The DC30 board display is a


read only, board specific,
display allowing access to
board wide connections.

Module 9 - 39

- confidential -
DC75 Board Display

The DC75 board display


is a read only, board
specific, display allowing
access to board wide
connections.

Module 9 - 40

- confidential -
DC Instruments
Hardware

Rev0343
- confidential -
Objective

• The goal of this section is to introduce the DC


instruments (DC30, DC75) with an emphasis on V/I
channels and differential meters. How to program the
VI channels and use the Power supply template to
build a Vcc test.

Module 10 - 2

- confidential -
DC30 Per-Pin Resources

• Per-Pin Power Resource ( DC30 )


• 20 Channel V/Is and 20 Meters
• Broad-based DC for Power and Portable Apps
– Device Power Supply
– Functional DC source and measurement
– Automotive, Printer Peripherals,
• Kelvin instrument (HF, HS, LF, LS) LF = ground, LS =
DGS
• 4 quadrant instrument
• Ground referenced

Module 10 - 3

- confidential -
DC75 Per-Pin Resources

• Per-Pin Power Resource ( DC75)


• 4 Channel V/Is and 4 Meters
• Broad-based DC for Power and Portable Apps
– Device Power Supply
– Functional DC source and measurement
– Automotive, Printer Peripherals,
• Kelvin instrument (HF, HS, LF, LS) LF = ground, LS =
DGS
• 4 quadrant instrument
• Ground referenced

Module 10 - 4

- confidential -
DC90 Per-Pin Resources

• Per-Pin High Power Resource ( DC90)


• 4 V/Is and 4 meters (each meter is differential)
• Broad-based DC for Power Applications
– Functional DC source and measurement
– Automotive, Printer Peripherals, Hi Power Apps
• Kelvin Instrument (HF, HS, LF, LS)
• 4 quadrant instrument
• Floating supply

Module 10 - 5

- confidential -
DC Instrument Ranges Summary
Will concentrate on
DC30
DC Instruments Quantity Description

DC-30 Low Power 20 channels ±30 V, @ +/-100 mA


per board ±10 V, @ +/-200 mA

DC-75 Medium Power 4 channels ±75 V @ +/-200mA


per board ±15V @ +/-1A
±6V @ +/-2A

DC-90 High Power 4 channels 25V @ 10A pulsed, 2A DC


per board 50V @ 10A pulsed, 400mA DC
90V @ 2A pulsed, 200mA DC
180V @ 500 mA pulsed, 200mA DC
(When Stacked)

Module 10 - 6

- confidential -
DC30 Instrument Board

2 DC Time
Instruments per
Each DC30 has board
its own Pattern
generator
2 DC Time

2 - 16 Bit
Differential meters
per board

20 V/Is with one


Meter per Channel
Module 10 - 7

- confidential -
DC30 Block Diagram
10 VI channels are DC30 Board
High Performance Path
directly supported by DCTime 1
1 DCTime Instrument
Diff VM 1
and 1 Diff Meter
DIB Access
V/ISource
Source
V/I
V/I Source
V/I Source
V/I Source
Voltmeter/Ammeter
2 VI channels share a V/I Source
Voltmeter/Ammeter
V/I Source
Voltmeter/Ammeter
DC30
V/I Source
Voltmeter/Ammeter
DIB Access line V/I
V/I Source
Voltmeter/Ammeter
Source
Voltmeter/Ammeter 10 Channels
Voltmeter/Ammeter
Voltmeter/Ammeter
Voltmeter/Ammeter
Voltmeter/Ammeter

Patgen
DIB
The Pattern
Generator can initiate DIB Access
V/ISource
Source
a source or capture V/I
V/I Source
V/I Source
V/I Source
Voltmeter/Ammeter
V/I Source
Voltmeter/Ammeter
V/I Source
Voltmeter/Ammeter
DC30
V/I Source
Voltmeter/Ammeter
V/I Source
Voltmeter/Ammeter
V/I Source
Voltmeter/Ammeter 10 Channels
The Diff Meter and Voltmeter/Ammeter
Voltmeter/Ammeter
Voltmeter/Ammeter
DCTime connect to Voltmeter/Ammeter
the sense lines of the
channels, and the Diff VM 2
DCTime can also
DCTime 2
connect directly to the High Performance Path
DUT through a High
Bandwidth line Module 10 - 8

- confidential -
DCVI Architecture
Functional Waveform
source and measurement
Capability
DC30 Channel
Each supply has 2.5K-
sample source memory
F
Each meter has 512- 2.5K V D
PSET
sample capture memory Src Source S
U
Mem
Mem
I T

4 DGS (Device
DGS
4:1
DIB
Ground Sense) lines
per board 512 Samples
Cap Voltmeter/Ammeter
Mem

Hi

Captures can be initiated


Lo
from TCIO, Pattern or
asynchronously from
the DUT
to Diff Meter to DCTime
Module 10 - 9

- confidential -
DC 30 Power and Compliance
10V Compliance I
30V Compliance 200mA
100mA

-30V -10V 10V 30V


-100mA
-200mA

• Four quadrant (source or sink current at positive or negative


voltage)
• Ground-referenced (channel does not float)

Module 10 - 10

- confidential -
DCVI Multi Channels
DC30 Channel
DIB
VI channels can be 2.5K V F
PSET Source
programmed for Src S
Mem I
parallel source and Mem
capture DGS
4:1
512 Samples
Cap
Mem Voltmeter/Ammeter DUT
Hi

2 VI channels can Lo
be merged to supply
double the current
to a device pin(s). DC30 Channel
Only the sense line 2.5K V F
PSET Source
of the primary Src S
Mem
Mem
I DUT
channel would be
connected out to the DGS
4:1
DUT. 512 Samples
Cap
Voltmeter/Ammeter
DUT
Mem
With 4 DGS (Device Hi
Ground Sense) DUT
Lo
lines 1 DC30 can
support 4 sites
Module 10 - 11

- confidential -
Merging Channels Connections
VCC

F S

F S
DC30 DUT
#1
DC30
#2
GND

• Channels that can be merged are pre-assigned into


groups of two (channel 1 and 2, 3 and 4, …)
• Merged channels are defined in the channel map
• Merged channels cannot be unmerged during the job
• Merged channels must be wired together on the DIB
– Only the force line of the second channel connects out to the DIB

Module 10 - 12

- confidential -
Merging Channels

• Merge Channels:Reconfigure the V/I in order to current-merge


two channels to provide up to 400mA of output current
• The compliance ranges are designed to be 4-quadrant,
meaning that the instrument can source or sink current at either
positive or negative voltage.

Module 10 - 13

- confidential -
DCVI Modes of Operation

• The DC V/Is have four modes of operation:


– Force Voltage
– Force Current
– High Impedance (HiZ)
• Allows the VI to switch to high output impedance and follow the DUT
voltage
– Force High Regulation Voltage
• High Regulation mode is used on a DUT power pin that requires that
the voltage level be maintained during current transients. Voltage
regulation is improved by reducing the output impedance of the V/I
channel while maintaining stability of the control loop.

Module 10 - 14

- confidential -
DCVI Debug Display

The Debug Display is


used as an interactive
tool when debugging
a test program.

When the meter is


measuring current the
meter will connect to
the force line across a
precision resistor.

Module 10 - 15

- confidential -
DCVI Debug Display

When the meter is


measuring voltage
the meter will
connect to the
sense line.

Module 10 - 16

- confidential -
DC30 Connection Display

The DC30 Connection


Display is a read only
display for
determining DIB
connections.

Module 10 - 17

- confidential -
DC Diff VM Architecture
Voltage metering
Meter with 512 capture ranges:.5v, 1v, 2v,
samples 5v, 10v, 20v and 30v
Programmable Bandwidth
Three ranges are
Voltage available 500hz, 10khz,
measurements and Bypass
5v differential,
+/- 30v Dual threshold
common mode comparator
Asynchronous trigger

From 1 or 2
VI Channel
sense line(s)

DGS

Module 10 - 18

- confidential -
DC30
Appendix

Rev0343
- confidential -
Forcing and Metering Ranges
• Each DCVI has ranges for both metering and forcing
voltage and current.
• Ranges are provided to increase measurement accuracy.
Ranges can be set manually or the software can choose
the best range using auto ranging.

• Voltage Forcing Current Forcing


– 0.5 V 20uA
– 1V 200uA
– 2V 2mA
– 5V 20mA
– 10 V 200mA
– 20 V
– 30 V

Module 10 - 20

- confidential -
Programmable Bandwidth

• Programmable bandwidth control is provided in four


ranges:

• This provides you with faster bandwidth settings


when load conditions are such that the control loop
remains over-damped (that is no overshoot) at the
higher bandwidth. The recommended bandwidth
setting depends on the programmed current range
the load resistance, inductance, and capacitance.

Module 10 - 21

- confidential -
Waveform Source/Capture
Can be programmed as an Arbitrary Waveform Generator
Source Memory
• Used to create waveforms
– Sine waves
– Ramps
– Etc.
• 2.5K Samples of Source Memory available
• Selectable Metering filters

• Can also capture up to 512 samples up to 100kHz

Module 10 - 22

- confidential -
DIB Pinout Reference

• Each device pin can connect to: a dedicated V/I and voltmeter
– one of two shared differential voltmeters
– one of two shared differential time instruments
– two of four internal digital triggers(through the Time Measure Front End)
• Each DIB Access pin can connect to:
– two device pins
– the outputs of the time measure front-ends for digital edge-finds

Module 10 - 23

- confidential -
DC 75

Rev0343
- confidential -
DC75 Per-Pin Resources
• 4 Channel V/I with Meter per Channel
• Broad-based DC for Power and Portable Apps
– Device Power Supply
– Functional DC source and measurement
– Automotive, Printer Peripherals,
• Kelvin instrument (HF, HS, LF, LS)
• 4 quadrant instrument (Source or Sink Current)
• There is an A and B Mux for each channel for a total of 8 connections to
device pins
– Note: User should not have an A and B side connected to a DUT at the same time, DIB design
considerations
• Supports from 1 to 4 sites as a result of 4 DGS(device ground sense) lines
– Up to 4 simultaneous voltage or current measurements per board
– Up to 2 simultaneous differential measurements per board
– Up to 2 simultaneous time measurements per board
• 2 DCVI channels can be merged to provide double the output current

Module 10 - 25

- confidential -
DC75 Instrument Board

On board 2 DCTime instruments


pattern generator per board

DCTime

2 DC Diff
Meters per
board

4 channels
per board
Each channel
has a 1:2 muxed
Output (A B mux) Module 10 - 26

- confidential -
D75 Block Diagram
2 VI channels are
directly supported by High BW Path
DCTime 1
1 DCTime Instrument
Diff VM 1
and 1 Diff Meter
DIB Access

Each channel has an


A/B Mux and each V/I Source
V/I Source DC75
Mux has a DIB 2 Channels
Access line Voltmeter/Ammeter
Voltmeter/Ammeter

The Pattern Patgen


DIB
Generator can initiate
a source or capture DIB Access
instrument
V/I Source
V/I Source DC75
The Diff Meter and 2 Channels
Voltmeter/Ammeter
Voltmeter/Ammeter
DCTime connect to
the sense lines of the
channels, and the Diff VM 2
DCTime can also
DCTime 2 High BW Path
connect directly to the
DUT through a High
Bandwidth line Module 10 - 27

- confidential -
DC75 V/I Architecture
DC75 Channel
Source
Memory
Src V A side output D
PSET D
Mem
2.5K
Mem UU
I
B side output TT
DGS
4:1
1 DGS per
V/I to Cap
support 4 Mem Voltmeter/Ammeter
512 samples
sites

Capture Each
Memory Channel has
an A/B Mux
Module 10 - 28

- confidential -
Compare DC30 vs. DC75

DCTime Instruments

Module 10 - 29

- confidential -
Compare DC30 and DC75
Attribute DC30 DC75

Max current output 200mA @ 10V 2A @6V


100mA @ 30V 1A @15V
200mA @75V
Merging 400mA @10V 4A @6V
200mA @30V 2A @15V
400mA @75V

Simultaneous V/I 20 4
measurements
Number of 1 Sense 1 Sense
Sense/Force lines 1 Force 3 Force
Muxed Outputs N/A 1:2

Module 10 - 30

- confidential -
DC75 Compliance Ranges
6V & 2 A Amps
2.5
15V & 1 A

75V & 200 mA


1.5

Volts

-80 -60 -40 -20 20 40 60 80

-1.5

-2.5

Module 10 - 31

- confidential -
Merging Channels Connections
VCC

F S

F S
DC75 DUT
#1
DC75
#2
GND

• Channels that can be merged are pre-assigned into groups of


two (channel 1 and 2, 3 and 4)
• Merged channels are defined in the channel map
• Merged channels cannot be unmerged during job
• Merged channels must be wired together on the DIB

Module 10 - 32

- confidential -
DC75 Merged Output Ranges
6V & 4 A Amps
5.0
15V & 2 A

75V & 400 mA


3.0

Volts

-80 -60 -40 -20 20 40 60 80

-3.0

-5.0

Module 10 - 33

- confidential -
DC75 Mux
• The DC75 supports internal muxed channels
– More connections to resources without taking up DIB space and without
additional resources.
– Muxed channels are selected by entering the channel DIB address for the
mux that you wish to connect to.

Module 10 - 34

- confidential -
DC75 Mux Example

• The Channel Map pinout will determine which Pin


uses which mux resource.
– For example Pin01 and Pin02 Share V/I channel 1
• Pin01 (1.a2) is the A side and
• Pin02 (1.d2) is the B side.

Module 10 - 35

- confidential -
DC 75
Appendix

Rev0343
- confidential -
Differential Meter

• Diff Meter 1 connects to channels 1 and 2


• Diff Meter 2 connects to channels 3 and 4
• Diff Meter 1 and Diff Meter 2 can be used in parallel as long as they are connecting to the
channels on there own sub buses
• Diff Meter 1 and Diff Meter 2 have to be used in serial if the user requires a differential
measurements between channels not assigned to the same Diff meter
– For example if the user wants to take a differential measurement between channels 1 and 3 only
one of the diff meters can take a measurement
• To connect a channel to the diff meter a channel map entry is required
– The channel name is entered into the channel map with the channel type DCDiff
– Through software the user assigns the high side or low side inputs of the Differential meter to
channels defined with the DCDiff channel type
Module 10 - 37

- confidential -
DC75 DIB Pin out
Reference

• Each DC75 channel has a A side output and a B side output


• To use the output enter the name of a pin and the correct dib address for the sense line of
the output on the channel map
• In the program the active channel output will be determined by the name of the pin being
programmed
• For Example if I named a pin “A” in the pinmap and channel map and then entered the DIB
address for channel 1AS. When ever I programmed pin “A” the a side of the mux would be
active
• Note: only one side of the mux should be active at any time
Module 10 - 38

- confidential -
DC75 DIB Pin out Reference
• Each DC75 Channel has three force lines, one sense line and one
guard line for each side of the output mux
• Note: When using DC75 all three force lines must be connected to the device pin
• Each device pin can connect to: a dedicated V/I and voltmeter
– one of two shared differential voltmeters
– one of two shared differential time measure units
– two of four internal digital triggers (through the Time Measure Front End)
• Each channel has a DIB Access pin which is shared between the
muxed outputs
– the outputs of the time measure front-ends for digital edge-finds connects through DIB
Access

Module 10 - 39

- confidential -
DC75 Board Display

Module 10 - 40

- confidential -
DC30 to DC75 Compatibility

Using Same
DIB
.a1 .a2 .a3 .a4 .a5 .a6 .a1 .a2 .a3 .a4 .a5 .a6

1F 2F 1F 2F
Shift to DC-75
1s 2S 1s 2S

DC30 DC75
Note: Only one Force Line!!

Module 10 - 41

- confidential -
DC30 to DC75 Compatibility

Rows DC-75 Col A DC-30 Col A


1 ch1aF ch1F
2 ch1aS ch1S
3 ch1aF ch17F
4 ch1aF ch17S
5 ch2aF ch2F
6 ch2aS ch2S

Note: Two of the DC-75 Force lines NOT USED!!

Module 10 - 42

- confidential -
Power Supply Template
Using the Power Supply Template

Rev0343
- confidential -
Power Supply Test Template
Primary purpose is to carry-out idd tests(static, dynamic..etc).
– DCVI is used to drive the power pins of the device to the
correct voltage levels.
– Patterns are loaded into the template, and they are used to set
the device into its various test states.
– Pattern generator is used to exercise the device continuously.
Then a voltage is applied to the power pin(s) and the average
resultant Icc is measured.
– Current measurements are taken after the device has settled
into the stable state.

Module 10 - 44

- confidential -
Power Supply Test Template
Test Steps:
1. Pattern stimulus should condition the input pins of the device.
2. Functional vectors can be held with an infinite loop.
3. Program the DCVI to the appropriate force value
4. Program a minimum settling time (1ms or less). May be
required to charge the bypass caps.
5. The measurement is compared to specified high and low pass
limits.
6. Stop the pattern generator.

Module 10 - 45

- confidential -
Power Supply Template General Algorithm

PreBody:
Two types of test preparations are performed:

1. If there are functional initialization patterns, apply the


specified tester setup to the tester hardware. In addition,
program the digital pin start states, and set the initial
driver states.

2. Prepare the DCVI. Declare the measurement type,


determine the number of measurements to average per
test, and save the current range for later restoration.

Module 10 - 46

- confidential -
Power Supply Template General Algorithm

Body:
1. Send test limits to the DCVI
2. Run a preconditioning pattern, if needed
3. Disconnect specified float pins from the DUT, if needed
4. Run a condition-holding pattern, if needed
5. Send the force value to the DCVI
6. The DCVI makes the required measurement
7. After the measurement, if a condition-holding pattern is
running, halt it
8. If needed, reconnect specified float pins from the DUT
9. Run the end-of-body interpose function

Module 10 - 47

- confidential -
Power Supply Template General Algorithm

PostBody:
1. Clear the registered interpose function names
2. Return the drivers to the default start/init state
3. If any patterns caused execution problems, report them
to the error handling system
4. Reset the current ranges for the DCVI at each site

Module 10 - 48

- confidential -
Power Supply Template
1 1 The Power Supply test template
takes a list of test conditions
and test limits, and performs
a parametric test upon the
2 specified Power Supply pin
or pin group.
3
2 The DCVI instrument
determines pass/fail
results by comparing the
measurements made
to the test-limits provided.

3 The template includes a means


for exercising and conditioning
the DUT with vector patterns
before and during the test
measurement.
Module 10 - 49

- confidential -
Power Supply Instance Editor
Hi Limit String
designating Pinlist – String naming
upper-bound pins/groups to be tested.
test limit The order of the pins in
The list determines the
order in which the pins
Lo Limit String will be tested.
designating
lower-bound
test limit

Module 10 - 50

- confidential -
Specific Parameters
Template specific parameters:
• MainForceCond, AltForceCond, or MainOrAlt, MainForceCond
and AltForceCond specify the main and alternate force values to
be applied to the power supply pin MainOrAlt specifies which
value is to be used
• The ability to specify an alternate force condition can be useful
during debugging Main (default)
• Irange, Smart range, Auto range
Irange settings - 50uA / 500uA / 10mA / 100mA / 200mA

Smart range - uses the high and low limits to determine the best range

Auto range - makes a number of measurements in order to determine


the best range.

Module 10 - 51

- confidential -
Power Supply Template
SettlingTime The length of the delay before
measurement, to allow the force value to
settle and stabilize. The delay is
measured from the time the pin DCVI is
gated on to the time the measurement is
taken, that is, to the start of the analog-to-
digital conversion.
Samples Specifies the number of samples to be
averaged.
SamplingTime Specifies the amount of time during which
the DCVI is to acquire measurement
samples. If this value is specified, the
number of samples equals the
SamplingTime value divided by the system
conversion time. In this way, the sampling
can be independent of conversion speed.
If specified, pre-empts any Samples value.

Module 10 - 52

- confidential -
Levels & Timing Parameters
1 TimeSet - String naming
Time Sets Sheet to use
with this test

2 Edgeset - String naming


Edgeset Sheet to use with
this test (Not used with Time
Sets Basic sheet)
1
2
3 Levels - String naming DC 3
Levels Sheet to use with
this test

Module 10 - 53

- confidential -
Levels & Timing Parameters
AC Selectors - String naming
1 AC Selector from the AC Spec
Sheet to use with this test

AC Category - String naming


2 AC Category from the AC Spec
Sheet to use with this test
1
2
3 DC Selector - String naming DC
4 3 Selector from the DC Spec
Sheet to use with this test

DC Category - String naming


4 DC Category from the DC Spec
sheet to use with this test

Module 10 - 54

- confidential -
Template Pattern Menu
1 PrecondPat: Executes a list of
one or more patterns before
testing begins, Patterns to be
run for DUT functionality
preconditioning

2 HoldStatePat: Pattern to be
executed for DUT functionality 1
dynamic conditioning 2
3
3 WaitFlags: HoldStatePat flag
conditions (cpuD through A)
before measurement

Module 10 - 55

- confidential -
Template Pattern Menu
1 Start Label: Stop Label: Vector
labels where PrecondPat execution
is to start or stop

2 Start Label: Stop Label: Vector


labels where HoldStatePat
execution is to start or stop

3 Resume pattern: resume 1


HoldStatePat execution
after measurement
2
3
4 Wait Time: Timeout period
for HoldStatePat execution
4

Module 10 - 56

- confidential -
Pin Options Tab
1 Pin Tab

2 Start/Init Lo: List pin names for


which the driver is initially set at
VDriveLo as specified by the Levels
Sheet at power on.
1
3 Start/Init HI: List pin names for
which the driver is set at VDriveHi 2
as specified by the Levels Sheet at 3
power on. 4
5
4 Start/Init Z: List pin names for
which the driver is initially off
(high-impedance) at power on.

5 FloatPins: Functional and DC


connection relays are set open.

Module 10 - 57

- confidential -
Interpose Functions

At certain defined points, the test templates


can execute a user-written function, called an
interpose function.
They let you modify the behavior of a
template without modifying the code.
Most customization needs can be satisfied
with the use of interpose functions.
Module 10 - 58

- confidential -
Conditional Setups

•Makes possible multiple device conditioning


setups within a single hold-state pattern.
•Selecting “Pattern/Flag-multiple test” causes
additional controls to appear: an Index
control, as well as Add and Delete buttons.
• Each index number identifies a device
conditioning setup, which consists of the
HiLimit and LoLimit arguments and the
SettlingTime argument.
• Appears as a single test on the Flow Table

Module 10 - 59

- confidential -
Test Control

Operation during icc measurement:


1. During execution of the hold-state pattern, when the flag
conditions are first met, the test uses the values in the first
setup (index 0), and makes a pass/fail determination.
2. The flags are then reversed, and the pattern execution
continues until the flag conditions are met a second time.
3. At that point, the test uses the values in the second setup
(index 1). The process continues to progress in this way.

Module 10 - 60

- confidential -
Introduction to Digital
Instruments

Rev0343
- confidential -
Objective

• The goal of this session is to learn some


of the features of the HSD 200 digital
instrument and how the different parts of
the instrument function.

Module 11 - 2

- confidential -
Digital Features-Per Board Resources
• HSD 200
– 48 Single-Ended channels or 24 Differential channels (future release)
– 100Hz to 200Mhz data rate per channel
– Digital Waveform Source and Capture (DSSC)
• 6 Digital Sources
• 6 Digital Captures
– Driver/Detector levels (–1V to +6V)
– Small-Swing Driver levels (50mV to 500mV)
– High-Voltage Channel:
• 2 Channels per board (6 and 18)
• 0 to 20 volts
• 3 states: Drive Lo, Drive Hi, and Drive High-V
– Each channel has a:
• PPMU
• Programmable load circuit for sourcing and sinking current
– 4 digital channels share 1 DIB Access line
• Used for connecting multiple instruments to device pins
Module 11 - 3

- confidential -
HSD 200 Block Diagram
IOL
Patterns LVM
VT
Load
Opcodes Driver circuit
SVM
IOH

Alternate Data
Source Select
VIH
DSSC
Pogo

Data Bus
Alternate
BACKPLANE

VIL
MTO
SCAN Detector
PATGEN
Voh PPMU

History Vol
RAM Voh
PPMU
Vol
In general an HSD 200
Driver
instrument consists of:
VIH
A Patgen Pogo
Memory VIL
Alternate data bus IOL

Drivers & Detectors Load


VT circuit
Load circuit & ppmu IOH
History Ram Module 11 - 4

- confidential -
Digital Channels
Driver (3-Level) Active Load
Range: -1V to +6 Range: +/- 50mA
Resolution : 1mV ODD_IOL Resolution : 1mA
Min Pulse Width: 1.6 ns For Vt Range: -0.5V to 5.5V
ODD_Vt ODD_CLMPH
1 v swing 2.2 ns for 3 v
swing ODD_LOAD_EN
Over Voltage
ODD_IOH ODD_CLMPL Alarm

ODD Channel Pogo


DIB Access
4-to-1
Voh 5Mhz Bandwidth
ODD_PASS PPMU POGO - DIB ACCESS
Vol
Voh
To other channel To other channel
EVEN_PASS
Vol

Over Voltage
Alarm
EVEN Channel Pogo
EVEN_CLMPH
EVEN_IOL
Comparator
Range: -1V to +6V EVEN_Vtt EVEN_CLMPL
Resolution : 1mV
EVEN_LOAD_EN PPMU Channel Loading
Min Pulse Width: 1 ns EVEN_IOH 1.5ns to 2.5ns 50ohm transmission
Bandwidth: 600+MHz
line to pogo pin

Module 11 - 5

- confidential -
Digital Overview
• A Digital Channel performs functional testing by driving input
levels for DUT input pins and receiving output levels from DUT
output pins.
• A Digital Channel consists of:
– Pin Electronics (consists of driver, detector, load circuit)
– Waveform Formatter (signals to control drive and compare levels for PE)
– Fail Processing (accept signals from comparators for result determination)
– HRAM (captures data from pattern cycles)
– Vector Memory (drive/detect data with timing information)

Large Vector Drive Hi/Lo


Pat Gen Memory timeset Waveform Drive On/Off Pin
(1/Board) (64M Max) + data Formatter Compare On/Off Electronics

expect data
Pass/Fail high
Fail
vector
HRAM Processing low
results
DIGITAL CHANNEL- 1/n
Module 11 - 6

- confidential -
Waveform Formatter
• Data from Vector memory is clocked by the pattern generator and sent
to the Waveform formatter with timing and edge values.
• The formatter drives the data to the pin electronics as Hi or Lo data
and defines if the Compare data is relevant.
• Return formats determines the vector data outside of the drive edges.

Drive Hi/Lo
Vector
Pat Gen timeset Waveform Drive On/Off Pin
Memory
(1/Board) + data Formatter Compare On/Off Electronics
(64M Max)

expect data
Pass/Fail high
Fail
vector
HRAM Processing low
results
DIGITAL CHANNEL- 1/n
Module 11 - 7

- confidential -
Fail Processing
When the vector data indicates that this channel is in the receive
mode.
– One or both of the comparators are enabled for a period of time
– The Fail Processor compares the signals from the comparators to expect
data (from the vector data).
– A Pass/Fail signal is sent to the PatGen for pattern control.
– The vector results are stored in HRAM when triggered.

period
From DUT
Hi Compare
Vector On/Off
Pat Gen timeset Waveform
Memory
(1/Board) + data Formatter Lo
(64M Max)
Compare
On/Off
expect data
Pass/Fail
vector Fail high
HRAM results Processing
low

Module 11 - 8

- confidential -
HRAM – (History RAM)
• Captures data about Pass/Fail Programmed Actual

pattern cycles while the 0 P H H

pattern is executing. 1 F H M

• Captures data for a


maximum of 256 cycles of
data in single mode.
• Captured data is used by
– Datalogging
– Debug Tools
255
• More details about HRAM
in the Patterns Module.

Module 11 - 9

- confidential -
Pattern Execution

• Pattern Execution is handled by the PatGen and


Vector Memory blocks of the Digital Channels.
• Pattern Execution will be discussed later.

Drive Hi/Lo
Vector
Pat Gen timeset Waveform Drive On/Off Pin
Memory
(1/Board) + data Formatter Compare On/Off Electronics
(64M Max)

expect data
Pass/Fail high
Fail
vector
HRAM Processing low
results
DIGITAL CHANNEL- 1/n

Module 11 - 10

- confidential -
Appendix

Rev0343
- confidential -
Digital Formats and Edges
Edges
per Data Edge Formats per Pin
Mode Speed Formats Cycle Masking on the Fly SVM LVM Tsets Edgesets
D0, D1,
Single 50MHz C, R, NR D2, D3, Yes 8 1k 64M 127 32
R0, R1
D0, D1,
Dual 100MHz C, R, NR D2, D3, Yes 8 1k 128M 127 32
R0
D0, D1,
Quad 200MHz R, NR D2, Detect Yes 4 1k 256M 64 16
D3 or R0

3 modes of operation defined by:


• speed
• formats
• edge placement
• ram available
• timing edges
Module 11 - 12

- confidential -
Digital Timing (HSD200)
Preliminary
Timing
Specification Single Mode Dual Mode Quad Mode
Frequency Range 100Hz to 50MHz 100KHz to 100MHz 100KHz to 200MHz

Period range 10mS to 20ns 10µs to 10ns 10µs to 5ns


Period resolution 38as (10ns / 2^28)
Frequency Accuracy See system reference specification.

Timing Sets and Edge Sets


Mode Timing Sets Edge Sets
Single 127 32
Dual 127 32
Quad 64 16

ESSD Rev 1.2 Preliminary

Module 11 - 13

- confidential -
Primary Driver AC
Characteristics (HSD200)
Preliminary
Specification Min Max Units Notes

Impedance 50 ohms Typical

Waveform Fidelity

· Preshoot 10 % Delta V

· Overshoot/Undershoot After transition

· 1-15ns 10 % Delta V

· 15-5µs 0.5 % Delta V


+ 20 mV
Rise/Fall Time

· 1V Swing 600 ps 20-80% typical

· 3V Swing 1.50 ns 20-80% typical

· 5V Swing 2.00 ns 20-80% typical

Minimum Pulse Width

· 1V Swing 1.60 ns 50W load

· 3V Swing 2.20 ns 500W load

ESSD Rev 1.2 Preliminary

Module 11 - 14

- confidential -
Edge Characteristics
Preliminary
Specification Value
Clock Selection Edges are referenced to either the T0 or MCG clock.
Formats are limited to drive only formats when MCG
is selected.
Edge Range 0 ns to (3*period – 20ns) – Single Mode
0 ns to (6* period – 20ns) – Dual Mode
0 ns to (12* period – 20ns) – Quad Mode
Max. delay of: 10.24 µs
Edge Resolution 39.0625 ps, nominal

Edge Placement Accuracy

· D1, D2, R0 (edge mode) ± 250ps

· R0, R1 (window mode) ± 500ps

· D0 (complement edge) ± 250ps

· D0, D3 (HiZ, Terminate edges) ± 500ps

Overall Timing Accuracy ± 350ps (measured as per SEMI G80-0200)

ESSD Rev 1.2 Preliminary

Module 11 - 15

- confidential -
Small-Swing Driver AC
Characteristics
Preliminary

Specification Min Max Units Notes


Impedance 50 ohm Typical
Waveform Fidelity
· Preshoot 10 % Delta V
· Overshoot/Undershoot After transition
· 1-15ns 10 % Delta V
· 15-5µs 0.5 % Delta V
+2 mV
Rise/Fall Time
· 50mV Swing 600 ps 20-80% typical
· 100mV Swing 500 ps 20-80% typical
· 400mV Swing 600 ps 20-80% typical
Minimum Pulse Width 1.60 ns 50W load

ESSD Rev 1.2 Preliminary

Module 11 - 16

- confidential -
High-Voltage Driver DC
Characteristics
Preliminary
Specification Min Max Unit Notes
s
Vihh
Range 0 20 V
Resolution 78 mV Nominal
Accuracy -100 +10 mV
0
Current Limit
· Range 0 100 mA
· Resolution 0.5 mA
· Accuracy -5.0 5.0 mA
Current Sink Capability 2.5 mA

Slew Control
Vihh
2 HiVoltage Channels per board

POGO - N* CHAN

ESSD Rev 1.2 Preliminary

Module 11 - 17

- confidential -
Module 11 - 18

- confidential -
Parametric Tests

Rev0343
- confidential -
Objective

• The goal of this session it to learn what


continuity tests are and how to use the HSD 200
per pin measurement units to test for shorts,
opens and leakage on a device.

Module 12 - 2

- confidential -
DC Parametric Tests
Continuity: LOAD
MR VCC 0V
CURRENT
– Usually the first test Q0 Q3 0V

performed. 0V Q0 Q3 0V

– Verifies protection diodes 0V D0 D3 0V

on all inputs and outputs. 0V D1 D2 0V


PinPMU 0V Q1 Q2 0V
– Forces a small negative
0V Q1 Q2
current on all pins tested. 0V

GND CP
– Voltage on shorted pins
74LS175
will be negligible; voltage
on open pins will be high.
General test steps:
1. Set all power (VCC) and ground pins to 0V.
2. Set the PinPMU to force a small negative
current, in this case -100uA with clamp
voltage set by using the Vch and Vcl.
3. Test limits to a high of -100mVand a low of -
2.0V. A high limit failure indicates a short,
and a low limit failure indicates an open.

Module 12 - 3

- confidential -
Module 12 - 4

- confidential -
Input Leakage Testing

PinPMU +VCC=5v

PinPMU SUPPLY

0.800V -0.010uA

_ +
voltage Current

Force V = 0.8v (vil or voh)


Measure = -10ua
Module 12 - 5

- confidential -
Digital Instrument Used - PinPMU
ALARM
ALARM

Vih
FUNCTIONAL
DRIVER DUT
Vil Vcl
Voh Force
COMPARATOR Vch ForceIMeasure V
ForceVMeasure I
Vol
DYNAMIC range
ioh iol
LOAD
Measure
vt Meter
PinPMU
The Per Pin Measurement Unit
(PPMU) can force current while
measuring voltage or force
voltage while measuring current.
It is typically used for parametric
(shorts, opens and leakage).

Module 12 - 6

- confidential -
PPMU Template

Rev0343
- confidential -
Test Instance

Add a continuity and leakage test to the Instance sheet


Select IG-XL Template from the drop-down list.
Select PinPmu_T from the drop-down list
Click on the ellipsis button bring up the Template

Module 12 - 8

- confidential -
Blank Template

The Template is
used to create
continuity tests.
Boxes in pink are
required
parameters.
Typically you
add the device
pins, set a hi low
limit, force a
voltage and
measure a
current.

Module 12 - 9

- confidential -
PPMU Template Algorithm
PreBody:
Performs two types of test preparations:
– First, if there are functional conditioning patterns, apply the
specified tester setup to the tester hardware. In addition,
program the digital pin start states, and set the initial
driver states.
– Second, prepare the PPMU. If requested, set up functional
loading. Determine the number of test loops to be
performed (one or two), and the settling time.

Module 12 - 10

- confidential -
PPMU Template Algorithm
Body:
– Send test limits and relay connections to the PPMU
– Set up functional loading, if requested
– Run a test loop, once or twice, to perform the desired
testing upon the DUT.
– Each execution of the loop performs these actions:
• Run a preconditioning pattern, if needed
• Disconnect specified float pins from the DUT, if needed
• Run a condition-holding pattern, if needed
• Send force value and condition to the PPMU
• Make the required measurement with the PPMU
• After the loop, if a condition-holding pattern is running,
halt it

Module 12 - 11

- confidential -
PPMU Template Algorithm

PostBody:
– Reset the relay connections, and return the drivers to the
default start/init state.
– If any patterns caused execution problems, report them to
the error handling system.

Module 12 - 12

- confidential -
PPMU Pinlist
The Pin-PMU
test template Specify the pins
takes a list of you want to test.
pins, test
conditions, and
test limits, and
performs a
parametric test
upon the
specified
pins.

Module 12 - 13

- confidential -
PPMU Template

The PPMU instrument


determines pass/fail
results by comparing
the measurements
made to the test-limits
provided.

The template includes


a means for exercising
and conditioning the
DUT with vector
patterns before and
during the test
measurement.

Module 12 - 14

- confidential -
Force Conditions
ForceCond1:
1 Value is used during
execution of the first
test loop (required)

ForceCond2: Value is
2 used during execution 1
of the second test
loop (optional)
Note: If ForceCond2
is specified, the test 2
loop is executed a 3
second time.

3 MeasureMode: Determines
whether the ForceCond
values are voltage or current.
If MeasureMode is voltage,
the ForceCond values are
in Amps. If MeasureMode
is current, the ForceCond
values are in Volts.
Module 12 - 15

- confidential -
PPMU Parameters
Template specific parameters:
– Settling Time: The length of the delay before the
measurement, allows the force value to settle and stabilize.
– Delay Time: Measured from the time the pin PMU is gated
to the time the measurement is taken (start of the analog-to-
digital conversion)
– Irange: Range for the Pin PMU current force and
measurement.
• Measure current ranges are: 200nA / 2uA / 20uA / 200uA /
2mA
• Forcing current ranges are: 200uA 2mA
• Smart range: Uses the high and low limits to determine the best
range
• Auto range: Makes a number of measurements to determine
the best range.
Module 12 - 16

- confidential -
PPMU Parameters

Additional Template specific parameters:


– Fload: Whether to use functional loading of the pin
electronics.
• Yes - Use functional loading. See IGXL Help for detailed
description.
• No - Do not use functional loading.
– RelayMode: Operational Unpowered - Unpowered relay
signal path (cold-switching)
• Powered - Powered relay signal path (hot switching) See IG-XL
Help for detailed description.
• switching mode of the PPMU.

Module 12 - 17

- confidential -
PinPMU Levels & Timing

Specify the
levels and timing
you want to use.

Module 12 - 18

- confidential -
PinPMU Patterns

Specify a pattern
file you want to
use, if needed.

Module 12 - 19

- confidential -
Flow Table

Add tests to the Flow table that were previously


defined on the instance sheet.

Module 12 - 20

- confidential -
PPMU Debug Display

Module 12 - 21

- confidential -
Lab Exercise

„Create a Parametric Test

Module 12 - 22

- confidential -
Module 12 - 23

- confidential -
Appendix

Rev0343
- confidential -
Force/Measure Voltage Specs
Preliminary
Specification Min Max Units Notes

Voltage Range -2 +7 V

Voltage Forcing Accuracy

· Gain Error - 0.16 % of programmed


0.16 value

· Offset -14 14 mV

1 mV Nominal
· Resolution
(14bit)
Voltage Measuring Accuracy

- 0.43 % of measured
· Gain
0.43 value
· Offset -18 18 mV

1 mV Nominal
· Resolution
(14bit)

ESSD Rev 1.2 Preliminary

Module 12 - 25

- confidential -
Current Forcing Ranges
Preliminary
Specification Min Max Units Notes

PPMU Current Forcing Accuracy

2mA Range

of
· Gain Error -0.25 0.25 % programmed
value
· Offset Error 17 µA

Nominal
· Resolution 244 nA
(14bit)
200uA Range

of
· Gain -0.20 0.20 % programmed
Error value
· Offset Error 1.7 µA

· Resolution 24.4 nA Nominal


(14bit)

ESSD Rev 1.2 Preliminary

Module 12 - 26

- confidential -
Creating Timing Sheets

Rev0343
- confidential -
Objective

• The goal of this session is to learn timing


edges, formats, modes of operation, and
how to create timing sheets that will apply
the values created, to functionally test a
digital device.

Module 13 - 2

- confidential -
Timing Definitions
• Period Clock: T0
– A Period Clock, T0, is generated as the timing reference for all waveform
activity within the pattern file. T0 derives it’s timing from a 100MHz clock
reference on the support board.
– MCG Clock:
– MCG allows for a higher frequency clock channel(s) relative to data channels.
This clock channel is referred to as a MCG (Multi Clock Generator) channel
and has a value defined for clock per Period called CPP.
• Clocking Timing Domains
– Multiple independently programmable time domains are available. Channels
are assigned to domains in 48 channel increments (board boundaries).
– The period generation, timing and pattern execution are independent. Each
TG and PG on a given board are set to the same T0 rate. Each board may be
set to different T0 rates to create multiple clock domains.

Module 13 - 3

- confidential -
Timing Flow Diagram
Edgeset
Edgesets define Drive on = 2ns
the drive and Drive data = 7ns
compare data Drive return = 15ns
for the digital Drive off = 20ns
Timing
channels Detector on = 10ns
Generator
Detector off = 13ns

Pattern Pattern Timing Digital DUT


Generator Memory Formatting Channel

Start_label: Tset 1 00101010 XLHL Period PAT NR Voh = 2.8V


Vector

repeat Tset 2 10011110 LLLH


Microcodes

Period PAT RL Vol = 0.8V


loopA Tset 3 11011010 XHLX

Pin Levels
Period PAT SBH Vil = 0.4V
call_global Tset 4 01101001 HLXL
Vih = 3.5V
match
Ioh = -10ma
halt
Iol = 10ma
Timesets define the Vt = 1.2V
Pattern File timing and edges to
be used for the
digital channels

Module 13 - 4

- confidential -
Timing Modes
The FLEX has three user-selectable timing modes.
1. Single Mode (50MHz max): 3. Quad Mode (200MHz max)
– Minimum period = 20ns
– Minimum period = 5 ns
– 6 programmable edges per cycle
• drive: 4 edges – D0, D1, D2, D3
– 4 programmable edges per cycle

• compare: 2 edges – R0, R1.


• Drive: 3 edges – D0, D1, D2

• Compare: 1 edge compare


2. Dual Mode (100MHz max):
– Minimum period = 10ns – Either D3 or R0 (if previous cycle is
receive)become the compare edge
– 5 programmable edges per cycle
• drive: 3 edges – D0, D1, D2
• compare: 1 edge - (R0)
• D3 occurs in the receive cycle

Module 13 - 5

- confidential -
Digital Overview Review
• A Digital Channel consists of:
– Pin Electronics (PE)
– Waveform Formatter
– Fail Processing
– HRAM
– Vector Memory

Drive Hi/Lo
Vector
Pat Gen timeset Waveform Drive On/Off Digital
Memory
(1/Board) + data Formatter Compare On/Off Channel
(64M Max)

expect data
Pass/Fail high
Fail
vector
HRAM Processing low
results
DIGITAL CHANNEL- 1/n

Module 13 - 6

- confidential -
Waveform Formatter
The Waveform Formatter section Edge Generators
consists of (per channel): D0
– Timeset Memory
• Stores 127 timesets
Edgeset D1
• One timeset (TSet) = an edgeset Memory
memory address per test channel, Timeset
Timeset
Address
plus the cycle period value (T0) Memory D2

– Edgeset Memory
• Stores 32 edgesets D3
• One edgeset = timing and format for
the six edge generators
R0
– Six (6) Edge Generators
• Generate signals to control drive and Vector
compare circuits of the Digital Data R1
Channel

Module 13 - 7

- confidential -
Edge Generators
• Edge generators need two basic
parameters Edgeset EG Data
– Format (What to do) - Defines address D0
what each edge generator will
do, i.e. , Drive Hi, Drive Off, etc. D1
Edgeset
– Timing (When to do it) - Time Timeset
Memory
is relative to beginning of vector Address Timeset
D2
Memory
cycle (T0)
• An edgeset address and data
D3
from the current vector are used
to produce EG Data.
• This data, labeled here as EG R0
Data, is provided by the Edgeset
Vector
Memory block. Data R1

Module 13 - 8

- confidential -
Edgeset Memory
• Each digital channel has its own Edgeset Memory
• Thirty two (32) sets of edge data may be stored for each
channel
• Multiple edgesets provide multiple timing and format
possibilities for changing timing during pattern execution.

Edgeset Memory – Channel #n


0 1 … 31
D0 DriveOn@10ns DriveOn@0ns
D1 DriveData@20ns DriveData@12ns
D2 DriveReturn@30ns DriveReturn@22ns
D3 DriveOff@40ns DriveOff@32ns
R0 CompareOn@22ns Null
R1 CompareOff@28ns Null

Module 13 - 9

- confidential -
Timeset Memory
• Each tester channel has its own Timeset Memory
Timeset Memory.
• Timeset Memory stores 127 Tset Period Edgeset Address
timesets. 1 100ns 1
• There are two pieces of data linked
to a timeset.
– Period – used by PatGen to establish
length of time for a vector cycle Timeset 32
– Edgeset address – used to select one Address
of 32 possible edgesets. One edgeset
address per channel
– Timeset address is provided each time a
vector is accessed.
– Timeset address is global, i.e., all channels
see the same timeset address. 127

Module 13 - 10

- confidential -
Drive Edges
1. (D0) This is the delay of the cycle start 3. (D2) Required for formats other than NR
with respect to the beginning of the (Numeric formula). This is the time the
period. Drive on: data either returns (if a return format has
2. (D1) This is the time at which the data is been selected), or the surround data is
applied with respect to the beginning of reapplied (if a surround format has been
pattern period. Drive Data: selected) with respect to the beginning of
the period.
4. (D3) This is the time the tester circuitry
switches the driver off when executing a
receive cycle, measured from the
beginning of period.

T0 T0 Period T0 T0 Period
T0 1 2 3 4
I/O pin Drive Drive Drive Drive Compare Compare
on data return off open close
vih
hi-z 1”
vil
“L”

I/O pin Compare open Drive Drive Drive Drive


on data return off
voh
hi-z “0”
vol “H”

Module 13 - 11

- confidential -
Compare Edges
1. (R0)Numeric formula. This is the 2. (R1)Only available in single mode (50Mhz
time at which the output is tested max).This is the time a single (window)
with respect to the beginning of test of the device output ends with respect
the period. to the beginning of period.

T0 T0 Period T0 T0 Period T0
R0 R1
I/O pin Drive Drive Drive Drive Compare Compare Window Mode
on data return off open close
vih
hi-z 1”
vil
“L” 2
R0
I/O pin Compare open Drive Drive Drive Drive
on data return off
voh
hi-z “0”
vol 1 “H” Edge Mode

Module 13 - 12

- confidential -
Compare Mode Notes
• When the pattern data indicates that the cycle type
is receive, the Compare Mode will determine how a
DUT pin’s output level will be tested.
• The Compare Mode has three (3) options
– Window
• Verify the state of the logic signal during the time period specified by the
Compare Open (R0) and Compare Close (R1) values
• tR0 must be less than tR1
– Edge
• Perform an instantaneous value test at the time specified by Compare
Open (R0).
– Off
• Disregard pattern data and perform no test. This mode will be automatically
assigned by the software for pins of type Input.

Module 13 - 13

- confidential -
Single & Dual Timing Diagram
• 6 programmable
edges per cycle D3
I/O D0 D1 D2 R0 R1
drive: 4 edges Drive on Drive data Drive return Drive off Compare open Compare close
• Compare: 2 edges Single
(compare edge or mode
window) 50Mhz
• opcode on every max Drive Cycle
vector Compare
Drive Drive Drive Drive Drive Drive
I/O on data return on data return D3 R0
• 5 programmable
Dual
D0 D1 D2 D0 D1 D2 Drive off Compare open Compare open
edges per cycle
drive: 3 edges mode
100Mhz
• Compare: 2 max
edges (drive off
and compare open Drive 0 Drive 1 Compare 0 Compare 1
for a compare
T0 T0 T0 T0 T0
edge only)
• opcode on every
other vector
• default mode for
the IG-XL system
Module 13 - 14

- confidential -
Timing Comparison

Module 13 - 15

- confidential -
Format Options

Rev0343
- confidential -
Common Data Formats (Single Mode)
1 0
t0 t0 t0 D0 = High impedance
D0 D1 D2 D3 D0 D1 D2 D3 start edge
Hi D1 = Driver start edge
D2 = Driver stop edge
D3 = High impedance
NR Midband
stop edge
Lo R0 = Compare start edge
R1 = Compare stop edge

Hi

RL Midband

Lo

Module 13 - 17

- confidential -
Data Formats (Dual Mode)
Channel Data 1 0 M
Compare
t0 t0 t0 t0
D0 D1 D2 D0 D1 D2 D3 R0

Hi
NR Midband

Lo

Hi

RL Midband

Lo

Driver state dependant on format D1 = Driver start edge R0 = Compare edge


And state of previous cycle D2 = Driver stop edge
D0 = High impedance stop edge
Compare edge

Module 13 - 18

- confidential -
Drive Formats Definitions

Format Syntax Function


Return-To- Low rl Start edge is driven to the
value of the channel data and
stop edge is driven low.
Non-Return nr Start edge is driven to the
value of the channel data and
stop edge is always masked.

Module 13 - 19

- confidential -
Most Common Receive Formats
Compare Mode, which specifies the comparison mode are:
Edge, Windows, and Off. These values map to the hardware compare
formats as follows:
Compare Mode Hardware Formats
Select Edge, or Window Compare Pattern (Data is relevant)

cmppat
R0 R1 R0 R1 R0 R1 R0 R1 R0 R1

Select Off Compare Off ( Data is not relevant)

cmpoff
R0 R1 R0 R1 R0 R1 R0 R1

Module 13 - 20

- confidential -
Receive Formats Definitions
Format Syntax Function
Compare-to-Pattern cmppat DUT output is compared to the channel
data in digital pattern memory, where
the channel data represents a truth
table. If the digital data returning from
the DUT matches the truth table values
for a given vector, the data passes. If it
does not match, the data fails
Compare-Off cmpoff The comparison window is off. No
comparison is made and the channel
always passes. R0 and R1 edges do
not occur even during compare cycles
and the data state is not saved.

Module 13 - 21

- confidential -
Creating Timing Sheets

Rev0343
- confidential -
Creating Timesets & Edgesets
Up to this point, the discussion has focused on what the
Waveform Formatter needs and and what happens when
the Formatter gets it. Now the focus will be on how to create
the necessary components in the IG-XL workbook.
– Data must be generated for the TimeSet and EdgeSet Memories of the
Digital Instruments. These Timing datasets are generated at Program
Validation and loaded into Vector Memory.
– At Runtime, a Timing dataset is downloaded into the TimeSet and
EdgeSet Memories, when requested by an instance.

Workbook Program Vector


Validation Memory
Timeset Edgeset
Memory Memory
Instance Run

Module 13 - 23

- confidential -
Creating Timesets & Edgesets
• The IG-XL workbook offers two different methods for
generating the Timing datasets.
1. A TimeSets (Basic) worksheet combines the creation of TimeSets
and EdgeSets. A limitation of this worksheet is that only 32
Timesets may be created for a single Timing dataset.
Note: TimeSet Memory in the FLEX may store up to
127 user TimeSets.
2. When more than 32 Timesets must be created for a Timing
dataset, a separate TimeSets worksheet and EdgeSets
worksheet must be used to create the required dataset.

• An AC Specs worksheet and the Global Specs worksheet


may be used in the same way that DC Specs and Global
Specs were used in creating Levels datasets.

Module 13 - 24

- confidential -
Time Set Basic Sheet

2
3
1

1. Define a maximum 2. The Time Sets (Basic) 3. Each of the tester’s hsd pins can be
of 32 named Sheet contains individually programmed to have as
combinations of references to pins and many as 32 Edge Sets in any burst,
timing values and pin groups that are each having 5 timing values in “dual
data formats used by defined on the Pin Map mode” or 6 timing values in “single
particular pins or pin sheet, and specification mode”. The user selects Single or
groups used by the values defined on one or Dual mode at the time the sheet is
test patterns. more Spec sheets. created. Module 13 - 25

- confidential -
Time Set Basic Sheet

Cycle Period
Numeric formula. Enter
the clock period to be A dropdown filter is
used by this time set. Pin/Group Name provided on the Pin/Group
Enter on successive rows column Setup to allow you
Time Set of the sheet the name of to display Pins or Pin
Enter the name of the each pin or group to which Groups by type.
Time Set you wish to the time set timing will apply.
define, for Example:
“time_func”.
Module 13 - 26

- confidential -
Create a Time Sets Worksheet
Using DUT Datasheet and Test Specifications as
source documentation:
1. Insert Time Sets (Basic) worksheet
– Enter name of worksheet as needed
– Select Timing Mode: Single or Dual
2. For each Time Set
– Enter Time Set name
– Define Period
– For each pin
• Select Setup
• Select Data Source
• Select Data Format
• Define Drive Edge Placements
• Select Compare Mode
• Define Compare Edge Placements

Module 13 - 27

- confidential -
Insert a Time Sets Worksheet
1. Insert worksheet
2. Set Sheet Type and Sheet Name as needed.
3. Select Tester Timing Mode
1
3
2

Module 13 - 28

- confidential -
Time Set Required Data
• Time Set - Enter the name of the Time Set you wish to define, for
example “compins”.
• Cycle Period - Numeric formula. Enter the clock period to be used by
this time set.
• Pin/Group Name – within a Time Set, there must be an Edge Set
definition for each pin.
• Pin/Group Setup – considered as optional only because there is a
default value for it. See next slide.

Module 13 - 29

- confidential -
Pin/Group Setup Options
Using the drop down list from the TimeSet Basic Sheet,
to select one of the following:
Set-up Meaning
Default – The pin is a regular digital drive/compare pin.
i/o If left blank, default is ‘i/o’

high_voltage The pin(s) make use of hi-voltage features


freq_counter Comparator counts the number of state transitions of a pin(s).
mux Pairs of channel(s) operate in Mux mode
io_midband The pin(s) perform Single Cycle i/o midband
io_valid The pin(s) perform Single Cycle i/o Valid
Mcg The pin(s) use multi-clock generation capability. If this entry is
selected a value should be entered in the CPP column.
muxmcg Pair of channels operate in Mux mode and multi-clock mode
hfmcg Set of channels operate in High Frequency multi-clock mode
hfmux Pair of channels operate in High Frequency mux mode

All setups available in Single Mode, frequency_counter not available in Dual Mode, only I/O,
high_voltage, Hfmcg, and hfmux available in Quad mode
Module 13 - 30

- confidential -
Data Source Reference Sheet
Data Src : Enter the source of the logic value to be applied or
verified.Use the drop down list to select one of the following:

* PAT Pattern Data is taken from the pattern file (.pat).

PATNOT Pattern Data is the complement of that in the pattern file. This is
Negated useful as a way of quickly inverting the sense of drive data.
PATHI Pattern Logic high is substituted for pattern data. Applies to Drive
High data only.
PATLO Pattern Logic low is substituted for pattern data. Applies to Drive
Low data only.
ALLHI All High Logic high is substituted for pattern data. Applies to Drive
and Compare data. Drives during compare cycle.
ALLLO All Low Logic low is substituted for pattern data. Applies to Drive
and Compare data. Drives during compare cycle.

* This is the selection used in most cases.


Module 13 - 31

- confidential -
Drive Formats Reference Sheet
• Data Fmt: Enter the formatting that will be applied to the
data.
• Available values depend on the selection made in the Data
Src column.
• Using the drop down list, select one of the following:
− RH Return to High
− RL Return to Low
− NR Non Return
− ROFF Return to Off
− SBC Surround by Complement
− SBH Surround by High
− SBL Surround by Low
− STAY Hold the pin state
The STAY format causes the pin/group to keep the logic level of the previous vector. This is
most useful if, while debugging, you create a new time set that is a copy of a regular time set
but differs by having a pin/group use the STAY format. You then change the vector to use
the new debug time set.
If you want to disable testing a device pin because it has massive failures, set the pin’s
Compare Mode column to “Off.” Module 13 - 32

- confidential -
EdgeSet-Required Data
• Src – Source of data. Typically = PAT. Refer to Help for more details.
• Format – one of eight drive formats. Every edgeset must have a drive
format assigned to it.
• Drive – equations to set the placement of the Drive Edges. A hatched
(shaded) cell indicates that the edge need not be programmed, i.e.
Return edge of NR format.

Note: This graphic is used to illustrate the relationship of the Drive Markers (D0, D1, D2,
D3) to the Drive Condition (On, Data, Return, Off).

D0 D1 D2 D3
D0 D1 D2 D3

Module 13 - 33

- confidential -
EdgeSet-Required Data (continued)
Compare
• Mode – sets compare mode
– Edge
– Window (Single Timing Mode Only)
– Off
• Open – programmed for window and edge mode
• Close – programmed for window mode (Single Timing Mode only)
Note: This graphic is used to illustrate the relationship of the Compare Markers (R0, R1) to
the Compare Condition (Open, Close).

R0 R1
R0 R1

10ns
Module 13 - 34

- confidential -
Edge Placement Considerations
• Any two edges on a given pin (channel) should be separated by a
minimum time. This includes cycle to cycle. Refer to Hazards
Checking in the Appendix of this module.
• Drive Off edge timing is dependent on Timing Mode.
– Single Mode - programmed in drive cycle
– Dual Mode - programmed in compare cycle
– Quad Mode - programmed in compare cycle

10ns

Module 13 - 35

- confidential -
Edge Placement Equations
• Edge placement may be done
with literal values, i.e. =5*ns. tA
• Equations/formulas may be used
for edge placement and are
allin
often written in same terms of a
Waveform Diagram tPHL
• The symbols used in the
equations will need to exist in an
allout
AC Specs or Global Specs
worksheet t0 tPLH

Single

Module 13 - 36

- confidential -
Lab Exercise

„Create the Timing Set Basic Sheet

Module 13 - 37

- confidential -
Appendix

Rev0343
- confidential -
Time Sets + Edge Sets Worksheets
• Whenever a pin or group of pins requires more than 32
TimeSets then the TimeSets and EdgeSets must be
defined in separate worksheets.
– An Edge Sets sheet is used to define all timing behaviors for each
pin.
– Then a Time Sets sheet is used to specify groupings of those pin
timings into Time Sets.
• The combination of the two sheets is used at Program
Validation to generate a Waveform dataset.
Time Vector Memory
AC Specs Sets
& Program
Timing
Global Specs Validation
Dataset
Edge
Sets
Module 13 - 39

- confidential -
Edge Sets Sheet
• Defines named combinations of timing values and data
formats that will be used by particular pins or pin groups
for the test patterns.
• Maximum number of Edge Sets that may be defined per
pin in an Edge Sets worksheet is 32.
• Timing Mode is selected when the sheet is created.

Single

Module 13 - 40

- confidential -
Time Sets Sheet
• The Time Sets Sheet allows the definition of 127 time sets. However,
the total number of Time Sets defined in this worksheet cannot assign
more than a total of 32 different Edge Sets to any individual pin.
• The entries in the Edge Set column are dependent on the Edge Set
names defined in the Edge Sets Sheet.
• The Timing Mode is selected when the worksheet is created.

Single

Module 13 - 41

- confidential -
Edgeset Memory
• Once an edge dataset has been selected, it is ‘filtered’ by the
vector data.
– Data dependent edges are resolved.
– Drive or receive mode is selected.
• In the example below, edgeset address = 0. As result, the data for
that edgeset would be retrieved from Edgeset Memory.
• If the vector data for this channel = 1 and the mode = drive, then
the edge generators would be programmed as shown

Edgeset Data VD = 1 EG Data EG


Mode = drive
Don@0ns Don@0ns D0
DD@12ns DH@12ns D1
DL@22ns Data DL@22ns D2
Doff@32ns Filtering Doff@32ns D3
Con@5ns Null R0
Coff@15ns Null R1

Module 13 - 42

- confidential -
Time Sets and Edge Sets
Pattern Memory
Microcodes Tset Address Channel Data
pin1……………………………………………pin 1052
start_label begin: 0100011110000XHLHLHL……………………………….L

Time Set Memory


Pin 1 Pin 2 Pin 3 Pin 4………………….Pin 1052 Tset address
Edge Set Edge Set Edge Set Edge Set Edge Set 1
Address Address Address Address Address
Edge Set Edge Set Edge Set Edge Set Edge Set
1
Address Address Address Address Address
Edge Set Edge Set Edge Set Edge Set Edge Set
Tset 1 is Address Address Address Address Address 127
mapped
to edgeset 1
Edge Set Memory
Pin 1
Each pin can Drive on Drive data Drive return Drive off Compare open Compare close
1
have 32 2
Drive on Drive data Drive return Drive off Compare open Compare close
different 3
Drive on Drive data Drive return Drive off Compare open Compare close
edge sets.
Drive on Drive data Drive return Drive off Compare open Compare close 32

Module 13 - 43

- confidential -
Restrictions
Preliminary
Specification Value
Minimum drive pulse width 1.6 ns
High to Low edge or a See pin electronics specifications for voltage
Low to High edge swing restrictions.

Minimum Edge Regeneration 9.15ns (Cycle N to N+1 –Single)


(same edge to same edge) 9.15ns (Cycle N to N+2 –Dual & Quad)

Minimum Window Strobe width 2.0 ns

Round Trip Delay See Paragraph 2.5 DEVICE LOADING


SPECIFICATIONS

Cycle N Cycle N+1 Cycle N+2

d1 d2 d1 d2 d1 d2

Single Mode
9.15ns

Dual &
Quad Modes
9.15ns

ESSD Rev 1.2 Preliminary

Module 13 - 44

- confidential -
Timing Constraints
• The following constraints apply to period
and edge programming
• Period Programming:
Minimum Period Value Maximum Period Value
Timing Mode
(Max. Freq.) (Min. Freq.)
Dual 10nsec (100MHz) 10usec (100KHz)
Single 20nsec (50MHz) 10msec (100Hz)

• Maximum Edge delay:


Minimum Edge Value
Timing Mode
(<= 10us)
Dual 8 * Tester Cycle Period – 40 ns
Single 4 * Tester Cycle Period – 40ns

Module 13 - 45

- confidential -
Module 13 - 46

- confidential -
Digital Patterns

Rev0343
- confidential -
Objective
• This module covers the concepts and activities used
to create and use Patterns in a FLEX test program.
• Following this section, we will be able to:
1. Create a new Pattern file
2. Run and Debug a Digital Pattern
3. Set up a Test Instance for a Functional Test

Module 14 - 2

- confidential -
What is a Digital Signal?
T0 T0 T0 T0 T0

1 1 1 0

time
A Digital Signal in it’s simplest form is a series of highs and lows
representing binary, logical states (1, 0, H, L).
Timing is controlled relative to a boundary referred to as T0.
Actual timing transitions will occur relative to the T0 boundary.
Amplitude of the logic is determined by a parameter: Voltage Input
High (VIH) and Voltage Input Low (VIL) relative to the device.
Logical output data is defined as: Voltage Output High (VOH) and
Voltage Output Low (VOL) relative to the device.
Module 14 - 3

- confidential -
PatGen Execution
1
microcode
start Vector timeset Drive Hi/Lo
PatGen Memory Waveform
vector + data Drive On/Off
Formatter
address Compare On/Off Digital
Channels
DUT
expect data
Pass/Fail
high
Fail
vector Processing low
HRAM
results

Digital Channel 1/n

A vector is a line of code in a digital pattern that tells the individual


pins what they should do.
Pattern Execution is handled by the PatGen and Vector Memory blocks of
the digital boards.
When a ‘start pattern’ step is reached in the Template body , a start
1 signal and the address of the first vector to execute is passed to the
PatGen.
Module 14 - 4

- confidential -
Vector Data
3
2
microcode
start Vector timeset Drive Hi/Lo
PatGen Memory Waveform
vector + data Drive On/Off
Formatter
address Compare Digital
On/Off Channels
DUT
expect data
Pass/Fail
high
Fail
vector Processing low
HRAM
results

Digital Channel 1/n

As a vector is accessed from Vector Memory


A Timeset address and channel data are passed to the Waveform
2 Formatter section.
Microcode data is passed back to the PatGen.
3
• Microcode data may consist of an opcode and/or control bits:
– Opcode is used by the PatGen to determine what to do next.
– Control bits are used to enable or disable certain PatGen functions.

Module 14 - 5

- confidential -
Result Processing
5 halt
Large timeset Drive Hi/Lo
vector Vector Waveform
PatGen Drive On/Off
address Memory + data Formatter
Compare
Digital
On/Off Channels DUT
expect data 4
Fail
high
6 Fail
vector Processing
7 HRAM low
results

Digital Channel 1/n

Once the PatGen starts accessing vectors from Vector Memory,


data is driven and received to/from the digital channels, drivers and
4
detectors are turned on or off, drive/compare levels are defined, expect
data is sent to the fail processing circuit.
This process will continue until one of the two following events
occur:
5
A ‘halt’ opcode is detected
6 A vector failure is reported from the Fail Processing circuit
7 HRAM will store the vector results
Module 14 - 6

- confidential -
Digital Patterns

Rev0343
- confidential -
Objective

• The goal of this session is to cover two ways to


develop a pattern file, what are the different parts of
a pattern file including, vector data, opcodes, tsets
and how to create a pattern file to be used during
functional tests.

Module 14 - 8

- confidential -
Pattern Files
2
1

*.atp Program
*.pat Vector
*.atp.gz Compile Validation
*.pat.gz Memory
3
3

1
Patterns are loaded into the FLEX Vector Memory from binary files
at Program Validation. IG-XL will look for *.pat.gz if *.pat does not
exist.
2 The binary pattern files are typically generated by compiling
pattern source files (*.atp).
3 Pattern files, source and binary, may be compressed
– *.pat.gz
– *.atp.gz

Module 14 - 9

- confidential -
Pattern Source File Statements

The following statement types are commonly included in the


source file:
– import
– vector
– $ tset
– Label
– Opcode

– The pattern language supports C++ preprocessor constructs, such


as #include, #ifdef and #define.

Comments may be included in pattern file


• // comment (to end of line)

Module 14 - 10

- confidential -
Pattern Source File
The following statements meet the minimum requirements for a pattern
source file:
– import tset
ƒ A key ingredient in any vector is a timeset reference, i.e. tset name from the time set basic
sheet
ƒ All tset names used in the pattern must be imported
– vector Tsets
ƒ Defines the pattern and its data

import tset time_func, time_PHL, time_PLH;


vector ( $tset, oe, dir, portA, portB ) Vector data
{
Label global time_start_glbv:
> time_func 0 1 00000000 LLLLLLLL ;
> - 0 1 00000000 LLLLLLLL ;
> time_PLH 0 1 11111111 HHHHHHHH ;
time_stop: halt
> time_PLH 0 1 11111111 HHHHHHHH ;
}

Module 14 - 11

- confidential -
Vector Statement
The ‘vector’ statement is composed of:
Included in parentheses ‘( )’ after the ‘vector’
− Vector Pin List keyword is the Vector Pin List which contains a list
− Vector Data of ‘pin-items’ that provides a map for the data
portion of the vector data lines that follow in the
Syntax Vector Data section.
// Vector Pin-List
( $tset, pin1/group1, pin2/group2,.. )

The keyword ‘$tset’ is often included as the first


// Vector Data Section entry in the Vector Pin List.
{
label: opcode > tset-name vector-data1 vector-data2 ..;
opcode > tset-name vector-data1 vector-data2 ..;
label: opcode]> - vector-data1 vector-data2 ..;
}

Module 14 - 12

- confidential -
Vector Pin List Notes
Pin-item is a pin name, a pin group name, or a list of pins enclosed in
parentheses and separated by commas.
– (a1,a2,a3,a4,a5,a6,a7,a8) is same as saying portA

Each pin-item has a radix associated with it


pin-item[:radix]

Radix is the format of the data in vector-data for the pin-item.


− Symbolic (S) is the default format - portA is the same as portA:S

Other formats must be explicitly stated for the pin-item


X or H – hexidecimal portA:X
O – Octal portA:O
B – Binary portA:B
D – Decimal portA:D
Examples -
vector ( $tset oe, dir, portA, portB)
vector ( $tset oe, dir, portA:O, portB:H)

Module 14 - 13

- confidential -
Vector Data Line
Included in braces ‘{ }’ after the Vector Pin List are the Vector Data lines.
In a Vector Data line, the ‘right angle bracket’ character (>), also known as the
‘greater than’ symbol, marks the beginning the vector data, as defined in the
Vector Pin List.
A semicolon (;) marks the end of a Vector Data line (one vector).

vector ( $tset oe dir portA portB)


{ > time_PLH 0 1 11111111 HHHHHHHH ;
> time_PHL 0 0 LLLLLLLL 00000000 ;
time_stop: halt > time_PHL 0 0 LLLLLLLL 00000000 ; }

• There are two optional fields to the left of ‘>’ in a Vector Data Line:
− Label
− Microcode
• A label is a string of characters terminated by a colon (:) . If present, it is the
first field of a Vector Data line.
• The microcode field may contain an opcode and/or control bits. The last
vector data line of a pattern typically should contain a ‘halt’ or ‘end_module’
opcode.
Module 14 - 14

- confidential -
Data Programming Notes
Symbolic: Pin-item Radix = S (Default)
– Uses the following set of characters:
• 0 Drive Data, Driver Output = vil
• 1 Drive Data, Driver Output = vih
• 2 Drive Data, Driver Output = Vph
• H Expect High, VDUT >= Voh
• L Expect Low, VDUT <= Vol
• M Expect Midband, Vol <= VDUT <= Voh
• V Expect Valid, VDUT <= Vol OR VDUT >= Voh
• X Expect Mask Do not test
– Channel Mode (Drive/Receive) determined by symbol choice:
– Numeric Character (0,1,2) = Drive, Alpha Character(H,L,M,V,X) = Receive
– Example
> time_PLH 0 1 11111111 HHHHHHHH ;

Numeric: Pin-item Radix = X,H,O,B,D


− X ,H = Hexidecimal, O = Octal, B = Binary, D = Decimal
• Uses only numeric characters
• 0 - 9, A - F
– Channel Mode (Drive/Receive) must be programmed
• .d = Drive .d1010
• .r = Receive .r1010
– Example
vector ( $tset oe dir portA:X portB:O)
{ > time_PLH 0 1 .dFF .r377 ;
> time_PHL 0 0 .r6D .d155 ; }

Module 14 - 15

- confidential -
Pattern Source File - review
import tset time_func, time_PHL, time_PLH; // import tset
names
vector // Begin Vector
Statement
( $tset, oe, dir, portA, portB ) // Vector Pin List

// Begin Vector Data label


{
global time_start_glbv: Vector-data portA
> time_func 0 1 00000000 LLLLLLLL ;
> - 0 1 00000000 LLLLLLLL ; Vector-data portB
> time_PLH 0 1 11111111 HHHHHHHH ;
time_stop: halt
> - 0 1 11111111 HHHHHHHH ;
} // End Vector Data
Repeat
last opcode
choice
tset-name

Module 14 - 16

- confidential -
Single Mode vs Dual Mode
• Shown below are vectors intended for an Single Timing Mode Pattern:
> time_PHL 0 1 00000000 LLLLLLLL ; // Vector n
time_stop: halt
> time_PHL 0 0 LLLLLLLL 00000000 ; // Vector n+1
– Label , and opcode may appear on any vector line.

• Shown below are vectors intended for a Dual Timing Mode Pattern:
time_stop:
> time_PHL 0 1 00000000 LLLLLLLL ; // VectorPair n
halt
> time_PHL 0 0 LLLLLLLL 00000000 ; // VectorPair n
– Vectors are paired. Must be even number of vectors in pattern.
– Label, if present, must be on first vector of pair
– Opcode, if present, must be on second vector. Applies to both vectors
in pair
– Time set and channel data per vector line

Module 14 - 17

- confidential -
Compiling a Pattern File

Rev0343
- confidential -
Compiling Pattern Files

• The method for compiling source pattern files into binary:


− GUI Pattern Compiler Window
• The following data is needed to compile a source pattern file:
− Source file name
− Output file name (optional)
− Pin map workbook
− Pin map sheet name (if multiple pin maps in workbook)
− Compiler options

Module 14 - 19

- confidential -
Open Compiler Window
• IG-XL provides a GUI
interface to the Pattern
Compiler.
• Pattern Compiler may be
started from:
Windows Start Menu
Data Tool - IG-XL Toolbar

Module 14 - 20

- confidential -
Compiling Pattern Files

• IG-XL offers a GUI window


for compiling pattern files
• The key steps for using
this window are:

1. Open Compiler Window


2. Enter File Information
3. Select Compiler
Options
4. Compile
5. Check Messages
window for error
messages

Module 14 - 21

- confidential -
Pattern Compiler GUI
Pattern Input File:"
1 Specifies the ASCII input 1
file, which has the .atp 2
extension, or .atp.gz for
a compressed input file. 3
You must specify an input file

Pattern Output File:"


2 Specifies the output
filename. If you do not
specify an output filename,
the default is the input
filename plus the .pat
extension.

Specify a Pinmap
3 Workbook, Required.

Module 14 - 22

- confidential -
Enter File Information
• The Files section is used for
entering input and output files
information.
– By default, output filename =
“input filename.pat”
– Workbook = location of a pin
map.
– Sheet – needed if multiple pin
maps in the workbook
• This same information could be
provided by including the following
statements in the source file:
output_filename = “ “;
pin map_workbook = “ “;
pin map_sheet = “ “;
• If found in both places, compile-
time options override file
statements.

Module 14 - 23

- confidential -
Compiler Options
• The Compiler Options settings
are used by the Pattern Compiler
to provide direction as to how to
compile the source file(s).
• Compiler Options may be set in
the Pattern Compiler GUI
window or by statements
included in the source file.
• When compiler options are set in
both places, the Pattern
Compiler window settings will
override the statement settings.

Module 14 - 24

- confidential -
Compiler Options
• Radio buttons are used to set
the some of the compiler
options:
– ‘Yes’ selects the option,
regardless of any statement in
the file.
– ‘No’ selects the opposite of the
option (the opposite is also the
default action), regardless of
any statement in the file.
– ‘Default’ uses whatever is
specified in the file. If the file
has no compiler control
statement for this option, the
default is No.

Module 14 - 25

- confidential -
Compiler Options
• The following options are set by
Radio buttons:
– Tester Timing Mode
• Default Mode
• Single Mode
• Dual Mode
• Quad Mode
– SVM Only
• Yes = allocate all vectors to
SVM
• No = split vectors between
LVM/SVM
– Scan Parallel
• Yes = Expand scan vectors
into parallel vectors
• No = compile scan vectors
for scan hardware

Module 14 - 26

- confidential -
Compiler Options
• The following options are also set
by Radio buttons:
– Import Undefineds
• Yes = import any undefined
subroutines labels and tset
names without giving an error
or warning. Not recommended.
• No = report an error if any label
or tset name is undefined at the
end of compilation.
– Compress
• Yes = compress the compiled
pattern file (*.pat.gz).
• No = do not compress the
compiled pattern file (*.pat).

Module 14 - 27

- confidential -
Compiler Options
• Additional Compiler Options
include:
– Max Errors – maximum # of
errors to allow before aborting
compile (default = 200).
– LVM Size – maximum # of
vectors to allow in pattern
(default = 64M).
– Min Period – minimum period
to be used.
– Run Preprocessor - select this
option when C++
preprocessor statements are
included in the source file(s).
– Save Comments - select this
option to save C++ comments
as part of the binary file.

Module 14 - 28

- confidential -
Compiler Option Statements
• The pattern language supports compiler control
statements for several Compiler Options.
• If used, compiler control statements must appear in the
pattern file before the vector statement.
– opcode_mode = single | dual | quad;
– svm_only_file = no | yes;
– scan_type = scan | parallel;
– import_all_undefineds = no | yes;
– min_period = double;
• When using the Pattern Compiler window, the statements
take effect only if the ‘Default’ radio button has been
selected for the respective options in the Pattern
Compiler window.

Module 14 - 29

- confidential -
Reverse Compiler
• The Pattern Reverse
Compiler can be used to
convert binary files back to
source files:
− Input file = *.pat
− Output file = *.atp
• See Help for more details.

Module 14 - 30

- confidential -
Reverse Pattern Compiler

• The compiler options control certain actions of


the Reverse Compiler:
Force Overwrites any existing output file without
confirmation.

Include Files Check this box to enable the button that will
bring up a dialog box to create or modify the
list of filenames for which "#include"
statements are to be generated. See the
description of the Include Files dialog box.
Vector Adds vector number as comments in the
Numbers output file.

Compress Compresses the output file, which will have the


extension .atp.gz.

Module 14 - 31

- confidential -
Lab Exercise
Using the Pattern Compiler, create a .PAT file
from an ascii file.

Module 14 - 32

- confidential -
Pattern Sets &
Pattern Groups

Rev0343
- confidential -
Overview
Pattern Sets and Pattern Groups offer alternative
means of assigning patterns to instances.

Pattern Group:
ƒ A named collection of patterns that are loaded into “contiguous
memory” and executed as a single burst.
ƒ Pattern groups are defined on a Pattern Groups sheet.
ƒ Programming considerations:
• A pattern file listed in multiple pattern groups will be loaded
multiple times.
• Use of halt or end_module
• The last pattern in pattern group should always end in ‘halt’.

Pattern Set:
ƒ A named collection of patterns that are executed as separate bursts.
ƒ Pattern Sets may include Pattern Groups. Pattern sets are defined on
a Pattern Sets sheet.

Module 14 - 34

- confidential -
Pattern Group Worksheet
• There are two required fields in the Pattern Groups
Worksheet:
– Group Name - name of group being created. This name
cannot duplicate any other pattern name or Pattern Set
name.
– Pattern File - one or more files to be included in the group
• In this example, four pattern files are combined to create, in
effect, a single pattern.

Module 14 - 35

- confidential -
FullFuncPat_7408

• Shown here are the files // 7408_Warmup.pat


used to form the Pattern Start_warmup: >
Group FullFuncPat_7408. >
• The last vector in the end_module >

group should have an ‘halt’ //7408_Gate1.pat


opcode. In this case, Start_gate1: >
7408_Gate2 does not end >
with a ‘halt’ opcode. end_module >
• Creating a generic one- // 7408_Gate2.pat
vector pattern with a ‘halt’ Start_gate2: >
opcode and adding it to >
the group is used to satisfy end_module >
the requirement. // Last_one.pat
Last_one: halt >

Module 14 - 36

- confidential -
Pattern Sets
• The Pattern Sets sheet creates named lists of one or more
pattern files (.pat) and/or pattern groups to be executed by a test
instance.
– The pattern loader uses the information in this sheet to identify all patterns
that are required for the test and to load them into tester memory.
– If the named pattern set refers to a number of separate .pat files, each is
loaded and treated as a separate burst. Any pattern group in the pattern
set is executed as a single burst.
• Pattern Sets may be used in any of four ways:
– Run a list of patterns
– Rename a pattern
– Run part of a pattern by using Start and Stop labels
– Declare a subroutine. Refer to Pattern Opcodes, External Subroutines
later in this module.

Module 14 - 37

- confidential -
Pattern Sets Worksheet
• There are two required fields in the Pattern Sets Worksheet:
– Pattern Set - name of Pattern Set
– File/Group Name - name of file or group being included in Set
• Start Label and Stop Label may be used to specify start and
stop labels within the specified pattern
• This example uses four sets of vectors from a single pattern
file to produce 4 separate test results.

stop

Module 14 - 38

- confidential -
PatSet1

• This is the pattern


file referenced in
PatSet1.
• All referenced
labels are global.
• In effect, PatSet1
is getting four test
patterns out of
this one pattern
file.

Module 14 - 39

- confidential -
Using Pattern Sets & Groups
• After Pattern Sets and
Groups have been defined,
they may be selected by a
functional instance.
– Left-click on Pattern Groups
and Sets button

• The Pattern Selection


window appears:
– The Available Patterns box
displays defined Pattern
Sets and Pattern Groups.
– Left-click on desired Set(s)
and/or Group(s) and move
to Selected Patterns. Then
left-click OK
Module 14 - 40

- confidential -
Lab Exercise: Add Pattern Set and Pattern Group
sheet to your workbook. There is no written lab
guide, but something you can do on your own as
extra credit.

Module 14 - 41

- confidential -
Pattern Opcodes

Rev0343
- confidential -
Pattern Microcode
• PatGen microcode is a field in every vector stored in vector memory.
• PatGen microcode is directed to the PatGen as a vector is being
processed.
• Microcode = opcodes and control bits:
– Opcode controls the flow of execution within the pattern file
– Control bits modify the execution of the specific vector on which they
appear: for example, mask failure on this vector, or inhibit fail count on this
vector.

microcode
PatGen
Timeset
+ data
Vector Memory

Module 14 - 43

- confidential -
LVM and SVM

• Vector Memory is divided into two sections:


– LVM (Large Vector Memory)
• Stores up to 64 Million Vectors (Licensable)
– SVM (Subroutine Vector Memory)
• Stores 1024 vectors

microcode
PatGen
Timeset
LVM
+ data
64M
(max)

SVM
1K

Module 14 - 44

- confidential -
LVM and SVM
• Pattern compiler automatically optimizes the LVM/SVM split.
• Vectors stored in LVM will have a limited set of opcodes, i.e., flow
control is sequential.
• Vectors stored in SVM may use all pattern opcodes and control bits.
• At times, there may issues with this optimization, i.e. large pattern
files. Guidelines for minimizing SVM usage are discussed later in
this section.

microcode
PatGen
Timeset
LVM
+ data
64M
(max)

SVM
1K

Module 14 - 45

- confidential -
Opcodes and Control Bits

• A complete list of opcodes and control bits is


available through IG-XL Help, Pattern Language
Reference.
• This section will focus on the common opcodes
and control bits.

Module 14 - 46

- confidential -
NOP / halt / end_module

• A vector with a blank opcode is Start_here: >


selecting the NOP opcode: >
– NOP = increment PC (program
counter) to next vector >
• The halt opcode will stop the >
PatGen. No more vectors will be
Stop_here: halt >
accessed until another pattern is
started.
• The end_module opcode acts like Start_here: >
the halt opcode if this pattern is a >
stand-alone pattern, i.e., not part
>
of a pattern group. If this pattern
is part of a pattern group, then this >
opcode acts like a NOP opcode. Stop_here: end_module >
See Pattern Groups.

Module 14 - 47

- confidential -
repeat / mrepeat

• The repeat opcode allows a single Start_here: >


vector to be repeated N times >
– N = 2 to 65536
– Saves vector memory because repeat 100 >
vector is stored only once
• The mrepeat opcode also allows a >
single vector to be repeated N mrepeat 200 >
times >
– N maybe modified through program
code. Stop_here: halt >
– Using this opcode does affect
LVM/SVM optimization.
• Use repeat unless mrepeat is
absolutely necessary
• See Help for details

Module 14 - 48

- confidential -
Labels
• A vector label is a string of
characters terminated by a colon ( // Pat1.pat
: ). global Label1: >
• When present, a label is the first >
field of a Vector Data Line. Label2: >
• Labels may be local or global: >
− A local label may only be referenced
by its own pattern. ‘Label2’ is a
local label
− A global label may be referenced // Pat2.pat
outside its own pattern. Must be import label Label1;
declared using the keyword vector ($tset, In, Out )
‘global’. ‘Label1’ is a global
label. {
• In the pattern file(s) where a global >
label is referenced, the label name jump Label1 >
must be imported with an ‘import :
label’ statement }

Module 14 - 49

- confidential -
Loops

• A loop is a common technique that is used when a given set of


vectors needs to be executed multiple times
• The ‘loop’ opcodes provide a means of setting up a loop that
executes N number times
• There are three (3) loop choices in the IG-XL Pattern Language:
– LoopA - uses a 4 level counter stack (counterA stack) to control
looping. Permits nesting up to 4 levels.
– LoopB - uses a single counter
– LoopC - uses a single counter
• The following sequence will be used to create a loop in a pattern:
– Set loopcounter to desired count
– At the end of the loop, decrement the counter and branch if not equal
to zero

Module 14 - 50

- confidential -
Loops - setting loop counter
• Setting the loopcounter may be done with
two opcodes:
– set_loopA/B/C, set_loopB 10 >
– loopA/B/C
• Both opcodes will push the count value Loop1: >
into the loopcounter. Count value = 1 … end_loopB Loop1 >
65536
• The ‘set_loop’ opcode sets the Loop2: loopC 20 >
loopcounter on each execution of its >
vector. Do not include the vector with the
‘set_loop’ opcode in the loop. end_loopC Loop2 >
• When the vector with a ‘loop’ opcode is
the target of an ‘end_loop’ opcode, the
loopcounter is not set to count value.
Because of this, the vector with the ‘loop’
opcode may be included in the loop.

Module 14 - 51

- confidential -
Loops - End of Loop
• The ‘end_loop’ opcode is used
with both the ‘loop’ and
set_loopB 10 >
‘set_loop’ opcodes to mark the
end of the loop. Loop1: >

– endloopA/B/C end_loopB Loop1 >


Loop2: loopC 20 >
• At this point, the designated
counter is decremented and the >
contents of the counter is end_loopC Loop2 >
checked. If the counter is not
equal to zero, then branch back
to label. If the counter is equal to
zero, then go to next vector.

Module 14 - 52

- confidential -
Minimizing SVM Usage
• Due to the limited size of SVM, it is possible that the
number of vectors assigned to SVM by the compiler
may exceed its capacity.
• The following steps may be used to minimize the
number of vectors assigned to SVM:
– Set the min_period compiler option to its maximum possible
value. If the minimum period actually used for the pattern is 100
ns, then set min_period to 100ns instead of the default of 10ns or
20ns.
– Remove unnecessary labels
– Use the ‘mrepeat’ opcode only when necessary
– Use subroutines only when necessary

Module 14 - 53

- confidential -
Review

Rev0343
- confidential -
Patterns Exercise & Review
1. List and describe the purpose of the statement
types that are used in a pattern source file.
– Pinmap - identifies the pin names/pin groups that will be used for
vector data
– Preprocessor - provides the ability to use “C” preprocessor directives
like #define, #include, #if, etc.
– Compiler Control - identifies how the pattern file gets compiled.
– Import Tset or Label - provides a mechanism to reference external file
timing and symbols.
– Vector - encapsulating the pattern data per pin/group, timing reference
and opcode.
– Comments - “C” like syntax for documenting user text.

Module 14 - 55

- confidential -
Patterns Exercise & Review
2. Identify and describe vector data syntax.
Vector data can be expressed as a numeric form with the radix as:
– X, H = Hexadecimal; O = Octal; B = Binary; D = Decimal
– numeric values could be 0-9, A-F and Channel modes = Drive (.d) or
Receive (.r) or data could be represented as Symbolic (Radix = S)
0 Drive Data = 0 Voltage Level = VDriveLow
1 Drive Data = 1 Voltage Level = VDriveHigh
2 Drive Data = 1 Voltage Level = Vph
H Expect High VDUT >= VCompareHi
L Expect Low VDUT <= VCompareLo
M Expect Midband VCompareLo <= VDUT <= VCompareHi
V Expect Valid VDUT <= VCompareLo or VDUT >= VCompareHi
X Expect Mask

Module 14 - 56

- confidential -
Patterns Exercise & Review
3. Describe the difference between the pattern
opcode and control bits.

Pattern opcodes - controls the flow of execution


within the pattern file

Module 14 - 57

- confidential -
Patterns Exercise & Review
4. List and describe the purpose of various
commonly used opcodes.
– nop - increment the vector program counter to the vector
– halt - inhibits the Patgen from fetching another vector (after the
halt vector is executed)
– end_module - in a stand alone pattern, it acts like a halt, in a
pattern group acts like a nop.
– repeat - allows a singe vector to be repeated up to 65K times.
– loop - executes some number of vector based on a loop count

Module 14 - 58

- confidential -
Patterns Exercise & Review
5. Describe the difference between a pattern
group and a pattern set.
– A pattern group is a list of pattern files that will be loaded in
contiguous locations in vector memory.
– A Pattern Set creates named lists of pattern files (.pat) and
pattern groups to be executed or used by a test instance,
all patterns that are required for the test are listed in the set
and are loaded into tester memory for execution as a set of
patterns.

Module 14 - 59

- confidential -
Patterns Exercise & Review
6. List the programming considerations needed for
creating a pattern group.
– A pattern file listed in multiple pattern groups will be loaded multiple
times. If a pattern is intended to run as a stand-alone pattern and
included in pattern groups, the pattern should be terminated with an
‘end_module’ opcode instead of ‘halt’. When the pattern is executed in
a group, ‘end_module’ acts a NOP. If pattern is executed as a stand-
alone pattern, ‘end_module’ acts as a ‘halt’.
– The last pattern in pattern group should always end in ‘halt’. However,
some patterns may need to execute in the middle of one group and at
the end of others. If that is the case, it is recommended to create a
terminator pattern consisting of a single vector with an ‘halt’ opcode.
This pattern would then be used as the last pattern in any group. A
pattern file that is included in a pattern group can reference labels only
in other pattern files within the same group.

Module 14 - 60

- confidential -
Patterns Exercise & Review
7. Identify an advantage of using a pattern set
over a pattern group or stand-alone pattern.
– Pattern Sets allow the user to start a pattern at any labeled
vector in the pattern. Stand-alone patterns and pattern
groups must always start at the first vector.

Module 14 - 61

- confidential -
Appendix

Rev0343
- confidential -
Nested Loops
• The LoopA structure
uses a 4 level stack to 10
Loop1: loopA 10 > // 1
keep up with the
nested loop counts. > // 2
– In this example, the Loop2: loopA 5 > // 3
loopcount of 10 is loaded > // 4
into the top level of the
stack at vector 1. end_loopA Loop2 > // 5
• At vector 3, the > // 6
contents of the top end_loopA Loop1 > // 7
level are forced down 5
to next level and 5 is
10
placed on the top level.

Module 14 - 63

- confidential -
Nested Loops
• The ‘end_loopA’ opcode
will always decrement
the top level. See vector 4 Loop1: loopA 10 > // 1
5. Top Level now = 4. 10 > // 2
Therefore, control will go Loop2: loopA 5 > // 3
back to vector 3. > // 4

• When the top level end_loopA Loop2 > // 5


decrements to 0, control > // 6
goes to vector 6 and the 10 end_loopA Loop1 > // 7
next level (= 10) of the
stack is moved up to the
top level.

Module 14 - 64

- confidential -
Nested Loops
• The next execution of
‘end_loopA’ (vector 7) 9
Loop1: loopA 10 > // 1
will decrement the
value in the top level. > // 2

Control goes to Loop2: loopA 5 > // 3


vector 1. > // 4
end_loopA Loop2 > // 5
> // 6
• At vector 3, ‘loopA 5’, end_loopA Loop1 > // 7
pushes the top level 5
value down and sets 9
top level to 5.

Module 14 - 65

- confidential -
Nested Loops

• The ‘exit_loop’ opcode


provides the opportunity to exit Loop1: loopA 10 > // 1

from a loop before the > // 2

loopcounter equals zero. Loop2: loopA 5 > // 3


– If used in a LoopA, pops LoopA > // 4
stack before branching if (cpuA) exit_loop Fred > // 5
– Typically used with a condition. end_loopA Loop2 > // 6
• At vector 5, if cpuA is true, the Fred: > // 7
top value on the loopA stack is end_loopA Loop1 > // 8
popped off, and the next vector
to be executed will be at Fred.
• It is good programming practice
to avoid premature exits unless
absolutely necessary.

Module 14 - 66

- confidential -
Loops - other opcodes

• When a premature exit Loop1: loopA 10 > // 1


from a nested loop is
initiated by an opcode other > // 2
than ‘exit_loop’, the LoopA Loop2: loopA 5 > // 3
stack still has the count > // 4
value in its top level.
• The ‘pop_loop’ opcode if (cpuA) jump Fred > // 5
should be used to clean up end_loopA Loop2 > // 6
the stack by removing this Fred: pop_loop > // 7
value from the top of the
loopA stack. end_loopA Loop1 > // 8
• See Help, using Loop
opcodes, for more details
on looping.

Module 14 - 67

- confidential -
Module 14 - 68

- confidential -
Pattern Tool

Rev0343
- confidential -
Objective

• The goal of this session to learn how to use


Pattern Tool to debug digital vectors in a
functional test.

Module 15 - 2

- confidential -
Pattern Tool Features
• Used to load compiled binary pattern (.pat) files
– Can import ASCII pattern files
• Used as Editor/Debugger in different modes
– Programmed
• Horizontal
– Waveform or Symbolic
• Vertical
– Symbolic
– Simulation
• Waveform or Symbolic
– Horizontal
– Multi-line mode
• Display all lines of data in a pingroup
– HRAM
• Display captured vector data in history ram

• Can run as a stand alone pattern editor by selecting the pattern editor icon from
the IG-XL menu.

• Can run as an editor/debugger from the Test Debug Environment (TDE) by


selecting Pattern Tool from the TDE Tools menu.

Module 15 - 3

- confidential -
Starting Pattern Tool Editor
Select Pattern Tool
from the IG-XL menu

Module 15 - 4

- confidential -
Pattern Editor

You can Edit, Save,


Save As, and Export
but the Debug
options are not
available in the
editor.

Starting Pattern Tool outside of


IGXL will display the
Programmed mode as an
“Idealized” or “Symbolic” set
of waveforms formatted for 50
MHz.

Module 15 - 5

- confidential -
Invoking TDE
Select Test Debug
Environment from the IG-XL
menu or click on the TDE
Icon to open the TDE Window
display.

TDE Window Display

Module 15 - 6

- confidential -
Starting Pattern Tool in TDE

2 A List of Tool will


be displayed.
1

Select the Tools


menu form TDE to Select Pattern Tool
display the 3 to Start the Pattern
available Tools Debugger

Module 15 - 7

- confidential -
Pattern Tool Menu
Load any compiled binary pattern (.pat) file.
Import an ASCII pattern file
Pattern Tool will complain if you attempt to open a read-only file.

Click File --> New


to create a New file

Click File --> Open to


open an existing file

When using Pattern Tool in TDE you can


select the source for timing: workbook
values, hardware values or default timing
(formatted for 50MHz).

Module 15 - 8

- confidential -
View Mode Menu
From the View Mode
menu select Programmed,
Simulation, Horizontal,
Vertical, Symbolic, or
Waveform. Note: The
enabled view modes will
change when selecting
Programmed vs.
Simulation and Horizontal
vs, Vertical.

Module 15 - 9

- confidential -
View Mode Programmed
From the View Mode
select Programmed.
This will display the
programmed data in
the pattern file
(Horizontal or
Vertical, Symbolic or
Waveform).

Module 15 - 10

- confidential -
Programmed Symbolic
Horizontal Vertical

Module 15 - 11

- confidential -
Programmed Waveform
Horizontal Only

Module 15 - 12

- confidential -
View Mode Simulation
Symbolic Waveform

Module 15 - 13

- confidential -
Show HRAM
From the HRAMPT
menu select Show
HRAM. Failures are
highlighted in orange.

Module 15 - 14

- confidential -
Show HRAM Waveforms

From the HRAMPT


menu select Show
HRAM Waveforms.
Failures are
highlighted in orange.

Module 15 - 15

- confidential -
HRAM Filter

The Programmed
value for the
comparator is a Hi,
the Actual value is a
Lo. B8 fails
Module 15 - 16

- confidential -
HRAM Mode Setup

Module 15 - 17

- confidential -
HRAM Setup

From the Pattern Tool


menu select HRAM
Mode to Custom
Setup HRAM.

Module 15 - 18

- confidential -
Learn HRAM Failures

Requires HRAM
failures to learn

Module 15 - 19

- confidential -
Actual Mode

1
Highlight the
vector(s), to run
actual mode on

From the Pattern Tool


menu select Actual
Mode, select Run
Actual Mode, or click Displays Actual 3
on the Run Actual Mode for compare
Mode Icon window Module 15 - 20

- confidential -
Actual Mode Setup
2
Select Actual Setup
1 to change voltage and
Timing resolution and
trace color.

Module 15 - 21

- confidential -
Pin View Setup

Module 15 - 22

- confidential -
Pattern Tool Show Tooltips

Module 15 - 23

- confidential -
Pattern Tool Edit Menu

The Pattern Tool Edit menu


allows you to:
Setup Pin Structure
Import Tsets, Labels, etc.
Insert and changes vectors
Find/Replace and search

Module 15 - 24

- confidential -
Find and Replace
From the Edit menu select Find,
Replace or Goto to make edits to
the pattern file.

Module 15 - 25

- confidential -
GoTo

Module 15 - 26

- confidential -
Pattern Tool Pin Structure

Pins can be added 3


or deleted 2 Select Radix from
Select Pin 1
a drop down list
Structure from the
Edit Menu

Module 15 - 27

- confidential -
Adding New Pins

1 2
Click on the cell and
an ellipsis button is
displayed. Click on
the ellipsis button to
display the Pin Edit
Pop up.
3

Add new pins or


make Available Pins
Selected Pins.

Module 15 - 28

- confidential -
Digital Pin Setup

From the drop down


menu specify the
mode of the pin(s).

Module 15 - 29

- confidential -
Adding Instruments

Add instruments that


you want the pattern
file to initiate.

Module 15 - 30

- confidential -
Pattern Tool Imports
From the Import
window select a type
from the drop down
menu and type in a
Symbol name.

3
2

1
Select imports from
the edit menu

Module 15 - 31

- confidential -
Pattern Tool Options
Select Opcode mode
from the drop down
menu.

Select Options from


the File menu

Module 15 - 32

- confidential -
Pattern Tool Insert vectors

Select Insert
Specified Empty
2 Vector(s) to
incrementally add
multiple vectors
starting after vector
that was highlighted.

1 3

Select Insert Empty


Vector(s) to
incrementally add
single vectors starting Select Delete Vectors
at vector 1 or vector to delete highlighted
that was highlighted. vectors.

Module 15 - 33

- confidential -
Adding Vector Data

Double click on the


cell to display the
vector data drop
down menu.
Change or add vector
data for single pins.

Module 15 - 34

- confidential -
Adding Vector Bus Data

Double click on the


cell to display the
1 vector data bus pop
up menu.
Change or add vector
data for bus pins.

Module 15 - 35

- confidential -
Right Click Menu

Right click inside any


of the pattern tool
cells to display menu.

Module 15 - 36

- confidential -
PatternTool Menu
From the Pattern Tool
menu you can Load,
Unload, Update
Tester, Reburst Last
Pattern, Loop, Halt,
Enter HRAM Setup
Mode, Refresh
HRAM, Learn, and
Refresh Learn
Information and
check for Hazards.

Module 15 - 37

- confidential -
Loop Mode
Select Loop from the
Pattern Tool menu to
loop pattern in 3
modes.

Module 15 - 38

- confidential -
Pattern Tool Debug Menu
From the Debug
Menu or Debug Icons
select, Run, Stop,
Step Into, Step Over,
Step Out, Clear All
Breaks.

Module 15 - 39

- confidential -
Status Bar

The Status Bar displays


Tester status, current
site, Pattern
Loaded/Unloaded,
Pass/Fail results of last
burst pattern, number of
vectors, vector cycle
execution,

Module 15 - 40

- confidential -
Datalog Display

The Datalog window


will display failing
vectors that are captured
in HRAM.

Pattern fails

Module 15 - 41

- confidential -
Show HRAM

The HRAMPT window


will display pass and
failing vectors. The
failing vectors should
match what is shown on
the datalog display.

Module 15 - 42

- confidential -
Actual Mode Vectors

Expect Data vs. Actual data


is displayed. The expect
data is displayed in light
green and the actual data is
defined by the green line.

Expect Data
H L H
Actual Data
Module 15 - 43

- confidential -
Run Actual Mode
Set a break at the point
where you want to run
actual mode and step into
the test to burst the pattern.

Highlight the compare


vectors that you want to
trace then click the Actual
Mode button to trace the Pin is failing
vector levels.

Running Actual Mode will


trace the vector levels on
cells that are highlighted.

Module 15 - 44

- confidential -
Displaying Edges
D0 D1 D2 D3 R0 R1

Edges on the Pattern Tool


display reflect drive and
compare edges defined on
the Time Sets Basic Sheet

Note: The Format


is Non Return so
D2 is not
programmed

Module 15 - 45

- confidential -
Hazard Checking Using PT

• Hazards are timing conditions that


violate the tester hardware
specifications.
– Edge to Edge
– Maximum/Minimum Values
• The hazards check examines pairs
of timesets in the test program.
– It takes all the timesets in job
and generates all possible
pairings.
– It then checks each pairing for
potential hazards (timing
violations).
• To invoke the hazards check,
select it from the Pattern Tool
Menu
• The Hazards check cannot detect
timing violations that result from
run-time modification of timing
values.

Module 15 - 46

- confidential -
Functional Testing

Using a Functional Test Pattern

Rev0343
- confidential -
Functional Template

A functional test template verifies


that the device functionally
operates as described in the
device data sheet.

- confidential -
Functional Template
General Algorithm
PreBody:
• Close the Specified pin electronics, high-voltage,
and power supply relays
• Program the digital pin , and set the initial driver
states.
• Register the names of the interpose functions.
Body:
• Run the start-of-body interpose function.
• Disconnect any float pins from the DUT.
• Execute the patterns and log the results.
• Run the end-of-body interpose function.
PostBody:
• Clear the registered interpose function names.
• Return the drivers to the default start/init state.
• Reconnect any float pins.
3

- confidential -
Functional Template Patterns
The functional test template
takes a list of patterns and
the names of data sheets
describing tester setup
information (timing, levels,
etc.) and bursts the patterns.
Determines pass/fail results
from the expected data
specified in the patterns

- confidential -
Test Pattern
import tset time_func; Patterns of ones and zeroes
are placed on the device
vector ( $tset , oe, dir, portA , portB )
input pins and the subsequent
{ voltages on the device output
global func_start_glbv: pins are measured.
> time_fun 0 1 00000000 LLLLLLLL ; (Truth Table testing).
>- 0 1 00000001 LLLLLLLH ;
>- 0 1 00000010 LLLLLLHL ;
>- 0 1 00000011 LLLLLLHH ;
>- 0 1 00000100 LLLLLHLL ;
>- 0 1 00000101 LLLLLHLH ;
>- 0 1 00000110 LLLLLHHL If the
; device is functioning properly,
each input pattern (or test vector)
>- 0 1 00000111 LLLLLHHH ;
should produce a given (predictable)
output pattern. By using a correctly
designed series of input vectors and
their corresponding output vector
predictions), every function of the device
can be verified as operating correctly.

- confidential -
Pattern Tool Waveform Display

Using Pattern Tool you


can debug a functional
test, by changing vector,
data, or run in actual
mode to debug compare
edges.
6

- confidential -
HSD Debug Display

The HSD Debug Display


is used as a debug tool for
functional testing, to
change levels, timing,
formatting and mode.
7

- confidential -
Lab Exercise

• Create a functional test.

- confidential -
Procedure Development
Building Unique Tests

Rev0343
- confidential -
Procedure Development

• Faster way to build custom tests than


using pure code.
• Uses proven building blocks in a test flow
environment.

- confidential -
Procedure Development
Flow Sheet
calls test instance

Test Instance Sheet


defines test using template
Procedures created
from the bottom up

Instance Editor (Template)


associates variables with Created by Instance
procedures Editor Wizard

Procedure
Created in Procedure
a sequence of test elements
Development Environment
that create a test instance

Test Elements Element library provided


Discrete test pieces by Teradyne

- confidential -
Using Procedure Development

This process creates a custom Template


compiled from individual elements:
– Step 1: Build a procedure
– Step 2: Use the Instance Editor Wizard to create
the procedure’s template
– Step 3: Add the procedure to the Test Instance
sheet to create a custom test
– Step 4: Add this test to the Flow Table.

- confidential -
Step

Building a Procedure One

Flow Sheet
calls test instance

Test Instance Sheet


defines test using template

Instance Editor (Template)


associates variables with
procedures

Step Procedure
a sequence of test elements
One that create a test instance

Test Elements
Discrete test pieces

- confidential -
Step
Insert a Test Procedure Worksheet One

1. To insert a Test Procedure Sheet select Worksheet from the Insert


menu. The Insert Worksheet window opens.
2. Select Test Procedures from the Sheet Type menu.
Note: Test procedures are created and modified using the Procedure
Development Editor (PDE) and stored within the Test Procedures Sheets.
6

- confidential -
Step

Adding a Test Procedure One

1
2

1. Enter a Procedure Name. Press Enter and an ellipsis button is


created.
2. Select the ‘…’ (ellipsis) button and the PDE (Procedure Development
Editor) is displayed in TDE. Begin building the test elements in the
PDE.
7

- confidential -
Step
Procedure Development Environment One

IG-XL's Procedure
Development
Environment (PDE)
Flow Chart Editor Test Element Editor provides a set of
tools for
developing custom
test procedures
that are specifically
suited for unique
testing needs.
Variables table

- confidential -
Step
Procedure Development Environment One

• Flow Chart Editor


– Graphic representation of test flow elements
– Use the Flow Chart Editor to add, delete, or rearrange test
elements
– Flow chart depicts the algorithm of the test procedure
– The test procedure is executed in the order dictated by the
flow chart
• Test Element Editor
– Used to define variable names that will be placed in a
variables table
• Variables Table
– Defines variable values used in the environment
– Used to view and edit variables defined by Test Elements

- confidential -
Step

Adding Test Elements One

1 1. Click Add Test


Element (TE) icon
from the Toolbar.
The Test Element
2 Chooser window
appears.
2. Expand the list of test
elements by
selecting the “+”
beside the choices
displayed. Results:
the element tree
expands.

10

- confidential -
Step

Test Element Editor One

From the Pins dropdown list,


select <New Variable>, a
previously defined variable, or
create a hard coded value.

• Selecting a Flow Chart


Element will display that
element’s variable structure in
the editor.
• The element editor is used to
define variable names that
will be placed in a variables
table.
• The variable names will be
used as input parameters in
the custom template created
by this test procedure.

11

- confidential -
Step

Variables Table One

Variables are
created by
selecting the "New
Variable" option in Determines
the Test Element whether the
Editor. Edit the variable will
variable to provide appear in Test
values other than Instance Editor.
the default.

• Displays all variables while creating a test procedure. Use


the Variables Table to view and edit the variables referenced
by the test elements.
• A new procedure variable is added when using the Test
Element Editor and selecting <New Variable> from the
drop-down list for an argument.

12

- confidential -
Step

Saving the Test Procedure One

• If a Test Procedures sheet


does not exist, one is
automatically inserted into
the workbook.
• The workbook must be
saved to have changes
saved to disk.
• Changes to the test
From the Procedure menu procedures are lost when
select Save to Excel to
save the Test procedure to
exiting from the workbook
the Test Procedures sheet without saving.
in the Excel workbook

13

- confidential -
Step
Create a Template from a Procedure Two

Flow Sheet
calls test instance

Test Instance Sheet


defines test using template

Instance Editor (Template)


Step associates variables with
Two procedures

Procedure
a sequence of test elements
that create a test instance

Test Elements
Discrete test pieces

14

- confidential -
Step

Instance Editor Wizard Two

1. Select the Instance


Editor Wizard icon or
press Ctrl + W

15

- confidential -
Step

Instance Editor Wizard Two

2. Select all three


or none
3. Click Next >.
The Finish Box
should appear

16

- confidential -
Step

Instance Editor Wizard Two

4. Select Finish. The


named procedure is
now available for use
in the Test Instance
Worksheet.
5. Click OK.
4

5
17

- confidential -
Step

Initial Test Instance Format Two

• All Parameters# pages


contain fields that do not
appear to be logically
grouped.
• The fields retain all
original variable names
as listed in a previously R E
O
EF
created procedure.
• The Parameters pages B
can be edited for both
content and appearance
to improve organization.
18

- confidential -
Step

Formatted Test Instance Editor Two

Use the Visual


Basic Editor to
edit the
appearance of
the procedure’s E R
custom template. F T
A

19

- confidential -
Step
Displaying the Visual Basic Editor Two

• Select the Test Instance


Sheet tab.
• Select Tools -> Macro ->
Visual Basic Editor or
Hit Alt + F11

20

- confidential -
Step

Visual Basic Editor Two

• Locate the form


for the desired
procedure in the
VBAProject -->
Forms directory.
• The form name
will be the same
as the procedure
name with an
“_IE” extension.
• Double-click on
the form name to
open the form for
editing.
21

- confidential -
Step

Using the Visual Basic Editor Two

View Code

View Object

Switch between
the form and its
code by using
the View Object
and View Code
buttons.

22

- confidential -
Step

Create a Test Instance Three

Flow Sheet
calls test instance

Step Test Instance Sheet


Three defines test using template

Instance Editor (Template)


associates variables with
procedures

Procedure
a sequence of test elements
that create a test instance

Test Elements
Discrete test pieces

23

- confidential -
Step

Adding a Test Instance Three

1 2 3

1. Add a Test Name


2. Select Test Procedure from Type column
3. Select a name from the Name drop-down list

24

- confidential -
Step

Accessing the Test Instance Editor Three

1. Select the ellipsis button to invoke the instance


editor.

25

- confidential -
Step

The Instance Editor Three

• The Instance Editor


appears after selecting the
ellipsis button.
• The instance Editor
displays the custom
template created from the
procedure.
• Notice the Levels & Timing
and various Parameters
tabs.
• Levels & Timing is a
cleanly preformatted page.

26

- confidential -
Step

Adding A Test Four

Step Flow Sheet


Four calls test instance

Test Instance Sheet


defines test using template

Instance Editor (Template)


associates variables with
procedures

Procedure
a sequence of test elements
that create a test instance

Test Elements
Discrete test pieces

27

- confidential -
Step

Adding Tests To Flow Sheet Four

Add the test to the flow sheet the same way


as any other test.

28

- confidential -
Exporting/Importing Test
Procedures

Rev0343
- confidential -
IG-XL Tool Bar

• IG-XL allows you to import and export test


procedures.

• Buttons for import and export test


procedures have been placed on the IG-
XL Tool Bar.

– Importing a Test Procedure button

– Exporting a Test Procedure button


30

- confidential -
Exporting A Test Procedure
1

2 3

1. Click Export Test Procedures


icon on the IG-XL toolbar.
2. Select Test Procedure Sheets,
4 click Next>.
3. Select Test Procedures, click
Next>.
4. Specify an export directory,
click Export. 31

- confidential -
Exported Test Procedure Files

The test
procedure,
associated files,
and forms will be
saved in the
specified location.

32

- confidential -
Importing a Test Procedure
1

3
2

1. Click Import Test Procedures


icon on the IG-XL toolbar.
2. Select an Import directory,
4 click Next >.
3. Select Test Procedures, click
Next>.
4. Select Test Procedure sheets,
click Import. 33

- confidential -
Imported Test Procedure Files

The test procedure,


associated files, and
forms will be imported
into the current
workbook.

Note: You must insert a


Test Procedure worksheet
into the workbook if one
does not exist.

34

- confidential -
Lab Exercise

Run the Procedure Development Lab.

35

- confidential -
36

- confidential -
Appendix

Rev0343
- confidential -
Step

Selecting the Form Two

Select the form


by clicking
inside it.

38

- confidential -
Step

Resizing the Form Two

Resize the form


by dragging one
of it’s handles

39

- confidential -
Step

Selecting a Page Two

Select a
different page
by clicking on
it’s tab

40

- confidential -
Step

Resizing a Page Two

Resize a page
by dragging one
of it’s handles.

41

- confidential -
Step

Renaming a Page Two

Rename a page by
typing a new name
in the Caption field
of the page’s
Property window.

42

- confidential -
Step

Renaming a Field Two

Select a field by
clicking on it.

Rename a field by
typing a new name
in the Caption field
of the page’s
Property window.

43

- confidential -
Step

Moving a Field Two

Move a field by dragging it or by


cutting and pasting it.

Fields can be cut from one page


and pasted in another page.

44

- confidential -
Step

Deleting a Page Two

Right-click on a
page and select
Delete to delete a
page.

It is not recommended to
delete the fields in the form
as this may corrupt the page.

45

- confidential -
46

- confidential -
DCVI Test Procedures

Rev0343
- confidential -
Objectives

The goal of this session is to show you


how to build custom test procedures
using the DCVI test elements.

Module 18 - 2

- confidential -
Introduction
The steps for creating a DCVI Test Procedure are:
¾ Add a procedure worksheet
¾ Add a test Name to the procedure worksheet
¾ Click on the ellipsis button to enter the PDE
¾ Click on the test element chooser to display a list of test elements
¾ Select DCVI test elements from the instruments list
¾ Add each element required to create a test
¾ Click on each test element in the Flow Chart Editor and select <New
Variables> or previously defined variables from the drop – down lists
¾ Edit variables in the variables table when necessary and reselect from
the variable drop-down lists
¾ Save the test procedure to Excel
¾ Run the Instance Editor Wizard to create the instance form
¾ Add the test procedure to the instance sheet
¾ Build the test from the instance
¾ Add the test to the flow table
Module 18 - 3

- confidential -
Test Procedure Development Environment
IG-XL's Procedure Development Environment (PDE) provides
a set of tools for developing custom test procedures that are
specifically suited for unique testing needs.
¾ Add a procedure worksheet
¾ Add a test Name to the procedure worksheet
¾ Click on the ellipsis button to enter the PDE

Flow Chart Test Element


Editor Editor

Click on the ellipses


button to involve PDE Variables Table

Module 18 - 4

- confidential -
DCVI Test Elements
In order to add DCVI test elements to the Flow Chart
Editor click on the TE icon. Select >Elements by
instrument and then select> DCVI.
¾ Click on the test element chooser to display a list of test elements
¾ Select DCVI test elements from the instruments list
¾ Add each element required to create a test

Module 18 - 5

- confidential -
DCVI Test Elements
The following test elements can be used to create a test for
Forcing and measuring Voltage or Current, using DCVI
Channels:

DCVIConnection Connect DCVI Channel(s) to


pins

DCVISETUP Set the mode of operation for


DCVI channel

DCVIMetering Set the meter for the DCVI channel

Module 18 - 6

- confidential -
DCVI Connection Test Element
First: Select the DCVIConnection element from the chooser and add it
to the Flow Chart Editor.

Click on DCVIConnection
element in the Flow
Chart Editor and connect
the pin(s).
Pins: Select <New
Variable> from
drop- down list
Connection: Select
“Connect”
from drop-
down list

Module 18 - 7

- confidential -
DCVI Setup Test Element
Next: Select the DCVISetup element from the chooser and add it to the
Flow Chart Editor.
Click on DCVISetup element in the
Flow Chart Editor and setup the pin(s).
¾ Pins: Select <New Variable> or
previously defined variable from
drop-down list
¾ Mode: Select “Mode from drop-
down list.
¾Voltage: Select <New Variable>
from drop-down list
¾ Current: Select <New Variable>
from drop-down list
¾ Bandwidth: Select from a drop-
down list
¾ Compliance: Select from a drop-
down list
¾Meter Mode: Select “Voltage or
“Current” from drop-down list.
¾ Set Gate to Y for Yes. Module 18 - 8
¾ Select Ranges from drop-down list
- confidential - ™Asynch will be discussed during DCTime.
DCVI Metering Test Element
Next: Select the DCVIMetering element from the chooser and add it to the
Flow Chart Editor.
Click on DCVIMetering element in the
Flow Chart Editor and setup the meter.
¾ Pins: Select <New Variable> or
previously defined variable from
drop-down list
¾ Action: Select “Reading” from
drop-down list
¾ Sample Size: Select <New
Variable> from drop- down list
¾ Sample Rate: Select <New
Variable> from drop- down list
¾ Measurement: Select <New
Variable> from drop- down list

Module 18 - 9

- confidential -
Setting Limits
Next: Select the Limits element from the chooser and add it to the Flow
Chart Editor.

Click on Limits element in the Flow


Chart Editor and setup the limits.
¾ Result: Variable to read results
from the measure element
¾ Low Limit: Select (input_parms>
from the drop-down list
¾ High Limit: Select (input_parms>
from the drop-down list
¾ Compare Mode: Select from the
drop-down list (Typically Average)
¾ Units: Select from the drop-down
list
¾ TName: Select from the drop-
down list

Module 18 - 10

- confidential -
Resetting DCVI
Next: Select the DCVISetup element from the chooser and add it to the
Flow Chart Editor.

Click on DCVISetup element in the


Flow Chart Editor and reset the pin(s).
¾ Pins: Select previously
defined pins from drop-
down list
¾ Gate off

Module 18 - 11

- confidential -
Disconnecting DCVI
Next: Select the DCVIConnection element from the chooser and add it
to the Flow Chart Editor.

Select Disconnect
from the drop-down list
Click on DCVIConnection element in
the Flow Chart Editor and disconnect
the pin(s).
¾ Pins: Select previously
defined pins from drop-
down list
¾ Connection: Select “Disconnect”
from the drop-down list

Module 18 - 12

- confidential -
DC Diff Meter Test Elements

The following test elements can be used to create a


test that will make differential measurements through
the DCVI channels.

DCDiffMeterConnection Connect High and Low pins

DCDiffMeterSetup Setup the range and mode of


differential meter

DCDiffMeterMetering Have the Differential Meter make the


measurement

Module 18 - 13

- confidential -
DC Diff Meter Connection Element
1. Connect and Setup the DCVI channels
2. Select the DCDiffMeterConnection element from the chooser
and add it to the Flow Chart Editor.

Click on DCDiffMeter Connection


element in the Flow Chart Editor and
connect the pin(s).
¾ Pins Hi: Select <New Variable>
from drop-down list
¾ Pins Lo: Select <New Variable>
from drop-down list
¾ Connection: Select “Connect”
from the drop-down list

Module 18 - 14

- confidential -
DC Diff Meter Setup Element
Next: Select the DCDiffMeterSetup element from the chooser and add it
to the Flow Chart Editor.

Click on DCDiffMeter Setup element


in the Flow Chart Editor and setup
the pin(s).
¾ Pins Hi: Select <New Variable>
or previously defined variable
from drop-down list
¾ Pins Lo: Select <New Variable>
or previously defined variable
from drop-down list
¾ Voltage Range: Select “” from
drop-down list

Module 18 - 15

- confidential -
DC Diff Meter Measurement Element

Next: Select the DCDiffMeterMetering element from the chooser and


add it to the Flow Chart Editor.
Click on DCDiffMeterMetering element in the
Flow Chart Editor and setup the measurement.
¾ Pins Hi: Select <New Variable> or
previously defined variable from drop-
down list
¾ Pins Lo: Select <New Variable> or
previously defined variable from drop-
down list
¾ Action: Select “Reading” from drop-down
list
¾ Sample Size: Select <New Variable> from
drop-down list
¾ Sample Rate: Select <New Variable> from
drop-down list
¾ Measurement: Select <New Variable> from
drop-down list

Module 18 - 16

- confidential -
DC Diff Meter Connection Element
1. Connect and Setup the DCVI channels
2. Select the DCDiffMeterConnection element from the chooser
and add it to the Flow Chart Editor.

Click on DCDiffMeter Connection


element in the Flow Chart Editor and
connect the pin(s).
¾ Pins Hi: Select <New Variable>
from drop-down list
¾ Pins Lo: Select <New Variable>
from drop-down list
¾ Connection: Select
“Disconnect”
from the drop-down list

Module 18 - 17

- confidential -
DCVI Waveform Test Elements

The following test elements can be used to create a


test that will source and capture a waveform using the DCVI
Channels:

DCVISourceSignal Setup the DCVI to


source a waveform

DCVISourceActions Start the waveform

DCVICaptureSignal Setup the DCVI to


capture a waveform

DCVICaptureActions Capture the waveform

Module 18 - 18

- confidential -
DCVI Source Signal Test Element
1. Connect and Setup the DCVI channels
2. Select the DCVISourceSignal element from the chooser and add it to
the Flow Chart Editor.
Click on the DCVISourceSignal element in the Flow
Chart Editor and setup the DCVI to source a
waveform using Mixed Signal Workshop
¾ Pins: Select <New Variable> or previously defined
variable from drop-down list

¾ Signal Name: Select <New Variable> from the


drop-down list. Wavename will be applied on the
instance (Use as Default Signal and Load
Settings)

¾ Load from Mixed Signal Timing Set: Click on box


to load waveform from MSWS, or define
WaveDef Name, Fs, N, and M on element
editor (Optional: define resource ID, Phase and select
Bandwidth from drop-down list.

¾ Stop on Mode Alarm; select N for No or Y for Yes


¾Amplitude:
¾Amplitude: & Offset: Select <New Variable> or
previously defined variable from drop-down list
¾Mode: Select from the drop-down list
¾Range: Select from the drop-down list
Module 18 - 19

- confidential -
DCVI Source Signal Test Element
Setup the DCVI to source a waveform with
manual settings:
¾ Use as Default Signal: (Optional) If checked then this
Signal will be used when a Start with no Signal Name is
issued from the DCVISourceActions test element or the
pattern.
¾ Load Settings: Checking this box will cause the
driver to compute and load the register settings needed
to create the named signal. Typically, Load Settings
must happen prior to a Start command or a pattern
start.
¾ When not checking Load from Mixed
Signal Timing Set define the following:

¾ WaveDef Name: Name from Wave Definition


worksheet
¾ Sample Rate: Indicates the sample rate (Fs) of the
Signal to be sourced with the DCVI. This
property is specified in terms of samples per
second.
¾ Number of Samples: Specify the number of
samples (N) to use when creating the Signal.
¾ Number of Cycles: Specify the number of times a
Wave Definition repeats to create the Signal.
¾ Select <New Variable> from the drop-down menu for
each entry (Fs, N, M).
¾Apply values on the instance for the source
instrument.
Module 18 - 20

- confidential -
DCVI Waveform Source Action Element
Next: Select the DCVISourceActions element from the chooser
and add it to the Flow Chart Editor.

Click on the DCVISourceActions element in


the Flow Chart Editor and and Start the
Waveform.
¾ Pins: Select <New Variable> or
previously defined variable from
drop-down list
¾ Action: Select from drop- down list
• Start Once - Starts wave only once.
• Start - Sources a wave in a loop
automatically starting the wave source
each time it ends.
¾ Signal Name: Select <New Variable> or
• Stop - Immediately ends the sourcing of
previously defined variable from the signal. The Signal Name menu is
drop-down list. grayed out.
• Stop at End - Continues to source the
wave until the end then stops. Module
The 18 - 21
Signal Name menu is grayed out.
- confidential -
DCVICaptureSignal Setup Element
Next: Select the DCVICaptureSignal element from the chooser and add it
to the Flow Chart Editor.
Click on the DCVICaptureSignal element in the
Flow Chart Editor and setup the DCVI to capture
a waveform using Mixed Signal Workshop
¾ Pins: Select <New Variable> or
previously defined variable from drop-
down list
¾ Signal Name: Select <New Variable> from the
drop-down list. Wavename will be applied on the
instance (Use as Default Signal and Load
Settings)
¾ DSP Wave: Specify a variable to hold a new
DSPWave object. Select <New Variable> or
previously defined variable from drop-
down list
¾ Load from Mixed Signal Timing Set: Click on box
to load waveform from MSWS, or define
WaveDef Name, Fs, N, and M on
element editor (Optional: define resource ID,
and select Filter from the drop-down list.
¾ Amplitude:
¾Select Mode from the drop-down list
¾Select Range from the drop-down list

Module 18 - 22

- confidential -
DCVICaptureSignal Setup Element

Setup the DCVI to capture a waveform with


manual settings:

¾Do Not Use as Default Signal: (Optional) If not


checked then a Start with Signal Name must be
issued from the DCVISourceActions test element or
the pattern.

¾ Do Not Load from Mixed Signal Timing Set:


Then:
Select <New Variable> from the drop-down menu
for each entry (Fs, N, M).
¾ Apply values on the instance for the capture
instrument.

Module 18 - 23

- confidential -
DCVICaptureActions Element
Next: Select the DCVICaptureActions element from the chooser
and add it to the Flow Chart Editor.

Click on the DCVISourceActions element


in the Flow Chart Editor and and Capture
the Waveform.
¾ Pins: Select <New Variable> or
previously defined variable from
drop-down list
¾ Capture Action: Select from drop-
down list • Trigger - Initiates a capture. When selected, you
must enter a capture label in the Capture Label
¾ field.
• Retrieve - Sets the Capture Label variable to
point to data captured earlier (for example, when
¾Signal Name: Select <New Variable> a capture is initiated in a pattern). When
or previously defined variable from selected, you must enter a Capture Label in the
drop-down list. Capture Label field.
• ClearCaptureMemory - Clears the capture
memory. When selected the Capture Label menu
is be grayed out Module 18 - 24

- confidential -
DCVI Source Capture Ramp
Test Elements to Source and
Capture a Ramp.
¾ Connect the input/output pins
¾ Setup the input channel
¾ Setup the output channel
¾ Setup input channel to source a
ramp
¾ Source a 3 volt ramp from 8 to 11
volts at 1KHz
¾ Wait for settle
¾ Setup input channel to capture
ramp
¾ Setup output channel to capture
average wave
¾ Capture input ramp
¾ Capture output wave
¾Plot wave and calculate average
output
¾ Compare to test limits

Module 18 - 25

- confidential -
DCVI Labs
Use the DCVI Lab Guide to create test
procedures

Module 18 - 26

- confidential -
3.90 Element Name 5.0 Element Name Comment Actions

DCVIConnection DCVIConnection No changes planned


DCVIWaveformSourceSetup DCVISourceSignal Source Signals Remove
model replaces DCVIWaveformSourceSetup
Source Waveforms and add DCVISourceSignal
element by March 12. This
can be done by renaming old
element or replacing it.
DCVIWaveformSourceActions DCVISourceActions Renamed for Rename (or replace)
consistency, minor DCVIWaveformSourceActions
changes related to element by March 12. Include
source (Signal) Signal-related modifications.
actions
DCVISetup DCVISetup Not Signal-related;
No changes planned
(none) DCVICaptureSignal New element for Add DCVICaptureSignal
Capture Signals element by March 12.
model
DCVIMetering DCVIMetering Used for metering Remove Capture-related
actions only actions from the
DCVIMetering element by
March 12.
(none) DCVICaptureActions Used for Capture- Add DCVICaptureActions
related actions, but element. Move capture-related
the DSPWave won’t action support from the
be here because it’s DCVIMetering element (with
supplied in the no DSPWave) by March 12.
Signal element.
DSSCSourceSetup DSSCSourceSignal Source Signals Remove DSSCSourceSetup
model replaces element and add
MST/Waveforms DSSCSourceSignal element by
model March 12. This can be done
by renaming old element or
replacing it.
DSSCCaptureSetup DSSCCaptureSignal Capture Signals Remove DSSCCaptureSetup
model replaces MST element and add
model DSSCCaptureSetup element by
March 12. This can be done
by renaming old element or
replacing it.
DSSCDSPWaveSetup (none) DSPWave moved to Remove DSSCDSPWaveSetup
DSSCCaptureSignal element by March 12.
BBACSourceConnection BBACSourceConnection No changes planned
BBACSourceSetup BBACSourceSignal Source Signals Remove BBACSourceSetup
model replaces element and add
source Waveforms; BBACSourceSignal element
no need (yet) for by March 12. This can be
Pins GUI on done by renaming old element
BBACSource or replacing it.
BBACSourceActions BBACSourceActions Minor changes Include Signal modifications
related to source by March 12.
(signal) actions
BBACCaptureConnection BBACCaptureConnection No changes planned
BBACCaptureSetup BBACCaptureAlarms Capture Signals Remove BBACCaptureSetup
model replaces MST element and add
model; no need (yet) BBACCaptureAlarms by
for Pins GUI on March 12. This can be done
BBACCapture other by renaming old element or
than for access to replacing it.
Alarms
BBACCaptureActions BBACCaptureActions Minor changes Include Signal modifications
related to capture by March 12.
(signal) actions
BBACCaptureDSPWave (none) DSPWave moved to Remove
BBACCaptureSignal BBACCaptureDSPWave
element element by March 12.
Manual Title: Table of Contents

TABLE OF CONTENTS

Pre-V5.0 Test Program Conversion ...................................................................................... 1


Overview of the Signals Model ............................................................................................. 2
Which Programs need to be Converted? .............................................................................. 4
Conversion Assistant Tool .................................................................................................... 5
Conversion Assistant Buttons and Menus ......................................................................... 5
Converting a Test Program ................................................................................................... 7
Manual Conversion Procedures .......................................................................................... 10
VBT Conversion ..............................................................................................................10
Converting Waveforms.Add and Waveforms.Modify Language ...................................... 11
Amplitude Conversion .....................................................................................................12
Obsolete Mixed Signal Timing Data ................................................................................ 12
Apply MS Timing and Nested Test Procedures .............................................................. 13
Capture Label Assignment .............................................................................................. 13
Patterns Using Signals Defined Only on the Mixed Signal Timing sheet ........................ 14
Patterns Used in Multiple Tests .......................................................................................15
DCVI Range and Mode ................................................................................................... 15
Missing Test Element Parameters ..................................................................................16
Common Validation and Run Time Errors .......................................................................... 17

IG-XL Solutions TOC-1


WaveDesigner: Pre-V5.0 Test Program Conversion:

1 PRE-V5.0 TEST PROGRAM CONVERSION

Test programs created with earlier versions of IG-XL (prior to V5.0) must be converted to
conform to the new Signals model of mixed signal test creation. This document describes
how to use the Conversion Assistant application to automatically convert a large portion of
a pre-V5.0 test program.
The Conversion Assistant analyzes the test program and automatically replaces obsolete
elements of the program with newer elements. During the conversion process, there may
be instances where the Conversion Assistant does not posses enough information to
properly convert parts of the test program. The Conversion Assistant provides a log file of
these anomalies, which you can use to investigate and manually edit the incomplete or
incorrect elements of the test program.
The following sections provide details about the Signals model, the Conversion Assistant,
and conversion incompatibility solutions.
• “Overview of the Signals Model” on page 1-2
• “Which Programs need to be Converted?” on page 1-4
• “Conversion Assistant Tool” on page 1-5
• “Converting a Test Program” on page 1-7
• “Manual Conversion Procedures” on page 1-10
• “Common Validation and Run Time Errors” on page 1-17

IG-XL Solutions 1-1


WaveDesigner: Pre-V5.0 Test Program Conversion: Overview of the Signals Model

Overview of the Signals Model


The Signals model, introduced in IG-XL V5.0, puts an emphasis on programming the
desired signal, rather than programming the instrument. The Signals model introduces
changes to where and how a waveform is defined, the relationship between programming
an instrument and programming a waveform, and how the amplitude of the signal is defined.
As shown in figure 1-1, prior to IG-XL V5.0, waveforms were mainly defined on the Mixed
Signal Timing sheet, with some information, like amplitude, defined on the instrument-
specific Setup test element. The Signals model now centralizes most of the signal’s
information on one instrument-specific Signal test element, with only a few parameters
specified optionally in the Mixed Signal Timing sheet. Furthermore, references to
Wavename, Sample Amplitude, and Sample Offset have also been moved from the Mixed
Signal Timing sheet to the Signal test elements.

Waveforms Model (Before)

Signals Model (After)

Figure 1-1. More Signal Information Included on the Test Element

IG-XL Solutions 1-2


WaveDesigner: Pre-V5.0 Test Program Conversion: Overview of the Signals Model

For a waveform to exist in the Signals model, you must specify a named waveform on a
Signal test element and it must be executed before the signal is started or triggered. The
Signal test element creates what is known as a Signal, which is a complete description of a
waveform. A Signal is a definition of a waveform that focuses on the parameters of the
waveform, not the instrument. So again, in IG-XL V5.0 you program Signals, not
instruments.
The Signals model has also redefined how the Amplitude parameter is calculated for a
signal. That means, in some case, you will have to recalculate the amplitude value specified
in your test program. The Amplitude parameter on an instrument-specific Setup test
element or the Mixed Signal Timing sheets was actually gain in the pre-V5.0 model. That is,
it was a multiplication factor applied to the samples of a waveform. In many cases the
samples were normalized to 1, so amplitude was effectively the desired amplitude. In the
Signals model, amplitude is now explicitly the desired amplitude of a signal. See “Amplitude
Conversion” on page 1-12 for further details.
Since an equivalent VBT statement exists for each of the test element parameters,
everything described above concerning the test element parameters also applies the
corresponding VBT syntax. The Waveforms collection that existed pre-V5.0 has been
replaced by a Signals collection. One of the most significant differences as a consequence
of this change is that while the Waveforms collection took only raw samples, the Signals
collection takes a description of the waveform. There are ways of course to put raw samples
on a Signals collection. See “Converting Waveforms.Add and Waveforms.Modify
Language” on page 1-11.

IG-XL Solutions 1-3


WaveDesigner: Pre-V5.0 Test Program Conversion: Which Programs need to be Converted?

Which Programs need to be Converted?


Most mixed signal test programs will need to be converted. Digital and DC programs do not
need to be converted since the required changes are related to the Mixed Signal Timing
sheet and mixed signal test elements, niether of which are used in digital or DC test
programs.
Consider the following verification procedures to determine if your test program needs to be
converted:

Test Program Characteristics


Review the characteristics and elements of your test program to determine if the program
contains any elements, data, or syntax that has changed. If any of the three conditions
below apply to your test program, you will need to convert the program:
1. If your test program uses any of the following Test Elements:
• BBACSourceSetup
• BBACCaptureSetup
• BBACCaptureDspWave
• DCVIWaveformSourceAction
• DCVIWaveformSourceSetup
• DCVIMetering
• DSSCSourceSetup
• DSSCCaptureSetup
• DSSCDspWaveSetup
2. If you used the Waveforms collection off the DSSC Source or Capture language node.
3. If you used data specified in the Mixed Signal Timing sheet.

Verification using the Conversion Assistant


Another simple way to tell if your test program needs to be converted is to load it in the
Conversion Assistant and press the ANALYZE SELECTED FILE(S) button (See “Conversion
Assistant Tool” on page 1-5). The Conversion Assistant will inform you if the program needs
to be converted, as well as the type of actions the Conversion Assistant will perform to
convert as much of the program as possible.

NOTE
With respect to VBT conversion, the Conversion Assistant does not convert VBT syntax. It
simply looks for references to .Waveforms language. If your program makes no reference
to .Waveforms, the Conversion Assistant will inform you that you do not need to convert the
VBT code. If the program does include references to the .Waveforms syntax, then you
should review your code and manually make the necessary changes (See “VBT
Conversion” on page 1-10).

IG-XL Solutions 1-4


WaveDesigner: Pre-V5.0 Test Program Conversion: Conversion Assistant Tool

Conversion Assistant Tool


The Conversion Assistant tool (figure 1-2) automatically converts a large portion of a pre-
V5.0 test program to conform to the new Signal model. The Conversion Assistant analyzes
the test program and automatically replaces obsolete elements of the program with newer
elements. During the conversion process, there may be instances where the Conversion
Assistant does not posses enough information to properly convert parts of the test program.
The Conversion Assistant provides a log file of these anomalies, which you can use to
investigate and manually edit the incomplete or incorrect elements of the test program.

The File menu allows you to The Tools menu allows you
to open a test program file to set various options
to be analyzed or converted

The Conversion Assistant


Initiates a read-only produces a log file that
analysis of potential identifies the test program
incompatibilities in elements that were converted,
the test program as well as those elements
that need to be .edited manually.
Initiates the conversion
of the test program The test program’s
file name appears
once the file is opened
using the File menu

Figure 1-2. Conversion Assistant Application

During the conversion process, the Conversion Assistant may encounter incompatible items
that do not have an immediate equivalent in the Signals model. The Conversion Assistant
provides a log file of these potential incompatibilities, which you can use to investigate and
manually edit the incompatible elements of the test program. The Conversion Assistant is
not able to convert VBT syntax though.
See “Converting a Test Program” on page 1-7 for instructions on how to perform a test
program conversion using the Conversion Assistant.

Conversion Assistant Buttons and Menus


The Conversion Assistant has two operating modes: Analyze and Convert. Each mode is
controlled by one of the following buttons:
ANALYZE SELECTED FILE(S) Read-only analysis of what the converter needs to do to convert
the program. When the analysis is complete, the log is saved to
a file (AnalysisLog.txt) in the same directory as the test
program.

IG-XL Solutions 1-5


WaveDesigner: Pre-V5.0 Test Program Conversion: Conversion Assistant Tool

CONVERT SELECTED FILE Writes the necessary changes to the test program and to the log
file. The log is saved to a file (ConversionLog.txt) in the same
directory as the test program.

The Conversion Assistant also has two menus: FILE and TOOLS.
The FILE menu provides access to a standard OPEN command, which allows you to load a
test program into the Conversion Assistant. See step 3b in the “Converting a Test Program”
on page 1-7.
The TOOLS menu provides access to the OPTIONS commands, which allows you to set
various properties of the Conversion Assistant. You can set the following properties by
selecting the OPTIONS command:
ADD NEW VARIABLES Creates new test procedure variables when multiple
MST sets are used with a test procedure. See “Obsolete
Mixed Signal Timing Data” on page 1-12.
CREATE SIGNALS FROM MST SHEET Adds non-DSSC signals to the signal creation test
procedure(s). See “Patterns Using Signals Defined Only
on the Mixed Signal Timing sheet” on page 1-14.
SHOW MORE ANALYSIS The log is more verbose when using the Analyze button.

IG-XL Solutions 1-6


WaveDesigner: Pre-V5.0 Test Program Conversion: Converting a Test Program

Converting a Test Program


Perform the following procedure to successfully convert your test program.
1. Open the test program in IG-XL V5.0
a. Select START>PROGRAMS>TERADYNE IG-XL V5.0>OPEN EXISTING TEST PROGRAM
b. Navigate to and open the test program file.
Loading the test program into IG-XL V5.0 will upgrade the worksheets and test
elements, thus performing much of the initial conversion. Note, however, that the
program will not validate in its current state.
2. Save the program in IG-XL
a. Select FILE>SAVE AS
b. If you want to conserve the original pre-V5.0 file, save the file under a different name.
Otherwise, just save the changes to the file.
3. Run the Conversion Assistant on the program
a. Open the Conversion Assistant application by selecting:
C:\Program Files\Teradyne\IG-XL\5.00.00\bin\IGXLV5Converter.exe
b. Open the test program by selecting FILE>OPEN and navigating to the file.
The file has successfully loaded if the file’s path now appears in the lower corner of
the Conversion Assistant window.
c. Press the CONVERT SELECTED FILE button.
The Conversion Assistant creates a conversion log in the display window, and also
saves a copy of the log to a file (ConversionLog.txt) in the same directory as the test
program. The contents of the log file lists the test procedures, instances, or flow entries
in the test program, with comments on potential anomalies in the conversion. Anomalies
represent parts of the test program that require manual edits to properly complete the
conversion.
d. Save the converted program file.
Although the Conversion Assistant has run through the test program, changes are
not made to the test program file until the file is saved after the conversion.
Therefore, press the SAVE button to apply the conversion changes to the file.
However, if you don’t want to save the changes, press CANCEL and your file remains
in its original state.
e. Close the Conversion Assistant by pressing the window’s CLOSE button.
4. Verify test program items identified in the log file
While the majority of the test program is converted by the Conversion Assistant, the log
file may identify parts of the test program that either could not completely convert, or
may have been improperly converted. You must manually investigate each of these
anomalies and make the necessary changes to the test program.
The log file identifies all test procedures, test instances, and flow entries in the test
program. Comments describing potential incompatibility issues appear below the name
of the test procedure, test element, or flow entry. Those with no comments below them
either required no conversion, or the Conversion Assistant was able to perform an
accurate conversion of the item.

IG-XL Solutions 1-7


WaveDesigner: Pre-V5.0 Test Program Conversion: Converting a Test Program

a. Open the log file (ConversionLog.txt) which is located in the same directory as the
test program file that was converted.
b. Open the converted test program in IG-XL V5.0. See step 1.
c. Carefully read through the log file, paying particular attention to the commented
anomalies. When you come across a commented item, read the comment and
investigate that part of the test program (now open in IG-XL).
d. Make the appropriate changes to the item. See “Manual Conversion Procedures” on
page 1-10 for details on how to convert some test items.

NOTE
The log file specifies test procedures that had new variables added to them. These test
procedures need to be opened in the Test Instance Editor Wizard before they are opened
in the Test Instance Editor, so that the new variables can be added to the Instance Editor.
Failure to do so results in the new variable’s values being deleted from the Test Instance
sheet.

5. Validate the program and resolve any errors


a. Validate the test program after all of the anomalies identified in the log file have been
investigated and corrected in the test program.
b. Resolve any validation errors. Some of these errors may be the result of certain
information missing because the Conversion Assistant could not determine how to
fill in the missing information. See “Common Validation and Run Time Errors” on
page 1-17 for information on common validation errors.
c. Save the test program.
6. Manually convert the VBT portion of the test program
The Conversion Assistant does not convert any VBT syntax that may exist in the test
program. Also, the CONVERT SELECTED FILE function does not identify incompatible VBT
syntax in its log file. However, you can use the ANALYZE SELECTED FILE function to
identify the VB modules that contain incompatible VBT syntax. Then you can manually
change the syntax in the module. See “VBT Conversion” on page 1-10 for more
information about VBT syntax conversion.
a. Open the Conversion Assistant and load up the test program. See steps 3a and 3b.
b. Press the ANALYZE SELECTED FILE button.
The Conversion Assistant runs an analysis on the test program to identify any
anomalies, including the modules that have incompatible VBT syntax. The
Conversion Assistant generates a log file (AnalysisLog.txt), which is saved to the
same directory as the test program file that was analyzed.
c. Open the log file (AnalysisLog.txt).
d. Open the test program in IG-XL V5.0. See step 1.
e. Read the log file and look at the section at the bottom called ANALYSIS OF VBT CODE.
Investigate each of the modules identified as potentially containing incompatible
syntax.

IG-XL Solutions 1-8


WaveDesigner: Pre-V5.0 Test Program Conversion: Converting a Test Program

f. Make the appropriate changes to the VBT syntax in the VB module. See “VBT
Conversion” on page 1-10 for details on how to convert particular VBT syntax.
7. Run the program and resolve any incorrect results
Although the test program validates, the Conversion Assistant may have provided
values that are not completely correct. This most commonly applies to the amplitude
value (see “Amplitude Conversion” on page 1-12). Run the test program and resolve any
incorrect values.
a. Validate and run the test program.
b. Debug the test program if any unexpected results appear.

IG-XL Solutions 1-9


WaveDesigner: Pre-V5.0 Test Program Conversion: Manual Conversion Procedures

Manual Conversion Procedures


While the majority of the test program is converted by the Conversion Assistant, there may
be parts that the Conversion Assistant cannot completely convert, or may have been
improperly converted. Therefore, you must manually investigate and correct these
anomalies in the converted test program.
The following topics describe the common anomalies that the Conversion Assistant may
identify in its log file. Using this information, you can manually make the necessary edits to
your test program.
• “VBT Conversion” on page 1-10
• “Converting Waveforms.Add and Waveforms.Modify Language” on page 1-11
• “Amplitude Conversion” on page 1-12
• “Obsolete Mixed Signal Timing Data” on page 1-12
• “Apply MS Timing and Nested Test Procedures” on page 1-13
• “Capture Label Assignment” on page 1-13
• “Patterns Using Signals Defined Only on the Mixed Signal Timing sheet” on page 1-14
• “Patterns Used in Multiple Tests” on page 1-15
• “DCVI Range and Mode” on page 1-15

VBT Conversion
The Waveforms collection in the VBT syntax has been replaced by a new language node
called Signals. Similar to the Waveforms collection, the Signals collection resides off the
main language node on each of the instruments. For example:
thehdw.BBACSource.Pins().Waveforms.Item
becomes
thehdw.BBACSource.Pins().Signals.Item

The two language nodes are very similar and perform essentially the same task. However,
one difference between the two is that while the Waveforms collection manages only the
raw samples of a waveform, the Signals collection manages signals, which is a complete
description of the waveform.
In most cases, the translation of the VBT language from one node to the other is
straightforward. One exception is that the Waveforms collection can have samples added
directly, while the Signals collection can only add them indirectly. See “Converting
Waveforms.Add and Waveforms.Modify Language” on page 1-11. Another exception is that
the Waveforms collection supplies a few methods for manual memory management
(IsLoaded, Load, and Unload), whereas the Signals collection does not.
Table 1-1 below shows some of the VBT conversion from Waveforms language to Signals
language.

IG-XL Solutions 1-10


WaveDesigner: Pre-V5.0 Test Program Conversion: Manual Conversion Procedures

Table 1-1. VBT Conversion Equivalents

Old VBT off .Waveforms New VBT off .Signals

.Add .Add
See “Converting Waveforms.Add and Waveforms.Modify
Language” for details.
.IsLoaded No corresponding language item.
.Item .Item
.Item.GetInstrWave .Item.samples
This returns a DspWave, not InstrWave.
.List .List

.Load <name> .Item(<name>).LoadSamples

.Modify No corresponding language item.


See “Converting Waveforms.Add and Waveforms.Modify
Language” for details.
.Remove No corresponding language item.
.Start <name> .Item(<name>).Start

.Stop .Stop

.Unload <name> .Unload


This Unloads all Signals for this instrument.

Converting Waveforms.Add and Waveforms.Modify Language


The Waveforms.Add and Waveforms.Modify allow for the adding or changing of raw
samples into a driver to be sourced as a waveform. These methods have been redefined by
the Signals language. While the Signals collection also allows for this capability, it does it by
creating a wave definition that contains only samples, and then setting it as the Signal’s
wave definition. The following is an example of how to convert from one to the other.
Replace the following VBT statement,
theHdw.BBACSource.Pins(“foo”).Waveforms.Add aDspWave, “myWave”
with
theExec.WaveDefinitions.CreateWaveDefinition “myWaveDef”, aDspWave, False
theHdw.BBACSource.Pins(“foo”).Signals.Add “myWave”
theHdw.BBACSource.Pins(“foo”).Signals(“myWave”).WaveDefinition = “myWaveDef”
theHdw.BBACSource.Pins(“foo”).Signals(“myWave”).LoadSettings
If a modify were to occur on the same waveform, the conversion would look as follows:
theHdw.BBACSource.Pins(“foo”).Waveforms.Modify “myWave”, anotherDspWave

IG-XL Solutions 1-11


WaveDesigner: Pre-V5.0 Test Program Conversion: Manual Conversion Procedures

becomes
theExec.Wavedefinitions.CreateNamedSamples “myWaveDef”, anotherDspWave
theHdw.BBACSource.Pins(“foo”).Signals(“myWave”).LoadSettings

Amplitude Conversion
The Signals model has redefined how the Amplitude value is calculated for a signal. That
means, in some case, you will have to recalculate the amplitude value specified in your test
program. Pre-IG-XL V5.0, the Amplitude parameter on the Setup test element or the Mixed
Signal Timing sheets was actually gain. That is, it was a multiplication factor applied to the
samples of a waveform. In many cases, the samples were normalized to 1, so amplitude
was effectively the desired amplitude. In the Signals model, amplitude is explicitly the
desired amplitude of a signal. A signal’s amplitude is programmed to be the exact value that
would be expected to be seen on an oscilloscope.
Use the following formula to convert old amplitude value to new standard:
New Amplitude = A1 * A2 * A3
where:
A1 = Amplitude from the old test element.
A2 = Sample Amplitude from the Mixed Signal Timing sheet.
A3 = Maximum absolute sample value supplied from the wave definition.
The Conversion Assistant gets A1 from the old Instrument Setup test element, and A2 from
the Mixed Signal Timing Set associated with the test procedure. However, the Conversion
Assistant assumes that A3 is 1 V since the wave definition generates samples that are
normalized to ±1.0 V. This is often not true for compound wave definitions, or wave
definitions that use the VBT primitive. In these cases, the given amplitude needs to be
multiplied by the real A3.

NOTE
The ExcelRange primitives have non-normal amplitude, but the Conversion Assistant is
capable of resolving this.

The Conversion Assistant log file indicates instances where a signal’s wave definition may
have non-normal samples and thus may need to be fixed manually by adjusting the
Amplitude parameter in the Signal test element.

Obsolete Mixed Signal Timing Data


The Conversion Assistant moves obsolete Mixed Signal Timing Data from the Mixed Signal
Timing sheet to the test elements. However, you should verify the relocation of this data
since the Conversion Assistant may not always be accurate reassigning some parameters.

IG-XL Solutions 1-12


WaveDesigner: Pre-V5.0 Test Program Conversion: Manual Conversion Procedures

The main changes are that the WAVENAME, SAMPLE AMPLITUDE, and SAMPLE OFFSET
parameters have been removed from the Mixed Signal Timing sheet. These parameters
have been added to the test elements that used to use this data by specifying the APPLY
MIXED SIGNAL TIMING check box.
If multiple test instances use the same test procedure then test procedure input variables
may be required for the WaveName, Sample Amplitude, or Sample Offset. For example, if
two test instances used different Mixed Signal Timing Sets that each have different Wave
Names, then a variable specifying the Wave Name should be passed into the test procedure
and used in the test element, and the test instance needs to fill in the value of that variable.
In many cases where a new variable is created, the test procedure actually already has a
variable for that piece of data. But the Conversion Assistant cannot know this, so it creates
new variables. The user may wish to remove the new variables created, and use the old
ones for efficiency reasons. If this is the case there is an option in the Conversion Assistant
to not create new variables, and instead leave the test element parameters that use the
variables blank.
In addition to the standard Mixed Signal Timing data, the DSSC Capture had CondCount
and CaptureLabels specified in the Mixed Signal Timing. Also, the DCVI Source had Force
Mode and Voltage Range specified in the Mixed Signal Timing. This information is moved
to the test elements like the rest of the obsolete Mixed Signal Timing data.

Apply MS Timing and Nested Test Procedures


If the test program to be converted contains a Setup test element and the APPLY MS TIMING
check box was not selected, then required data such as WAVE NAMES and SAMPLE
AMPLITUDE that normally come from the Mixed Signal Timing sheet are not obtained during
the automated conversion process.
Also, Capture Labels are obtained from either the Mixed Signal Timing sheet (for DSSC
Capture), or what was a nearby DspWave test element. If neither are available, then the
information is blank. This can happen either if APPLY MS TIMING is not selected, or if the test
procedure is used as a nested test procedure.

Capture Label Assignment


Like the DspWave test element, the Signal test element requires a Capture Label, now
called Signal Name, to identify which signal will be started in the pattern.
As shown in figure 1-3 and 1-4, the Signal test element is used to replace both the Setup
and DspWave test elements. While the DspWave test element has a Capture Label
parameter, the Setup test element does not. This means that the Signal test element that
replaces the Setup test element has to get a Capture Label (Wave Name) from somewhere.
Since the Setup and DspWave test elements are typically paired together in a test
procedure, the Conversion Assistant gets the Capture Label for both of the Signal test
elements that replace the Setup and DspWave test elements from the DspWave test
element.

IG-XL Solutions 1-13


WaveDesigner: Pre-V5.0 Test Program Conversion: Manual Conversion Procedures

Figure 1-3 shows a Capture Setup test element and a DspWave test element in a test
procedure (Before). When this test procedure is run through the Conversion Assistant, it
replaces each test element with a Signals test element (After).

Capture Setup Test Element Capture Signal Test Element

Capture DspWave Test Element Capture Signal Test Element

Pattern Start Test Element Pattern Start Test Element

Before After

Figure 1-3. Conversion of Simultaneous Setup And DspWave Test Elements

Figure 1-4 also shows a Capture Setup test element and DspWave test element (Before),
but in this case these test elements can be manually combined into a single Signals test
element (After). Note that when the two test elements are combined, the new Signals test
element replaces the Capture Setup test element, not the DspWave test element. The
reason that the Signals element must be first is that capture setup parameters, like
SampleRate, must be specified before the capture is triggered, either in the VBT test
element or the Pattern.

Capture Setup Test Element Capture Signals Test Element

VBT Test Element VBT Test Element

Pattern Start Test Element Pattern Start Test Element

Capture DspWave Test Element

Before After

Figure 1-4. Conversion of Separated Setup And DspWave Test Elements

IG-XL Solutions 1-14


WaveDesigner: Pre-V5.0 Test Program Conversion: Manual Conversion Procedures

Patterns Using Signals Defined Only on the Mixed Signal Timing sheet
Pre-V5.0, the DSSC did not require any test elements (other than DspWave test elements)
to specify a source or capture since the information was stored in the Mixed Signal Timing
sheet and the Pattern. Also, waveforms were initially created at validation time by reading
the Mixed Signal Timing sheet. Neither test elements nor mapping Mixed Signal Timing Sets
to Test Instances was required to Source or Capture waveforms.
In IG-XL V5.0, a Signals test element is required to be executed for a signal to be created,
but the Conversion Assistant does not know where to put this new test element. Therefore,
the Conversion Assistant creates a new test procedure, and calls the Signal test element
with a new test instance. This test procedure has a Signals test element for each DSSC
Source and Capture mentioned in the Mixed Signal Timing sheet. However, these test
elements are missing Pin and Pattern information, and this information needs to be filled in
manually.
Rather than having the Conversion Assistant add a new test procedure, you can resolve this
issue by adding Signal test elements to each test procedure for each signal referred to by
each pattern used with that test procedure. Each signal only needs to be created once, so
duplicate Signal test elements do not need to be created as long as the signal exists before
the first occurance of a pattern using it.
A similar situation can arise with the BBAC Source or DCVI Source. Signals that would
previously have been created at validation time using the Mixed Signal Timing sheet now
need a Signal test element to be created. This rarely occurs however since the BBAC
Source and DCVI Source instruments often have a Setup test element existing in the correct
place in the test program, and this test element gets replaced by a Signals test element that
creates the signal. However, it is possible that such an element does not exist. If your
program has many such occurrences, you can convert the program with the Create Signals
From MST Sheet option (Tools>Options) activated. This option creates Signal test
elements for all BBAC Source and DCVI Source entries in the Mixed Signal Timing sheet,
and places these elements in the new test procedure that is created and executed for DSSC
Signal elements. These Signal elements are missing Pin information and you will need to
fill this information in manually.

Patterns Used in Multiple Tests


Two tests that use different test procedures, can share a pattern that refers to multiple
signals, where some signals are used in one test and some in the other. The problem is that
the signals used in the second test may not get loaded until that test is run, but the pattern
needs those signals loaded the first time it is run during the first test.
There are two approaches to fixing this problem:
• Create all the signals before the pattern is started. This can be accomplished by having
the Conversion Assistant create a Signal test element in the test procedure, which
creates signals for each Mixed Signal Timing sheet entry. This approach can be refined
by having multiple test procedures create different subsets of signals.

IG-XL Solutions 1-15


WaveDesigner: Pre-V5.0 Test Program Conversion: Manual Conversion Procedures

• Modify the pattern to share signal names in the different parts of the pattern. This way
the signal names for the signals in both tests will be the same, but the actual signal itself
will be set to the signal each tests expects.

DCVI Range and Mode


While most instrument’s Setup test elements were replaced by the Signals test element, the
DCVI Setup test element remains. As such, the DCVI Range and Mode parameters on the
DCVI Setup test element are still valid and the Conversion Assistant does not fill in these
values in the new Signals test element. However, if there is no preceding Setup test
element, the DCVI Range and Mode parameters may need to be specified manually.

Missing Test Element Parameters


The following parameters were on the BBAC Capture Setup test element, but they have not
been ported over to the BBAC Capture Signal test element:
• Number of Blocks
• Block Spacing
• Extra Samples1
These parameters are supported in VBT language. If these parameters were used in your
program’s test elements, then you must add equivalent language statements in VBT
interpose functions to your test procedure to reproduce the functionality they supplied.

1. It may be possible to incorporate the Extra Samples value into the Number of Sample parameter on the
Signals test element instead of adding VBT code to handle this.

IG-XL Solutions 1-16


WaveDesigner: Pre-V5.0 Test Program Conversion: Common Validation and Run Time Errors

Common Validation and Run Time Errors


Even after the Conversion Assistant has run through the test program and you have
manually resolved any anomalies, IG-XL may find errors during validation or at run time.
Some of these errors may be the result of information missing because the Conversion
Assistant could not determine how to fill in the missing information. Table 1-2 describes
some of the common errors encountered during the validation and execution of a converted
test program.

Table 1-2. Common Validation and Run Time Errors

Error Description

Signal Name: - value is required A Signals test element requires a


SignalName, but none was supplied. See
“Apply MS Timing and Nested Test
Procedures” on page 1-13.
<Test Instance> failed validating A NestedProcedure test element is calling
nested proc: <Nested Procedure> a Procedure which has failed validation for
some other reason.
invalid argument list: <variable A NestedProcedure test element is calling
name>= a Procedure that has a new variable, but
the value for that variable is not filled in.
This will be a type of data that used to
reside on the Mixed Signal Timing sheet,
such as a Signal Name, see “Obsolete
Mixed Signal Timing Data” on page 1-12.

IG-XL Solutions 1-17


Manual Title: Index

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A capture label 13
Amplitude conversion 12 DCVI mode 15
Apply Mixed Signal Timing DCVI range 15
conversion 12, 13 manually 10
missing test element 16
C pattern 14, 15
Capture Label procedure 7
conversion 13 validation errors 17
Conversion Assistant 1, 5 VBT 10
add new variables 5 waveform.modify 11
amplitude 12 waveforms.add 11
analyze 4 which programs 4
analyze button 5
Apply Mixed Signal Timing 13 S
buttons and menus 5 Sample Amplitude
capture label 13 conversion 12
convert button 5 Sample Offset
create signals from MST sheet 5 conversion 12
DCVI mode 15 Signal test element 2
DCVI range 15 Signals Collection 2
display 5 Signals model 2
DSSC 14
errors 17 T
log file 7 Test element
manual procedures 10 DspWave
mixed signal timing data 12 conversion 13
nested test procedures 13 Setup
opening 7 conversion 13
pattern 14, 15 Signals model 2
procedure 7
show more analysis 5 V
test element Validation errors 17
missing 16 VBT conversion 10
validation error 17
VBT conversion 10 W
Wave Name 13 Wave Name
waveforms.add 11 conversion 13
waveforms.modify 11 Waveforms collection
Converting a test program 7 convert to Signals 2
waveforms.add
P conversion 11
Program conversion 1 waveforms.modify
amplitude 12 conversion 11
Apply Mixed Signal Timing 13

IG-XL Solutions Index-1


Manual Title: Index

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

WaveName
conversion 12

IG-XL Solutions Index-2


MSUM Training

General Features introduced in 5.0

On most signal sourcing and capturing instruments, a new concept, Signals, has been introduced.
This is accessible via VBT (theHdw.Instrument.Pins().Signals…) and Test Elements
(InstrumentSignal test elements and InstrumentAction test elements). This concept essentially
replaces the 3.60 Waveforms collections, and slightly changes the way that Mixed Signal Timing
Sets are used.

On instrument pin/pins, a collection of Signals can be created and dynamically modified. This
“collection” concept is similar to the idea of PSETs. A single “Signal” is a combination of
instrument timing information, instrument signal path/setup information. For source instruments
the Signal also contains instrument sample-making (SMEM) information, and for capture
instruments the Signal contains the placeholder for captured data (DSPWave). A Signal is a
software-entity, but may be applied to the hardware and acted upon in a few ways – selecting a
Signal and calling LoadSettings for the Signal will load instrument hardware registers. Selecting
a Signal and calling Start will ensure that samples are loaded for the Signal and will start the
source via PIO/TCIO. Bursting a pattern with any Start microcodes will also ensure that the
samples are loaded for the Signal(s) to be started in the pattern. Selecting a Signal and calling
Trigger will trigger a capture via PIO/TCIO.

- Instrument timing information may be programmed with or without MST Set


information.
- MST Set information is available at runtime in VBT and Test Elements.
- Patterns may have “unnamed” Start and Trigger labels.
- “WaveName” / “CaptureLabel” is now “SignalName”. This is no longer bound in the
MST sheet, so a single MST Set may be used for multiple “Signals”.
- Amplitude is no longer specified in any form in the MST Set. A consistent amplitude
model exists across instrumentation.
- Source sample creation is done for the user, and SMEM is managed for the user to some
extent.

General Considerations/Tips and Tricks

There are several concepts in the new model that merit specific consideration in training. Here
are some of the frequent areas of confusion.

Frequently asked questions:

- What is the “DefaultSignal”?


It's important to remember that each Signal is part of a collection of Signals on a
pin/pinlist. On that collection, you can set one Signal to be the DefaultSignal (setting this
by name) at any given time. When an unnamed Start or Trigger microcode is
encountered in a pattern, whichever Signal is set as the DefaultSignal at the time of the
pattern burst will be started/triggered.
In test elements, you can also use this feature with PIO Start/Trigger in Actions test
elements. If the "Signal Name" field is left blank, the DefaultSignal will be acted upon.
In either case, if no DefaultSignal exists for the collection, and an unnamed Start/Trigger
is encountered, a runtime error will occur.
The DefaultSignal is quite useful for pattern re-use because you don't have to bind
SignalName to the pattern.

- How do I associate a Mixed Signal Timing Set with my Signal?


The Mixed Signal Timing Set is part of the “Levels and Timing” for a given Test
Instance. Select “Include Levels & Timing” when the IE Wizard runs, and you’ll find a
place to select the MST Set for the Test. This is stored in a column on the Test Instances
sheet.

- How do I get different timing for different Signals associated using an MST Set? In
an MST Set, what is the difference between a “Subset” and a “Resource ID”?
Only one MST Set may be applied for a test. In many cases, this doesn’t cause confusion
because a test does only a single source, capture, and analysis. However, if multiple
source-and-captures are done in a single test, and each require different timing, then
Subsets can be used, which differentiate individual times during a test. Subset may be
selected with the Subset test element or via theExec.MST.Subsets…
Alternatively, if mulitple source or capture instruments are being used at the same time,
such as two BBACSources used to source to an I channel and a Q channel, these are
differentiated in an MST Set by ResourceID.

- What is the difference between “ApplyMixedSignalTiming” and “LoadSettings”?


ApplyMixedSignalTiming will NOT program hardware. It’s important to keep in mind
that Signals are a SOFTWARE entity and only affect hardware when they are applied or
acted upon.
ApplyMixedSignalTiming is ONLY used when using an MST Set with a Signal.
ApplyMixedSignalTiming will take the values specified in the MST Set for the Test
Instance and apply them to the Signal values. The Signal parameters that are set are
SampleRate (Fs), SampleSize (N), CycleCount (M), and WaveDefinitionName. (Some
instruments may also apply some instrument-specific parameters in the MST Set.)
Hardware will not be programmed.
Example:

Dim Fs As Double
Dim N As Long
Dim M As Long
Dim WaveDefName As String

theHdw.BBACSource.pins(pinName).Signals.Add "foo"
theHdw.BBACSource.pins(pinName).Signals("foo").ApplyMixedSignalTiming
With theHdw.BBACSource.pins(pinName).Signals("foo")
Fs = .SampleRate
N = .SampleSize
M = .CycleCount
WaveDefName = .WaveDefinitionName
End With

LoadSettings, on the other hand, WILL program hardware. LoadSettings applies all
hardware registers for a given Signal. The instrument Pins language and instrument
DebugDisplays can be used to read the hardware state.
Just remember – Signals = software. Pins = hardware. And Signals can be applied to
hardware and acted upon in hardware.

Example:

theHdw.BBACSource.pins(pinName).Signals.Add "sine1"
With theHdw.BBACSource.pins(pinName).Signals("sine1")
.SampleRate = 20000
.SampleSize = 20
.CycleCount = 1
.WaveDefinitionName = "aSine"
.Amplitude = 2
.VoltageRange.Mode = tlCSignalModeUseCalculatedValue
.CommonMode.Mode = tlSignalModeUseLoadedValue
' Use defaults for everything else.
' Load hardware settings
.LoadSettings
End With

' Now that settings are loaded, readback hardware values from Pins language
With theHdw.BBACSource.pins(pinName)
Debug.Print "Loaded SampleRate: " & CStr(.SampleRate)
Debug.Print "Loaded VoltageRange: " & CStr(.VoltageRange)
Debug.Print "Loaded CommonMode: " & CStr(.CommonModeVoltage)
End With

- What are the Amplitude units and how is Amplitude interpreted by the software?
Amplitude (and Offset) may be interpreted differently based on the shape dictated by the
WaveDefinitionName.
In most cases, Amplitude is specified in Volts peak. The ConnectionType property
determines whether this amplitude is interpreted as Volts peak differential or Volts peak
single-ended. For bipolar wave definitions, such as those containing simple sine and
multitone primitives, Amplitude describes the distance between the DC level and the
absolute peak (minimum or maximum) of the Signal. For unipolar wave definitions,
such as those containing simple ramps, pulse, and staircase primitives, Amplitude
describes the distance between the absolute maximum and absolute minimum extremes
of the Signal.
For more complicated or user-defined wave definitions (created with
theExec.CreateWaveDefinition, via the VBT primitive, or as a compound wave
definition), the meaning of Amplitude is given by the nature of the wave definition, and
can be somewhat arbitrary. Note that even with complex Wave Definitions, the
Amplitude parameter will scale the result.
In cases where desired Signal amplitude is built directly into the wave definition (and
"amplitude" doesn't make sense), the Amplitude property may be left unprogrammed
because it defaults to 1.

- What is “Use Loaded Value” and why would it be used?


Almost all hardware parameters on a Signal have a .Mode and a .Value that can be
programmed. The .Mode may be set to “Use Loaded Value” (or in VBT,
tlSignalModeUseLoadedValue). This setting instructs the software to use the existing
value in hardware when the Signal is applied via LoadSettings. In other words, this
setting is used to indicate NO CHANGE to the hardware.

A user might choose to say "Use Loaded Value" for a VoltageRange for a use case where
he is sweeping amplitudes in a single test with a single pattern. Instead of using PSETs
or a CPU loop to dynamically change the VoltageRange on the fly, he can tell the first
Signal to use the highest range available and then have subsequent Signals "Use Loaded
Value”.

Example:

With theHdw.BBACSource.Pins(pin).Signals

'Create 3 signals:
.Add sig1, sig2, sig3

'Program SampleRate, WaveDefName, Number of Samples for the Signals.


‘This could be done without MST also:
.Item(sig1, sig2, sig3).ApplyMixedSignalTiming

'Set up Amplitude and Voltage Range for first Signal:


.Item(sig1).Amplitude = 3
.Item(sig1).VoltageRange.Mode = tlCSignalModeUseCalculatedValue
'This will calculate best range to get Amplitude = 3

'Set up Amplitude and Voltage Range for second Signal:


.Item(sig2).Amplitude = 2
.Item(sig2).VoltageRange.Mode = tlCSignalModeUseLoadedValue
'This will keep the current Voltage Range and realize Amplitude = 2 using the samples

'Set up Amplitude and Voltage Range for third Signal:


.Item(sig3).Amplitude = 1
.Item(sig3).VoltageRange.Mode = tlCSignalModeUseLoadedValue
'This will keep the current Voltage Range and realize Amplitude = 1 using samples

'LoadSettings for first Signal. The other Signals will use the same Settings.
.Item(sig1).LoadSettings 'This will load the VoltageRange (and SampleRate, etc)

End With

'Start the Pattern, which has "Start sig1", "Start sig2", and "Start sig3" microcodes:
theHdw.Digital.Patterns.Pat(patternName).Run ""
If you aren’t comfortable using Use Loaded Value, it can be avoided simply by explicitly
programming desired hardware value. The above use case can be accomplished without
Use Loaded Value in the following way:

With theHdw.BBACSource.Pins(pin).Signals

'Create 3 signals:
.Add sig1, sig2, sig3

'Program SampleRate, WaveDefName, Number of Samples for the Signals.


‘This could be done without MST also:
.Item(sig1, sig2, sig3).ApplyMixedSignalTiming

'Set up Amplitude and Voltage Range for first Signal:


.Item(sig1).Amplitude = 3
.Item(sig1).VoltageRange = 3
'This will find the closest range >= 3 (this is 3.12 on BBACSource).

'Set up Amplitude and Voltage Range for second Signal:


.Item(sig2).Amplitude = 2
.Item(sig1).VoltageRange = 3
'This will program the closest range >= 3 (this is 3.12 on BBACSource).

'Set up Amplitude and Voltage Range for third Signal:


.Item(sig3).Amplitude = 3
Item(sig1).VoltageRange = 3
'This will program the closest range >= 3 (this is 3.12 on BBACSource).

'LoadSettings for first Signal. The other Signals will use the same Settings.
.Item(sig1).LoadSettings 'This will load the VoltageRange (and SampleRate, etc)

End With

'Start the Pattern, which has "Start sig1", "Start sig2", and "Start sig3" microcodes:
theHdw.Digital.Patterns.Pat(patternName).Run ""

- What does leaving a parameter in a test element field blank do?


Blank in a test element means “Don’t program the Signal”. Remember, the Signal is a
software entity, so Signal parameters are not hardware parameters.
TODO – MORE EXPLANATION

- How is SMEM managed?

Because SMEM is valuable (it is limited, and creating samples and loading them takes
time), we tried very hard to never load a segment containing the same samples twice.
This was especially important for the BBAC, because it has fine gain control (which
allows samples to usually be normalized between -1 and 1) and very good frequency
resolution (which often allows for the same sampling conditions, or the same N and M).
It is very common on the BBAC to have multiple Signals that use the same segment in
SMEM.

Samples will be identical, regardless of instrument setup (Fs, any instrument-specific


hardware registers like Range), for two separate Signals if:

- The number of samples (N) is the same


- The number of cycles (M) is the same
- The SAMPLE amplitude is the same (for analog instruments, this is somewhere
between -1, 1, in the instrument's number format).
- The SAMPLE offset is the same (for analog instruments, this is somewhere between -1,
1, in the instrument's number format. Also, the SampleAmplitude + SampleOffset does
not exceed -1, 1).
- The WaveDefinitionName is the same (and refers to a non-volatile WaveDefinition)*
- The phase of the WaveDefinition is the same

*The WaveDefinitionName refers to a WaveDefinition object that dictates the "shape" of a Signal. This
object has sample-making capabilities when passed sampling parameters (N, M, ampl, offset, phase). The
WaveDefinitionName will only guarantee the same samples if the WaveDefinition object cannot
dynamically change. There are a few types of Primitives/WaveDefinitions that may dynamically change at
runtime. One is a WaveDefinition containing a VBT primitive. Another type is a special "back door"
WaveDefinition that can be created from a DSPWave/InstrWave/array via
theExec.WaveDefinitions.CreateWaveDefinition. There is a flag, called "Volatile", that the user can set to
False to indicated that the WaveDefinition corresponding to a WaveDefinitionName will never create
different samples when given the same N, M, ampl, offset, and phase. The user can set this to True to
indicate that the data may change, and that the WaveDefinitionName is not a good key to guarantee the
same data when matched with N, M, sampleAmplitude, sampleOffset, and phase.

Example:

With theHdw.<SourceInstrument>.Pins(pin).Signals

'Create 2 signals with different hardware but identical samples

‘Add the Signals


.Add sig1, sig2

'Program SampleRate, WaveDefName, Number of Samples for the Signals.


.Item(sig1, sig2).SampleRate = 20000
.Item(sig1, sig2).CycleCount = 1
.Item(sig1, sig2).SampleSize = 20
.Item(sig1, sig2).Phase = 90
.Item(sig1, sig2).WaveDefinitionName = “aSine”

'Set up Amplitude and Voltage Range for first Signal:


.Item(sig1).Amplitude = 1
.Item(sig1).VoltageRange = 1
' assuming there is a 1V VoltageRange, this setup will make normalized samples
‘ between -1 and 1.

'Set up Amplitude and Voltage Range for second Signal:


.Item(sig2).Amplitude = 2
.Item(sig2).VoltageRange = 2
' assuming there is a 2V VoltageRange, this setup will make normalized samples
‘ between -1 and 1.

.Item(sig1).Start ‘assuming this is the first run of the first test, the software will
‘discover that no samples have been loaded for a fullscale Cosine
‘(sine wave with 90 degree phase between –1 and 1) that is made with 20 samples
‘and 1 cycle. This will create and load the segment, point at that memory, and Start.

.Item(sig2).Start ‘the software will find that it already has loaded samples for a
‘fullscale Cosine made with 20 samples and 1 cycle. It will point itself at that existing
‘memory and Start.

End With

In 5.00.00, the memory management is not as sophistocated as it will eventually be.


Eventually, memory will be virtualized so that instruments will NEVER run out of
memory. However, in 5.00.00 the memory may run out. The facility to unload memory
can only “unload all”. It is available via theHdw.SourceInstrument.Pins().Signals.Unload

- Is there an example of setting up a Capture Signal (and DSPWave) in pure VBT,


and then passing the DSPWave back to a Test Procedure to be used in a
DSPProcedure?
TODO.

Tips, Tricks, and Gotchas:

- When in doubt, HIT F1!! The F1 help for Test Elements and VBT is accurate and very
complete. The F1 help (launched via F1 or via Start->Programs->Teradyne IG-XL
5.00.00->VBT and Test Element Help) may be a more accurate and complete resource
than the IG-XL Solutions help, depending on the IG-XL release. The VBT help for many
instruments also includes examples that can be cut and pasted into code.

- In test elements, to avoid confusion, it’s often good to “fully specify” the test element
parameters that will ever be used. That is, explicitly program all parameters to a value.
That way, there is no confusion as to what value is programmed when a field is left blank
or set to Use Loaded Value.

- It is important to call “LoadSettings” for a Signal prior to a Start/Trigger or pattern start.


These actions will ensure that samples are loaded (source) but will not automatically load
the signal settings (there are settle-time/user pipelining issues).

- Revalidation after Procedure and Instance changes does not clear the Signals collection
(as of 5.00.00). This can occasionally get you in trouble. For example, say you’ve
programmed Phase = 90 for a Signal, ran a test with this, and then you decided you didn’t
wanted to didn’t want to program phase for that Signal after all. You clear out the
procedure variable for Phase and revalidate and run, but Phase remains set to 90. This is
because blank in a test element means “Don’t program” and the Signal did not get
reinitialized.

- You don’t have to use MSW or MST Sets in a test if there is no reason to, or if you’re
uncomfortable with those tools. Timing and WaveDefinition information can be
specified directly in both test elements and VBT, eg:

With theHdw.BBACSource.pins(pins).Signals(SignalName)
.SampleSize = 20
.CycleCount = 1
.SampleRate = 20000
.WaveDefinitionName = “aSine”
End With

- In 5.00.00, it is much easier to setup the capture instrument’s DSPWave via Procedures.
Use a procedure variable in the DSPWave field and pass this into the DSPProcedure.
Creating the DSPWave object, associating it with the Signals(item).DSPWave, and
passing it back to the Procedure for use in DSPProcedure can be done, but it’s very tricky
and there are a few instrument-specific “gotcha”s around this (eg on DSSCCapture,
LoadSettings must be loaded prior to associating the DSPWave).

- CycleCount on capture instruments is completely optional, has no effect on hardware,


and is used for analysis only. SampleRate on digital source and capture instruments
(DSSC) is also used for analysis only and has no effect on hardware, Tsets, or patterns.

Instrument-Specific Considerations

DSSCSource/DSSCCapture
- TODO
DCVISource
- TODO
BBACSource
- TODO
VHFACSource
- TODO
DSSCCapture
- TODO
DCVICapture
- TODO
BBACCapture
- TODO
VHFACCapture
- TODO

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy