Next: Utility Commands, Previous: JTAG Commands, Up: Top [Contents][Index]
One of the original purposes of JTAG was to support boundary scan based hardware testing. Although its primary focus is to support On-Chip Debugging, OpenOCD also includes some boundary scan commands.
The Serial Vector Format, better known as SVF, is a way to represent JTAG test patterns in text files. In a debug session using JTAG for its transport protocol, OpenOCD supports running such test files.
This issues a JTAG reset (Test-Logic-Reset) and then runs the SVF script from filename.
Arguments can be specified in any order; the optional dash doesn’t affect their semantics.
Command options:
The Xilinx Serial Vector Format, better known as XSVF, is a binary representation of SVF which is optimized for use with Xilinx devices. In a debug session using JTAG for its transport protocol, OpenOCD supports running such test files.
Important: Not all XSVF commands are supported.
This issues a JTAG reset (Test-Logic-Reset) and then runs the XSVF script from filename. When a tapname is specified, the commands are directed at that TAP. When virt2 is specified, the XRUNTEST command counts are interpreted as TCK cycles instead of microseconds. Unless the quiet option is specified, messages are logged for comments and some retries.
The OpenOCD sources also include two utility scripts for working with XSVF; they are not currently installed after building the software. You may find them useful:
xsvf
command; see notes below.
The input format accepts a handful of non-standard extensions. These include three opcodes corresponding to SVF extensions from Lattice Semiconductor (LCOUNT, LDELAY, LDSR), and two opcodes supporting a more accurate translation of SVF (XTRST, XWAITSTATE). If xsvfdump shows a file is using those opcodes, it probably will not be usable with other XSVF tools.
IPDBG is a set of tools to debug IP-Cores. It comprises, among others, a logic analyzer and an arbitrary waveform generator. These are synthesize-able hardware descriptions of logic circuits in addition to software for control, visualization and further analysis. In a session using JTAG for its transport protocol, OpenOCD supports the function of a JTAG-Host. The JTAG-Host is needed to connect the circuit over JTAG to the control-software. The JTAG-Hub is the circuit which transfers the data from JTAG to the different tools connected to the Hub. Hub implementations for most major FPGA vendors/families are provided. For more details see http://ipdbg.org.
Creates a IPDBG JTAG Hub. The created hub is later used to start, stop and configure IPDBG JTAG Host servers. The first argument hub_name is the name of the created hub. It can be used later as a reference.
The pld drivers are able to provide the tap and ir_value for the IPDBG JTAG-Host server. This will be used with the second variant with option -pld.
Command options:
$hub_name
, and in other places where the Hub needs to be identified.
pld devices
. With [user] one can select a different USERx-Instruction.
If the IPDBG JTAG-Hub is used without modification the default value of 1 which selects the first USERx instruction is adequate.
The USERx instructions are vendor specific and don’t change between families of the same vendor.
So if there’s a pld driver for your vendor it should work with your FPGA even when the driver is not compatible with your device for the remaining features.
If your device/vendor is not supported you have to use the first variant.
Starts a IPDBG JTAG-Host server. The remaining arguments can be specified in any order.
Command options:
Stops a IPDBG JTAG-Host server. Command options:
Examples:
ipdbg create-hub xc6s.ipdbghub -tap xc6s.tap -hub 0x02 xc6s.ipdbghub ipdbg start -port 4242 -tool 4
Creates a IPDBG Hub and starts a server listening on tcp-port 4242 which connects to tool 4. The connection is through the TAP of a Xilinx Spartan 6 on USER1 instruction (tested with a papillion pro board).
ipdbg create-hub max10m50.ipdbghub -tap max10m50.tap -hub 0x00C -vir max10m50.ipdbghub ipdbg start -tool 1 -port 60000
Starts a server listening on tcp-port 60000 which connects to tool 1 (data_up_1/data_down_1). The connection is through the TAP of a Intel MAX10 virtual jtag component (sld_instance_index is 0; sld_ir_width is smaller than 5).
ipdbg create-hub xc7.ipdbghub -pld xc7.pld xc7.ipdbghub ipdbg start -port 5555 -tool 0
Starts a server listening on tcp-port 5555 which connects to tool 0 (data_up_0/data_down_0). The TAP and ir value used to reach the JTAG Hub is given by the pld driver.
Configure the queuing between IPDBG JTAG-Host and Hub. The maximum possible queue size is 1024 which is also the default.
bitbang.ibdbghub queuing -size 32
Send a maximum of 32 transfers to the queue before executing them.
Next: Utility Commands, Previous: JTAG Commands, Up: Top [Contents][Index]