Configure stapl target.
Syntax
stapl config <options>
Create a hw_target (jtag chain) and add all the hw_devices given in the scan-chain list to the hw_target. It also configures the stapl output file where the stapl data is recorded.
Options
Option | Description |
---|---|
-out <filepath>
|
Output file path. Only one of the -out and -handle options should be used. If the -out option is provided, the file will be explicitly opened in a+ mode. |
-handle <filehandle>
|
File handle returned by open command for output. Only one of the -out and -handle options should be used. |
-scan-chain <list-of-dicts>
|
List of devices in the scan-chain. Each list element must be a dict of device properties in the format {name <string> idcode <int> irlen <int> idcode2 <int> mask <int> }. For example: [list [dict create name <device1_name> idcode <idcode> irlen <irlen> idcode2 <idcode2> mask <mask> ] [dict create name <device2_name> idcode <idcode> irlen <irlen> idcode2 <idcode2> mask <mask> ]] The order of devices specified with scan-chain option should match the order of devices on the physical hardware where the stapl file is played back. Only one of the -scan-chain and -part options should be used. |
-part <device-name list>
|
List of part names of the Xilinx devices to add to the scan-chain. This option works only with Xilinx devices. This option can be used instead of the -scan-chain option. |
-checksum
|
Calculate stapl-data CRC and append it to the stapl file. If not specified, CRC 0 is appended. |
Note(s)
- For Xilinx devices, if the device_name or idcode is specified in the scan-chain information, the other parameters are optional. All the JTAG TAPs are added automatically to the scan-chain for Xilinx devices.
Returns
None.
Examples
stapl config -handle $fp -scan-chain [list [dict create name xcvc1902 idcode 0 irlen 0 idcode2 0 mask 0] [dict create name xcvm1802 idcode 0 irlen 0 idcode2 0 mask 0]]
Add xcvc1902 and xcvm1802 devices to scan-chain and use the file handle returned by Tcl open command, to record stapl commands.
stapl config -out mystapl.stapl -scan-chain [list [dict create name xcvc1902 idcode 0 irlen 0 idcode2 0 mask 0] [dict create name xcvm1802 idcode 0 irlen 0 idcode2 0 mask 0]]
Same as the previous example, but using the stapl file path as input,
instead of the file handle returned by Tcl open command.
stapl config -out mystapl.stapl -part xcvc1902
Add xcvc1902 device to scan-chain, using -part option.
stapl config -out mystapl.stapl -scan-chain [list [dict create idcode 0x14CA8093 idcode2 1]]
Same as previous example, but specifying idcode and idcode2, instead of the part name.
stapl config -out mystapl.stapl -part [list xcvc1902 xcvm1802]
Add xcvc1902 and xcvm1802 devices to scan-chain, using the -part option.
connect
stapl config -out mystapl.stapl -scan-chain [list [dict create name xcvc1902 idcode 0 irlen 0 idcode2 0 mask 0]]
jtag targets -set -filter {name == "xcvc1902"}
stapl start
device program <pdipath>
stapl stop
The above example demonstrate the correct order for creating a stapl file for a single device on a stapl target.
connect
stapl config -out mystapl.stapl -scan-chain [list [dict create name xcvc1902 idcode 0 irlen 0 idcode2 0 mask 0] [dict create xcvm1802 idcode 0 irlen 0 idcode2 0 mask 0]]
jtag targets -set -filter {name == "xcvc1902"}
targets -set -filter {jtag_device_name == "xcvc1902"}
stapl start
device program <pdipath>
jtag targets -set -filter {name == "xcvm1802"}
targets -set -filter {jtag_device_name == "xcvm1802"}
stapl start
device program <pdipath>
stapl stop
The above example demonstrate the correct order for creating a stapl file for multiple devices on a stapl target.