Plateform FLASH PROM configuration using a Microblaze.

Hello all,

In a project, I use a Spartan-3 XC3S400 FPGA from Xilinx.

The design use a Microblaze CPU instantiated in the FPGA.

I use the Digilent Spartan-3 starter kit for prototyping. Note that the original XC3S200 FPGA has been removed, and replaced by a XC3S400 FPGA.

I want to erase/program the platform FLASH PROM installed in this board (the XCF02S IC) with a new FPGA configuration file, using the Microblaze CPU.

Xilinx application note xapp544 is a good starting point for doing this stuff. But, there are some information that is missing to be able to achieve this task. These informations are:

a) How long it take to program a PROM row (after the program row command has been sent to the PROM) ?

b) What is the format a FPGA configuration file (.bit, .mcs, .hex), and associated programmation algorithm to get the PROM programmed correctly ?

I was searching for more than 1 week about this information without finding anything. Is it possible that this information is confidential and can not be published ?

Claude Sylvain Electro-Technica inc.

Reply to
Claude Sylvain
Loading thread data ...

Have you already seen XAPP482? It explains how to store configuration file and software application into platform flash.

Marco

Reply to
Marco T.

"Claude Sylvain" schrieb im Newsbeitrag news:NhsQf.5254$ snipped-for-privacy@news20.bellglobal.com...

you are partially right :( the full programming specs of platform flash are confidential and have never been made available.

however all the required info can be obtained by looking at BSDL files and SVF files. So I have sucesfully created custom programming software that can program platform flash directly from .BIT files

Antti

Reply to
Antti Lukats

Yes, I seen it.

Unfortunatly, it do not include the information I want. The way the information is stored inside the configuration file, so I can build my own program to read and program the PROM.

Claude Sylvain Electro-Technica inc.

Reply to
Claude Sylvain

I already found the BSDL description of the XCF02S PROM

formatting link
.

But, I was not knowing anything about SVF files. That was the missing chain !

Based on what I read in xapp503

formatting link
the steps I will have to do are:

a) Convert the .bit configuration file to an .svf file, using iMPACT.

b) Build a custom program to read, interpret and program the .svf file into the PROM, using the Microblaze CPU.

I don't still know the time it takes to program a PROM row. Maybe it is in the XCS02S BSDL file, and I have missed it. Nervertless, it can be optained by doing iterative test.

Thank you for your help. That's exactly the information I want.

Claude Sylvain Electro-Technica inc.

Reply to
Claude Sylvain

"Claude Sylvain" schrieb im Newsbeitrag news:5%DQf.5551$ snipped-for-privacy@news20.bellglobal.com...

the timing is in SVF file if you look at it :) converting BIT to SVF makes real LARGE files, you are better to convert to XSVF, or depending your application just look at the SVF and implement the logic from there it isnt so complicated. most of the problems I had were related to special features of the XCF08P (parallel mode options) for XCF02s there should not be much magic required

Antti

Reply to
Antti Lukats

Claude Sylvain schrieb:

into

There is a GPL licensed SVF player available:

formatting link

Kolja Sulimma

Reply to
Kolja Sulimma

It can be useful.

Thank you.

Claude Sylvain Electro-Technica inc.

formatting link

Reply to
Claude Sylvain

I think that it will need some time to assimilate all the knowledge necessary to make this job done. But, I have no time constraint on this task, so it is not a problem.

Thank you again.

Claude Sylvain Electro-Technica inc.

Reply to
Claude Sylvain

Maybe the simpliest way to get the job done is to make a .svf file converter that convert a .svf file (that describe JTAG operation to program a PROM) in term of PROM row content; and use the row programming algorythm included in xapp544 to program each PROM row.

This way the file that hold PROM information to program appear exactly the same as a "standard" EPROM file that can be in S-Record or Intel Hex format. This kind of file can be easily uploaded from an host computer to the Microblaze CPU.

Claude Sylvain Electro-Technica inc.

Reply to
Claude Sylvain

"Claude Sylvain" schrieb im Newsbeitrag news:Z0YQf.121$ snipped-for-privacy@news20.bellglobal.com...

there is no need for that, just program the .BIT file into the PROM, then write your own data after the bitstream data, no need to convert to svf

antti

Reply to
Antti Lukats

Oh! ok.

So simple, that I forgot that it can be done like that.

But it is not really the truth. Some days ago, I read the first row on an XCF02S PROM, using xapp544 source code, and compare the values with the one found in the corresponding "download.bit" file. Unfortunately, the values did not match. Meaning that the "download.bit" file did not contain the "memory equivalent" of the PROM.

Maybe I done something wrong when doing this test !? Maybe some simple translation have to be made. Like inverting row bits, or something like that.

I will look for that.

Thank you again.

Claude Sylvain Electro-Technica inc.

Reply to
Claude Sylvain

"Claude Sylvain" schrieb im Newsbeitrag news:Iq_Qf.488$ snipped-for-privacy@news20.bellglobal.com...

if you read first locations - raw data !! out of xcf0xs that holds a valid bitstream then you must see ff ff ff ff 99 66 aa 55 or something alike the bit order may be reversed in the bytes

I said .bit file, well a bit file can be programmed as is, eg included the text header as it want hurt, but you may strip anything before the ff ff ff ff <

xapp544 tries to use the free platform flash area as read-write eeprom so it adds some special flags to rows to mark then free or dirty, if you are looking for bitstream data then you need to check the plain raw readback data from platform flash, it really really does containt the bitstream with no magic applied, you can consider the platfrom flash as normal serial memory that can be read and written using custom jtag instructions

antti

Reply to
Antti Lukats

Interresting.

So, my first try will be to program the .bit file content directly into the PROM. Further more, maybe I will try to remove unnecessary informations from the .bit file before programming it into the PROM.

Thank you.

Claude Sylvain Electro-Technica inc.

Reply to
Claude Sylvain

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.