Académique Documents
Professionnel Documents
Culture Documents
Notices:
Credence is a registered trademark, and Credence Systems is a trademark of Credence Systems Corporation.
IMS Vanguard is a trademark of Credence Systems Corporation.
Product and company names listed are trademarks of their respective companies.
The IMS Vanguard series of test stations meet the following classifications under European Standard EN 55011,
titled “Limits and Methods of Measurement of Radio Disturbance Characteristics of Industrial, Scientific and
Medical (ISM) Radio-Frequency Equipment”:
Group 1 Equipment ISM Equipment: Equipment which utilizes radio-frequency energy for internal
functioning of the equipment itself.
Group A Equipment Equipment radio-frequency emissions comply with Class A limits.
TABLE OF CONTENTS
1 - Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Vanguard Pattern Conversion Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
How DPT Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
How to Start DPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
DPT Command Line Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
NoTimestamps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
ReferenceDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
SourceFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
SourceFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Substitute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
TargetDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
TargetFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
TargetSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
TestPlan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
TimeUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Tristate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
UpdateTestPlan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
VCDSignals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
WaveformOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6 - Using APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
How APT Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
How APT Differs from DPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
APT Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Planning Your APT Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
About the APT Run File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Structure of an APT Run File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Standard Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
When Your Source is VCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
FixtureMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Map_Tristate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
NoSequenceNumbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
VanguardInstructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
VanguardTiming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
WaveformMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
WaveformOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Zero_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Conversion Section Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Logfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Translate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
A - AVI-Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Starting AVI-Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Supported and Unsupported ATS Features . . . . . . . . . . . . . . . . . . . . . . . 221
Other Planning Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Removing Separated Pins from Your Setup . . . . . . . . . . . . . . . . . . . . 222
Modifying Invalid Pairings of Bidirectional Pin Groups . . . . . . . . . . . . 222
Using an Existing Test Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Conserving Tester Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Changing Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Mapping Your Device to the Vanguard Fixture . . . . . . . . . . . . . . . . . . . . . 225
Editing a Fixture Map File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Translating an ATS Setup to a Vanguard Test Plan . . . . . . . . . . . . . . . . . . 228
Setup to Test Plan Conversion Issues . . . . . . . . . . . . . . . . . . . . . . . . . 229
Creating APT Run Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Run File #1 for ATS / XTS to IMSVF Translation . . . . . . . . . . . . . . . . . 230
Run File #2 for IMSVF to VanguardASCII Translation . . . . . . . . . . . . . 231
Translating ATS Pattern Files to Vanguard Pattern Setups . . . . . . . . . . . . 234
Automating the Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Overview
This chapter provids an overview of pattern conversion for the
Vanguard. It covers these topics:
• Vanguard Pattern Conversion Tools
• How DPT Works
• How to Start DPT
• DPT Command Line Syntax
Overview
Overview
Overview
Overview
creates the files shown in Figure 1.
Test Plan
Simulator
Overview
Data File
Pattern
DPT Setup
Run File
Waveform
Order File
(Optional)
Overview
DPT reads your Vanguard test plan and your simulator data file. The
test plan provides information about your device, such as pin names
and types, timing characteristics and DC levels. To learn more about
creating a test plan consult the manual, Getting Started with
Vanguard.
DPT reads the directives in a Run file you create and uses them to
map resources as it creates the final Vanguard pattern setup. DPT
Run files are described in the chapter, Creating Your DPT Run File.
Overview
If your pattern setup requires more than one waveform you must
create a Waveform Order file for DPT to read. This is described in the
chapter, Creating the Waveform Order File.
Overview
{-verbose}{-version}
where optional parameters are shown in curly braces, and user-
supplied elements are shown in angle brackets (<>).
Parameter Description
Overview
-convert <file> (Optional) Converts the APT Run file you
specify into a DPT Run file.
-help (Optional) Displays the DPT command line
options and exit.
-r <run_file> (Required) Specifies the name of the DPT
Run file you want to use.
-project <file> (Optional) Specifies the name of the project
Overview
file you want to use.
-verbose (Optional) Instructs DPT to expand the
amount of information it displays.
-version (Optional) Instructs DPT to return the version
of DPT you’re using and exit.
Overview
This chapter discusses what you should know as you get ready to
convert your simulator vectors into a Vanguard pattern setup.
Although this chapter assumes you are using DPT, it also applies to
conversions using APT.
It covers these topics:
Conversion
Conversion
• Knowing Your Data Format
• Evaluating Your VCD Source File
• Evaluating Your Generic Source File
Conversion
Conversion
may need to alter your file slightly to conform to the requirements of
the DPT Generic device driver.
To convert this data with DPT you must identify each $var keyword
in the header and the $scope keyword of every level of nested
module it appears in. You use these keywords to construct the signal
name you will pass to DPT in the Run file. For example, the $var
named G_ in the $scope named Test_74LS646 would form the
signal name: Test_74LS646.G_.
Conversion
Conversion
• use a terminating or separating character on each line (e.g.,
colon, semicolon), or not
• include bidirectional pins (either as columns of bidirectional data
and a control group, or as special symbols in one column)
Most simulators express functional, waveform and edge placement
information in a condensed format of time-stamped, tabular data.
Conversion
that point in time. By contrast, the Vanguard requires pattern data at
fixed intervals corresponding to the clock rate of the tester.
Therefore, converting simulator data is composed of two major tasks:
mapping simulator signal names to the correct pin names, and
resolving timing differences between the simulation and tester.
Timestamps
Simulators may represent timing information as timestamps in the
Source data file, or they may have regularly stepped data that does
not use timestamps. You must know how your simulator file
represents the time at which events occur.
Conversion
Conversion
Signal names and data column order
To write your Run file, you must understand how the signal names in
your simulation map to the columns of data in your generic source
file. You must also understand how the columns of data in your
source file map to the pin names in your Vanguard Device setup.
Conversion
the GenericSignals directive. If you choose to list your simulation
signal names in the GenericSignals directive, instead of the pin
names in your Device setup, then you must also map your simulation
names to your pin names in a separate MatchSignals directive.
In an APT Run file, the order of signal names in the Groups directive
must match the order in which columns of data appear in the source.
If you are using APT, your source data can appear in binary, octal,
decimal, and hexadecimal radices. You can use mixed radices (by
pin group), however, you must use care to separate data using
whitespace or be certain that the number of digits in the data
matches the width of the group. For example, if you have a 5 bit
group using decimal radix with a data value of 6, you must specify
"06" or separate the group’s data using whitespace. Failure to use
the leading 0 causes APT to misinterpret the data and report a data
width mismatch.
Data characters
You must know what characters your simulator uses to represent
various data states. DPT understands the following default character
usage without the need for further interpretation:
0 - Drive Low
1 - Drive High
Z - High Impedance (terminate or driver off)
0 - Expect Low
1 - Expect High
L - Expect Low
H - Expect High
Y - Expect Tristate
X - Mask (no comparison)
If your data uses other characters, use the Substitute directive to
associate these characters with the default characters shown above.
APT uses a Substitute directive for the same purpose.
Your simulator may use any of these ASCII characters to represent
data: 0-9, A-F, a-f, X, x, Z and z. Dashes ( - ) and dollar signs ( $ ) are
not allowed to represent data.
Data values
Each line of data in your source file must have the same number of
columns and each column must contain data on every line, even if
the data will be ignored. If the state of a pin does not change from
one vector to the next, the vector should simply repeat the previous
state character. For example, if you have both 1x and 2x pins, you
must have source data values on the "half-cycle" for the 1x pins.
Comment delimiters
Comments can be anywhere in your generic source data, but they
must be delimited by specific characters. Comment delimiters are
Conversion
Conversion
APT uses the Comment directive for the same purpose.
Line continuation
You must know how your generic source file handles long lines of
data. It may extend the number of data columns indefinitely to the
right or break long lines by wrapping them to the next physical line.
Conversion
directive. To use APT, use the Options directive in the Source section
of the Run file.
This chapter provides information about creating your DPT Run file.
It covers the following topics:
• About the DPT Run File
• DPT Run File Examples
Creating Your DPT Run Creating Your DPT Run Creating Your DPT Run
• Converting an APT Run File to a DPT Run File
File
Creating Your DPT Run
File
File File
Required Directives
These directives are required in every DPT Run file:
TestPlan - specifies the test plan directory where DPT will locate
required information about your device.
SourceFile - specifies the source of the data you want DPT to
convert, usually a file.
SourceFormat - specifies the format of the source data.
TargetSetup - specifies the setup name to assign to the pattern
setup DPT creates.
TargetFormat - specifies the format for DPT to use when writing
your pattern setups.
Additionally, every DPT Run file requires either a GenericSignals or a
VCDSignals directive, as indicated in Table 2.
Creating Your DPT Run Creating Your DPT Run Creating Your DPT Run
For more information, consult the Bidir
reference in the chapter, DPT Run FIle
Directives.
File
GenericComment Your SourceFormat is Generic and your
source data contains comments.
GenericSignals Your SourceFormat is Generic.
IgnoreInstructions Your SourceFormat is Generic and your
File
File
backslash character to denote line
continuation.
MatchSignals Your source data’s signal names differ from
the pin names in your Device setup.
NoTimestamps Your SourceFormat is Generic and your
source data contains no timestamps.
Step Your SourceFormat is Generic and your
source data contains no timestamps. If your
File
Optional Directives
Some directives perform valuable functions in certain conversions,
but are not required. The following directives are optional:
• Breakup - directs DPT to limit the number of pattern sequences
in any one pattern setup it creates and to make multiple setups
when the limit is exceeded.
• CompressTarget - instructs DPT to compress contiguous blocks
of identical pattern vectors in the source by converting the block
to a single sequence in the target setup with a Repeat N Times
pattern instruction appended.
• Fill - specifies a state character to apply to all sequences for a
particular pin in the pattern setup.
• Monitor - directs DPT to display its progress during the
processing of your source data.
• ReferenceDirectory - directs DPT to write the TargetSetup to the
indicated directory and to include it in the test plan named in the
TestPlan directive as a reference pattern.
• Substitute - specifies a character in your source data you want to
replace with another character during conversion.
• TargetDirectory - specifies the directory where you want DPT to
write its output pattern setup.
• Tristate - instructs DPT to emit a Z (the Vanguard tristate
character) in the pattern setup in each instance where the source
data indicates either an X or a Z for a pin that may be tristated.
Creating Your DPT Run Creating Your DPT Run Creating Your DPT Run
place the comment delimiter characters on each line, before the
comment text.
File
Creating Your DPT Run
File
File File
VCD Example
In this example:
• The Vanguard test plan for your device is named
/home/my_device.
Of these four signals, two are bidirectional: B1 and B2. They are
controlled by the signal CTL. The Device setup in the test plan,
/home/my_device , defines the pin names of the four signals as:
• ctrl
• dir
• Bdr1
• Bdr2
As a result, the minimum DPT Run file for this conversion would be
the following:
TestPlan /home/my_device;
SourceFile my_device.dump;
SourceFormat VCD;
TargetSetup functional;
TargetFormat Binary;
Creating Your DPT Run Creating Your DPT Run Creating Your DPT Run
Test_74LS646.B2 Bidirectional
;
// Bidirectional signals require Bidir directives:
Bidir Test_74LS646.B1 Control Test_74LS646.CTL;
File
Bidir Test_74LS646.B2 Control Test_74LS646.CTL;
File
File
;
// This puts the pattern setup into the test plan:
UpdateTestPlan;
Generic Example
In this example:
• The Vanguard test plan for the device is named
/home/my_device.
File
$ Begin Header
$
$ C D
$ T I B B
$ L R 1 2
$ -----------------------------------
0.50 0 0 1 1
1.00 0 0 1 1
1.50 0 0 0 0
2.00 1 1 L L
2.50 1 0 L H
.
.
.
The Device setup in the test plan, /home/my_device, defines the pin
names of these four signals as:
• ctrl
• dir
• Bdr1
• Bdr2
Of the four signals defined, two are bidirectional, labelled as B1 and
B2 in the comment header. They are controlled by the signal labeled
CTL in the comment header. Because DPT does not recognize the
signal names in the comment header, you may identify the signals by
whatever name you desire in the GenericSignals directive. However,
if the names of signals in the GenericSignals directive differ from the
pin names in the Device setup, you must use a MatchSignals
directive. The Device setup pin names are used in this example,
avoiding the need for MatchSignals.
The comment delimiter in the source data is the dollar sign character
($). The source data includes timestamps, but no time units are
assigned to them.
As a result, the minimum DPT Run file for this conversion would be
the following:
TestPlan /home/my_device;
SourceFile my_device.pattern;
SourceFormat Generic;
TargetSetup functional;
TargetFormat Binary;
Creating Your DPT Run Creating Your DPT Run Creating Your DPT Run
ctrl 1 binary Input
dir 1 binary Input
Bdr1 1 binary Bidirectional
Bdr2 1 binary Bidirectional
File
;
// Bidirectional signals require Bidir directives:
Bidir Bdr1 Control ctrl;
Bidir Bdr2 Control ctrl;
File
File
// This puts the pattern setup into the test plan:
UpdateTestPlan;
File
Order File
• About Macros
• About the Waveform List
• APT Waveform Order File Syntax
Order File
Waveform
File
File
Creating the
Creating the
Order
Order
Element Description
Order File
and end of the block. The WaveformMacros
block, if one is used, must precede the
WaveformOrder block.
WaveformOrder (Required.) Consists of the word
block WaveformOrder, followed by a set of left and
right curly braces that define the start and
end of the block.
Partition block (Required.) Must fall within the curly braces
that define either a WaveformOrder block or
Order File
a WaveformMacros block. Consists of the
name of a Timing Partition enclosed in
quote marks, followed by a set of left and
right curly braces that define the start and
end of the block. Even if the Default partition
is your only partition, you must create a
partition block named Default.
Waveform
Macro block (Optional.) Must fall within the curly braces
that define both a WaveformMacros block
File
File
Element Description
Element Description
Order File
ImsSetupFile
WaveformMacros
{
//macros used in waveform order for Default partition:
“Default”
{
“macro1”
{
w3, 10; //apply w3 to 10 sequences
Order File
w4, 10; //apply w4 to 10 sequences
}
}
}
WaveformOrder
{
// Waveform order for Default partition Waveform
“Default”
{
File
File
0ns - w1, 20; //apply w1 to first 20 sequences
w2,100; //apply w2 to next 100 sequences
Creating the
Creating the
Order
Order
About Macros
Macros allow you to describe a series of waveforms you want to
apply repetitively to your pattern sequences.Macros are optional.
Suppose that, after the first 80 lines of pattern your pattern alternates
two waveforms for 10,000 lines of pattern data. Without using a
macro, your waveform list would need one entry for each of those
10,000 vectors. Using a macro, you could describe the alternation
using two lines in a macro, and then apply that macro 5,000 times,
using only one line of your waveform list.
Macros are defined for and applied to each separate timing partition
in your test plan. Even if idential macros are applied in two different
partitions, you must create two partition blocks in your Waveform
Macros block, and define the identical macros in each partition block.
Once they are expanded, the waveforms in the Macro list are applied
to sequences in your pattern using the exact same rules as other
waveforms in the Waveform list. If a macro block name appears as
the last entry in a Waveform list, the final waveform entry in the
Macro block continues to be applied to any remaining sequences.
A macro block name is required. This is the name of the macro block
you want to apply. It must match a Macro block name defined in a
Partition block of the same name as the Partition block in which the
Waveform list appears. It must be enclosed in quote marks.
A repeat count is optional. This is an integer representing the
number of consecutive times the macro block is expanded and
applied. A comma must appear between the macro block name and
the repeat count.
Order File
Waveform list, are only applied to sequences in a particular partition.
DPT starts at the first entry in the Waveform list and moves through
the list sequentially, one entry at a time, applying the waveforms to
sequences in that partition. The waveform in each entry is applied
only to consecutive sequences. When a Waveform list is properly
constructed then, after the macros are expanded, there is one
waveform entry for each sequence in a partition that has a different
waveform than the prior sequence.
You must correctly specify the number of consecutive sequences
Order File
each entry is applied to, by using timestamps and repeat counts.
ImsSetupFile
Order File
//macros used in waveform order for Default partition:
Default
{
macro1
{
w3, 10; //apply w3 to 10 sequences
w4, 10; //apply w4 to 10 sequences
}
}
}
Order File
WaveformOrder
{
// Waveform order for Default partition
Default
{
0ns - w1, 20; //apply w1 to first 20 sequences
w2,100; //apply w2 to next 100 sequences
macro1; //apply macro1 to next 20 sequences
w1; //apply w1 to remaining sequences Waveform
}
}
File
File
Creating the
Creating the
Order
Order
Directives
• GenericComment
• GenericSignals
• IgnoreInstructions
• LineContinue
• MatchSignals
• Monitor
• Tristate
• UpdateTestPlan
• VCDSignals
• WaveformOrder
All DPT Run file directives and their arguments are case sensitive.
General syntactical rules for creating a DPT Run file are given in the
chapter, Creating A DPT Run File.
Bidir
The Bidir directive names one bidirectional signal in your source data
and specifies how to determine when it is acting as an input or
output, when that information is not conveyed by the state
Format
Bidir bsig Control csig [:polarity] [Enable esig [:polarity]];
where:
bsig specifies the name of one bidirectional signal. If the
Examples
Assuming a bidirectional signal named pinA, using a control signal
named ctl with a positive polarity (active when high), and no enable
signal, the following line should appear in your Run file:
DPT Run File
Directives
Bidir pinA Control ctl;
Usage
One Bidir directive is required for each signal in your VCDSignals or
GenericSignals directive that has a type of Bidirectional, unless
directional information is contained in the source data state
characters. The names of each signal you list in a Bidir must match
the name used in the VCDSignals or GenericSignals directive.
For example, if your SourceFormat is Generic and your source data
uses the characters 1 and 0 when the pin is acting as an input pin
and the characters H and L when the pin is acting as an output pin,
then Bidir is not required. By contrast, if the characters 1 and 0 are
used for both input and output, Bidir directives are required for each
bidirectional signal.
If your SourceFormat is VCD, you may omit Bidir directives if your
data conforms to the enhanced VCD (eVCD) format specifications,
as that specification includes directional information for each signal.
Earlier VCD specifications did not preserve directional information in
the source data for each bidirectional pin, so Bidir is required for
signals in those VCD formats.
See also
GenericSignals, VCDSignals
Breakup
The Breakup directive directs DPT to limit the number of pattern
sequences in any one pattern setup it creates. If your source data
exceeds the sequence limit you set, DPT converts your source data
Format
Example
Breakup 524288;
Usage
The Breakup directive is optional. When you use the Breakup
DPT Run File
directive, the names of the pattern setups are based on the name
Directives
• functional_1.bin
• functional_2.bin
This naming pattern is applied any time the Breakup directive
appears in your DPT Run file. This includes cases where only one
pattern setup is created. In which case the one setup created would
have _0.bin appended to the TargetSetup name.
See also
TargetSetup, TargetFormat
CompressTarget
The CompressTarget directive instructs DPT to compress the target
setup by taking any contiguous blocks of identical pattern vectors
from the source data and converting the block to a single sequence
Format
CompressTarget;
The directive takes no arguments.
Example
CompressTarget;
Usage
Directives
contains a block of identical vectors, such as this one:
200 1, 1, 0, 0, 0, 1, 0
300 1, 1, 0, 0, 0, 1, 0
400 1, 1, 0, 0, 0, 1, 0
500 1, 1, 0, 0, 0, 1, 0
600 1, 1, 0, 0, 0, 1, 0
700 1, 1, 0, 0, 0, 1, 0
800 1, 1, 0, 0, 0, 1, 0
900 1, 1, 0, 0, 0, 1, 0
DPT Run File
Directives
DPT converts this source data to one sequence in the pattern setup:
Fill
The Fill directive specifies a repeating pattern of state characters to
apply to all sequences for a particular pin or group. If source data
exists for the pin or group you specify in a Fill directive, DPT
overrides the source data with the Fill directive’s repeating character.
This directive is useful when your source data either has different
pattern data from what you want to apply to a pin or no pattern data.
Format
Fill pin_name pattern_string;
where:
pin_name is the name of a pin or a group, as it appears in the Device
setup of the test plan named in the TestPlan directive.
pattern_string is a string of one or more legal source pattern
characters. The set of legal characters depends on the pin type of
pin_name. For example, if pin_name specifies an input pin, legal
characters would include 1,0,or X, but not H or L.
Example
Assuming you have a pin named clk_1 that you want to fill with the
repeating pattern 1010..., you would place the following line in your
DPT Run file:
Usage
This directive is optional. You should be careful, when filling multiple
pin groups, to determine if the groups share pins in common.
GenericComment
The GenericComment directive identifies the comment delimiter, if
any, that appears in your generic tabular format source data.
GenericComment & ;
Usage
GenericSignals
The GenericSignals directive identifies all the signals in your generic
tabular format source data.
Format
GenericSignals
// embedded_comment
name1 width radix type // embedded_comment
name2 width radix type
.
.
.
nameN width radix type
;
where:
embedded_comment optionally is any string of characters appearing
on the same line as and following the comment delimiter characters:
//. More than one embedded_comment may appear. Each comment
may occupy its own line or follow the final meaningful element on a
line.
name1, name2... nameN are unique signal names in your source
data, named in the order they appear in your source data, from left to
right.
width specifies the width of the signal in name. This corresponds to
the number of adjacent columns the signal occupies in the source
data file.
radix specifies the radix in which the data for the named signal
appears. Valid selections are:
• binary
• octal
• hex
type specifies the type of the signal. Valid selections are:
• Input
• Output
• Clock
• Bidirectional
GenericSignals
// Name Width Radix Type
Directives
pinB 1 binary Input
pinC 1 binary Input
pinD 1 binary Output
pinE 1 binary Output
pinF 1 binary Output
pinG 1 binary Input
pinH 1 binary Output
;
Directives
The GenericSignals directive is required when your SourceFormat is
Generic. The signal names are not required to match the pin names
in your Device setup. If your signal names do not match pin names in
your Device setup, you must use a MatchSignals directive.
Bidirectional signals may require Bidir directives.
This directive is not supported when the SourceFormat is VCD.
DPT Run File
See also
Directives
IgnoreInstructions
The IgnoreInstructions directive directs DPT to ignore any source
data appearing beyond the final column of your generic tabular
pattern data, if it is delimited by a colon. Such source data is usually
an embedded pattern instruction.
Format
IgnoreInstructions;
The directive takes no arguments.
Example
Assuming your source data contains embedded pattern instructions
that appear beyond the final column of pattern data delimited by a
colon, and you want to ignore these instructions, you would add the
following line to your DPT Run file:
IgnoreInstructions;
Usage
This directive is optional. If you omit this directive and DPT
encounters data beyond the final column of your source data, DPT
issues an error and stops processing your data.
This directive is not supported when the SourceFormat is VCD.
See also
GenericComment
LineContinue
The LineContinue directive directs DPT to treat a backward slash
character ( \ ) at the end of a line as a line continuation character.
When such a line continuation character is detected at the end of the
Format
LineContinue;
Example
LineContinue;
Usage
This directive is only required if your generic source data continues
Directives
backslash character to indicate line continuation.
This directive is not supported when the SourceFormat is VCD.
MatchSignals
The MatchSignals directive specifies a one-to-one mapping of signal
names in your source data to a list of pin names in your Device
setup. DPT refers to the Device setup included in the test plan
specified by your TestPlan directive.
Format
MatchSignals;
// embedded_comment
target_name1 source_name1 // embedded_comment
target_name2 source_name2
.
.
.
target_nameN source_nameN
;
where:
embedded_comment optionally is any string of characters appearing
on the same line as and following the comment delimiter characters:
//. More than one embedded_comment may appear. Each comment
may occupy its own line or follow the final meaningful element on a
line.
target_name1, target_name2... target_nameN is a set of pin names
defined in the Vanguard Device setup. Each target_name must
correspond to a signal name in the source data.
source_name1, source_name2... source_nameN is a set of signal
names defined in the source data. Each source_name must
correspond to a pin name listed in the Device setup.
Example
Assuming you have used different names for signals in your VCD
source data and the corresponding pins in your Device setup, the
MatchSignals directive in your DPT Run file should resemble the
following:
MatchSignals;
Directives
A7 Top.A7
A6 Top.A6
A5 Top.A5
A4 Top.A4
A3 Top.A3
A2 Top.A2
A1 Top.A1
;
Directives
If the pin names in your Device setup differ from the names for the
corresponding signals in your GenericSignals or VCDSignals
directives, you must use the MatchSignals directive. If all the pin
names in your Device setup are identical to the corresponding
signals names in your GenericSignals or VCDSignals directives,
then this directive is not required.
See also
Monitor
The Monitor directive directs DPT to display its progress during the
processing of your source data. The progress is displayed to the
stdout device. Normally this is your screen, but the stdout device is
redirectable.
Format
Monitor;
This directive takes no arguments.
Example
Assuming you want DPT to display its progress, you would include
the following line in your DPT Run file:
Monitor;
Usage
This directive is optional.
NoTimestamps
The NoTimestamps directive is required when your generic tabular
source data has no timestamps.
Example
If your generic tabular source data contains no timestamps, you
NoTimestamps;
Usage
The NoTimestamps directive is required when your source data is in
generic tabular format and does not include timestamps. If the
NoTimestamps directive appears in your Run file, the Step directive
Directives
This directive is not supported when the SourceFormat is VCD.
See Also
Step
ReferenceDirectory
The ReferenceDirectory directive specifies a directory where you
want your pattern setup written and instructs DPT to include it as a
reference pattern in the test plan named in the TestPlan directive.
Format
ReferenceDirectory dir_name;
where:
dir_name specifies the name of the directory where you want DPT to
write the pattern setup it creates.
Example
If you want DPT to write your pattern setup to the directory
/my_device/patterns
and to update the test plan to include it as a reference pattern, you
would include the following line in your DPT Run file:
ReferenceDirectory /my_device/patterns;
Usage
Use this directive to create your TargetSetup as a reference pattern
setup. Normally, all setups in a test plan must reside in the test plan
directory. The only exceptions to this rule are reference pattern
setups.
When you use the ReferenceDirectory directive:
• DPT writes the TargetSetup files to the specified
ReferenceDirectory, and
• DPT updates the TestPlan to include TargetSetup as a reference
pattern.
Directives
not include the TargetDirectory directive. When ReferenceDirectory
and UpdateTestPlan are both present, the effect is the same as
omitting the UpdateTestPlan directive.
If you do not specify a target directory using TargetDirectory,
ReferenceDIrectory, or UpdateTestPlan, then DPT writes the
TargetSetup to the current working directory.
See Also
SourceFile
The SourceFile directive specifies the source of the data you want
DPT to convert. The source of the data may be either a data file or
the stdin device.
Format
SourceFile [filename];
where:
filename optionally is the name of the source data file. It may include
a full path name or a relative path name. If filename is omitted, DPT
reads your source data from the stdin device.
Example
Assuming your source data is in a file named in.generic and the
file is located in the current directory, then you would place this line in
your DPT Run file:
SourceFile in.generic;
Usage
The SourceFile directive is required. To specify a file, you include the
file name as an argument to the directive. If you omit the file name
argument, DPT expects input through the stdin device. This allows
you to redirect your source data into DPT from the command line.
See also
SourceFormat, TargetFile
SourceFormat
The SourceFormat directive specifies the format of the source data.
Directives
SourceFormat data_format;
where:
data_format specifies the format of the source data. Valid values for
data_format are:
• Generic
• VCD
SourceFormat VCD;
Assuming your source data is in generic tabular format, you would
include the following line in your DPT Run file:
Usage
The SourceFormat directive is required.
Step
The Step directive specifies a time value for DPT to apply as the
implicit elapsed time interval between each line of source data. It is
intended for use with generic tabular source data that has no
timestamps.
Format
Step time_value;
where:
time_value is a floating point number followed by a valid time unit
indicator, for example 10.00ns. Valid time unit indicators are:
Example
Assuming your source data has no timestamps and you want to
apply a timestep of 22.50ns between each line of source data, you
would include the following line in your DPT Run file:
Step 22.50ns;
Usage
This directive is required when the SourceFormat is Generic and the
source data has no timestamps. In this case, the NoTimestamps
directive is also required. If your source data does have timestamps,
See also
NoTimestamps, SourceFormat
Substitute
The Substitute directive specifies a character in your source data you
want to replace with another character during conversion. It is
intended for use when the characters used in your source data do
not match the characters used by Vanguard for the same purpose.
For example, if your source data uses U and D characters to indicate
high and low output, you could use this directive to replace them with
the Vanguard state characters, H and L.
Format
Substitute old_char new_char;
where:
old_char is the character you want replaced by new_char.
new_char is the character you want to replace old_char with.
Example
Assuming your source data uses the character T to denote tristated
data and you want to replace that character with the Vanguard
tristate character, Z, you would include the following line in your DPT
Run file:
Substitute T Z;
Usage
This directive is optional.
TargetDirectory
The TargetDirectory directive specifies the directory where you want
DPT to write its output pattern setup files. The resulting setup will not
be included in the test plan named in the TestPlan directive.
TargetDirectory /DXV23_device/pattern;
Directives
This directive is optional. Using TargetDirectory, you may place your
TargetSetup files in any directory. The resulting setup will not be
included in the test plan named in the TestPlan directive.
If you include the TargetDirectory directive in your DPT Run file, you
may not include either the UpdateTestPlan directive or the
ReferenceDirectory directive.
If you do not specify a target directory using TargetDirectory,
DPT Run File
Directives
ReferenceDIrectory, or UpdateTestPlan, then DPT writes the
TargetSetup to the current working directory.
See also
ReferenceDirectory, TargetSetup, TestPlan, UpdateTestPlan
TargetFormat
The TargetFormat directive specifies the format for DPT to use when
writing your pattern setups.
Format
TargetFormat format_name;
where:
format_name specifies the name of a Vanguard pattern format. Valid
values for format_name are:
• ASCII
• Binary
Example
Assuming you want your pattern setups written in Vanguard binary
format, you would include the following line in your DPT Run file:
TargetFormat Binary;
Assuming you want your pattern setups written in Vanguard ASCII
format, you would include the following line in your DPT Run file:
TargetFormat ASCII;
Usage
The TargetFormat directive is required. Setups written in ASCII
format generate one setup file. Setups written in Binary format
generate two files that, taken together, comprise the entire setup.
TargetSetup
The TargetSetup directive specifies the setup name to assign to the
pattern setup DPT creates. DPT also uses the setup name as the
base name for its output files.
TargetSetup functional;
Directives
The TargetSetup directive is required. If you do not specify a target
directory using TargetDirectory, ReferenceDIrectory, or
UpdateTestPlan, then DPT writes the output files for your
TargetSetup to the current working directory.
See also
Breakup, ReferenceDirectory, TargetDirectory, TargetFormat,
DPT Run File
Directives
TestPlan, UpdateTestPlan
TestPlan
The TestPlan directive specifies the test plan directory where DPT
will find a set of required information about your device.
Format
TestPlan dir_name;
where:
dir_name is the path and name of a valid Vanguard test plan
directory. The path may be relative or absolute.
Example
Assuming the test plan for your device is in the directory
/test/device_42
you would include the following line in your DPT Run file:
TestPlan /test/device_42;
Usage
The TestPlan directive is required. If your DPT Run file includes a
ReferenceDirectory directive or an UpdateTestPlan directive, the test
plan named in the TestPlan directive is updated to include the
TargetSetup.
See also
ReferenceDirectory, TargetDirectory, TargetSetup, UpdateTestPlan
TimeUnits
The TimeUnits directive specifies the time units denoted by the
timestamps in your generic tabular source data. It is intended for use
when your source data includes a numeric timestamp, but no time
Directives
0.25ns 0 3FFFFFFF 0 1 0 FFFFFFFF 1 0 0 1111 011 00 001
000
0.75ns 0 3FFFFFFF 0 1 0 FFFFFFFF 1 0 0 1111 011 00 001
000
1.25ns 1 3FFFFFFF 0 1 1 FFFFFFFF 1 0 1 0111 101 00 001
000
1.75ns 0 3FFFFFFF 0 1 1 6600041E 1 1 1 0000 100 00 001
110
nanoseconds ns
picoseconds ps
femtoseconds fs
Example
Assuming your source data is in a generic tabular format that
includes timestamps but omits time unit information, and you want to
use a time unit of us, you would include the following line in your DPT
Run file:
TimeUnits us;
Usage
By default, when DPT encounters timestamps without an indicated
time unit, it assumes a time unit of ns. If there is no explicit time unit
and the implicit time unit is not ns, this directive is required.
If your source data does indicate time units and you include a
TimeUnits directive indicating a different time unit, DPT will use the
units indicated in the source data, excpet for vectors (if any) where
no time unit is given.
The TimeUnits directive is not supported when the SourceFormat is
VCD.
See also
SourceFormat
Tristate
The Tristate directive instructs DPT to emit a Z (the Vanguard tristate
character) in the pattern setup in each instance where the source
data indicates either an X or a Z for a pin that may be tristated. DPT
Format
Tristate;
The directive takes no arguments.
Tristate;
Usage
UpdateTestPlan
The UpdateTestPlan directive instructs DPT to write your pattern
setup into the directory named in the TestPlan directive and to
update that test plan to include it in the list of available pattern
setups.
Format
UpdateTestPlan;
The directive takes no arguments.
Example
Assuming you want your TargetSetup files written to the TestPlan
directory and you want the setup to appear as part of your test plan,
you would include the following line in your DPT Run file:
UpdateTestPlan;
Usage
The UpdateTestPlan directive is optional. It instructs DPT to write the
TargetSetup files to the TestPlan directory and include the setup in
the test plan. All setups are normally written to the test plan directory.
If you include the UpdateTestPlan directive in your DPT Run file, you
may not include the TargetDirectory directive. When
ReferenceDirectory and UpdateTestPlan are both present, the effect
is the same as omitting the UpdateTestPlan directive.
See also
ReferenceDirectory, TargetDirectory, TestPlan
VCDSignals
The VCDSignals directive identifies all the signals in your VCD
source data.
Directives
;
where:
embedded_comment is any string of characters, appearing on the
same line as and following the comment delimiter characters: //.
name1, name2... nameN represent a list of signal names, separated
by whitespace characters. Each signal name must be in the format:
modulename[.sub_modulename.sub_modulename].signalname
Example
DPT Run File
Directives
Assuming you want to convert source data in VCD format that has
three signals named pinA, pinB and pinC, and these three signals
are in a module named BusY, then a VCDSignals list similar to this
one should appear in your DPT Run file:
VCDSignals
// Name Type
BusY.pinA Input
BusY.pinB Input
BusY.pinC Output
;
Usage
The VCDSignals directive is required if your SourceFormat is VCD.
All signals whose type is Bidirectional should also appear in a Bidir
directive.
The signal names should appear exactly as they appear in your
source data.
To match these signal names to pin names in your Device setup, use
MatchSignals.
This directive is not supported when the SourceFormat is Generic.
See also
Bidir, GenericSignals, MatchSignals, SourceFormat
WaveformOrder
The WaveformOrder directive specifies a Waveform Order file to
apply to your pattern setup. A Waveform Order file describes how to
apply the waveforms defined in your test plan to every sequence
Format
WaveformOrder file_name;
where:
Example
Assuming you have created a Waveform Order file in the current
directory, named waveorder, and you want to apply it to your pattern
setup, you would include the following line in your DPT Run file:
Usage
The WaveformOrder directive is optional. If you omit this directive,
the Default waveform is applied to every sequence in the pattern
setup.
DPT Run File
Directives
Using APT
Using APT
• How APT Differs from DPT
• APT Limitations
• Planning Your APT Conversion
• About the APT Run File
• Structure of an APT Run File
• When Your Source is VCD
Using APT
• When Your Source is Generic
• Other Conversion Issues
• Merging Patterns with APT
• How to Start APT
• APT Command Line Syntax
• APT Environment Variables Using APT
Test Plan
Simulator
Data File
Pattern
Setup
APT reads your Vanguard test plan, specifically the Device setup
and the Timing setup, and your simulator data file. If your pattern
setup requires more than one waveform you must create a Waveform
Order file for APT to read.
APT reads the directives in a Run file you supply and uses them to
map resources as it creates the final Vanguard pattern setup. The
optional Log file contains summary information about the conversion
process. Temporary files are automatically removed after
conversion.
Using APT
Using APT
withdrawn in the future. Support for DPT will continue. Contact
your IMS representative for details.
• APT can convert simulator files into ATS, XTS and Electra
pattern formats, while DPT cannot.
Using APT
Using APT
APT Limitations
APT has some limitations when converting pattern for a Vanguard.
APT does not support serial scan data for the Vanguard. If your
source data file contains serial scan data, APT will issue a warning
and ignore the data.
A limited set of pattern instructions may be preserved, using the
VanguardInstructions target directive. Also, any pattern instructions
in your source data may be converted to comments in the target
data, using the Option Instructions source directive. Otherwise, they
are ignored.
Using APT
Using APT
Using APT
Using APT
Standard Elements
The Run file requires at least one conversion segment, which begins
with the Segment keyword and a unique text string that names the
conversion section. A Run file may have more than one conversion
section. The contents of each conversion segment are set apart by a
pair of opening and closing curly braces.
Using APT
Using APT
Segment “segment_name”
{
}
Segment names must meet Unix filename conventions. Additionally,
they cannot include whitespace. APT uses the Segment name as
the basis for temporary files that APT creates.
Within each conversion segment there must be at least one Source
section. Multiple source sections are allowed. All source sections
must appear before any other sections in the conversion segment.
Using APT
Within each conversion segment there must be one, and only one,
Target section. The Target section must appear after the final Source
section and before any Conversion section.
Within each conversion segment there may be one Conversion
section. The Conversion section is optional. If one appears, it must
follow the Target section.
Using APT
Target
{
}
Conversion
{
}
}
Source sections
A Source section is required in every conversion segment. The
Source section is used to define characteristics of the source data for
your conversion.
A Device directive must appear in each Source section as the first
directive in that section. It is used to specify the driver APT uses to
parse your source data.
When a Setup directive is used in a Source section it must be the
second directive in that section, following the Device directive. The
Setup directive may be used to specify a file that contains a Groups
directive, as an alternative to placing a Groups directive directly in
your Source section.
When a Data directive is used in a Source section it must either be
Using APT
Using APT
the second directive (when no Setup directive is given), or the third
directive (when Setup is used). The Data directive may be used to
specify your simulator data file. If the Data directive is omitted, and
the -s <filename> command line parameter is not used, APT
defaults to reading source data from stdin.
Each Source section in your Run file may only contain valid Source
section directives. All valid Source section directives are listed in the
chapter Source Directives.
Using APT
Here is an example of a simple Source section:
Source
{
Device "Generic";
Data "in.generic.data";
Groups
{
"in1" : 1 : Bin : Input;
"out1" : 1 : Bin : Output;
};
Using APT
APT allows you to use multiple source sections that output to the
same target data file. This allows you to input Source data that is in
different source files. These files must use the same timing. If they
do not, use the Timebase or Step directive to correct the timing. For
Target section
A Target section is required in every conversion segment. It is used
to specify characteristics of APT’s output data.
A Device directive must appear in each Target section as the first
directive in that section. It is used to specify the driver APT uses to
create your pattern data. For a conversion to Vanguard, the device is
VanguardASCII.
The Setup directive must be the second directive in the Target
section, following the Device directive. The Setup directive is used to
specify the testplan your pattern setup will be imported to.
The Data directive must be the third directive to appear in the Target
section when it is given. The Data directive specifies the name of the
pattern setup APT will create. If the Data directive is omitted, and the
-t <filename> command line parameter is not used, APT defaults
to outputting data to stdout.
A Target section may only contain valid Target section directives. All
valid Target section directives are listed in the chapter Target
Directives.
Here is an example of a simple Target section:
Target
{
Device "VanguardASCII";
Setup "testplan_name";
Data "out.VanASCII.data";
}
Conversion section
A Conversion section is optional in any conversion segment. It is
used to specify a log file, if one is desired. It also may contain a
Translate directive.
Using APT
Using APT
Using APT
Using APT
modulename[.sub_modulename.sub_modulename].signalname
For example, the first two signals in the example VCD file shown
above are contained in a single module named Test_74LS646. So
those two signals would be identified in your Groups directive as:
Test_74LS646.G_
Test_74LS646.DIR
IMPORTANT — The case used in signal names in the Run file must
i agree with the case used in the VCD file.
Assuming these two signals correspond to bidirectional pins on your
device, the Source section of your Run file might appear as in this
example:
Source
{
Device "VCD";
Using APT
Using APT
Data "/opt/ims/2000_Q2/APT/examples/74646/74646.vcd";
Groups
{
"Test_74LS646.G_" :Bin :1 :Bidir;
"Test_74LS646.DIR" :Bin :1 :Bidir;
.
.
.
}
}
Using APT
IMPORTANT — If your Groups directive includes bidirectional pins
i you will also need to define a control pin for each bidriectional
pin, using the Bidir directive.
In addition to this Groups directive in the Source section, your Run
file will almost certainly contain a Translate directive in a Conversion
section. The purpose of this Translate directive is to create pin
groups that contain more than one signal.
Using APT
For example, if the two signals shown in the Groups directive above
were to be grouped with some other pins into one pin group named
Ctl_A, you would place the following Translate directive in a
Conversion section in your Run file:
Conversion
{
Translate
{
"Ctl_A"
{
"Test_74LS646.G_"
"Test_74LS646.DIR"
.
.[add other pins to the group here]
.
};
};
};
Using APT
Using APT
{
Device "Generic";
Data "in.generic";
Groups
{
"inbin" : 1 : Bin : Input;
"inoctal" : 3 : Oct : Input;
}
}
.
.[Target section not shown]
Using APT
.
.
.[Conversion section next page]
.
.
Using APT
Conversion
{
Translate
{
"ib1" {
"inbin"
};
"io1" {
"inoctal" :2
};
"io2" {
"inoctal" :1
};
"io3" {
"inoctal" :0
};
}
}
Using APT
Using APT
and assigning that waveform to each sequence it generated.
Normally, APT inserts a Halt pattern instruction on the final
sequence of pattern data. If the last sequence of pattern data does
not fall on a pattern instruction boundary, APT generates enough
sequences to complete a pattern instruction block of eight
sequences. In generating these sequences, APT normally repeats
the last vector of your pattern data and applies the default waveform
to them. Next, APT places the Halt instruction at the pattern
instruction boundary.
Using APT
By default, APT also creates eight vectors of Keep Alive data for you
and appends these following the sequence where it places the Halt
instruction.
A simple example of this behavior would be a conversion where all
waveforms are one cycle long, and the last vector of source pattern
data occured on the sixth sequence of an eight-sequence pattern
instruction block. As APT reaches the last vector of source data the
final few sequences of its output, prior to padding out the required
sequences, might look like this:
Using APT
Using APT
Using APT
"Default", 100011100101XXXXXXXX , "; KeepAlive - generated by APT" ;
"Default", 100011100101XXXXXXXX , "; KeepAlive - generated by APT" ;
"Default", 100011100101XXXXXXXX , "; KeepAlive - generated by APT" ;
"Default", 100011100101XXXXXXXX , "; KeepAlive - generated by APT" ;
"Default", 100011100101XXXXXXXX , "; KeepAlive - generated by APT" ;
"Default", 100011100101XXXXXXXX , "; KeepAlive - generated by APT" ;
"Default", 100011100101XXXXXXXX , "; KeepAlive - generated by APT" ;
Using APT
Using APT
Using APT
Using APT
End_time 450ns;
}
Target
{
Device “VanguardASCII";
Setup “testplan_name";
Data “out.VanASCII.data";
}
Using APT
data files to decide where to put the pattern.
With the Generic device, you can use the manual append method to
allow you to merge force and compare vectors from separate force
and compare data files generated by your simulator. You must be
certain that the separate force and compare data files do not conflict
in timestamp information, pin group names, parallel data, serial data,
pattern instructions, and timeset order, or APT may produce
unexpected results.
For example, if you have a Force pin group named p1 and a
Using APT
Compare pin group also named p1, the APT run may result in the
Compare data for p1 overwriting the Force data for the pin of the
same name. To avoid this, make sure to use unique pin group names
for all pin groups.
Example
Here is an example of merging four (very simple) simulator data files
using the Generic device. Each file contains data for one pin group of
two pins. Two of the groups are input pins and two groups are output
pins. The files are timestamped and all the timestamps align.
Assume all of the signal names in the four files are unique.
File f1.gen contents:
0 01
100 00
200 01
300 00
400 01
500 00
File f2.gen contents:
0 11
100 00
200 11
300 00
400 11
500 00
File c1.gen contents:
0 01
100 10
200 01
300 10
400 01
500 10
File c2.gen contents:
0 11
100 10
200 11
300 10
400 11
500 10
To merge these signals into one output file, use the following APT
Run file:
Segment "source_1"
{
Source
{
Device "Generic";
Groups { "f1":2:Bin:Input; };
Data "f1.gen";
}
Source
{
Device "Generic";
Using APT
Using APT
Groups { "f2":2:Bin:Input; };
Data "f2.gen";
}
Source
{
Device "Generic";
Groups { "c1":2:Bin:Output; };
Data "c1.gen";
}
Using APT
Source
{
Device "Generic";
Groups { "c2":2:Bin:Output; };
Data "c2.gen";
}
Target
{
Device "VanguardASCII";
Using APT
Setup "testplan_name";
Data "test.out";
}
TS f1 f2 c1 c2
0 01 11 01 11
100 00 00 10 10
200 01 11 01 11
300 00 00 10 10
400 01 11 01 11
500 00 00 10 10
Using APT
Using APT
APT -r /home/dave/544A.run.APT
Using APT
Using APT
Parameter Description
Parameter Description
Using APT
Using APT
Using APT
Using APT
Active_input
The Active_input Source section directive specifies whether the
source input group is active. If the enable group is positive, the data
is active. If the enable group is negative, the data is set to Z. The
default is that the enable group is positive.
This directive is not supported when the source device is VCD.
Format
Active_input "source_grp" [Enable "enable_grp"
[:polarity][:bit] ];
where:
Example
Source
{
Active_input "Data1" Enable "EN1":Negative:3;
}
APT Run File
Directives
Usage
The following table shows the states for this directive.
See also
Asserted_output, Bidir
Asserted_ouput
The Asserted_output Source section directive specifies whether the
source output group is asserted. If the enable group is positive, the
data is asserted. If the enable group is negative, the data is set to X.
The default is that the enable group is positive.
This directive is not supported when the source device is VCD.
Format
Asserted_output "source_grp" [Enable "enable_grp"
[:polarity][:bit]];
Example
Source
{
Asserted_output"Data1"Enable"EN1":Negative:4;
APT Run File
}
Directives
Usage
The following table shows the states for this directive. .
See also
Active_input, Bidir
Bidir
Use the Bidir Source section to control the direction of bidirectional
pins, according to the state of the control and enable groups.
Typically, if your conversion requires the Bidir directive, you'll also
need to use the Translate directive.
Format
Bidir "src_grp" Control "cntrl_grp" [[:polarity] |
[:bit]]; | Enable "enbl_grp" [[:polarity] | [:bit]];
| Control "cntrl_grp" [[:polarity] | [:bit]] Enable
"enbl_grp" [[:polarity] | [:bit]];
Directives
Directives
their polarity. It may be either Positive (default) or Negative
bit is an optional qualifier for cntrl_grp or enbl_grp that specifies one
bit in the control or enable group that directs the bidirectional group.
By default all bits in the control or enable group determine the result.
Example
APT Run File
Directives
Source
{
Bidir"Data1"Control"Cnt1":Positive:7Enable"EN1":Negative:5;
}
Usage
The bidirectional pin is active whenever the enable group is positive.
The bidirectional pin is input when the control group is positive,
otherwise it is output. Table 9 shows the bidirectional states.
When the ...and its ...and the ...and its ...then the
Control Polarity Enable Polarity Bidir Source
group is: is: group is: is: group is:
You may compare for tri-state by using a Z in the pattern data. For
most conversions, the bidirectional pin is controlled by a control
group. For those conversions, you do not need to change the state
character in the source data file.
However, if you have a bidirectional pin that is not controlled by a
control pin and you want to expect a Compare Z, you must use a Y in
the source data file. For both the Force and Compare data for the
pin, APT outputs a Z.
Table 10 shows how APT translates the bidirectional Source data for
the different target data.
0 0 X
1 1 X
H Z 1
L Z 0
X Z X
See also
Active_input, Asserted_output
APT Run File
Directives
Comment
The Comment Source section directive tells APT which characters
start a comment and, optionally, which characters end a comment.
When translating a Generic format source file, this directive is often
required to enable APT to recognize embedded comments.
You may use any number of Comment directives in a Source section.
Be aware, however, that APT processes the directives in the order
you specify.
This directive is not supported when the source device is VCD.
Format
Comment "start_string" ["end_string"];
where:
start_string is the regular expression that indicates that a comment
follows.
end_string is an optional regular expression that defines the end of a
comment. If you do not specify an end_string, the comment
automatically extends to the end of the physical text line. If you do
specify an end_string, every instance of the start_string must be
paired with an end_string, and each end_string must occur on the
same physical line as the start_string.
Example
In this example, the Source data contains comment lines that begin
with an ampersand (&). Your Source Data file might look like this:
& PAGE #0001
& TR3320 68HC05J1 CPU PATTERN
& AAAAAAAA DDDDDDDD NNAAAELR IROONNNN
& 76543210 76543210 AA198 IW RSSSAAAA
& 120 RN QTCC3456
& B BB12
&
& >>>>>>> START HERE IF YOU WANT 4064 POWER ON RESET CYCLES
<<<<<<
0 XXXX0001 00000000 XX000000 X01XXXXX
10 XXXX0010 00000000 XX000000 X01XXXXX
Directives
& ALLOW TIME FOR IRQ TO BE PULLED TO 9V:
& KEEP RSTB LOW TO STAY IN RESET
30 XXXX0101 00000000 XX000000 X01XXXXX
40 XXXX0110 00000000 XX000000 X01XXXXX
.
.
.
To let APT know which lines are comments, use the Comment
Directives
Directives
Source
{
.
.
.
Comment "&";
.
.
.
APT Run File
}
Directives
Usage
The Comment directive uses regular expressions for pattern
matching. As a result, you must precede the following special
characters with a backslash to remove their special meaning:
.^$[]*
For example, if your Source data uses a slash followed by an asterisk
(/*) to introduce comments, be sure to interject a backslash when
using the Comment directive, as shown:
Comment "/\*"
For information on how to use regular expressions, see that section
in your host's User's manual. On a Unix system, enter man ed at the
command prompt to see the manual page for regular expressions.
Concatenate
The Concatenate Source section directive tells APT to append one
Source data file to another to create one large Target data file. The
Concatenate directive ensures that, as each file is appended to the
previous file, it starts with the correct sequence number.
The Concatenate directive works with Source data files that are in
the Generic format. This directive is not supported when the source
device is VCD.
To concatenate many Source data files, you must make one Source
section for each of the files that you want to append together. You
must use the Data directive in each of these Source sections to
Directives
appear in each of these Source sections and you can use only one
Concatenate directive per Source section. The Concatenate directive
cannot appear before the Data directive in any Source section.
In order to supply further information needed for the translation, you
must use one of the following Source directives as well:
• Cyclized. Use Cyclized to retain the relative timing supplied by
the timestamps in the Generic source data file.
Directives
Directives
source data, ignoring existing timestamp information.
• Timebase. Use Timebase to calculate multiples of the source
clock, to be used in place of the existing timestamps.
See the chapter, Merging Multiple Source Files, for examples of how
to use these additional directives.
It is not necessary that the same setup file be named in each of the
Source sections. However, the Clock group rates and the pin count APT Run File
for each pin group must be the same in each setup file. Directives
Format
Concatenate;
Example
Source
{
Device "Generic";
Setup “groups_list";
Data "data1.gen";
Cyclized;
Concatenate;
}
Source
{
Device "Generic";
Setup “groups_list";
Data "data2.gen";
Cyclized;
Concatenate;
}
Target
{
Device "VanguardASCII";
Setup "Test_plan_2";
Data "all_data.vanAscii";
}
In the example, the first Source section names data1.gen as the
initial Source data file and uses the Concatenate directive; the
second Source section repeats all of the information that was in the
first Source section, but names a new data file, data2.gen, and uses
the Concatenate directive to cause APT to adjust the sequence
number for the first sequence in data2.dat to conform to an ordinal
sequence that continues after the last sequence of data1.gen.
The Concatenate directive causes APT to remove the normal Halt
instruction that occurs at the end of a data file for all but the last data
file in a series of files to be concatenated. APT generates an
informational message each time that a Halt instruction is removed.
You are limited to no more than one source section per shared
memory segment.
See also
Cyclized, Data, Device, Setup, Step, Retain_halts Timebase
Cyclized
The Cyclized Source section directive tells APT to calculate and
apply a timestamp for the first vector of a successively concatenated
Generic source file. The cycle time is determined by the time
difference difference between the last two source parallel vectors of
the Generic source file to which data from another Generic source
file is to be appended.
When you want to append data from one Generic source file (source
B) to the end of another (source A), there is no information contained
in either source file that indicates what the timestamp of the first
vector in source B should be. You must supply this information using
the Cyclized, Step or Timebase directives.
Example
Source
{
APT Run File
Device "Generic";
Directives
Groups { "force":2:Bin:Input; };
Data "source_A.gen";
Cyclized;
Concatenate;
}
Source
{
Device "Generic";
Groups { "force":2:Bin:Input; };
Data "source_B.gen";
Cyclized;
Concatenate;
}
Target
{
Device "VanguardASCII";
Setup "Test_plan_2”;
Data "target_AB.pat";
}
Usage
Cyclized directs APT to calculate the difference between the
timestamp of the last two vectors in the first source file
(source_A.gen) and use the result of that calculation as the cycle
time for the first vector of the second source file (source_B.gen) for
the pattern translation.
The calculation can be expressed as:
(UltimateTimestamp - PenultimateTimestamp) +
UltimateTimestamp = FirstTimestamp
where:
UltimateTimestamp is the timestamp of the last pattern vector in
source_A.gen.
See also
Concatenate, Step, Timebase
Data
When used in the Source section, the Data directive specifies the
source data file. The Data directive must not appear before the
Device and Setup directives. The Data directive in a Source section
may be overridden by the -s filename command line option.
If you don't include a Source section Data directive and do not use
the -s filename command line option, then APT inputs the data
from the standard input device (stdin).
For information on using this directive in the Target section, see
Target Section Directives.
Format
Data "filename";
where:
filename is the name of the file that contains the data you want
converted. The filename must be within quotation marks.
Example
Source
{
Device "Generic";
Setup "tabfile.dat";
Data "tabfile.dat";
}
See also
Device, Setup
Device
When used in the Source section, the Device directive specifies the
Source device. The Device directive is required in every Source
section and must be the first directive to appear in any Source
section.
For information on using the Device directive in the Target section,
see Target Section Directives.
Format
Device "format_name";
where:
Example
See also
Data, Setup
APT Run File
Directives
End_time
The End_time Source section directive specifies the time of the last
event in the Source data file to be converted. If you do not specify the
End_time directive, APT stops converting at the last timestamp in the
Source data file.
Format
End_time number;
where:
number is any timestamp number followed by one of the following
suffixes, representing the time unit:
• ps for picoseconds
• ns for nanoseconds
• us for microseconds
• ms for milliseconds
• s for seconds
The maximum resolution is 1ps. APT accepts space between the
number and the suffix (for example:, 500ns or 500 ns).
Example
Source
{
.
.
.
End_time 800ns;
.
.
.
}
then the last data line that will be converted is at timestamp 800.
Usage
This directive is particularly useful when you're converting multiple
Source sections. You can specify the particular vectors you want
Directives
See also
Start_time
External_resistor
The External_resistor Source section directive specifies the action to
take if you are using pull-up or pull-down resistor on the socket card.
This directive defines what the Compare (Expect) data is when the
Force data is tri-stated (Z). This directive can also be used if the user
has bidirectional or output pins with receiver termination enabled (fly-
by pins).
This directive is not supported when the source device is VCD.
Format
External_resistor "group" resistor_type;
where:
group is the name of the group that will provide data for the device.
The name must appear within quotation marks.
resistor_type specifies the type of resistor. It may be either Pullup or
Pulldown.
Example
Source
{
External_resistor "Compare1" Pulldown;
}
Usage
When the pin is outputting and there is a Z in the source output data
(and therefore an X in the Compare (Expect) data), this directive
controls whether the X should be interpreted as a 1 (pulled up) or 0
(pulled down).
The following table shows how pull-up and pull-down resistors are
interpreted.
Z Pullup 1
X Pullup H
Z Pulldown 0
X Pulldown L
See also
Groups
The Groups Source section directive provides information about how
to map simulator signals into pin groups. The Groups directive is
typically a multi-line directive.
When converting a Generic source file, the top to bottom order of the
group entries should match the left to right order of the columns in
the generic file.
For information about how the Groups directive is used in the Target
section, see Target Section Directives.
Format
Groups
{
"group_name" [:bit_width] [:radix]
[:format [time1] [time2]] [:direction];
.
.
.
};
where:
group_name is the name of the pin group. The group name must be
within quotation marks.
bit_width is an optional parameter that specifies the number of bits in
the group.
radix is an optional parameter that specifies the radix in which the
source data is expressed. These radices are case sensitive and
must begin with an upper case letter. Use one of the following:
• Hex (for hexadecimal)
• Oct (for octal)
• Bin (for binary)
• Dec (for decimal)
Directives
input group, output group or bidirectional group, respectively. If the
group is bidirectional, use the Bidir directive or special state
characters and the binary radix.
For Generic formats you must specify the group_name, bit_width,
radix, format (and times, as required), and the group_type.
Source
{
Device "Generic";
Directives
Directives
Timebase 1ns;
Groups
{
"A":7:Bin:Input;
"B":6:Bin:Input;
};
}
Usage
APT Run File
Directives
The arguments are all optional and may be in any order. For
example, this directive:
Groups
{
"A":3:Bin:Input;
"B":2:Bin:Input;
};
is equivalent to this directive:
Groups
{
"A":Bin:3:Input;
"B":Bin:2:Input;
};
If your are translating a VCD file, the form of the the Groups directive
must conform to several specific requirements, as explained in the
chapter Creating the Run File, in the section, When Your Source is
VCD.
If your source data is in Generic format you must specify the group
names in order when you use the Groups directive.
On input, non-binary radix groups are limited to 32 bits. You can use
any number of bits for binary radix groups.
You must specify the bit_width field if the data does not have
separators between the groups. For example, if your data looks like:
111010011
You identify the groups using the Groups directive:
Groups
{
"A":3:Bin:Input;
"B":2:Bin:Input;
"C":1:Bin:Input;
"D":3:Bin:Input;
};
You can use the same Groups directive as shown above if your data
incorporates white space (for example, 11101 0011). You must be
careful, however, that a group doesn't extend across the white space
( example, Group "A" and "B" cannot both be three bits wide).
You can use the Groups directive to override a data format .
Alternatively, you can change the setup file. To override a data format
specified in the setup file with a 2x format, you must specify the
group_clock and the data format.
Groups
{
"A":5ns:DNRZ;
};
Include
The Include Source section directive lets you specify that the
contents of a separate file be read into the run file at the point the
Include directive is used. This lets you keep portions of the Run file
directives in separate files, where they can be more easily
maintained, stored, or accessed.
The Include directive will generate an error message if:
• the content of the file named by the Include directive does not
contain legal grammar for that portion of the run file where the
directive occurs.
• the file named by the Include directive cannot be accessed.
• the included file contains more than 50 levels of Include
statements.
Format
Include "filename";
where:
filename is an existing ASCII file containing grammatically legal Run
file directives, located in the current directory or identified by relative
path name or by absolute path name to the current directory. The
name must be enclosed in quotation marks. The file you name must
contain only directives that are grammatically correct at the location
where the directive is used.
Example
Source
{
Device"Generic";/* generic simulator device type*/
Setup"test1.set";/* source setup file */
Data "test1.pat";/* source pattern file */
Include"rules.def";
}
Assume the contents of rules.def is:
/* rules.def */
/* defines substitute and comment mapping */
Comment ";";
Substitute "" "-g";
Usage
Files named by the Include directive can themselves contain the
Include directive. Nesting of included files may be up to fifty levels
deep.
The Include directive is particularly useful in the Source section for
specifying files that contain logically related Run file directives, for
example a separate file for defining Groups, a separate file for
defining Options, and so on.
NoTimestamp
The NoTimestampNoTimestamp Source section directive tells APT
that there are no timestamps in the Source data. You normally use
this directive in conjunction with the Step directive.
This directive is not supported when the source device is VCD.
Format
NoTimestamp;
Example
Source
{
.
.
.
NoTimestamp;
Step 2ns;
.
.
.
}
The following Source file has no timestamps and therefore requires
that you use the NoTimestamp and Step directives.
1,1,1,1,1,1,1,0,L,L,L,L;
1,1,0,1,1,1,1,0,L,L,L,L;
0,1,1,1,1,1,1,0,L,L,L,L;
1,0,1,1,1,1,1,0,L,L,L,L;
1,1,1,1,0,0,1,0,L,L,L,L;
1,0,1,1,1,1,1,0,L,L,L,L;
0,1,1,1,1,1,1,0,L,L,L,L;
1,1,0,1,1,0,1,0,L,L,L,L;
Usage
The NoTimestamp directive should typically be used with the Step
directive. If you specify NoTimestamp and do not specify the Step
directive, APT uses either 1ns or the value specified by Timebase as
the Step time value. In some cases, this may result in the translation
of only one vector.
See also
Step, Timebase
Option
The Option Source section directive tells APT to enable or disable
the specified options. Any of the options that may be enabled or
disabled from the Run file using the Option directive may also be
enabled or disabled using the command line option -sopt keyword.
If the command line conflicts with the Run file directive, the Run file
directive is overridden.
Only the Monitor keyword is supported when the source device is
VCD. No other keywords are supported with VCD.
Format
Option "keyword";
where:
keyword specifies the option you want to enable/disable. The
keyword should be enclosed in quotation marks. Valid keywords for
this directive in the Source section are:
• Instructions. Use this keyword to enable the passing of
instructions from Generic input to the VanguardASCII target file.
• NoInstructions. Use this keyword to explicitly disable the
passing of instructions from Generic input. By default,
instructions are not passed from Generic input to the
VanguardASCII target file.
• LineContinue. Use this keyword to enable the continuation of a
line onto the next line. The default line continuation character is
the backslash.
• Monitor. Use this keyword to enable the reporting of %complete
information to the standard output device, stdout.
Example
Source
{
.
.
.
Option "NoInstructions";
.
.
.
}
Usage
Option "LineContinue";
Comment "!";
Directives
Directives
two conditions. These are when using a double quote or backslash,
as shown below:
Option "LineContinue=\"";
Option "LineContinue=\\";
APT processes Comment and Substitute directives before
processing the Option “LineContinue” directive.
APT Run File
Directives
Retain_halts
Use the Retain_halts Source section to select whether, when there
are multiple Source sections, APT automatically suppresses or
retains the Halt pattern instructions it finds in the source data file
listed in each Source section.
By default, APT retains only those Halt instructions that occur in the
final Source section, and it supresses all Halt instructions in data
files from all other Source sections. By placing this directive in a
Source section, all Halt instructions from that Source section are
retained, even when it is not the final Source section.
The supression of Halt instructions is normally accomplished by
converting them into comments.
This directive is not supported when the source device is VCD.
Format
Retain_halts;
Example
Source
{
.
.
.
Retain_halts;
.
.
.
}
Setup
In the Source section, the Setup directive specifies the Source setup
file. It is optional. When used, the Setup directive must be the
second directive in any Source section, before the Data directive and
after the Device directive.
For information on using the Setup directive in the Target section,
see Target Section Directives.
Format
Setup "filename";
Example
Directives
Directives
{
Device "Generic";
Setup "tabfile.dat";
Data "tabfile.dat";
}
If you are using a Generic format, you can create your own Source
setup file by placing setup directives (for example, Groups or
Substitute) in a file rather than specify the directives in the Run file.
APT Run File
See also
Directives
Data, Device
Start_time
The Start_time Source section directive specifies the time of the first
event in the Source data file to be converted. If you do not specify the
Start_time directive, APT starts converting at the first timestamp in
the Source data file.
Format
Start_time number;
where:
number is any timestamp number followed by one of the following
suffixes, representing the time unit:
• ps for picoseconds
• ns for nanoseconds
• us for microseconds
• ms for milliseconds
• s for seconds
The maximum resolution is 1ps. APT accepts space between the
number and the suffix (for example:, 500ns or 500 ns).
Example
Source
{
.
.
.
Start_time 600ns;
.
.
.
}
then the first data line that will be converted is at timestamp 600.
Usage
This directive is particularly useful when you're converting multiple
Source sections. You can specify the particular vectors you want
Directives
See also
End_time
Step
Use the Step Source section to specify a regular time increment
between the incoming source vectors. When you use the Step
directive, APT will ignore any timestamps present in the source data
and apply the interval you specify, instead. Since this directive
instructs APT to ignore timestamps, you cannot use this directive
with the Timebase directive in the Source section.
You can use the Step directive in multiple Source sections when
appending one Generic source file to another using the Concatenate
directive. To retain the relative timestamp values in the Generic
source file, use the Cyclized directive, instead.
This directive is not supported when the source device is VCD.
Format
Step time;
where:
time is the cycle time. It may be any integer or floating point number
followed by one of these units:
• ps for picoseconds
• ns for nanoseconds
• us for microseconds
• ms for milliseconds
• s for seconds
The maximum resolution is 1ps. APT accepts space between the
number and the suffix (for example:, 50ns or 50 ns).
Example
Source
{
.
.
.
Step 10ns;
.
.
.
}
See also
NoTimestamp, Timebase, Cyclized
Substitute
Use the Substitute Source section to replace one set of characters
with another.
For example, your source data may use a unique set of characters to
symbolize the state a signal is in. Substitute allows you to replace
them with the set of characters that have a similar meaning to APT.
For example, if your data symbolizes an unknown output signal as
“U”, APT cannot understand what this character means. However,
you may use Substitute to replace “U” with the character “X”, which
APT does recognize as symbolizing an unknown output state.
This directive is not supported when the source device is VCD.
Formats
The Substitute directive has three formats:
Format 1
Substitute "old_pattern" "new_pattern";
Format 2
Substitute "group" "old_pattern" "new_pattern";
Format 3
Substitute group_type "old_pattern" "new_pattern";
where:
old_pattern is the pattern you want changed. For example, "A" .
new_pattern is the pattern to which you want the old pattern
changed. For example, "B".
group is the name of a specific group within which you want to
change the pattern. Use the name of a Source group. To substitute
within multiple groups, use multiple Substitute directives.
Example
The following are examples of each of the three formats:
1. Substitute "A" "B";
Usage
The Substitute directive is executed on one physical line at a time. If
line continuation characters are used, so that the pattern to be
substituted is divided across one or more physical lines, the pattern
is not recognized, or substituted.
All of the "A's" in Group_1, above, would end up as "B" rather than
"Y," because the second directive is in Format 1, which is always
executed first. To get the desired result in the above example, you
would need to issue a separate directive for each of your groups:
10/000,111,00
with the backslash indicating the separation of the timestamp (10)
from the data, use the following Substitute directive:
10 000,111,00
When substituting data on a group_type basis (Format 3), you can
only specify one group's data at a time. For example, you must use
two Substitute directives to substitute the data for group_type Input
from "0000 1010" to "0101 0001." One Substitute directive converts
the first group's data from "0000" to "0101" and another Substitute
directive converts the next group's data from "1010" to "0001".
Different simulator formats use a variety of characters to represent
different signal states, such as a high or low ouput state. APT cannot
recognize the state symbolized by a character unless the character
is:
• already a character APT already recognizes (see Table 12), or
Input states:
Tristate Z
Directives
0 0
Unknown Z
Output states:
Don't care X
1 H or 1
Directives
Directives
Unknown X
See also
Comment, Groups
Timebase
The Timebase Source section directive specifies the timestamp
multiplier to use for your source data. Using Timebase causes APT
to interpret existing timestamps in the source file as multiples of the
time value you specify. If you do not use an explicit Timebase
directive, a default Timebase of 1ns is applied.
You can use the Timebase directive in multiple Source sections
when appending one Generic source file to another using the
Concatenate directive. To retain the relative timestamp values in the
Generic source file, use the Cyclized directive, instead.
For information on using the Timebase directive in the Target
section, see the chapter Target Section Directives.
This directive is not supported when the source device is VCD.
Format
Timebase number;
where:
number is the base time to be multiplied by the source clock. The
number is followed by one of these units:
• ps for picoseconds
• ns for nanoseconds
• us for microseconds
• ms for milliseconds
• s for seconds
The maximum resolution is 1ps. APT accepts space between the
number and the suffix (for example:, 5ns or 5 ns).
Example
Source
{
.
.
.
Timebase 2ns;
.
.
.
}
If you specified Timebase 2ns in the Source section of the Run file,
the source timestamp and the source time would be as shown below:
0 0ns
Directives
10 20ns
15 30ns
20 40ns
25 50ns
30 60ns
Zero_delay
The Zero_delay Source section directive instructs APT to assume all
delay and sample time settings in the source data are equal to zero.
This directive has the same effect when used in either the Source
section or the Target section. For information on using the
Zero_delay directive in the Target section, see the chapter Target
Section Directives.
This directive is not supported when the source device is VCD.
Format
Zero_delay;
Example
Source
{
.
.
.
Zero_delay;
.
.
.
}
See also
Groups
BidirCombine
The BidirCombine Target section directive specifies two signals in a
simulation source file (one input and one output) that you want to
combine into a single bidirectional pin in the target pattern setup.
When this directive is used, the target Device must be
VanguardASCII.
Format
BidirCombine "src_grp_1" “src_grp_2”;
where:
src_grp_1 specifies the name of the input bidirectional source group.
It must match the name of a Bidir pin in the Vanguard test plan,
which in turn must map to the name of an Input group in the Source
section Groups directive. The group name must be written within
quote marks.
src_grp_2 specifies the name of the output bidirectional source
group. It must match the name of a Bidir pin in the Vanguard test
plan, which in turn must map to the name of an Output group in the
Source section Groups directive. The group name must be written
within quote marks.
Example
Segment "segname"
{
Source
{
Device "Generic";
Data "in.generic";
Groups
{
"inPin" : 1 : Bin : Input;
"outPin" : 1 : Bin : Output;
};
}
Target
{
Directives
Directives
}
}
See also
Bidir, Device, Groups
CycleDuration
The CycleDuration Target section directive forces APT to use a
particular cycle duration value. The value given overrides the cycle
duration specified in the target test plan’s Timing setup.
Format
CycleDuration value;
where:
value specifies a floating point number followed by a time unit
specifier. Valid time unit specifiers are:
• ps for picoseconds
• ns for nanoseconds
• us for microseconds
• ms for milliseconds
• s for seconds
Example
CycleDuration 15.001ns;
Data
When used in the Target section, the Data directive specifies the
target data file. The Data directive must not appear before the Device
and Setup directives. The Data directive in a Target section may be
overridden by the -t filename command line option.
If you don't include a Data directive in your Target section and do not
use the -t filename command line option, then APT outputs the
data to the standard output device (stdout). This will allow you to
pipe the generated VangaurdASCII memory file directly into the
ims_pat_cvt program to be compiled into a binary file.
Directives
Format
Data "filename";
where:
filename is the name of the file to which you want the converted data
written. The filename must be within quotation marks.
See also
Directives
Device, Setup
Device
When used in the Target section, the Device directive specifies the
target device. The Device directive is required in every Target section
and must be the first directive to appear in any Target section.
For information on using the Device directive in the Source section,
see Source Section Directives.
Format
Device "format_name";
where:
format_name is the name of the device into which you want your
pattern data converted. The name must be within quotation marks. It
must be one of the following devices:
• VanguardASCII
• IMSVF (only available with AVI-Link)
Example
Target
{
Device "VanguardASCII";
Setup "test_plan_2";
Data "pat_setup_3";
}
See also
Data, Setup
FixtureMap
The FixtureMap directive specifies a fixture map file created by AVI-
Link. It is only available with AVI-Link, and only used when the Target
device is IMSVF.
For more information on the FixtureMap directive, see the appendix
AVI-Link.
Format
FixtureMap "filename"
where:
Example
Target
{
.
.
.
Directives
Directives
.
.
.
Include
The Include directive lets you specify that the contents of a separate
APT Run File
file be read into the run file at the point the Include directive is used.
Directives
This lets you keep portions of the Run file directives in separate files,
where they can be more easily maintained, stored, or accessed.
The Include directive will generate an error message if:
• the content of the file named by the Include directive does not
contain legal grammar for that portion of the run file where the
directive occurs.
• the file named by the Include directive cannot be accessed.
• the included file contains more than 50 levels of Include
statements.
Format
Include "filename";
where:
filename is an ASCII file containing grammatically legal Run file
directives, located in the current directory or identified by relative
path name or by absolute path name to the current directory. The
name must be enclosed in quotation marks. The file you name must
contain only directives that are grammatically correct at the location
where the directive is used.
Example
Target
{
Device "VanguardASCII";
Setup "test_plan_2";
Data "pat_setup_3";
Include "target.directives"
}
Assume the contents of target.directives is:
/* target.directives */
NoSequenceNumbers;
WaveformOrder "wave_order_2";
Usage
Files named by the Include directive can themselves contain the
Include directive. Nesting of included files may be up to fifty levels
deep.
Map_Tristate
The Map_Tristate Target section directive directs APT to preserve
tristate information from the source file in the target setup. By default,
when APT encounters a pattern character in the source file that
indicates tristate, the data is converted to an upper case X. Using
this directive, you may instruct APT to convert tristate data from the
source file into the Vanguard tristate character: Z.
To determine if a pin may be tristated, APT consults the test plan
designated by the Setup directive. The Fixture setup in that test plan
must identify the pin as having these characteristics:
• a pin type of Input in the Pins setup, and
• a connection type of Single Wire/Z in the Fixture setup, and
Format
Map_Tristate “char”;
where:
Directives
Directives
designate tristate, enclosed within quote marks. For example, to
preserve tristate data in the target file, use “Z”. This directive is case
sensitive.
Example
Target
{
Map_Tristate “Z”;
APT Run File
}
Directives
NoSequenceNumbers
The NoSequenceNumbers Target section directive eliminates the
automatically generated comments inserted into Vanguard ASCII
formatted pattern files. The default behavior followed by APT is to
include comments in the Vangaurd ASCII pattern file it creates, at
every eighth sequence for DM500 pattern and every sixteenth
sequence for DM1000 pattern. For example:
Format
NoSequenceNumbers;
Example
Target
{
.
.
.
NoSequenceNumbers;
.
.
.
}
Setup
In the Target section, the Setup directive specifies the Target setup
file. In most cases the target setup file is the test plan in which your
pattern setup will be used. The Setup directive must be the second
directive in the Target section, before the Data directive and after the
Device directive.
For information on using the Setup directive in the Source section,
see Source Section Directives.
Format
Setup "filename";
Directives
filename is the name of the Target setup file. If your target device is
VanguardASCII, this is the name of a test plan. If you are using AVI-
Link and your target device is IMSVF, then this is the name of an
ATS/XTS setup file.
Example
Target
Directives
Directives
Device "VanguardASCII";
Setup "test_plan_2";
Data "pat_setup_3";
}
See also
Data, Device, VanguardTiming
APT Run File
Directives
VanguardInstructions
The VanguardInstructions Target section directive converts a limited
set of ATS/XTS pattern instructions into VanguardASCII pattern
instructions. Instructions not recognized in this set are converted to
comments in the target file. This directive is only used with AVI-Link.
Additionally, pattern instructions on the Vanguard must conform to a
different set of rules than pattern instructions on the ATS/XTS. APT
checks to see if the rules for creating Vanguard pattern instructions
and the usage of pattern instructions in the source file are in conflict.
In cases where more than one instruction in the source file can be
applied to the same target cycle, APT applies the first instruction,
converts each subsequent instruction to a comment, and issues a
notification message.
ATS/XTS pattern instructions are converted according to the
following table.
ATS/XTS
Description of Conversion
Instructions
ATS/XTS
Description of Conversion
Instructions
Format
Example
Target
{
.
.
.
See also
Option APT Run File
Directives
VanguardTiming
The VanguardTiming Target section directive is used to specify the
Timing setup you want to use when converting source data to
Vanguard ASCII format. If you do not specify a Timing setup with this
directive, APT uses the current Timing setup from the test plan
named in the Setup directive.
The timing specified in the timing setup you name using this directive
is used to determine the data extraction from the source file, when
this not specified in the source section Groups directive. Care should
be taken to have the correct cycle time and delay values for input and
output pins in this setup as these form the ’sample’ times for the
source data. It might be more convenient to have a separate setup
for simulation extraction if the timing is different from the desired
testing setup.
Format
VanguardTiming "setupname";
where:
setupname is the name of a Timing setup in a test plan directory. The
name must appear in quotation marks.
Example
Target
{
.
.
.
VanguardTiming "Timing_3";
.
.
}
Usage
This directive explicitly names the Timing setup you want to use
when converting to VanguardASCII. This avoids any potential
problems if the current Timing setup in the test plan changes.
WaveformMap
The WaveformMap Target section directive specifies the name and
path of the waveform map file. This directive is only used during
conversions where the target device is IMSVF. It is only useful when
using AVI-Link. For details, see the appendix, AVI-Link.
Format
WaveformMap "filename";
where:
filename is the name of a Waveform Map file created by AVI-Link.
Example
Target
{
.
.
.
WaveformMap "wave_map_t3";
.
.
.
}
WaveformOrder
The WaveformOrder directive specifies a waveform order file to use
when converting source data to VanguardASCII format. This file is
required for any conversion that uses a waveform other than the
Default waveform. The format for the contents of the waveform order
file is described in the chapter, Creating the Waveform Order File.
Format
WaveformOrder "filename";
where:
Example
Target
{
.
.
.
WaveformOrder "wave_order_t3";
See also
Groups
APT Run File
Directives
Zero_delay
The Zero_delay directive instructs APT to assume all delay and
sample time settings in either the current Timing setup in the test
plan or the Timing setup indicated by the VanguardTiming directive
are equal to zero.
For information on using this directive in the Source section, see
Source Section Directives.
Format
Zero_delay;
Example
Target
{
.
.
.
Zero_delay;
.
.
.
}
Usage
Specify this directive in the Target section if your source data is not
formatted as on-change data with timestamps.
See also
Groups
Include
The Include directive lets you specify that the contents of a separate
file be read into the run file at the point the Include directive is used.
This lets you keep portions of the run file directives in separate files,
where they can be more easily maintained, stored, or accessed.
The Include directive will generate an error message if:
• the content of the file named by the Include directive does not
contain legal grammar for that portion of the run file where the
directive occurs.
• the file named by the Include directive cannot be accessed.
• the included file contains more than 50 levels of Include
statements.
Format
Include "filename";
where:
filename is an existing ASCII file containing grammatically legal run
file directives, located in the current directory or identified by relative
path name or by absolute path name to the current directory. The
name must be enclosed in quotation marks. The file you name must
contain only directives that are grammatically correct at the location
in the run file where the directive is used.
Example
Conversion
{
Logfile "test1.log";
Include "test1.trans";
};
In this example, the contents of test1.trans are:
/* test1.trans */
/* defines source group to IMS tester group mapping */
/* */
Translate
{
"A-hi" {"A":3:2};
"SumI" {"B":3:0};
};
Include "test1.trans_single_bits";
The file named by the nested Include directive
Directives
/* test1.trans_single_bits*/
/* defines source group to IMS tester group mapping*/
/* for single-bit translations*/
/* */
Translate
{
"In_hi" {"D":2 ‘1’};
"In_low {"D":4 ‘0’};
};
Translate
Directives
Logfile
The Logfile Conversion section directive specifies the file to which
you want to send the conversion statistics. You must always use the
Logfile directive if you want conversion statistics. When the directive
is used and no file is specified, the statistics are sent to the standard
output device (stdout).
Format
Logfile "file_name";
where:
file_name is the name ofa file where you want the conversion
statistics sent. The name must be enclosed in quotation marks. A
set of quotation marks enclosing a null name results in the statistics
being sent to stdout.
Example
Conversion
{
Logfile "my_stats";
}
To send the statistics to stdout, specify:
Usage
The number of vectors converted, as displayed in the Log file, refers
to the number of internal APT vectors. This number may be larger
than the number of vectors in your source data file.
Translate
You use the Translate directive to map source groups to Target
groups. Using this directive you may assemble the data for your
target groups from any locations in your source data and in any order
of occurance in the source data. For most Vanguard applications,
there will be a simple one to one mapping of signal names.
Formats
The Translate directive has three formats.
Format 1:
Translate
Format 2:
Translate
Directives
Directives
"IMS_name" {"source_name"[ :lsb: msb] [‘pattern’]};
.
.
.
};
Format 3:
Translate
{ APT Run File
"IMS_name" {"source_name": bit [‘pattern‘]}; Directives
.
.
.
};
where:
IMS_name is the name of the Target pin group. The name must be
in quotation marks.
source_name is the name of the source group or frame that maps to
the LM group or frame. The name must be in quotation marks.
msb:lsb specifies the order of the bits that make up the simulator
group from the most significant (msb) bit to the least significant bit
(lsb). If you leave out the msb and lsb specification, APT uses all the
bits in the group.
lsb:msb denotes the order of the bits that make up the simulator
group, as proceeding left to right from the least significant bit (lsb) to
the most significant bit (msb). The default is msb:lsb.
bit specifies the single bit position that APT will map to the Target pin
group.
pattern specifies the pattern you want for part or all of the target
group.
Example
The Translate directive is typically a multi-line directive.
Conversion
{
Translate
{
"A_hi" { "A":3:2};
"SumI" { "B":3:0};
};
}
This example gives these results:
You can map the bits that comprise one Target group from more than
one simulator group. For example, you have three simulator groups,
A, B and C, each with four bits 0 - 3. The columns of data appear in
the source file in order from msb to lsb. The column headers might
look like this, naming each signal in each group:
A3 A2 A1 A0 B3 B2 B1 B0 C3 C2 C1 C0
If you wanted to map some of the bits from these simulator groups to
the Target group SumO, the Translate directive might be as follows:
Conversion
{
Translate
{
"SumO" { "A":2:1 "B":3 "C":3:0};
Directives
}
This directive maps seven (7) bits from the simulator groups A, B,
and C to the Target group Sum0 so that Sum0 is comprised of the
data coming under these headers in the source data:
A2 A1 B3 C3 C2 C1 C0
Usage
Format 1
Format 1 maps source groups to Target groups. The optional
msb:lsb parameter specifies the number of the bits in the group, but
not which bits. If you do not specify the msb:lsb, APT maps the
entire Source group to the IMS group. For example,
Translate
APT Run File
{
Directives
"Force_A" {"data":3:0};
"Comp_A" {"comp":0:0};
};
If you specify a pattern, APT uses that pattern for all or part of the
Target group, depending on the bits you specify. For example,
Translate
{
"Force_A" {"data":5:0 ’zzz’};
};
translates the data for the first five bits for an eight bit group from the
Source group "data" and tri-states the remaining bits. You can also
tell APT to use pattern for the entire group, such as a clock, as
follows:
Translate
{
"Clk" {’1’};
};
Format 2
You can reorder the bits using this directive. For example, if the bits
are:
You reverse the order of the msb and lsb by using the Translate
directive, as follows:
Translate
{
"Force_A" {"data":0:5}
}
Format 3
This format allows you to map one bit from the Source group to the
target Vanguard group.
Renaming groups. To convert simulator data, APT requires that all
simulator groups be uniquely named. For any groups that are not
uniquely named, APT will rename subsequent occurrences of a
group name. To show you that the group or pin has been renamed,
APT displays a warning message and appends _number to the
group name (for example, the second occurrence of group dbus1
would be renamed dbus1_1; the third occurrence would be renamed
dbus1_2, etc.).
See also
Groups
This chapter uses a set of example files to illustrate how to use APT
and other IMS pattern conversion software. It covers these topics:
• Getting Started
• VCD Example 1
• VCD Example 2
Learning Through
• Generic Example 1
Examples
• Generic Example 2
• Generic Example 3
Learning Through
Examples
Learning Through
Learning Through
Examples
Examples
Getting Started
As you work with these examples, you may find it convenient to have
IMS Tools running. The examples discussed in this chapter are
normally installed in:
/opt/ims/apt/version/examples/Vanguard/
where version is the version of APT most recently installed.To find
out the version of APT you are running, use this command:
apt -version
Before reading this chapter, you should be familiar with the
fundamental Vanguard concepts and software covered in the
manual, Getting Started with Vanguard.
Learning Through
For example, if you enter this command:
ims_dpt -convert /home/steve/runfile.apt
Examples
then DPT creates a file named dpt_runfile.ims in the directory
/home/steve.
Because of the differences between APT and DPT Run file syntax,
the converted file may differ in some details from the original.
With DPT, you may omit the steps of using ims_pat_cvt to convert
the pattern setups into Vanguard binary format and adding it to the
Learning Through
test plan, by adding these directives to the DPT Run file:
Examples
TargetFormat Binary;
UpdateTestPlan;
Learning Through
Learning Through
Examples
Examples
VCD Example 1
The first example shows the following conversion steps:
SURF
1. Run file Waves Waves
SURF
file Tool
Simulation file
APT APT
2. Run file
Pattern
setup
(ASCII)
Pattern
3. ims_pat_cvt setup
(binary)
Test plan
Name Description
Name Description
Learning Through
AptGroups_16646.ims A Groups directive to be included in
the APT Run file, using the Include
Examples
directive.
Pattern_16646.ims A Vanguard ASCII pattern setup to be
imported into the test plan.
TestPlan_16646 A minimal test plan into which you may
import Pattern_16646.ims.
Learning Through
All the other examples in this chapter use a similar set of elements,
with each successive example containing new or different material to
Examples
illustrate additional specifications.
SourceFile verilog_example_1.dump;
TargetFile Waves_16646.ims;
TesterType Vanguard;
CycleLength 20ns;
Depth 32;
SourceFormat VCD;
Signals
Top.ClockAB
Top.SAB
Top.DIR
Top.A8
Top.A7
Top.A6
Top.A5
Top.A4
Top.A3
Top.A2
Top.A1
Top.B8
Top.B7
Top.B6
Top.B5
Top.B4
Top.B3
Top.B2
Top.B1
Top.OutputEnable_
Top.SBA
Top.ClockBA
;
Learning Through
Several directives in this Run file deserve closer examination. All the
Examples
SURF directives are described in the appendix, Converting Data for
the Waves Window.
Learning Through
[... continued...]
Examples
This signal information was derived from the VCD file header. The
format for signal names is:
modulename.signalname
where:
modulename is the name of the module containing a signal (for
example: Top). If the signals are in nested modules, then all modules
must be included, with the top level module listed first, followed by
Learning Through
Learning Through
the name of each nested module, separated by periods, on the
Examples
Examples
model: modulename.modulename.signalname.
signalname is one signal listed in the $scope/$upscope block of the
VCD file header (for example: ClockBA).
Running SURF
This step assumes that SURF is available through your PATH, and
that you are currently in the directory, VCD_Example_1.
To run SURF on this example, use this command line:
surf -r Surf_16646.ims
After loading the file, your Waveform Display window shows the
waveforms defined in the VCD simulation data. It places vertical
cycle boundaries at 20ns intervals.
Learning Through
Examples
If the cycle boundaries seem misplaced in relation to your signal
transitions (edges), measure the placement of the signal transitions
and reconvert your simulation data with a different cycle duration.
Information on measuring edge placement in the Waves Window is
given in the online Help. Select Help > Help on this Window and read
Learning Through
the topic Measuring Delta Time between State Transitions.
Examples
If you are not familiar with the Waves Window, consult the chapter
Using Waves in the User’s Manual, Vol. 1, and the online Help.
AptRunFile_16646.ims:
Segment "VCD_2_Vanguard"
{
Source
{
Device "VCD";
Data "verilog_example_1.dump";
Include "AptGroups_16646.ims";
Option "Monitor";
}
Target
{
Device "VanguardASCII";
Setup "TestPlan_16646/";
Data "Pattern_16646.ims";
}
Conversion
{
Translate
{
/* Vanguard Name VCD Name */
/* ============= ======== */
"CAB" { "Top.ClockAB"};
"SAB" { "Top.SAB" };
"DIR" { "Top.DIR" };
"A8" { "Top.A8" };
"A7" { "Top.A7" };
"A6" { "Top.A6" };
"A5" { "Top.A5" };
"A4" { "Top.A4" };
"A3" { "Top.A3" };
"A2" { "Top.A2" };
"A1" { "Top.A1" };
"B8" { "Top.B8" };
"B7" { "Top.B7" };
"B6" { "Top.B6" };
"B5" { "Top.B5" };
"B4" { "Top.B4" };
"B3" { "Top.B3" };
"B2" { "Top.B2" };
"B1" { "Top.B1" };
"OE_" { "Top.OutputEnable_"
};
"SBA" { "Top.SBA" };
"CBA" { "Top.ClockBA"};
};
}
}
Learning Through
file, verilog_example_1.dump, using the same naming convention
as the Signals directive in the SURF Run file, along with some
Examples
additional syntax to identify its radix, the width of the data and the
signal direction:
Groups
{
"Top.ClockAB" :Bin :1 :Input;
"Top.SAB" :Bin :1 :Input;
.
.
Learning Through
.
Examples
APT Translate Directive
The Translate directive maps the signal names used in the Groups
directive to the pin names used in the Device Pins setup in the
example test plan, TestPlan_16646.
This step assumes that APT is available through your PATH, and that
Examples
Examples
Running ims_pat_cvt
This step assumes ims_pat_cvt is available through your PATH,
and that you are currently in the directory, VCD_Example_1.
To run ims_pat_cvt on this example:
1. Change to the directory, TestPlan_16646:
cd TestPlan_16646
2. Enter this command:
ims_pat_cvt -updateTestplan \
-pattern 16646_example \
< ../Pattern_16646.ims
This converts Pattern_16646.ims to binary format, imports it into
TestPlan_16646, and adds it to the list of available pattern setups.
When viewed in the Pattern window of IMS Tools, this setup will
appear as 16646_example.
VCD Example 2
This example demonstrates how to convert a VCD source that has
bidirectional pins. The conversion steps described in VCD Example 1
remain the same. This section uses the example files contained in
the directory VCD_Example_2.
Learning Through
$scope module OutputControl $end
$var wire 1 W ClockAB_oc $end
Examples
$var wire 1 X SAB_oc $end
$var wire 1 Y DIR_oc $end
$var wire 1 Z A8_oc $end
$var wire 1 1 A7_oc $end
$var wire 1 2 A6_oc $end
$var wire 1 3 A5_oc $end
$var wire 1 4 A4_oc $end
$var wire 1 5 A3_oc $end
$var wire 1 6 A2_oc $end
Learning Through
$var wire 1 7 A1_oc $end
$var wire 1 8 B8_oc $end
Examples
$var wire 1 9 B7_oc $end
$var wire 1 0 B6_oc $end
$var wire 1 ! B5_oc $end
$var wire 1 @ B4_oc $end
$var wire 1 # B3_oc $end
$var wire 1 $ B2_oc $end
$var wire 1 % B1_oc $end
$var wire 1 ^ OutputEnable__oc $end Learning Through
$var wire 1 & SBA_oc $end Learning Through
$var wire 1 * ClockBA_oc $end
Examples
Examples
$upscope $end
Signals
[...]
OutputControl.ClockAB_oc
OutputControl.SAB_oc
OutputControl.DIR_oc
OutputControl.A8_oc
OutputControl.A7_oc
OutputControl.A6_oc
OutputControl.A5_oc
OutputControl.A4_oc
OutputControl.A3_oc
OutputControl.A2_oc
OutputControl.A1_oc
OutputControl.B8_oc
OutputControl.B7_oc
OutputControl.B6_oc
OutputControl.B5_oc
OutputControl.B4_oc
OutputControl.B3_oc
OutputControl.B2_oc
OutputControl.B1_oc
OutputControl.OutputEnable__oc
OutputControl.SBA_oc
OutputControl.ClockBA_oc
;
Load Waves_16646.ims into the Waves Window, using File > Open.
Learning Through
Examples
The new OutputControl signals are displayed.
Learning Through
from the VCD data file have been added, and all the signals are now
bidirectional signals.
Examples
Here are a few lines to show how the Groups directive changed:
Generic Example 1
This example demonstrates how to convert a Generic tabular source
file with bidirectional signals, where the signal direction is indicated
by state characters. The conversion steps described in VCD
Example 1 remain the same in this example.
This section uses the example files contained in the directory,
Generic_Example_1.
Learning Through
showing two ranges of data:
Examples
0 NNNXXXXXXXXXXXXXXXXNNN : ; Start:
20 NNNXXXXXXXXNNNNNNNNNNN : ; B to A transfer
29 NNNLLLLLLLLNNNNNNNNNNN
40 NNNLLLLLLLLNNNNNNNPNNN
49 NNNLLLLLLLHNNNNNNNPNNN
60 NNNLLLLLLLHNNNNNNPNNNN
69 NNNLLLLLLHLNNNNNNPNNNN
.
.
Learning Through
.
820 NNPNNNNPNNNLLLLLHHHNPN
Examples
829 NNPNNNNPNNNLLLLHLLLNPN
840 NNPPPPPPPPPXXXXXXXXNPN
869 NNPPPPPPPPPHHHHHHHHNPN
880 NNPNPPPPPPPHHHHHHHHNPN
889 NNPNPPPPPPPLHHHHHHHNPN
900 NNPNNPPPPPPLHHHHHHHNPN
909 NNPNNPPPPPPLLHHHHHHNPN
920 NNPNNNPPPPPLLHHHHHHNPN
.
Learning Through
Learning Through
.
.
Examples
Examples
Most of the pins on the 16646 device are grouped as two buses. In
this file the buses change direction beyond 640ns.
SourceFile simulation_646_generic_1.ascii;
TargetFile Waves_16646.ims;
TesterType Vanguard;
CycleLength 20ns;
SourceFormat Generic;
Substitute P 1;
Substitute N 0;
Depth 64;
Signals
// Name Width Dir Visible
ClockAB 1 I Y
SAB 1 I Y
DIR 1 I Y
A8 1 IO Y
A7 1 IO Y
A6 1 IO Y
A5 1 IO Y
A4 1 IO Y
A3 1 IO Y
A2 1 IO Y
A1 1 IO Y
B8 1 IO Y
B7 1 IO Y
B6 1 IO Y
B5 1 IO Y
B4 1 IO Y
B3 1 IO Y
B2 1 IO Y
B1 1 IO Y
OutputEnable_ 1 I Y
SBA 1 I Y
ClockBA 1 I Y
;
Comment : ; // To ignore pattern instructions/comments .
Substitute Directive
This file uses the Substitute directive to replace the two state
characters P and N with two state characters that SURF recognizes
and understands: 1 and 0.
Signals Directive
The format of the Signals directive depends on whether the
simulation file format is VCD or a generic tabular format. This Run
file specifies the SourceFormat as Generic and uses the
corresponding Signals format. These Signals formats are explained
in the chapter Preparing Data for the Waves Window.
Learning Through
Comment Directive
Examples
The source data file has comments. The Comment directive is used
to instruct SURF where comments begin, so they will not be
mistaken for data.
Learning Through
Examples
Learning Through
Learning Through
Examples
Examples
Segment "Generic_2_Vanguard"
{
Source
{
Device"Generic";
Data "simulation_646_generic_1.ascii";
Include"AptGroups_16646.ims";
Substitute "P" "1";
Substitute "N" "0";
Comment "#";
Option"Instructions";
Option"Monitor";
}
Target
{
Device "VanguardASCII";
Setup "TestPlan_16646";
Data "Pattern_16646.ims";
WaveformOrder"WaveFormOrder_16646.ims";
}
Conversion
{
Translate
{
/* Vanguard Name Generic Name */
/* ============= ============ */
"CAB" { "ClockAB" };
"CBA" { "ClockBA" };
"OE_" { "OutputEnable_" };
};
}
}
WaveformOrder directive
The WaveformOrder directive specifies the file
WaveFormOrder_16646.ims. This file is included in the
Generic_Example_1 directory. A waveform order file is required
when the pattern setup created from your source data uses more
than one Vanguard waveform. In this case, the file
Learning Through
WaveFormOrder_16646.ims is not strictly required, since it applies
Examples
the Default waveform to every sequence.
Learning Through
To import Pattern_16646.ims into the example test plan so you
Examples
may view it in the Pattern window of IMS Tools, use the same
commands described in VCD Example 1, but start from the directory,
Generic_Example_1.
Learning Through
Learning Through
Examples
Examples
Generic Example 2
This example demonstrates how to convert a Generic source where
the device has bidirectional pins but the source data does not use
state characters to define the direction of the signal. Instead the input
and output data for one pin are listed in two columns.
This section uses the example files contained in the directory,
Generic_Example_2.
The first column contains timestamps. The next six columns contain
data for six control pins. The next eight columns contain data for the
A bus pins during input cycles. The next eight columns show the B
bus pin data during input cycles. These are followed by 16 columns
of output data for the A and B buses. Once again, the data buses
change direction beyond 640ns.
Learning Through
Examples
Looking at the APT Run File
The significant changes to the file AptRunFile_16646.ims are in the
Target and Conversion sections, shown here:
Target
{
Device "VanguardASCII";
Learning Through
Setup "TestPlan_16646";
Data "Pattern_16646.ims";
Examples
WaveformOrder "WaveFormOrder_16646.ims";
BidirCombine "A8i" "A8o";
BidirCombine "A7i" "A7o";
BidirCombine "A6i" "A6o";
BidirCombine "A5i" "A5o";
BidirCombine "A4i" "A4o";
BidirCombine "A3i" "A3o";
BidirCombine "A2i" "A2o";
BidirCombine "A1i" "A1o"; Learning Through
Learning Through
BidirCombine "B8i" "B8o";
BidirCombine "B7i" "B7o";
Examples
Examples
Conversion
{
Translate
{
/* Vanguard Name Generic Name */
/* ============= ============ */
"OE_" { "OutputEnable_" };
"CAB" { "ClockAB" };
"CBA" { "ClockBA" };
"A8" { "A8i" };
"A7" { "A7i" };
"A6" { "A6i" };
"A5" { "A5i" };
"A4" { "A4i" };
"A3" { "A3i" };
"A2" { "A2i" };
"A1" { "A1i" };
"B8" { "B8i" };
"B7" { "B7i" };
"B6" { "B6i" };
"B5" { "B5i" };
"B4" { "B4i" };
"B3" { "B3i" };
"B2" { "B2i" };
"B1" { "B1i" };
};
}
}
BidirCombine Directive
The BidirCombine directive is required when input data and output
data for the same pin are divided into two separate columns of
source data.
To understand how the BidirCombine directive is being used here,
you must look at the Groups directive in AptGroups_16646.ims. An
excerpt is shown here:
.
.
.
"A6i" :Bin :1 :Input;
"A5i" :Bin :1 :Input;
Learning Through
"A5o" :Bin :1 :Output;
Examples
"A4o" :Bin :1 :Output;
.
.
.
This Groups directive identifies the column containing input data for
the pin A4 as A4i and the output column as A4o. The BidirCombine
directive combines the A4i and A4o columns of data to create data
for one bidirectional pin: A4i.
Learning Through
Translate Directive
Examples
Because the pin name in the device pins setup is A4, rather than A4i,
the Translate directive maps the combined data in A4i to the name
A4.
Generic Example 3
This example demonstrates how to convert a Generic source that
has no timestamps and the state characters do not specify the signal
direction for bidirectional pins. The basic set of steps described in
VCD Example 1 remain the same.
This section uses the example files contained in the directory,
Generic_Example_3.
000XXXXXXXXXXXXXXXX000: ; Start:
0000000000000000000000: ; B to A transfer
0001000000010000000000
0000100000001000000000
0001100000011000000000
0000010000000100000000
0001010000010100000000
0000110000001100000000
0001110000011100000000
0000001000000010000000
000XXXXXXXX11111111000
0001111111111111111000
0001111111011111110000
0001111110011111100000
This source data has no timestamps and the state characters do not
indicate the signal direction for bidirectional pins. Unlike the previous
example, the data for each bidirectional pin occupies one column
rather than two.
SourceFile simulation_646_generic_3.ascii;
TargetFile Waves_16646.ims;
TesterType Vanguard;
CycleLength 20ns;
SourceFormat Generic;
Depth 64;
NoTimestamp;
Step 20ns;
.
.
.
The NoTimestamp directive instructs SURF that the first column of
the source file contains source data rather than a timestamp. The
Step directive specifies the elapsed time between rows of data.
Learning Through
Load Waves_16646.ims into the Waves Window, using File > Open.
Examples
Looking at the APT Run File
Here is the Source section from AptRunFile_16646.ims:
Source
{
Device "Generic";
Learning Through
Data "simulation_646_generic_3.ascii";
Include "AptGroups_16646.ims";
Examples
Option "Instructions";
/* Option "Monitor"; */
NoTimestamp;
Step 20ns;
Bidir "A8" Control "DIR";
Bidir "A7" Control "DIR";
Bidir "A6" Control "DIR";
Bidir "A5" Control "DIR";
Bidir "A4" Control "DIR";
Learning Through
Learning Through
Bidir "A3" Control "DIR";
Examples
Examples
Bidir "A2" Control "DIR";
Bidir "A1" Control "DIR";
Bidir "B8" Control "DIR" :Negative;
Bidir "B7" Control "DIR" :Negative;
Bidir "B6" Control "DIR" :Negative;
Bidir "B5" Control "DIR" :Negative;
Bidir "B4" Control "DIR" :Negative;
AVI-Link
Use AVI-Link to translate ATS/XTS Series test patterns and setups
for use with Vanguard. AVI-Link does not support translation of
Vanguard test plans to ATS/XTS Series test station. AVI-Link
requires V4.2e APT (or higher).
This appendix discusses how to use AVI-Link. It includes these
topics:
• Overview
AVI-Link
• Starting AVI-Link
• Supported and Unsupported ATS Features
• Planning Considerations
• Mapping Your Device to the Vanguard Fixture
• Translating Your ATS Setup to a Vanguard Test Plan
• Translating ATS Pattern Files to Vanguard Pattern Setups
AVI-Link
• Automating the Process
AVI-Link
Overview
To moving your data from an ATS/XTS Series test station to
Vanguard using AVI-Link you must:
1. Identify unsupported features in your ATS setup file and modify
them if possible.
2. Translate your ATS setup file into a valid Vanguard test plan.
3. Translate your ATS pattern files into Vanguard pattern setups.
These tasks are performed in the order in which they are listed.
AVI-Link must map your device from the ATS-style fixture to the
Vanguard fixture. It creates a Fixture Map file that lists all the pins in
your device and their type. You edit this file to map each pin to the
channel on the Vanguard fixture. You may also choose to have AVI-
Link assign Vanguard channels to your pins, but the channels it
selects may not match your fixture and will probably need to be
corrected at some later time.
During translation AVI-Link creates a Vanguard test plan based on
the ATS setup you supply. Not all ATS features are supported by
Vanguard. When AVI-Link encounters unsupported features in your
ATS setup file, its behavior varies depending on the nature of the
feature. AVI-Link may:
• convert the unsupported feature to a similar, but supported
feature, or
• not convert the feature, issue a warning, and continue, or
• issue an error message and halt.
The standard process for getting your ATS setup and pattern ready
for pattern translation is represented by the following diagram:
Do your
Can you
AVI-Link
ATS Setup and
change or remove Contact your IMS
Pattern files contain only NO NO
the unsupported representative.
AVI-Link-supported
features?
features?
YES YES
AVI-Link
Do you
want AVI-Link to Edit Fixture Map
NO file to specify
assign channels
to pins? channels for each
device pin.
YES
AVI-Link
Use AVI-Link to create a
test plan and a Waveform
Map file.
Is the test
Make any needed
plan NO
changes to the test
correct?
plan.
AVI-Link
YES
Make your
APT run
Ready for pattern
Once you have a correct test plan, Waveform Map file, and Run files
you may translate your pattern files. This is a multi-step process,
where the pattern data is first translated into an uncyclized format,
called IMSVF. The data is then translated back into a cyclized format,
called Vanguard ASCII format.
From Vanguard ASCII format, you may use either of these two
methods to bring your patterns into your test plan:
• Use the Vanguard utility called ims_pat_cvt to simultaneously
convert your ASCII format pattern files into Vanguard binary
format and insert them into your test plan.
• Use the File > Import feature of IMS Tools to import your
Vanguard ASCII pattern files directly into your test plan.
Using ims_pat_cvt is the recommended method when translating
more than one or two pattern files, as it is faster and more flexible
than importing ASCII patterns directly.
The standard process of translating your ATS pattern files into
Vanguard Pattern setups is represented by the following diagram:
Use APT to
translate your ATS
pattern file into the NO
uncyclized IMSVF
AVI-Link
Use APT to translate Is this
your IMSVF file to Done. YES your final pattern
VanguardASCII translation?
format
AVI-Link
Is this Optionally, use
your initial pattern ims_pat_cvt to
NO
translation? translate your
VanguardASCII file
YES
AVI-Link
the pattern. Evaluate
for correctness.
AVI-Link
Starting AVI-Link
You start AVI-Link from the command prompt of a UNIX terminal.
Assuming that AVI-Link is in your path, the syntax of the AVI-Link
command line is:
avi_link -s file {-b} {-c filename} {-f filename} {-h}
{-o} {-t testplan} {-version} {-w filename}
AVI-Link
Supported Force Formats: DNRZ and NRZ in 1x, 2x and 4x
formats. RZ and R1 in 1x and 2x formats. You may freely mix these
supported formats. RZI formats are supported, but cannot have two
edges within the same subcycle.
Unsupported Force Formats: SBC, SBI, and RI formats. All
formats with two edges transitions in a single tester cycle are
assigned to Vanguard clock pins, rather than data pins.
Supported Compare Formats: Edge compare and 2x split
compare.
AVI-Link
Supported Compare Formats: window compare. When AVI-Link
encounters a window compare it warns you and converts the window
compare to an edge compare, placing the strobe at the leading edge
of the window.
Scan. AVI-Link does not support serial scan data.
Pattern Instructions. ATS pattern instructions are converted to
comments in the Vanguard pattern setup.
AVI-Link
Fast Clock Multipliers. AVI-Link supports FT Series fast clock
multipliers of 1, 2 and 4 only. Other multipliers are unsupported.
Formulas. ATS formulas are not supported by AVI-Link. AVI-Link
replaces a setting controlled by a formula by the value obtained from
the formula at the time the setup was last saved.
Pin Names. AVI-Link creates Vanguard pin names for you.
AVI-Link
AVI-Link
You should always use AVI-Link to create a new test plan, which you
may modify by importing setups, editing, or cutting-and-pasting. You
may export the following setups from an existing test plan and import
them into a test plan created by AVI-Link:
• DC Levels
• DC Parameters
• AC Parameters
AVI-Link
• Defaults
• Device Tests
These setups should require a minimum of modification. If you plan
to utilize data from other setups, your existing test plan should
closely follow the conventions used in test plans created by AVI-Link.
For example, the pin names in your test plan should follow the
naming conventions used by AVI-Link.
AVI-Link
Conserving Tester Resources
Edge settings are the Vanguard resource that AVI-Link is most likely
to exhaust during a translation. ATS setups that do not utilize FT
timing features are not likely to cause this problem, but setups that
move edges by many small increments, such cycle-stretch-and-
shrink operations, may quickly exhaust this resource.
When AVI-Link runs out of available edge settings, it issues a
warning and applies edge setting 0 (zero). This edge setting will not
replicate the edge placement from the original setup. The warning
AVI-Link
AVI-Link
fixture:
• Use AVI-Link to create a template of the Fixture Map file and edit
the template to include Vanguard channels for each device pin.
This method is recommended.
• Use AVI-Link to create a template of the Fixture Map file and let
AVI-Link automatically assign Vanguard channels to each device
pin.
• Use AVI-Link to create a template of the Fixture Map file and use
AVI-Link
AVI-Link to create a test plan. Import a Fixture setup from an
existing test plan and make it current. This method requires all
pin names in the imported Fixture setup to match the names in
the Pins setup created by AVI-Link.
To create a Fixture Map file template, use this command line:
avi_link -s setupname -c fixmapname
where setupname specifies the name and path of your ATS setup
file, and fixmapname specifies the name and path for the output file
AVI-Link
that will contain a template for the Fixture Map.
AVI-Link
• The first character block is the ATS pin group name. This is
supplied in the template file. Do not edit this block.
• The second character block is the ATS channel ID. This is
supplied in the template file. Do not edit this block.
• The third character block is a valid Vanguard pin name. This is
AVI-Link
supplied in the template file. Do not edit this block.
• The fourth character block is a valid Vanguard pin type: data or
clock. This is supplied in the template file. Do not edit this block.
• The fifth character block, if present, is the Vanguard channel
assigned to the pin. You may edit this field to supply a channel ID.
If you choose not to supply a channel, do not remove the hyphen.
• The sixth character block, if present, is the Vanguard pin name
you want assigned to the pin, overriding the Pin Name in
AVI-Link
character block 3. You may edit this field to supply a pin name. If
you choose not to supply a pin name, do not remove the hyphen.
• The seventh character block, if present, indicates whether the pin
may be tristated. You may edit this field to replace the hyphen
with a Y, if the pin may be tristated.
• Additional character blocks are ignored.
AVI-Link
// Fixture Map File for ATS Setup "set.1x2x4xDNRZ"
//
// Created by AVI-Link Thu Jun 14 15:33:42 2001
//
//
// ATS Vanguard
// -------------------- ---------------------------------------------
// Override
// Group Channel Pin Pin Channel Pin
AVI-Link
• DC Levels
• DC Parameters
• AC Parameters
• Defaults
AVI-Link
• Device Test
You may want to modify some aspects of this test plan before
continuing.
AVI-Link
example, when translating your ATS setup into a Vanguard test plan,
AVI-Link may issue a warning similar to the following:
WARNING: Cycle duration for waveform "t1_0" has been
rounded by the Vanguard server. Edge placements in this
waveform are suspect.
This may indicate that the Master Clock cycle time in the Vanguard
test plan that AVI-Link created does not match the system cycle time
specified in your ATS setup. You may need to load the test plan in
IMS Tools and reset the master clock cycle. The master clock cycle
AVI-Link
is discussed in the User’s Manual for the Vanguard.
AVI-Link
AVI-Link
plan from your setup.
Segment "ATSXTS_2_IMSVF"
{
Source
{
Device"ATSmem";
AVI-Link
Setup"646.set";
Data "646.mem";
}
Target
{
Device"IMSVF";
Setup"646.set";
Data "646.imsvf";
WaveformMap "646.map";
FixtureMap "646.fix";
AVI-Link
}
}
VanguardASCII:
Segment "IMSVF_2_Vanguard"
AVI-Link
{
Source
{
Device "Generic";
Data "646.imsvf";
Include "646.pins";
Option "Instructions";
}
Target
{
AVI-Link
Device "VanguardASCII";
Setup "646.testplan";
Data "646.Vmem";
Repeat;
WaveformOrder "646.imsvf.wfo";
}
}
AVI-Link
AVI-Link
Test Plan
AVI-Link
Run File #2
AVI-Link
pattern file to binary format and insert it into your test plan.
Usage of ims_pat_cvt is described in the appendix, Batch File
Imports. You may also invoke ims_pat_cvt with the -help option to
view a description of its command line options and their effect.
Vanguard Pattern
Vanguard ASCII ims_pat_cvt Setup in a
Format File
Test Plan
AVI-Link
AVI-Link
The script run_avi may be used to run all the steps necessary to
translate your ATS/XTS setup into a Vanguard test plan, using one
command line. The command line for this script is:
run_avi ATSsetup VBasename
where:
where:
This chapter discusses how to convert your simulation data file into a
format that can be loaded into the Waves window of IMS Tools. It
covers the following topics:
• Overview of SURF
• Planning Your Conversion
Viewing Data as
Viewing Data as
• Writing a SURF Run File
Waveforms
Waveforms
• Running SURF
• SURF Directives
Viewing Data as
Waveforms
Viewing Data as
Waveforms
Overview of SURF
The SimUlation ReFormatter (SURF) utility is a command line
application that converts a specific portion of your simulation data file
into a format that can be loaded into the Waves window of IMS Tools
for viewing as graphical waveforms. The files created by SURF are in
the same format that the Waves window uses when you save data
from it to a file.
SURF is installed when you install IMS Tools. SURF can convert
simulation data from almost any simulation format.
Before you can convert your data, you are required to create a Run
file containing SURF commands. The Run file describes the format
of your simulation data and selects among several options for
converting it. You may create a Run file using your preferred text
editor, such as VI or EMACS.
This chapter describes the steps required for making a Run file and
how to start SURF from the command line.
Running SURF requires two input files and creates one output file:
To use SURF:
1. Identify the format and other characteristics of your simulation
data file.
2. Identify the names and locations of the signals you want to
convert in the simulation file.
3. Identify the block of vectors you want to convert in the simulation
file.
4. Write a Run file.
Viewing Data as
Viewing Data as
Waveforms
Waveforms
Viewing Data as
Waveforms
Viewing Data as
Waveforms
Identifying Signals
You must identify the signals in your source data file.
Viewing Data as
Viewing Data as
If your simulation data file is in VCD format, your Run file only needs
Waveforms
Waveforms
to name those signals you are interesting in converting.
The VCD file header contains information about various modules in
your simulation. Each new module is set apart by an initial $scope
keyword and terminated by an $upscope keyword. Within each
module there may be further nested modules, set apart with $scope
and $upscope keywords. Individual signals within the final nested
module are set apart on lines starting with the $var keyword and
terminated by the $end keyword.
Viewing Data as
When your source device is VCD, the names in your Signals list must
Waveforms
follow this convention:
modulename[.sub_modulename.sub_modulename].signalname
For example, the first two signals in this VCD file fragment are
contained in a single module named Test_74LS646:
Signals
Test_74LS646.G_
Test_74LS646.DIR
[...this list continues...]
Viewing Data as
Viewing Data as
Waveforms
Waveforms
Further information about bidirectional signals is included in the
section SURF Directives, under the description of the Bidir directive.
Viewing Data as
you must identify a block of vectors in your source data that you want
Waveforms
to convert.
You identify the block of vectors to convert by determining the
starting time of the first vector in the block, and the number of cycles
to convert. SURF seeks out the start time you supply, either by
examining the existing timestamps in the data, or by calculating the
location based on the step time you supply in the Step directive.
To specify a starting time, use the StartTime directive. To specify
the number of cycles to convert, use the Depth directive.
Viewing Data as
Waveforms
Required Directives
Each SURF Run file requires the following directives:
• SourceFile
• SourceFormat
• TargetFile
• TesterType
• CycleLength
• Signals
The first five lines of a typical SURF Run file will resemble this
example:
When the source format is VCD, the Signals list contains only those
signals you are interested in converting to Waves format. The signal
names in the list follow the format:
modulename[.sub_modulename.sub_modulename].signalname
Here is an example of a Signals list for a VCD source file:
Signals
Test_74LS646.pinA
Test_74LS646.pinB
Test_74LS646.pinC
Test_74LS646.pinD
Test_74LS646.cntrl
Test_74LS646.enabl
Viewing Data as
Viewing Data as
;
Waveforms
Waveforms
When the source format is Generic (tabular format), not only must
every signal in your source data must be included in the Signals list,
but the order of their appearance must reflect the left-to-right order in
which they appear in your source file.
For each signal in the list the following information is recorded:
• signal name
• signal width (number of adjacent columns the signal occupies in
Viewing Data as
the source data)
Waveforms
• signal direction (input or output)
• visibility (whether to include the signal in the output file)
Here is an example of a Signals list for a Generic source file:
Signals
// Name Width Dir Visible
pinA 1 I Y
pinB 1 I Y Viewing Data as
pinC 1 I Y Waveforms
pinD 1 I Y
enabl 1 I Y
cntrl 1 I Y
;
If a named signal has a width greater than one (meaning it has more
than one pin), it will be divided into individual pins by appending a
numeric subscript to the signal name. For example, if a signal named
busA has three pins, the pins would be referenced in the output file
as busA[1], busA[2] and busA[3], with the first subscript assigned to
the leftmost pin in the source data.
Complete details on the syntax and usage of each of the directives
described in this section are included in the section SURF Directives.
Optional Directives
Another set of directives are optional, although their use may be
recommended:
• Depth (VCD or Generic)
• StartTime (VCD or Generic)
• Substitute (Generic only)
Viewing Data as
Viewing Data as
Complete details on the syntax and usage of each of these directives
Waveforms
Waveforms
is included in the section SURF Directives.
Viewing Data as
// This entire line is ignored.
Waveforms
SourceFile in.generic; // This comment is ignored.
Signal
// this comment line is ignored; the next line is recognized Viewing Data as
moduleName.pinName; Waveforms
Running SURF
SURF is a command line utility. Assuming SURF is in your path, to
run it, you enter the following command line at the prompt of a UNIX
terminal:
surf -r runfile
where runfile is the name of your Run file. If your Run file is not in
the current directory, you must precede the file name with the path to
the directory where the file resides. For example:
surf -r /project/simulation/8697.run
To view the command line usage for SURF, enter:
surf -help
To view the version of SURF you are running, enter:
surf -version
SURF Directives
The next section describes the valid syntax and usage of each SURF
Run file directive. Directives are listed in alphabetical order.
• Bidir
• Comment
• CycleLength
• Depth
• LineContinue
• NoTimestamp
Viewing Data as
Viewing Data as
• Signals
Waveforms
Waveforms
• SourceFile
• SourceFormat
• StartTime
• Step
• Substitute
• TargetFile
Viewing Data as
Waveforms
• TesterType
• TimeUnits
Viewing Data as
Waveforms
Bidir
Use the Bidir directive to identify source signals in the Signals list
that are bidirectional. It also specifies what other signals are utilized
as the control and enable signals, and whether these are considered
active when high or low (positive or negative polarity).
One Bidir directive should appear in your SURF Run file for each
bidirectional signal in your Signals list. Each signal named in a Bidir
directive must also appear in the Signals list. A bidirectional signal
may have any signal width (consist of more than one pin).
Syntax
The syntax of the Bidir directive is:
Example
Assuming a bidirectional signal named pinA, having a control signal
named ctl, and an enable signal named enabl with a negative
polarity, the following line should appear in your Run file:
See Also
Signals
Viewing Data as
Viewing Data as
Waveforms
Waveforms
Viewing Data as
Waveforms
Viewing Data as
Waveforms
Comment
The Comment directive identifies the comment delimiter, if any, that
appears in the source data file. If the Comment directive appears in
the Run file, SURF ignores any text or source data that appears to
the right of the delimiter on the same physical line of text. If the
Comment directive does not appear in your Run file, the entire
contents of the source data file are considered as data.
A Comment directive is required only if comments appear in the
source data file. Only one Comment directive may appear in the Run
file.
This directive is ignored when the SourceFormat is VCD.
Syntax
The syntax of the Comment directive is:
Comment string;
where:
string specifies one or more characters. If string is more than one
character, all the characters together comprise a single comment
delimiter.
All syntax elements are case sensitive.
Example
If the comment delimiter in your source data file is a colon, place this
line in your Run file:
Comment :;
See Also
LineContinue
CycleLength
The CycleLength directive specifies the length of the tester cycle to
be specified in your target (output) file. A CycleLength directive is
required to appear in your Run file.
When you load the Waves format file created by SURF from your
source data, the cycle boundaries drawn in the Waveform Display
window will reflect the value you specify in the CycleLength directive.
The value you specify should correspond to the cycle time that best
fits your source data. If you do not know the cycle time in your source
data, initially use an appropriate value, such as 10ns, and readjust
as necessary.
Viewing Data as
Viewing Data as
Syntax
Waveforms
Waveforms
The syntax of the CycleLength directive is:
CycleLength value;
where:
value specifies the length of the tester cycle. It must be a floating
point or whole integer number, optionally followed by a time unit
indicator. If no time unit is indicated, value is interpreted as
Viewing Data as
nanoseconds (ns) by default. Valid time unit indicators are:
Waveforms
Table 18. Valid time unit indicators.
picoseconds ps
femtoseconds fs
Example
If your source data cycle is 10 nanoseconds this line should appear
in your Run file:
CycleLength 10ns;
See Also
TesterType
Depth
Use the Depth directive to specify the number of cycles of data you
want to convert, as measured from the perspective of the target
device. It is optional. If no Depth directive appears in your Run
file,1024 cycles are converted by default.
Syntax
The syntax of the Depth directive is:
Depth value;
Viewing Data as
Viewing Data as
where:
Waveforms
Waveforms
value is an integer value between 1 and 2048, inclusive.
All syntax elements are case sensitive.
Example
To convert 24 cycles of target data, place this line in your Run file:
Depth 24;
Viewing Data as
Waveforms
See Also
StartTime
Viewing Data as
Waveforms
LineContinue
The LineContinue directive identifies the line continuation character,
if any, that is used in your source data file. When one logical line of
data spans more than one physical line in your file, each line except
the final line uses a line continuation character to indicate that the
following line is part of the current line of data.
If your source data contains line continuations, place a LineContinue
directive in your Run file. Logical and physical line length is limited to
8192 characters, including whitespace characters. SURF cannot
process lines longer than 8192 characters.
The line continuation character must be a backslash (\). If your
source data uses a different character, replace that character with
the backslash. If your source data uses a backslash for a purpose
other than line continuation, replace the backslash characters with
another character. Use the UNIX sed utility; not the Substitute
directive, to replace a non-standard line continuation character.
This directive is ignored when the SourceFormat is VCD.
Syntax
The syntax of the LineContinue directive is:
LineContinue;
The directive takes no arguments. All syntax elements are case
sensitive.
Example
If your source data file uses line continuation, place this line into your
Run file:
LineContinue;
NoTimestamp
The NoTimestamp directive is required when your Generic tabular
source data has no timestamps. If the NoTimestamp directive
appears in your Run file, the Step directive must also appear.
This directive is ignored when the SourceFormat is VCD.
Syntax
The syntax of the NoTimestamp directive is:
NoTimestamp;
The directive takes no arguments. All syntax elements are case
Viewing Data as
Viewing Data as
sensitive.
Waveforms
Waveforms
Example
If your source data contains no timestamps the following line should
appear in your Run file:
NoTimestamp;
See Also
Viewing Data as
Waveforms
Step
Viewing Data as
Waveforms
Signals
Use the Signals directive to list the signals in your source data file.
One Signals directive is required to appear in your Run file, and only
one is permitted. The syntax of this directive varies, depending on
whether the format of your source data is VCD or Generic.
VCD Syntax
When your source data is VCD format, you are only required to list
the signals you want to convert, or those that pertain to them. For
example, the Signals list must also contain the names of the control
and enable signals for each bidirectional signal in the list. Signals
names from a VCD file may appear in the Signals list in any order.
The syntax of the Signals directive for VCD source data is:
Signals
name1
name2
.
.
.
nameN
;
where:
name1, name2 ...nameN represent a list of signal names, separated
by whitespace characters and terminated by a semi-colon. Names
must be in the format:
modulename[.sub_modulename.sub_modulename].signalname
Generic Syntax
When your source data is in Generic tabular format, you are required
to list every signal in your source data, not just the signals you want
to convert.
The order of the signals must exactly reflect the order in which they
appear in the source data. The first signal name in the list should be
the leftmost signal in the source data table. The next name in the list
should be the signal immediately to the right of the previous signal in
the source data. This continues until all signals are named in left-
right order.
The syntax of the Signals directive for Generic source data is:
Signals
name1 width direction visibility
name2 width direction visibility
.
.
.
Viewing Data as
Viewing Data as
nameN width direction visibility
Waveforms
Waveforms
;
where:
name1, name2 ...nameN represent signal names.
width specifies the width of the signal. This corresponds to the
number of adjacent columns of data the signal occupies in the
source data file.
direction specifies the direction of the signal. Valid selections are: I,
Viewing Data as
O, or IO. The I character denotes an input signal. The O character
Waveforms
denotes an output signal. IO denotes a bidirectional signal. Each
bidirectional signal must also appear in a Bidir directive.
visibility specifies whether to convert the signal into the target data
file output by SURF. Valid selections are: Y, N.
All syntax elements are case sensitive.
Assuming you want to convert the vectors for three signals from your
Waveforms
VCD source file named pinA, pinB and pinC, and these signals are in
a module named BusY, the following Signals list should appear in
your Run file:
Signals
BusY.pinA
BusY.pinB
BusY.pinC
;
Generic Example
Assume your source file is in Generic tabular format and has eight
signals named pinA to pinH. Of these eight signals you only want to
convert three output signals, named pinD, pinE and pinF. Your
Signals list should resemble this:
Signals
// Name Width Dir Visible
pinA 1 I N
pinB 1 I N
pinC 1 I N
pinD 1 O Y
pinE 1 O Y
pinF 1 O Y
pinG 1 I N
pinH 1 O N
;
See Also
Bidir, SourceFormat
SourceFile
The SourceFile directive specifies the name and location of the
source data file SURF is to convert. This directive is required.
Syntax
The syntax of the SourceFile directive is:
SourceFile filename;
where:
filename is the name of the source data file to convert. If the file is in
Viewing Data as
Viewing Data as
a location other than the current directory, the absolute or relative
Waveforms
Waveforms
path should precede the file name.
All syntax elements are case sensitive.
Example
Assuming the source data file you want to convert is named
8987.sim and is located in the /project/simdata directory, the
following line should appear in your Run file:
Viewing Data as
Waveforms
SourceFile /project/simdata/8987.sim;
See Also
SourceFormat
Viewing Data as
Waveforms
SourceFormat
The SourceFormat directive specifies the simulation format of your
source data file. It is required.
Syntax
The syntax of the directive is:
SourceFormat format;
where:
format specifies one of two valid format identifiers:
Example
Assuming your source data file is in Verilog Change Dump format,
the following line should appear in your Run file:
SourceFormat VCD;
See Also
SourceFile
StartTime
The StartTime directive specifies the time associated with the first
vector of source data you want to convert, as an offset from 0ns. If a
StartTime directive does not appear in your Run file, a default
starting time of 0ns is assumed.
Syntax
The syntax of the StartTime directive is:
StartTime value;
Viewing Data as
Viewing Data as
where:
Waveforms
Waveforms
value specifies the time associated with the first vector of source
data you want to convert. It must be a floating point or whole
integer value, optionally followed by a time unit indicator. If no
time unit is indicated, value is interpreted as nanoseconds (ns)
by default. Valid time unit indicators are:
Viewing Data as
Waveforms
seconds s (or: sec)
milliseconds ms
microseconds us
nanoseconds ns
picoseconds ps
femtoseconds fs
Viewing Data as
Waveforms
Example
Assuming your source data is timestamped data in a tabular format,
and the first vector you want to convert is at timestamp 600.50ns,
then the following line should appear in your Run file:
StartTime 600.50ns;
See Also
Depth
Step
The Step directive specifies the implicit time value between each
vector of your source data. It is required when your source data is in
Generic tabular format and has no timestamps. However, if your
source data has timestamps and a Step directive appears in your
Run file, the step value will override the timestamp data in
determining the time value for each vector.
If your Run file includes a NoTimestamp directive, it must also
include a Step directive.
This directive is ignored when the SourceFormat is VCD.
Viewing Data as
Viewing Data as
Waveforms
Waveforms
Syntax
The syntax of the Step directive is:
Step value;
where:
value specifies the time between vectors in the source data you want
to convert. It must be a floating point or whole integer value,
Viewing Data as
optionally followed by a time unit indicator. If no time unit is indicated,
Waveforms
value is interpreted as nanoseconds (ns) by default. Valid time unit
indicators are:
microseconds us
Waveforms
nanoseconds ns
picoseconds ps
femtoseconds fs
Example
Assuming the vectors in your source data are 10ns apart, the
following line should appear in your Run file:
Step 10ns;
See Also
NoTimestamp
Substitute
The Substitute directive replaces all instances of a specific
alphanumeric character in your source data with a different character
you specify. It is optional.
The Substitute directive is only applied to the block of vectors you
want to convert and not to the entire source file. It is especially useful
to convert state characters in your source data into state characters
recognized by SURF:
Viewing Data as
Viewing Data as
Character Source Types Pin Type Pin State
Waveforms
Waveforms
1 Generic and VCD input high
0 Generic and VCD input low
X, x Generic and VCD input indeterminate
H Generic output high
L Generic output low
Viewing Data as
Z, z Generic and VCD output tristated
Waveforms
T Generic output tristated
Example
Assuming you want each tilde character (~) in your source data
replaced with a caret character (^), the following line should appear
in your Run file:
Substitute ~ ^;
See Also
Comment, LineContinue
TargetFile
The TargetFile directive specifies the name and location of the
conversion file created by SURF. It is required. If a file of that name
already exists in the indicated location, it is overwritten.
Syntax
The syntax of the TargetFile directive is:
TargetFile filename;
where:
Viewing Data as
Viewing Data as
filename is the name of the output data file to create. If the file
Waveforms
Waveforms
should be created in a location other than the current directory,
an absolute or relative path should be prepended to the file
name.
All syntax elements are case sensitive.
Example
Assuming you want SURF to create an output file named
Viewing Data as
initvectors.waves in the current directory, the following line
Waveforms
should appear in your Run file:
TargetFile initvectors.waves;
See Also
SourceFile
Viewing Data as
Waveforms
TesterType
The TesterType directive specifies the IMS tester architecture for
which your want to convert your source data. This directive is
required.
SURF is capable of converting source data to reflect either Vanguard
or ATS architecture. The Vanguard architecture is used with the
Vanguard Series of IMS testers. The ATS architecture is used with
the ATS Series, XTS Series and Electra Series of IMS testers.
Syntax
The syntax of the TesterType directive is:
TesterType type;
where:
type indicates the type of IMS tester you are using to test your
device. There are two valid indicators:
• Vanguard
• ATS
All syntax elements are case sensitive.
Example
Assuming you are testing your device on a Vanguard tester, the
following line should appear in your Run file:
TesterType Vanguard;
TimeUnits
The TimeUnits directive specifies the time units used in your
timestamps. This directive is required when your SourceFormat is
Generic and the timestamps in your source data do not indicate time
units, as in this example:
Viewing Data as
Viewing Data as
Waveforms
Waveforms
0.25ns 0 3FFFFFFF 0 1 0 FFFFFFFF 1 0 0 1111 011 00 001 000
0.75ns 0 3FFFFFFF 0 1 0 FFFFFFFF 1 0 0 1111 011 00 001 000
1.25ns 1 3FFFFFFF 0 1 1 FFFFFFFF 1 0 1 0111 101 00 001 000
1.75ns 0 3FFFFFFF 0 1 1 6600041E 1 1 1 0000 100 00 001 110
Syntax
Viewing Data as
Waveforms
The syntax of the TimeUnits directive is:
TimeUnits unit;
where:
unit indicates the the time unit used by your source data. Valid
time unit indicators are:
nanoseconds ns
picoseconds ps
femtoseconds fs
Example
Assuming the timestamps in your source data indicate picoseconds,
the following line should appear in your Run file:
TimeUnits ps;
Options:
Examples
Here are some examples of typical uses.
uses timing and device information from test plan plan9 to convert
ASCII source pattern file pat2.ascii to a pattern setup with setup
name pat2 and adds it to the testplan.
Notes:
• -testPlan specifies the test plan directory as plan9. This makes
it possible to start ims_pat_cvt from a directory other than the
test plan directory.
Notes:
• -noTestPlan specifies that pins, waveforms, and partitions will be
derived from the Partition block in pat2.ascii, and will not be
verified against any test plan or setups. Always use the source
pattern file as the argument to -noTestPlan.
• -patternDir specifies the output directory ../job004/patterns.
• -patternFile specifies the base file name pat2 for the two output
files
pat2.bin and
pat2.
This example is exactly like Example 3, except that data from ASCII
pattern file reset.ascii is loaded and converted before the pattern
data from file pat2.ascii.
Notes:
• The files created are
patterns/Pat2.ims and
patterns/Pat2.bin.
A in AVI-Link, 222
in SURF, 243
Active_input directive, APT, 115 Breakup directive, DPT, 53
APT
command line options, 110 C
Conversion section directives, 177
differences from DPT, 87 Comment directive
environment variables used by, 112 APT, 122
files used by, 86 SURF, 252
getting version number of, 111 comments
how to start, 109 in APT Run file, 92
limitiations of, 88 in DPT Run file, 31
Run file structure, 91 in source data, 25
Source section directives, 114 in SURF Run file, 247
Target section directives, 159 Compress directive, DPT, 55
Asserted_output directive, APT, 117 Concatenate directive, APT, 125
AVI-Link Concatenating pattern files with
command line options, 220 ims_pat_cvt, 284
creating a test plan from a setup, 228 Conversion section
diagram of conversion process, 217, 219 directives for, 177
handling bidirectional pins, 222 structure of, 94
preparing the test plan, 222 CycleLength directive, SURF, 253
unsupported ATS features, 221 Cyclized directive, APT, 127
using the Fixture Map file, 226
D
B
Data directive, APT
Batch imports of pattern setups, 273 Source section, 130
Bidir directive Target section, 163
APT, 119 Decompiling patterns with
DPT, 51 ims_pat_cvt, 275, 284
example of use with APT, 202 Depth directive, SURF, 255
examples of use with DPT, 32 Device directive, APT
SURF, 250 Source section, 131
bidirectional pins Target section, 164
APT example for VCD, 97 diagram of AVI-Link conversion
Bidir directive, APT, 119 process, 217, 219
Bidir directive, DPT, 51 Directives, APT
Bidir directive, SURF, 250 Active_input, 115
DPT examples, 32 Asserted_output, 117
U
UpdateTestPlan directive, DPT, 80
V
VanguardTiming directive, APT, 172
VCD conversions
list of supported APT directives, 98
VCDSignals directive, DPT
example of use, 32
syntax for, 81
Verilog source data
converting with APT, 96
converting with DPT, 32
version
getting for APT, 111
getting for AVI-Link, 220
getting for DPT, 15
getting for Pattern Convertor utility, 277
getting for SURF, 248
W
waveform order file
defined, 38
differences between DPT and APT syntax
in, 47
elements of, 39
how applied, 45
macros in, 42
WaveformMap directive, APT, 174
WaveformOrder directive
APT, 175
DPT, 83
Z
Zero_delay directive, APT
Source section, 158
Target section, 176