device_run_test_idle (::quartus::jtag)
The following table displays information for the device_run_test_idle Tcl command:
| Tcl Package and Version |
Belongs to ::quartus::jtag 1.0 |
|||
| Syntax | device_run_test_idle [-h | -help] [-long_help] [-num_clocks <state cycle count> ] | |||
| Arguments | -h | -help | Short help | ||
| -long_help | Long help with examples and possible return values | |||
| -num_clocks <state cycle count> | The number of times the Run_Test_Idle state is cycled through. If not specified, this value is 1 | |||
| Description |
Drive the JTAG controller into the Run_Test_Idle state for a number cycles specified with the -num_clocks option. The device must be locked before you can perform this operation. |
|||
| Example Usage |
# List all available programming hardware, and select the USB-Blaster.
# (Note: this example assumes only one USB-Blaster is connected.)
puts "Programming Hardware:"
foreach hardware_name [get_hardware_names] {
puts $hardware_name
if { [string match "USB-Blaster*" $hardware_name] } {
set usbblaster_name $hardware_name
}
}
puts "\nSelect JTAG chain connected to $usbblaster_name.\n";
# List all devices on the chain, and select the first device on the chain.
puts "\nDevices on the JTAG chain:"
foreach device_name [get_device_names -hardware_name $usbblaster_name] {
puts $device_name
if { [string match "@1*" $device_name] } {
set test_device $device_name
}
}
puts "\nSelect device: $test_device.\n";
# Open device
open_device -hardware_name $usbblaster_name -device_name $test_device
# Retrieve device id code.
# IDCODE instruction value is 6; The ID code is 32 bits long.
# IR and DR shift should be locked together to ensure that other applications
# will not change the instruction register before the id code value is shifted
# out while the instruction register is still holding the IDCODE instruction.
device_lock -timeout 10000
device_ir_shift -ir_value 6 -no_captured_ir_value
puts "IDCODE: 0x[device_dr_shift -length 32 -value_in_hex]"
# Goto the Run_Test_Idle state and stay there for 8 cycles.
device_run_test_idle -num_clocks 8
device_unlock
# Close device
close_device
|
|||
| Return Value | Code Name | Code | String Return | |
| TCL_OK | 0 | INFO: Operation successful | ||
| TCL_ERROR | 1 | ERROR: A device has not been locked; exclusive communication must be obtained first. | ||
| TCL_ERROR | 1 | ERROR: A device has been locked by another application; exclusive communication cannot be granted within the specified timeout period. | ||