Free Spartan3 download program for GNU/Linux

Aug 14, 2004 11 Replies

I, like others, am a little upset by the lack of a free (ISE Webpack) version of impact for GNU/Linux.



As discussed in an earlier thread impact will not run under wine, it will not access the parallel port. However it can be made to produce SVF files.



Using information from XAPP188 I was able to configure the Xilinx Spartan3 Starter Kit (the FPGA, not the Flash yet).



I am not able to compare the speed with impact, but I can tell you that I configured a xc3s200 in about 4.3 seconds.


formatting link



This software is at it's early stage of development and I have only tested it on the Xilinx Spartan3 Starter Kit. It doesn't need to run as root since it uses /dev/parport0. Oh, it doesn't need its own kernel module driver either, unlike some programs!



With ISE WebPack running on wine and now being able to configure the FPGA from GNU/Linux, do we have a complete tool chain for GNU/Linux that is free?



Regards Andrew Rogers



Hi

Tested and working on my board (Avnet kit). A small patch was needed :

diff -urN XC3Sprog.org/devlist.txt XC3Sprog/devlist.txt

--- XC3Sprog.org/devlist.txt 2004-08-14 11:08:44.334268136 +0200

+++ XC3Sprog/devlist.txt 2004-08-14 11:09:04.034273280 +0200 @@ -1,3 +1,4 @@ # IDCODE IR Length Text 01414093 6 XC3S200

-05045093 8 XCF02S \ No newline at end of file

+0141c093 6 XC3S400 +05045093 8 XCF02S diff -urN XC3Sprog.org/ioparport.cpp XC3Sprog/ioparport.cpp

--- XC3Sprog.org/ioparport.cpp 2004-08-14 11:08:44.362263880 +0200

+++ XC3Sprog/ioparport.cpp 2004-08-14 11:09:21.670592152 +0200 @@ -80,7 +80,7 @@ bool IOParport::txrx(bool tms, bool tdi) { unsigned char ret;

- unsigned char data=0;

  • unsigned char data=0x10; if(tdi)data|=1; // D0 pin2 if(tms)data|=4; // D2 pin4 ioctl(fd, PPWDATA, &data);

Sylvain Munaut

Andrew Rogers wrote:

Can you tell me if your program works also for Spartan2 FPGA's ?

Regards,

Martin

Already I have received a few bug reports, thanks Sylvain.

A new release, Release 0.3, can be found at

formatting link

I have included more Spartan3 devices in the device list.

Regards Andrew

I think the programming algorithm is different, but try it and let us know. I have included some XC2Sxxx definitions in the device list to make easier to try.

Unfortunately I only have the Xilinx Spartan3 Starter Kit and cannot verify its operation with other devices. Donations will be appreciated!

Thanks Andrew

Not sure what you mean by "the FPGA, not the Flash yet". Can you explain? Does this imply that we can now use the $99 board that Xilinx is selling with Linux now? What limitations are implied by "not the Flash yet"?

Good work!

Phil

Hi

The flash is the little PROM on board, the non-volatile memory. The FPGA need to reload its config each time it's powered. It can download it's config from a little flash on the board (so that the board is autonomous) and this PROM is on the JTAG chain too, but you can't program it with this application yet.

Personnaly, I'm now doing all my Xilinx work under Linux.

I use wine for the WebPack. That's sometimes a little slow when "compiling" but that's OK. And this prog to program the bitstream. The only thing I can't do is program the PROM.

Sylvain

In due course I'll be working on programming the PROM. At the moment I'm struggling to find a datasheet on the XCF02S PROM that gives the programming algorithm. Even without the datasheet I will not give up.

Can anyone tell me where I can find the programming algorithm for the XCF02S PROM?

Thanks Andrew

formatting link

One would think that the "Complete data sheet for Platform Flash In-System Programmable Configuration PROMs" would have details on the "In-System Programmable" features. I think the marketing department has been at work here!

It does give: Instruction register length. IDCODE. Instruction capture values. JTAG signals timing.

It does not tell me about "In-System Programmable"!

"Complete" ?

Regards Andrew

-- Spartan3 configuration download tool for GNU/Linux available from

formatting link

I think its not published! but that doesnt mean it cant be programmed. just generated SVF and look what is done there :)

Antti

formatting link

[snip]
[snip]

I'm not sure if the links contain the information that you're after, but it may be a start. The 18V00 family is not the same as Platform Flash, but the general approach is similar.

Answer Record #10423

18V00 PROM's - Is the programming algorithm available?
formatting link

XAPP058: Xilinx In-System Programming Using an Embedded Microcontroller

formatting link

--------------------------------- Steven K. Knapp Applications Manager, Xilinx Inc. General Products Division Spartan-3/II/IIE FPGAs

formatting link

--------------------------------- Spartan-3: Make it Your ASIC

Ok, so in otherwords its merely an inconvenience, not a show stopper.

good to hear. Up till now I was hesitant to buy the Spartan3 starter kit (the $99 board) because I didn't want to waste my money on something that would just sit around because I couldn't get it working under Linux. Now I'm probably goint to order it in the next few days. Thanks for your work on this!

Isn't there a free Linux version of the WebPack that only lacks the Impact programming tool? (maybe not, as I recall someone said that Xilinx used to the MainWin tool to port to Linux and MainWin requires a per/seat license).

Is there a particular version of Wine that you're running the Xilinx tools under? Any special tweaks to know about?

Phil

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required