Xilinx ISP JTAG progaramming (XCF32P using GPIO from V4FX12)

I'm trying to do something I think should be simple. I've seen several posts about building custom jtag programmers using byte blaster emulators or xilinx jdrive software, etc. so I hope somebody has already solved this.

I have 4 user I/O pins on my V4FX12 device attached to my JTAG scan chain. I want to drive these lines to reprogram the XCF32P prom which my fpga boots from. I am running Linux on the PPC inside the FX12 so I'm thinking I can just cross compile some existing programmer and replace some low level functions (set tdo, read tdi, set/clear tms).

Does anyone have something like this? Or can suggest what programmer code is most likely to work in this application?

Thanks, Clark

Reply to
cpope
Loading thread data ...

That is what xsvf and svf are for

formatting link

You download a little source code from xilinx, modify the low level code to twiddle the tdi, tdi, tms and tck correctly and replay the programming sequence generated by impact.

xsvf is simply a binary coded svf to save some space.

jdrive is similar software, but much more bloated C++ code.

On Altera, you do the same thing with jam player.

formatting link

Alan Nishioka

Reply to
Alan Nishioka

chain. I

boots

can

code is

Thanks. So you don't recommend using the jdrive code?

Reply to
cpope

No. I tried it and it seems to work at a higher level than svf. It knows more about the JTAG protocol and reads BSDL files, whereas impact handles this when it creates an svf.

But svf is simpler to use and implement and I use it exclusively.

Alan Nishioka

Reply to
Alan Nishioka

How do you get the bitstream (xsvf or whatever) into the FX12?

Petter

-- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?

Reply to
Petter Gustad

I'm running a linux OS so I have several options: ftp, usb thumb drive, or serial. I am worried about the size of the svf file as I only have about

32MB free space internal.

-Clark

Reply to
cpope

There is one nice advantage of using the jdrive for the XCFxxP devices, and that is the erase time. For the XSVF/SVF player there is a fixed erase time of 140 seconds, which is the maximum time it can take to erase an XCF32P. The jdrive software can sit in a loop polling a bit to see when the erase really completes, if you look in the IEE1532 BSDL file for the XCFxxP device you will see what I mean. There is also a similar issue with the programming time, but since that is a much shorter delay you don't notice it quite so much.

Neill.

Reply to
neilla

Then you could program on the fly as you transfer the data using any of the above methods.

Petter

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Reply to
Petter Gustad

or

Has anyone looked at xapp975 from xilinx? This is a lightweight version of the programming which claims to not have the erase problem you cite.

Would be perfect for my application except:

  1. the xcf32p has to be on its own jtag chain - how many times would you have that in a design?
  2. the byte interface is not very friendly - would work better if they made it an OPB peripheral
  3. revisioning is not supported

I'm still going to pursue it as I expect all of these issues could be resolved, it's just that the first version of this came out last month.

-Clark

Reply to
cpope

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.