JTAG: How do I know the width of the Instruction Register?

5.3k views Asked by At

Assumed I have a JTAG-chain with several devices from different manufactures: How does my software, which shall communicate with a specific system within that chain, known the length of the IR for all the others devices within the chain? I do have to know them to send a certain instruction to my device, right?

2

There are 2 answers

3
Holger On BEST ANSWER

It is possible to detect the total length of all IR registers in your JTAG daisy-chain. It is also possible to detect the number of devices (or TAPs) in your chain. But you can't detect the individual IR length of a single TAP.

What you can do: You can read out the JTAG ID code register of all of you TAPs. The ID code register (in DR path) is always 32 bit and gets selected by test-logic-reset.

With the ID code you can identify the existing TAPs and look up in the datasheet the length of the individual IR registers.

And yes: In general you do have to know the individual IR length of all the TAPs in your chain to communicate with one of them.

0
Lior Albaz  On

try here: http://www.fpga4fun.com/JTAG3.html When IR = '1...1', the BYPASS is selected. The idea is to send a lot of '1' so regardless of IR length all devices will select BYPASS.