Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers

JTAG chain

Altera_Forum
Honored Contributor II
2,751 Views

My board has an Atmel SAM4L MCU as well as the Altera MAX 10 (10M02) FPGA. I'm programming both via JTAG. Will there be any problems if I place those 2 chips in the same JTAG chain, so they can share the same JTAG connector?

0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
1,063 Views

No. That's the whole point of JTAG. You just chain devices together and they can be accessed individually.

0 Kudos
Altera_Forum
Honored Contributor II
1,063 Views

Oh that's good to know. 

 

But in this case, do I have to use the USB Blaster to program the MAX 10, and then use the Atmel ICE (Atmel's JTAG programmer) to program the SAM4L? Or are those programmers all standard and the same programmer can program all JTAG devices in the chain?
0 Kudos
Altera_Forum
Honored Contributor II
1,063 Views

You'll probably need to use different hardware and tools to program other devices.

0 Kudos
Altera_Forum
Honored Contributor II
1,063 Views

 

--- Quote Start ---  

Oh that's good to know. 

 

But in this case, do I have to use the USB Blaster to program the MAX 10, and then use the Atmel ICE (Atmel's JTAG programmer) to program the SAM4L? Or are those programmers all standard and the same programmer can program all JTAG devices in the chain? 

--- Quote End ---  

 

 

The programmers are the same at the JTAG level in that they all know how to implement the same low level JTAG protocol. How JTAG is used to program each device however is vendor specific, and each of the vendors upper level software know how to map an FPGA image file (.sof, .pof, etc) to a device. 

 

The most straightforward approach would be to use an Altera USB Blaster for the Altera FPGA, and an Atmel ICE for the Atmel device. Each vendors software should know how to pass over/thru other devices to get to their specific device. I've had JTAG chains with 10s of devices (ASICs, SRAMS, CPUs, etc) on them and been able to program a single specific FPGA instance. 

 

There are vendor independent JTAG data formats (SVF - Standard Vector Format; JBC - JAM/STAPL format) that Altera, Xilinx, Atmel tools all know how to generate and for example are used in programming devices in a manufacturing/test environment. There one will have a JTAG based tester access the board under test, and it will use the SVF, etc files to program each vendors devices, without manually have to plug/unplug Altera/Xilinx/Atmel specific USB pods. 

 

So google SVF format for your appropriate vendor if you need to go down that route.
0 Kudos
Altera_Forum
Honored Contributor II
1,063 Views

Thanks for the info. I got this IAR Systems J-Link (I think it's now Segger, but the one I got still says IAR Systems) that can program a lot of JTAG devices, but Quartus doesn't show it as an option, while it does show the USB Blaster. It'd be good to use J-Link for everything, since it can program the other chip (ATSAM4L), but oh well...

0 Kudos
Altera_Forum
Honored Contributor II
1,063 Views

 

--- Quote Start ---  

Thanks for the info. I got this IAR Systems J-Link (I think it's now Segger, but the one I got still says IAR Systems) that can program a lot of JTAG devices, but Quartus doesn't show it as an option, while it does show the USB Blaster. It'd be good to use J-Link for everything, since it can program the other chip (ATSAM4L), but oh well... 

--- Quote End ---  

 

 

Quartus Programmer will not show third party devices (other than Altera USB Blaster clones). Most likely the Atmel tool won't as well. The Altera software knows how to read .sof/.pof/.jic (in my case I use the altera tools to convert/embed my .sof file into a .jic file that will be programmed into the attached FPGA flash device). 

 

As I said earlier, you could (probably, altho I have no direct experience with that JTAG device) use the altera programmer tools to build a .SVF file from your device .SOF file, and then your third party tool software that knows how to access your JTAG USB device should be able to replay the .SVF file. Ditto for the Atmel device program and its tools. 

 

PS: In looking at the Segger site, their device(s) look to be oriented to be JTAG debuggers for embedded microprocessors (like ARM, etc). Not a general purpose JTAG device. That being said I suspect their device is physically capable of replaying an .SVF file over JTAG (it is just basic JTAG protocol), but I did not see any mention of that in their software functionality. So no joy for that device, I guess.
0 Kudos
Altera_Forum
Honored Contributor II
1,063 Views

Well, for this board I'll be on the safe side and use 2 separate JTAG ports. I'll then try a JTAG chain by wiring those 2 ports together as a learning experience. I'm already designing with both an MCU and an FPGA that I don't have here, and so I can't test anything. 

 

The Atmel Studio did find my J-Link, so hopefully I'll be able to use that. If not, I'll have to order something else. But I did use it before on Atmel MCU's. Sad part is that they're all obsolete and the newest Atmel Studio don't even have them on the list.
0 Kudos
Reply