I am trying to use the jtag interface as a general purpose communication port. I looked at the GNAT module
source c:/xilinx_7_1/ChipScope_Pro_7_1i/tcljtag.tcl
set handle [jtag_open] jtag_lock $handle jtag_autodetect $handle
jtag_shiftir $handle -buffer "0100001111" -endstate RTI -device 2
jtag_shiftdr $handle -buffer "1010101000000001" -endstate RTI -device 2
jtag_unlock $handle jtag_close $handle
A few questions about this:
- the virtex4 has up to four usercodes. What are the bit defines for these usercodes?
- is one usercode attached to one bscan_virtex4 component?
- how to deal with the endstates in the jtag_shiftir and jtag_shiftdr calls?
- is the script above something that should work or is it complete nonsense? (all I want to do is send the value 0x8055 to the second device in the jtag chain)
Extra information: I have instantiated the bscan_virtex4 component with the following generic
bscan_virtex4_inst : bscan_virtex4 generic map ( jtag_chain => 1 ) . . .
I assume the jtag_chain attribute matches with the usercode to use (jtag_chain of 1 will specify to use usercode 1), is this correct?
By the way, tcl is new for me (in the sense that I never programmed in tcl before).
TIA, Frank