Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 9/26/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.1.22.10. get_hardware_names (::quartus::jtag)

The following table displays information for the get_hardware_names Tcl command:

Tcl Package and Version

Belongs to ::quartus::jtag

Syntax get_hardware_names [-h | -help] [-long_help]
Arguments -h | -help Short help
  -long_help Long help with examples and possible return values
Description
		Retrieves a list of the names of the programming
hardware attached to and configured for the JTAG
server.

The hardware name is in the following format:
<hardware type> [<port>].

		For example, in the hardware name USB-Blaster [USB-0],
USB-Blaster is the name of the programming hardware,
and USB-0 is the name of the port to which the
hardware is connected.
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]"
device_unlock

# Close device
close_device
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: No programming hardware is attached to the JTAG server or it is not configured properly.