Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to bypass 2nd device in JTAG chain without iMPACT?

Status
Not open for further replies.

CobraMKIII

Newbie level 2
Joined
Dec 12, 2007
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,297
Hello!

In my system I have a Xilinx Spartan 3 FPGA and a CPLD (Xilinx XCR3128XL Coolrunner XPLA3) in my JTAG chain. First device is the FPGA and the second is the CPLD. I want to program the FPGA and bypass the CPLD without using a programming tool like iMPACT. I want to control the programming by another system with a FPGA and my own JTAG routines. I already had success in programming a system with a FPGA and a FLASH in the JTAG chain, there I just ignored to send a BYPASS instruction to the FLASH. Now it seems that I have to bypass the CPLD so it won't be programmed as well.

How do I manage to send a BYPASS instruction to the CPLD without sending a BYPASS instruction to the FPGA as well? Next difficulty is that the length of the instruction register of the FPGA TPA is 6 bit and CPLD TPA is 5 bit.
After bypassing the CPLD, I want to write some instructions into the SHIFT-IR of the FPGA. Because of the JTAG chain, these instructions will also get the CPLD. How can I assert that it stays in the bypassing mode?

I hope someone is familiar on this topic and can help me.

Uli
 

The JTAG chain protocol handles all those situations. JTAG is simple but somewhat confusing. I hope this makes some sense . . .

The instruction registers of all your JTAG chain devices are connected in series as one continuous shift register. You never bypass instruction registers. For example, if your chain has three devices A,B,C with instruction word lengths of 5,6,7 bits, then you must always transmit an 18-bit instruction string like this: CCCCCCCBBBBBBAAAAA. Even if you only need to talk to device B, you must still include AAAAA and CCCCCCC in the instruction string, so simply set them to BYPASS opcodes (all ones). The full instruction string would be 1111111BBBBBB11111. All three devices now have their instructions, so you can send a data string. The data string travels from your JTAG controller through device A's one-bit data bypass register, then through device B's interesting data register, then through device C's one-bit data bypass register, then back to your JTAG controller.
 

    CobraMKIII

    Points: 2
    Helpful Answer Positive Rating
This makes sense. Thank you a lot for the quick reply. :D
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top