Hard Reset Required After Each Boundary Scan Operation
Hello there,
I am working on a project involving JTAG operations (specifically boundary scan on the data register) using Quartus Prime Standard (v24) and a USB-Blaster cable.
Issue:
After every scan operation, I need to perform a hard reset on the device connected to the cable. If I skip the hard reset, the next scan returns incorrect TDO values. I have tried performing a soft reset after each operation, but this does not resolve the issue. Only a hard reset consistently allows me to get the correct TDO results.
Sequence being used (via my Python library executing TCL commands):
open_device -hardware_name {USB-Blaster [USB-0]} -device_name {@1: JTAG_DEVICE (0x12345678)}
device_lock -timeout 10000
device_ir_shift -ir_value 0x00000000
puts "TDO is: 0x[device_dr_shift -length 48 -value_in_hex]"
device_unlock
close_device
Notes:
- The Python library manages TCL sessions in a dedicated terminal.
- I observe the same issue when performing these operations using Quartus directly.
My question:
Is there a Quartus or TCL command or procedure that can help avoid the need for a hard reset after each boundary scan operation? Or is there a way to reliably ensure the correct TDO value is returned every time without hard resetting the device?
Thank you for your assistance.