Xilinx FPGA tools--how to get started? (newbie)

Recommended Posts

I feel like I'm somehow not asking the right question, or it's somehow obvious to everybody else.  I have a Papilio Pro (due to the socz80) and will certainly want to tweak the logic.  How am I supposed to do that?  I downloaded many gigabytes of stuff from Xilinx (ISE DS 14.7, multi-arch, I'm on x86 Debian) and told it to install.  It told me how the tools were going to monitor me and phone home, and by the way I'd better enter my license.  Does everybody here have a license?  Did I pick up the wrong download?  How do people here install/run tools to create new bits based on changing the VHDL?


Once I have "compiled" VHDL bits, is it that Papilio-Loader which takes them and feeds them via a ttyUSB port to set up the FPGA?  I see that *two* ttyUSB ports come into existence--is that expected?  Which one is for which purpose?


Thanks much,

Andy Valencia


Link to comment
Share on other sites

Hi Andy,


The Xilinx tools require a license, however the "Webpack" license is free, but does not give access to all of Xilinx devices (the larger and faster parts are unavailable), and you can experience a slowdown in simulation when using large designs (e-mail me for details on how to overcome this, in case you need).


As for the "monitor and phone home", I assume you're taking about WebTalk. It's a small application that Xilinx uses which reports a few information regarding the implementation of your design. I don't think any personal information is sent, and it might help them to get a clearer view of what kind of designs are people using.


So, grab a "Webpack" license, and you should be good to go.


Regarding the bitfile upload, yes, that is done using papilio-loader. The two USB ports have different purposes: the first one gives access to JTAG (it will disappear once you start the papilio-loader), and the second port can be accessed from within the FPGA and used as a regular serial port (ZPUino uses it for it's own programming afterwards, and for general communication).


Hope this helps.


Link to comment
Share on other sites

Thanks so much for the help.  I also got a pointer to http://xilinx.com/getlicense

and that seems to have enabled the necessary parts of the tool.


I've loaded & synethsized the socz80 project and am to the point where it needs to configure

the target device.  It starts iMPACT, which does not find my device.  Is this normal?

Is there just a device description file I should have pulled first?  Or do I need to get that

playtag stuff working first?  I have it running and finding the two devices, but when

I try to run it with a specific index (to start as a server) it seems to find the device

busy.  (For other newbies, it uses a libftd2xx.so which I found at http://www.ftdichip.com/Drivers/D2XX.htm).

strace shows a lot of attempted accesses to libd2xx; is that yet another library I need to hunt down?


I've put my user account under the dialout group so it has R/W to the ttyUSB[01] ports.

I also made all the /dev/bus/usb device files a+rw, but none of this gets me beyond

the part where it needs to know the target device.


Thanks again,


Link to comment
Share on other sites

Hi Andy,


welcome to tool hell :)

Linux doesn't exactly make it any easier to get started, but I'd personally prefer it any time for long-term efficiency.


To get the bitstream to the FPGA, "papilio-prog" is the tool of choice. It usually works quite smoothly, i.e. "papilio-prog -f myBitstream.bit".

I think I compiled it against the open-source FTDI libraries (not the binary ones from ftdichip.com), but now I can't remember the details.


"IMPACT" could be an alternative, but it'll require additional setup where the above should work straight out of the box.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.