Does anyone know of any open-source software which will program an XCF04S (Xilinx serial PROM) on JTAG? It also needs to issue a CONFIG command to start configuration.
Thanks -
Evan
Does anyone know of any open-source software which will program an XCF04S (Xilinx serial PROM) on JTAG? It also needs to issue a CONFIG command to start configuration.
Thanks -
Evan
Evan Lavelle schrieb:
JDrive should do the job:
You can also check what algorithms openwince supports:
Kolja Sulimma
thanks - looks good.
Evan
Kolja Sulimma schrieb:
1) JDrive does not support XCF ASFAIK 2) openwince defenetly does not support XCFthe programming specs for XCFxx are not public! it is of course possible to program then from your own apps using your own software
Antti
This seems rather silly. A real product doesn't have a parallel IV (or any of the other Xilinx hardware) attached, nor does it have iMpact. Indeed, a large number of real soltuions probably don't have a 'standard' OS, yet we want to be able to program the device in-situ
**in the field**.I looked around the Xilinx site just now and I admit I can't find a document that states 'to program the XCFxxx, issue a , followed by and read . Of course, that's not saying much. Although they've got better, the Xilinx site search still leaves something to be desired .
To do that requires the spec for programming the XCF configuration device. I guess I could fairly easily figure it out with a serial analyzer, but it would be nicer if Xilinx simply published the spec. Just think, people would *want* to use it because they can write their own software to program the device in-situ.
Of course, that requires thought beyond the NDA boundary ;)
Cheers
PeteS
PeteS schrieb:
Hi Pete,
the amount of RE involved is rather minimal, the most stuff that is not known is relevant to XCFxxP devices only the XCFxxS have less thing to worry about. I have full working custom XCFxxP programming software - and gosht I had real headache getting it working.
And dont look and dont ask - the specs are not available under NDA either. Just plain not available. Most of the stuff can be retrived from BSDL file, the rest you can retrive by looking at impact generated SVF - the rest is painful trial and error. Thats the only way todo it as official docs are not obtainable at all.
Antti
Perhaps I am missing something, but I was going to program XCF parts with a XSVF player as described in XAPP058....
/Mikhail
MM schrieb:
this *MAY* work
but have you looked how large is SVF file for XCF32P with verify on !?
Antti
No, I haven't :) However, I only need to program XCF08P... So, what's the ratio of svf/bit size-wise? Also, I believe the whole point of xsvf is that it is substantially smaller than svf... So, really the question should be what's the ratio of xsvf/bit?...
/Mikhail
If you want to use this to make your own on-board programmer I strongly suggest to stay away from writing your own JTAG for programming Xilinx devices. Been there, won't go there again. JDrive looks nice, but it is a huge piece of software.
You are probably better off using an SPI compatible flash like the M25P from SGS-Thomson
In one of my designs I connected Dout from such a flash memory to the Din of an FPGA (thru an AND gate, so not all data is pumped into the fpga). The FPGA is programmed by simply reading the flash memory after activation the program pin. A 200kB configuration takes less than 2 seconds to load using a 6MHz microcontroller without DMA facilities.
Another advantage is that you can use the SPI flash memory to store other stuff as well.
-- Reply to nico@nctdevpuntnl (punt=.) Bedrijven en winkels vindt U op www.adresboekje.nl
Antti schrieb:
We use it on our time to digital converters to programm XCF02S.
Kolja Sulimma
Kolja Sulimma schrieb:
then I was misinformed
Antti
Kolja Sulimma schrieb:
Kolja
you are just lucky (more than I was)
1) at the time I needed to program the XCFxxP devices even the BSDL files for the XCFxxP were not available (and as JDrive depends on them it couldnt possible be used at time).2) Secondly there is an errata on some XCFxxP parts saying that programming only succeeds with JTAG clock above 3MHz, and JDrive bitbang IO doesnt guarantee that clock rate. Ok it is possible to desing high speed jtag interface and make JDrive to support it.
3) I still wonder how are you able to burn an XCF device from .BIT (or binary) file using only the open-source code from JDrive? There is no open-source tools to create ISC files for XCFxxS or XCFxxP or I am misinformed again? XGEN1532 isnt even available any more (and I think it wasnt fully opensource anyway)?so I think it still stands that the XCF programming algorithm is not public neither there is full source code (from xilinx) that implements the algorithm. JDrive can playback ISC files but no opensource tool can generate them, so Xilinx prop. tools are needed anyway
Antti
Antti,
The readme_xc18v00_xcf00s.txt file included in the downloadables for XAPP058 highlights at least some of the differences between programming algorithms for XC18xx and XCF18xx parts. Don't know if it's of any use though...
/Mikhail
xc3sprog can program a Spartan 3 and a XCFxxS
I am looking at porting the programming algorithm to OpenOCD but I haven't actually started yet..
JDrive is a nice idea but the code is not portable and full of some pretty dubious constructs (try compiling it under gcc with -Wall).
I believe you can get the programming algorithm from the appropriate .bsd file, and/or the datasheet.
-- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au
Daniel O'Connor schrieb:
yes the algo can be 'reversed' from BSDL and SVF files, but the XCF datasheet does not include and programming info
Antti
If you are using Xilinx tools, your should be able to produce .xsvf files, and use them following the information in
I have usefully programmed Spartan-3s, but have not gotten to the xcf programming part. Documentation says it should work.
JimT
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.