UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
323 Views
Registered: ‎03-03-2017

Manual JTAG programming flash

Hi,

   Could somebody possibly point me to resources I could use to learn how I can manually take a "bin" or "bit" file and using my own digital instrument I can use the JTAG bus to program these to the FPGA or FLASH?

   I can't seem to find a document that shows waveforms with explanations of what to do with each signal (TCK, TDI, TDO, TMS).

   Any help is apprecaited.

Thanks.

Tim

0 Kudos
4 Replies
Explorer
Explorer
239 Views
Registered: ‎03-31-2016

Re: Manual JTAG programming flash

Your question is not very clear.

Are you trying to replace a Xilinx JTAG cable with your own device to configure an FPGA?  A  flash device connected to an FPGA not connected to JTAG?  Or one of the older PROMs that have a JTAG connection of their own?

IEEE standard 1149 covers the basics of JTAG while IEEE 1532 extends that to cover programmable devices.


Once you understand those, the easiest thing is probably to do the configuration once with the Xilinx tools and record the JTAG commands for later "playback" using your JTAG.

If you can do the programming you wish to replicate one time with the Xilinx cables and set up tools to capture the data into a SVF file.  You can then use a custom method to "play" the SVF on your custom JTAG device.  SVF is a fairly easy to understand format,  and the Xilinx tools will do all the complex logic of how to talk to your device.

If you dont want to the "playback" method your solution will have to be significantly more complex.  The configuration document for your device, for example UG570 for Ultrascale devices, will give some details about what the configuring over JTAG process.

Note that when using the FPGA to program a flash that doesnt have its own JTAG port you are actually loading a special FPGA image that bridges between the flash and the JTAG port in the FPGA,  there is no standard or documented way to do this as both the programming software and the bridging FPGA image are controlled by Xilinx.

Tags (2)
236 Views
Registered: ‎03-03-2017

Re: Manual JTAG programming flash

@necare81 ,

   Thanks for the reply.

   I am working with HW in the field that I am able to easily update the firmware using a Xilinx JTAG programmer tool and that works great.   In the field though, the HW is plugged into automated test equipment (ATE) where the ATE has digital pins I can write patterns for that I am hoping I can use to update the firmware that is stored on the HW flash for the FPGA.

   I am interested in doing the SVF file you mention while using the Xilinx tools to program the flash.   How would you do this?   Would you need to plug the JTAG signals into a logic analyzer which saves the SVF file?

   I was more hoping there was a document which spells out the JTAG commands that the Xilinx tools actually go through (i.e. step by step of JTAG setup and programming).

Thanks.

Tim

0 Kudos
Explorer
Explorer
225 Views
Registered: ‎03-31-2016

Re: Manual JTAG programming flash

Sounds like SVF is exactly what you need, all the setup stuff is handled by the Xilinx tools when generating the SVF.  SVF is basically a format that says shift the JTAG state machine to this state, then shift in this data.  All you need is the SVF of the JTAG operations you want to perform and some software that understands how to use ATE pins to get the FPGA's JTAG into various states.

 

Generating the SVF shouldn't be too hard.  I haven't done this since ISE 12 something but you used to be able to use iMPACT to program an FPGA like normal, then set the output to SVF and redo the programming steps and have it target the file instead of the actual JTAG cable.  For Vivado it looks you might have to manual build the chain, instead of switching to SVF after disccovery,  check out UG908 for all specific directions.

0 Kudos
213 Views
Registered: ‎03-03-2017

Re: Manual JTAG programming flash

@necare81 ,

   Ok, I was able to generate an SVF file in Vivado for the programming of the FLASH chip and wow it generated a 3021027 line file with a bunch of data which I can't quite figure out what it all means.   I found a Xilinx SVF document xapp503 which I will start reviewing to help decipher the SVF file.

   Thanks for pointing me to this.

Tim

0 Kudos