Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/13/2021

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

Document Table of Contents
Give Feedback device_virtual_ir_shift (::quartus::jtag)

The following table displays information for the device_virtual_ir_shift Tcl command:

Tcl Package and Version

Belongs to ::quartus::jtag

Syntax device_virtual_ir_shift [-h | -help] [-long_help] -instance_index <instance index> -ir_value <instruction register value> [-no_captured_ir_value] [-show_equivalent_device_ir_dr_shift]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-instance_index <instance index> The index of the virtual JTAG instance
-ir_value <instruction register value> Value to be written into the instruction register in this instance. Operand must be of a TCL numerical type such as decimal (10), hexadecimal (0xa), or octal number (012)
-no_captured_ir_value Option to not return the captured instruction register value. If this is specified, this IR scan may be packed together with the subsequent IR or DR scan until the device is unlocked or a captured value is requested
-show_equivalent_device_ir_dr_shift Option to show equivalent device ir and dr shifts performed by this command

Writes the specified value into the instruction register of the specified virtual JTAG instance in the open device. Returns the captured instruction register value. You can disable the captured value return to improve the JTAG communication speed by packing multiple IR or DR scans together. The command also activates the target instance such that the consequent virtual DR shift operations are applied to this instance before the device is unlocked. Before any virtual DR shift operation, this command must be executed first to activate the instance. The device must be locked first before this operation.

Example Usage
# List all available programming hardwares, and select the USBBlaster.
# (Note: this example assumes only one USBBlaster connected.)
puts "Programming Hardwares:"
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 devi