📄 readme.txt
字号:
------------------------------ XAPP058 Reference C Code v5.01 ------------------------------ 10/17/2004[NEW] SVF2XSVF translator support on Linux. Note: Example XSVF PLAYER is not supported on Linux.[NEW] SVF2XSVF v5.02 backward-compatible with XSXVF v4.xx player for XC18V00 and XCF00S PROMs. (See readme_xc18v00_xcf00s.txt for important information!!!)Find technical support answers or contact information at:http://www.support.xilinx.comThis package contains the translator and reference C code associated withXAPP058 (http://www.xilinx.com/xapp/xapp058.pdf).There are two major components included in this archive:1. The SVF-to-XSVF translator.2. XSVF player reference C code which you must port to your platform. (An example port of the player is provided for the Windows platforms for use with the Xilinx Parallel Cables.)Files/Directories: readme.txt - This readme.txt file. bin/nt/svf2xsvf502.exe- The SVF-to-XSVF translator for Win32 platforms. bin/lin/svf2xsvf502 - The SVF-to-XSVF translator for Linux platforms. bin/sol/svf2xsvf502 - Solaris version of svf2xsvf translator. bin/hp/svf2xsvf502 - HPUX version of the svf2xsvf translator. bin/nt/playxsvf501.exe- Test XSVF player for use with the Xilinx Parallel Cable III/IV on a PC with WinDriver v5.05b or earlier (a.k.a. windrvr.sys) that was installed with JTAG Programmer or iMPACT 5.2.03i or earlier. bin/nt/playxsvf501b.exe-Test XSVF player for use with the Xilinx Parallel Cable III/IV on a PC with WinDriver v6.0 or later (a.k.a. windrvr6.sys) that was installed with iMPACT 6.1i or later. src/ - This directory contains the reference C code that executes the XSVF file format. See "XSVF C Code Instructions" (below) on how to port this code to your platform. This code is provided as is and without restriction. old/ - This directory contains previous versions of the XAPP058 source code. This is provided so that you can diff the old version against the latest version to find the differences. old/old_v2.00.zip - Old v2.00 svf2xsvf translator provided in case you want to use the XSVF compression mechanism for XC9500 or XC9500XL SVF files. (The v5.xx translator does not implement this compression technique. However, the v5.xx XSVF player does support this compression mechanism.)Create SVF Files to Program Your Device: XC9500/XC9500XL/XC9500XV/CoolRunner/CoolRunner-II/XC18V00/XCF00/FPGA/ System ACE MPM/SC: - Use iMPACT 5.2.03i or later (available from the WebPACK at http://www.xilinx.com/sxpresso/webpack.htm) - See iMPACT Help. - Create an SVF file that contains all the necessary operations to program your target devices. - Operations for XC9500/XL, CoolRunner/II, XC18V00, XCF00: Erase, Program, Verify (Operation->Program + check Erase before programming & Verify) - Operations for FPGA: Program (Operation->Program [no other options required])Translating SVF to XSVF: SVF2XSVF Basic Syntax: svf2xsvf501 [options] -i input.svf -o output.xsvf -a output.txt -i input.svf = any input file name for the input SVF file. -o output.xsvf = any output file name for output XSVF file. -a output.txt = any output file name for output text version of the XSVF file. (For debugging/analysis.) [options] may be zero or more of the following: -d = delete pre-existing output files. -w = delete pre-existing output files. -r N = max "retry" count = N times. (XC9500/XL/XV only) -fpga = Special translation for FPGA bitstreams. (FPGA only) -extensions = add special TAP command extensions (CoolRunner/II only) -xwait = Use the inline XWAIT XSVF command (CoolRunner/II/XC18V00/XCF00) -minxstate = Minimize XSTATE XSVF commands -v2 = backward compatible XSVF with XSVF v2 player. -xprintsrc N = print various levels of comments into XSVF (N=0-3) SVF2XSVF Options Requirements for Each Family: XC9500/XL/XV: // No options required CoolRunner/II: -r 0 -extensions -xwait XC18V00/XCF00: -r 0 // 0 = zero (See readme_xc18v00_xcf00s.txt for more XC18V00/XCF00S information!!!) All Spartan-II/Spartan-3/Virtex+ Platform FPGAs: -fpga -extensions // automatically sets -r 0 All XC4000+/Spartan/Spartan-XL FPGAs: -fpga -rlen 1024 // automatically sets -r 0 System ACE MPM/SC: -r 0 -xwait Command-line Translation Examples: XC9500/XL/XV: svf2xsvf -d -i xc9536.svf -o xc9536.xsvf -a xc9536.txt CoolRunner/II: svf2xsvf -d -r 0 -extensions -xwait -i xcr3064xl.svf -o xcr3064xl.xsvf -a xcr3064xl.txt XC18V00/XCF00: svf2xsvf -d -r 0 -i prom.svf -o prom.xsvf -a prom.txt (See readme_xc18v00_xcf00s.txt for more XC18V00/XCF00S information!!!) Spartan-II/Spartan-3/Virtex+ Platform FPGAs: svf2xsvf -d -fpga -extensions -i xcv300.svf -o xcv300.xsvf -a xcv300.txt XC4000+/Spartan/Spartan-XL FPGAs: svf2xsvf -d -fpga -rlen 1024 -i fpga.svf -o fpga.xsvf -a fpga.txt System ACE MPM/SC: svf2xsvf -d -r 0 -xwait -i mpm.svf -o mpm.xsvf -a mpm.txtXSVF C Code Instructions: Implement the functions in PORTS.C for your system: setPort() - Set the JTAG signal value. readTDOBit() - Get the JTAG TDO signal value. waitTime() - Tune to wait for the given number of microseconds. (Warning: Some compilers eliminate empty loops in optimized/release mode.) This function is called when the device is in the Run-Test/Idle state to wait in that state for the specified amount of time. Note: For all devices except the Virtex-II only the time spent waiting in Run-Test/Idle is important and TCK pulses issued during this time are ignored. The Virtex-II is different in that the given number of microseconds must be interpreted as a minimum number of TCK pulses that must be generated within the Run-Test/Idle state. readByte() - Get the next byte from the XSVF source location. Compile all .c code and call xsvfExecute() (defined in micro.h) to start the execution of the XSVF. Optimizations: lenval.h: #define MAX_LEN 7000 This #define defines the maximum length (in bytes) of predefined buffers in which the XSVF player stores the current shift data. This length must be greater than the longest shift length (in bytes) in the XSVF files that will be processed. 7000 is a very conservative number. The buffers are stored on the stack and if you have limited stack space, you may decrease the MAX_LEN value. How to find the "shift length" in bits?
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -