Escolar Documentos
Profissional Documentos
Cultura Documentos
WITH VTRAN
Background:
During the creation, debug and validation of
large IC designs, it is common to produce large
quantities of simulation data files these are often
referred to as functional vectors. They supplement the
ATPG vectors which provide coverage.
The Problem:
One of the challenging tasks in the Design-toTest flow is translating simulation vector files, typically
in VCD or EVCD format to test programs ready to run
on ATE.
VCD File
EVCD File
$timescale
1ps
$end
$scope module test_fed $end
$var wire
$var wire
$var wire
$var wire
$var wire
$var wire
.......
$upscope $end
1
1
1
4
1
1
!
"
#
$
%
&
$enddefinitions $end
#0
$dumpvars
0&
x%
bxxxx $
x#
x"
0!
........
$end
#4879
0"
#5000
1"
#5606
1#
b0011 $
#7060
1A
#10000
0+
0/
1*
........
p_mrdy_ $end
p_mintr_ $end
p_tclk $end
p_rxd [3:0] $end
p_rclk $end
p_crs $end
$timescale
1 ns
$end
$scope module
$var port
$var port
$var port
$var port
$var port
$var port
$var port
$var port
. . . . . .
$upscope $end
top $end
1 !
clki $end
1 "
clk2x $end
1 #
vcxo_ctrl $end
1 $
bclko $end
1 %
test $end
1 &
bopt $end
[3:0] A
devid $end
1 (
dsp_only $end
$enddefinitions $end
#0
$dumpports
pa 6 6 !
pX 6 6 "
pX 6 6 #
pX 6 6 $
pa 6 6 %
pb 6 6 &
pXXXX 6666 6666 A
pa 6 6 (
$end
#1
pT 0 0 "
pD 6 0 )
#5
pD 6 0 %
pU 0 6 &
pDDDD 5555 0000 A
pD 6 0 (
pH 0 0 0
pD 6 0 4
........
Simulator
VCD
EVCD
Translator
ATE
Test Program
Translation requirements:
Cyclizing Required (convert event-based to cycle-based)
State character translations
Identify/Specify Timing
Determine Signal Direction
Bidirectional Signal I/O data separation
Significant User input required
4
VTRAN
Simulation
VCD/
EVCD
Cyclize vectors
State Trans
Define Timing
Signal Direction
Masking
other processing
Virtual
Test Program
Verification
VTRAN
ReadBack
ATE-to-Testbench
ATE Test
Program &
Timing
Verilog
Verification
Testbench
OK ?
ATE
Verification
Simulation
Desired cycle time, signal timing and waveforms for output (ATE) file. This is used
in the VTRAN command file, for example, as:
CYCLE 200 ;
PINTYPE NRZ * @ 0 ;
PINTYPE RZ clk @ 20, 240 ;
PINTYPE STB * @ 195 ;
NOTE that if there is more than one set of CYCLE time and signal timing in the file,
you will need the timing information for each timeset in the file.
CK
Domain B
CK
Domain C
cmdA.vtran
cmdB.vtran
cmdC.vtran
A.avc
A.dvc
B.avc
B.dvc
C.avc
C.dvc
3 VTRAN command
files.
Each contain signals
and timing for specific
domain.
Resulting 3 test
programs converted
to binary and loaded
with multi-port
feature.
10
TVF_BLOCK
BEGIN
{ specify output file format }
tester_format HP93000 ,
-auto_group,
-DVC_OUTPUTS_FNZ,
XMODE = "ts1 3",
XMODE_MAP = "sbc2.map",
PIN_CONFIG_FILE = "sbc2.pin",
PINSCALE = "128",
TIME_STAMPS = "ON",
DVC_FILE = "sbc2.dvc"
REPEAT_THRESHOLD = "4"
;
TARGET_FILE = "sbc2.avc"; {output file }
END;
END;
NRZ * @ 10 ;
STB * @ 95 ;
RO PAD_XIN @ 30, 50;
SBC PAD_XCIN @ 20, 40;
11
TVF_BLOCK
BEGIN
{ specify output file format }
tester_format HP93000 ,
-auto_group,
-DVC_OUTPUTS_FNZ,
XMODE = "ts1 3",
XMODE_MAP = "sbc2.map",
PIN_CONFIG_FILE = "sbc2.pin",
PINSCALE = "128",
TIME_STAMPS = "ON",
DVC_FILE = "sbc2.dvc"
REPEAT_THRESHOLD = "4"
;
TARGET_FILE = "sbc2.avc"; {output file }
END;
END;
NRZ * @ 10 ;
STB * @ 95 ;
RO PAD_XIN @ 30, 50;
SBC PAD_XCIN @ 20, 40;
12
VCD, EVCD
Nanosim, SpringSoft FSDB, Mentor Log files, tabular,
Checks for Max Delays
Analyses signal timing & behavior for single timeset
Checks for signal glitches
Illegal state checking
Checks for simultaneous transitions
Checks for output signal stability