presto_en.pdf - 第88页

Page 88 State of XSVF File Implementation The XSVF file sup port has been implemented in accordance with the "XA PP503, App endix B: XSVF File Format" specificat ion available at th e Xilinx website with the fo…

100%1 / 101
Page 87
Notes
Some AVR devices do not support page by page
programming. In such a case, the SVF file must be
created without the -mp parameter.
Lattice CPLD Programming
SVF file can be created from a .JED file using ispVM
System. This program is part of the ispLEVER Classic
system, which is available at the Lattice website.
Altera CPLD Programming
The QUARTUS II program by Altera can generate SVF files
if it is set up so in the menu.
Such an SVF file, however, cannot be used as it is due to
a wrong Silicon ID. According to Altera, SVF files
generated by their software are assumed only for ATE
(Automatic Test Equipment) programmers and Altera
does not consider supporting others.
However, such an SVF file can be manually modified to
suit our needs. In order to do so, delete the "CHECKING
SILICON ID" section in the SVF file or mark it as a non-
executable comment.
State of .svf File
Implementation
The SVF file support has been implemented in accordance
with the "Serial Vector Format Specification, Revision E"
available at
www.asset-intertech.com/support/svf.html
with the following limitations:
PIO a PIOMAP commands are not implemented.
HDR+SDR+TDR / HIR+SIR+TIR length is limited to
2^31 bits.
Supported TCK frequencies are 3MHz, 1.5MHz,
750kHz and fragments of 1MHz starting at 500kHz
for PRESTO. FORTE adds 15MHz, 10MHz and 5MHz
on top of these.
RUNTEST MAXIMUM max_time SEC parameter is
ignored.
RUNTEST run_count is limited to 2^31/3
(approximately 715million).
RUNTEST min_time SEC is limited to 2^31/3ms
(approximately 715seconds).
TRST and RUNTEST SCK these commands share the
same configurable P/VPP pin of both the PRESTO and
FORTE programmers and can never be used together.
8.1.2 XSVF File
XSVF (Xilinx Serial Vector Format) is a file used for
describing high-level operations on the IEEE1149.1 bus
extended by Xilinx.
XSVF is recommended for Xilinx CPLD XC9500.
Examples of How to Create
XSVF Files
Xilinx CPLD Programming
To create an XSVF file, use the iMPACT program available
at the Xilinx website.
Choose Prepare Configuration Files Boundary-
Scan File XSVF File in the Operation Mode
Selection dialog window that opens after the iMPACT
program starts. Run all operations (Erase, Program,
Verify, Test...) the same way as if a programmer was
connected (e.g. Xilinx Parallel Cable). Then save the new
file and close iMPACT. Running the created XSVF file will
perform the recorded operations.
We do not recommend using an SVF file for
programming devices of the Xilinx XC9500 family, as the
algorithm for XC9500/XL/XV device programming cannot
be correctly described in the SVF format.
Page 88
State of XSVF File
Implementation
The XSVF file support has been implemented in
accordance with the "XAPP503, Appendix B: XSVF File
Format" specification available at the Xilinx website with
the following limitations:
XSETSDRMASKS, XSDRINC and XSIR2 commands are
not implemented.
Only the XSVF file format is recommended for
programming the Xilinx XC9500/XV/XL families.
We seriously recommend using an SVF file for all
architectures except XC9500/XV/XL. For XC9500/XV/XL
programming, the use of the XSVF format is
recommended as the SVF format does not include the
XREPEAT command, which is necessary for XC9500/XV/XL
programming.
Warning: Executing a file containing the XREPEAT
command may be very slow.
8.1.3 Programming
Connector
The following table describes the functions of PRESTO's
and FORTE's pins for programming by means of the JTAG
interface.
PRESTO
FORTE
Function
VPP
P
SCK (System Clock)/User defined state
during file execution and after.
-
-
Not connected pin (key)
VDD
VDD
Feeding of I/O buffers
GND
GND
Ground of I/O buffers
MOSI
D
JTAG TDI (Test Data In)
CLOCK
C
JTAG TCK (Test Clock)
MISO
I
JTAG TDO (Test Data out)
LVP
L
JTAG TMS (Test Machine State)
Table12: JTAG programming connector
8.2
Settings
This chapter explains the meaning of different settings in
Options Program Options.
8.2.1 Default TCK signal
frequency
This frequency of the TCK clock is used until the JTAG
Player reaches the first FREQUENCY command in the SVF
file or until the FREQUENCY with the "default" value is
reached.
The XSVF file format does not support the FREQUENCY
default command. Therefore frequency defined by
Default TCK Signal Frequency parameter is applied to
all operations.
Page 89
The maximum frequency is 3MHz for the PRESTO
programmer and 15MHz for FORTE.
If the Ignore FREQUENCY commands option is selected,
the programmer applies only the frequency set by the
user and ignores all FREQUENCY commands.
8.2.2 Fast Clocks Option
(FORTE only)
This option is available only for the FORTE programmer.
According to the JTAG specification, the signal at TDI is
sampled at TCK's rising edge. However, should a higher
frequency be required (around 5MHz or more), it may be
useful to change the moment of sampling from the rising
edge to the falling edge by shifting it by 1/2 of the TCK
period. To do so, choose Fast Clock Option.
8.2.3 RUNTEST without
run_count (SVF only)
The programmer should stay in the specified state for the
specified time and generate the clock signal on TCK while
executing an SVF file.
The specified time can be exceeded, but it slows the
programming process down. Even though it is not
supported by the SVF specification, many programmable
devices allow stopping the TCK clock during this time.
The programmer's ability to keep accurate time needs to
be considered. A high level of accuracy cannot be
achieved if the maximum frequency is used (the
programmer can guarantee respecting the min_time SEC
parameter only). A higher accuracy can be achieved with
slow clock (~100kHz). If the clock signal is not used at
all, the programmer is capable of following the min_time
SEC parameter almost exactly.
Three possibilities are available considering these facts:
no clock on TCK
slow clock on TCK (~100kHz)
default speed clock on TCK
Example: "RUNTEST 3E-3SEC;" means "Generate clock on
TCK for at least 3ms".
8.2.4 RUNTEST Timing
Multiply (both SVF
and XSVF)
Recommended values:
for accurate timing specified in the SVF or XSVF file:
0% (no added time)
for XC9500(XL) family: 100% or more
for Atmel AVR (e.g. ATmega128): 25%
8.2.5 RUNTEST with
run_count and no
timing
(bothSVFandXSVF)
This command should be interpreted as the minimum
frequency on TCK.
Yet some SVF file generators (such as Xilinx iMPACT, for
example) use this command as waiting time and assume
a frequency of 1MHz. For such cases the use of "interpret
as RUNTEST min_time with scale 1MHz" setting is
recommended.
JTAG Player Behavior When Reaching RUNTIME
Command With MINTIME Specification
(This concerns only SVF files as the RUNTEST alternative,
which is usable in XSVF XRUNTEST run_count cannot
specify time.)