Device_ir_shift, Usage, Options – Altera Quartus II Scripting User Manual

Page 278: Description, Example, Device_ir_shift –148

Advertising
background image

3–148

Chapter 3: Tcl Packages & Commands

jtag

Quartus II Scripting Reference Manual

© July 2013

Altera Corporation

device_ir_shift

Usage

device_ir_shift -ir_value <instruction register value> [-no_captured_ir_value]

Options

-ir_value <instruction register value>: Value of numeric oprand type to be written into
the instruction register in the JTAG tap controller of the open device

-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

Description

Writes the specified value into the instruction register of the JTAG tap controller of the open device.
Returns the captured instruction register value. The captured value return can be disabled to improve the
JTAG communication speed by packing multiple IR or DR scans together.

The instruction register length is determined automatically by the Quartus II JTAG server.

The device must be locked first before this operation.

Example

# 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

Advertising