| Answers Database
 
 JTAG - How to read SVF files.   Record #3173
 
Product Family:  Hardware
 Product Line:  9500
 
 Product Part:  9500
 
 Problem Title:
 JTAG - How to read SVF files.
 
 
 Problem Description:
 Urgency: Standard
 
 General Description: Understanding  the different commands in
 the SVF files created by Xilinx Software.
 
 
 Solution 1:
 
 TRST (Test Reset)
 
 Syntax:
 TRST trst_mode
 
 This command describes the operation of the Optional Test Reset
 signal. It is described as OFF, as the TRST pin does not exist
 on the XC9500 device. ON, OFF, Z and ABSENT are the valid
 trst_mode states.
 
 Example:
 
 TRST OFF;
 
 
 
 Solution 2:
 
 ENDDR, ENDIR
 
 Syntax:
 ENDDR stable_state
 ENDIR stable_state
 
 The ENDDR and ENDIR commands specify the state in which the TAP
 controller will be forced in to at the conclusion of a DR or IR
 scan. Once specified, the ENDDR/ENDIR commands remain in force
 unless overridden by another ENDDR/ENDIR command. Both, ENDDR &
 ENDIR are set to IDLE at startup. Valid stable_states are
 IRPAUSE, DRPAUSE, RESET and IDLE.
 
 Example:
 ENDIR IDLE;
 ENDDR DRPAUSE;
 
 
 
 Solution 3:
 
 STATE
 
 Syntax:
 STATE [pathstate1 [pathstate2...[pathstaten]]] stable_state;
 
 The STATE command is used to move the TAP controller from one
 stable state in to another for test initialization, completion,
 etc. TDI and TDO are undefined during the STATE command. For
 every state path, it is assumed that at least one Test Clock
 will be executed.
 
 The pathstate1..n is an optional list of states that must be
 traversed through the TAP state diagram in order to reach the
 final stable state. Valid states are RESET, IDLE, DRSELECT,
 DRCAPTURE, DRSHIFT, DRPAUSE, DREXIT1, DREXIT2, DRUPDATE,
 IRSELECT, IRCAPTURE, IRSHIFT, IRPAUSE, IREXIT1, IREXIT2 and
 IRUPDATE. The stable_state is the state that the TAP controller
 will be forced to. IRPAUSE, DRPAUSE, RESET and IDLE are the
 valid stable states.
 
 Example;
 STATE RESET IDLE;
 
 
 
 Solution 4:
 
 SDR, SIR (Scan Data Register, Scan Instruction Register)
 
 Syntax:
 SDR length [TDI (tdi)] [TDO (tdo)] [MASK (mask)] [SMASK (smask)];
 SIR length [TDI (tdi)] [TDO (tdo)] [MASK (mask)] [SMASK (smask)];
 
 These commands specify a SCAN pattern that can be applied to the
 target Data or Instruction registers.
 
 Length is a 32 bit unsigned decimal integer greater than 0
 specifying the number of bits to be scanned.
 
 [TDI (tdi)] is an optional value to be scanned in HEX. If this
 parameter is not present, the value of TDI to be scanned will
 equal the previous SIR/SDR statement. The TDI parameter should
 be explicitly specified for the first command or when the length
 of the target register changes.
 
 [TDO (tdo)] is the optional value that would be compared against
 the actual value scanned out of target, in HEX. If this
 parameter is not present, no comparison is performed.
 
 [MASK (mask)] is the optional MASK to be used when comparing the
 TDO values against the actual values, in HEX. A `1' in a
 specific bit position indicates a care condition and a `0'
 indicates a don't care. If this parameter is not present, then
 the previously assigned value of MASK is used. If a new scan
 command changes the length of a data pattern with respect to a
 previous scan, the MASK parameter should be explicitly
 specified. If TDO parameter is not specified, MASK will not be
 used.
 
 [SMASK (smask)] is the optional value that specifies whether TDI
 is don't care or care, in HEX. A `1' in a specific bit position
 indicates a care condition and a `0' indicates a don't care. If
 this parameter is not present, then the previously assigned
 value of SMASK is used. If a new scan command changes the length
 of a data pattern with respect to a previous scan, the SMASK
 parameter should be explicitly specified. The SMASK will be used
 even if the TDI parameter is not present.
 
 Example:
 SIR 8 TDI (fe) SMASK (ff) ;
 SDR 32 TDI (ffffffff) SMASK (ffffffff) TDO (09502093) MASK
 (ffffffff) ;
 
 
 
 Solution 5:
 
 RUNTEST
 
 Syntax:
 RUNTEST [run_test] run_count run_clk [min_time SEC [MAXIMUM
 max_time SEC]] [ENDSTATE end_state]
 
 Or,
 
 RUNTEST [run_test] min_time SEC [MAXIMUM max_time SEC] [ENDSTATE
 end_state]
 
 The RUNTEST command forces the TAP controller to the specified
 run state for a specified number of clocks, a specified length
 of time or both, and then moves it to the specified end state.
 Either run_count or min_time must be specified. If both are
 specified, RUNTEST executes till both conditions are satisfied
 or, till max_time has been exceeded.
 
 run_state is the optional stable state that the TAP controller
 will be forced to during the RUNTEST command. IRPAUSE, DRPAUSE,
 RESET and IDLE are the valid stable states. If run_state, is not
 specified, the RUNTEST command defaults to the earlier value
 that was specified. If none was specified, then the initial
 default is IDLE.
 
 run_count is the optional number of clocks that the TAP
 controller will stay in the run state. It is a 32 bit unsigned
 decimal integer.
 
 run_clk specifies the optional clock used, either TCK or system
 clock.
 
 [min_time SEC] is the optional minimum amount of time in seconds
 that the RUNTEST command must execute for.
 
 [MAXIMUM max_time SEC] is the optional maximum amount of time in
 seconds that the RUNTEST command must execute for. It must be
 greater than min_time.
 
 [ENDSTATE end_state] is the optional state which the TAP
 controller will be forced to after executing the specified
 number of clocks. The valid end_states are IRPAUSE, DRAPAUSE,
 RESET and IDLE. If the end_state is not specified, the default
 end_state is used. When an end_state is specified, it is the
 default. When a run_state is specified, the new run_state
 becomes the default. When a run_state is not specified, the
 default end_state remains in effect. The initial default for the
 end_state is IDLE.
 
 Example:
 RUNTEST 1300000 TCK;
 
 
 
 
 End of Record #3173 - Last Modified: 01/10/00 20:24
 |