Using papilio loader with an external FT2232 chip


Speeder

Recommended Posts

Hi,

 

I am trying to use the Papilio loader to program an FPGA which has only JTAG pins. Do you have any ideas as to whether this would work if I have bought a FT2232 board? If I use the JTAG header on an existing papilio one and connect the jtag signals to another FPGA will that FPGA also be programmed with the same bitfiles which I am using to program the current FPGA?

Link to comment
Share on other sites

Hi,

 

the Papilio programmer is AFAIK derived from xc3sprog. So if you have another FTDI chip, you can simply use that.

It will also (tested with the Pro) program the Papilio board from the command line.

 

Note that some FTDI breakout boards are missing the necessary pins for JTAG. The one I'm using most of the time is a "Signalyzer H4", which includes a larger 4-series chip with four independent virtual COM ports.

The Xilinx "USB" interface is cheaper, though, and works also with xc3sprog. I got mine from China via Ebay (the link points to a random vendor).

Link to comment
Share on other sites

  • 1 year later...

Well this looks like the right thread to ask my question, rather than open a new one. Hopefully people will notice the new posting!

I have been given a Spartan 3 based tiny PCB. It has a large SRAM, Flash ROM, 32 pin general purpose header, and a few switches and LEDs. It also has a 14 way header (smaller than 0.1") which I am told is for a standard Xilinx programmer.

Well I don't have a Xilinx programmer, although I do have a cheap Chinese Altera programmer. So I wondered if I could use the programming circuitry on my Papilio One/Pro (I believe they are the same). The Papilio programmer appears to be based around the FTDI2232, a dual channel USB to UART. I am guessing that it is not used in serial "RS232" mode, but the JTAG pins are toggled high and low. Given that I cannot isolate the JTAG pins (TCK, TMS, TDI and TDO), the answer must be no. Interestingly there does appear a row of empty vias for soldering in a header for an external programmer, but I can't tap off from this as there would be contention on the TDO connection.

Now I have a Sparkfun FDTI breakout board, but when I found it, it uses the single channel FDTI232R chip and not the dual channel chip. I have access to all pins.

The question is, will this work with the Papilio Loader? Well I tried it out. Using simple COMMs software it works correctly as COM5 if I connect TX and RX. When I start the Papilio Loader, I get no messages to confirm that any programmer has been seen, nevertheless I loaded a random bit file and hit the "Run" button. For a few seconds the TX/RX (still linked together) light up, and then go out. The "Run" button is still greyed out. So is the Papilio Loader really using this single channel chip as a programmer?

If there are multiple FDTI chips plugged into the USB, including a Papilio, how does the software figure out which to use?

Note: I am using Papilio Loader 2.6. I think the latest version is 2.8, which I ought to try out.

--Gary

Link to comment
Share on other sites

FYI: This is the FTDI board to rule them all: "-H" means high speed version, the MPSSE will clock up to 30 MHz and this works reliably with JTAG+Xilinx.

http://eu.mouser.com/ProductDetail/FTDI/FT2232H-MINI-MODULE/?qs=pB3G9VbQXIf%2bpWyngo5ZjA==

You can get it from many vendors.The same exists for quad-channel FT4232H BTW, but I prefer the remaining pins as GPIO.
It has proper protection circuitry on the USB port, which most other boards are lacking.

I am using those in volume for industrial automation BTW.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.