UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
31,589 Views
Registered: ‎08-13-2007

SPI and BPI indirect programming with impact 9.1

Hi
 
jippie jee, Impact 9.1 is now really able to program the SPI and NOR flash via JTAG-indirect method !!!
 
but it did take long time for me to realize this :(
 
 
Antti Lukats


Message Edited by xilant on 08-17-2007 02:02 PM
0 Kudos
30 Replies
Xilinx Employee
Xilinx Employee
31,499 Views
Registered: ‎08-07-2007

Re: SPI and BPI indirect programming with impact 9.1

Yes, but indirect programming SPI flash has not been supported on Spartan-3A DSP family.
This will be supported by iMPACT 9.2.03i, which will be released in mid September.
------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
0 Kudos
Explorer
Explorer
31,495 Views
Registered: ‎08-13-2007

Re: SPI and BPI indirect programming with impact 9.1

Yes, you are right the .COR files are missing for S3ADSP
 
anyway I have been using my own IP cores and software for SPI indirect programming for a very long time already so I can flash any spi chip connected to any FPGA :)
 
but it is VERY nice to see that the SPI-inidirect is finally getting into xilinx mainstream tools, I know at least one project which was "design loss" for S3A from the ONLY reason that Impact did not support spi-indirect feature and xilinx had made no announcements regarding the availability of such a feature in future software releases.
 
Antti Lukats
0 Kudos
Newbie go4sandesh
Newbie
31,370 Views
Registered: ‎09-17-2007

Re: SPI and BPI indirect programming with impact 9.1

Hi xilant.......it appears that u've worked on the BPI programming support in Virtex 5.... can u tell me wat u did...any problems u faced ??? i've a query....can u plz have a luk @ this In appln note "Indirect Programming of BPI PROMS" , the Step 5 : Specify a BPI PROM Density (in BPI PROM file generation part) says (Click Add to select this density. Leave all the other options at their default settings and click Next to proceed to step 5 of the process. "Caution: The PROM data-width must be x8 for the PROM file format" ) i wanna ask tht although it has been very clearly said that iMPACT supports only x16 data width....then why is it asked to keep data-width to x8 ...n not x16......... also it says to leave all options to default settings which also includes RS(revision select) pin settings ( by default its 27:26)....but if RS pins need to be connected to some other pins say 22:21 , then will these default settings wont affect the design...... i think xilinx should soon come out wid the explainations to these queries in the next revision of this appln note....... but thought to ask someone who has really worked on it......
0 Kudos
Explorer
Explorer
31,326 Views
Registered: ‎08-13-2007

Re: SPI and BPI indirect programming with impact 9.1

sorry no.
not played with V5-BPI at all yet
 
Antti
0 Kudos
Newbie xilinxmatt
Newbie
31,039 Views
Registered: ‎11-09-2007

Re: SPI and BPI indirect programming with impact 9.1

So that's why I get the error message "xc3sd1800a_spi.cor file missing" when I try to download indirectly my configuration file via JTAG on the Spartan-3A DSP 1800A Starter Kit. I recently spent a week of going back and forth between online tech support trying to get the direct method working. Now, Xilinx is telling me that neither iMPACT nor XSPI support the Intel SPI Flash (S33) and that they have just developed a special program called XIP and app. note (yet to be released) to deal with this board.

Have you, or anybody else, ever downloaded either the serial (SPI) or parallel (BPI) Intel Flash on this Spartan-3A DSP 1800A Starter Kit? I simply need a non-volitile solution (not configure via JTAG every time I power-up the board).
0 Kudos
30,742 Views
Registered: ‎01-06-2008

Re: SPI and BPI indirect programming with impact 9.1

Hi,

I'm trying to program  the BPI-indirect programming for Spartan-3A DSP 1800 A board using iMPACT ( ISE 9.2.03i). I created the MCS file, but i'm getting errors during configuration.

Validating chain...
Boundary-scan chain validated successfully.
PROGRESS_START - Starting Operation.
INFO:iMPACT - Created an MDM Uart Interface
INFO:iMPACT - Created an MDM FSL Interface
Populating BPI CFI ...
ERROR:iMPACT - Failed to query configuration file information.

Has Anyone successfully programmed the Intel Flash in BPI mode in Spartan-3A DSP 1800 board? If so let me know the steps.


0 Kudos
Highlighted
Voyager
Voyager
30,730 Views
Registered: ‎10-01-2007

Re: SPI and BPI indirect programming with impact 9.1

BPI indirect programming for the Spartan-3A DSP 1800 doesn't work as of iMPACT 9.2.04 (with the "Failure to query configuration file" error).  Xilinx is aware of this issue and is working on it.
 
I have successfully configured using BPI on the Spartan-3A DSP 1800 board.  I converted the MCS file to binary and then used the XPS Flash Programmer to erase and program the flash. 
 
Although I haven't done it, another option is to port the NOR Flash Programmer for the Spartan-3E Starter Kit to this kit.
 
If you're simply interested in exercising your flash, you can try the attached test bitstream.  It requires a HyperTerminal connection at 115200, 8 data bits, no parity, 1 stop bit, no flow control.  If people are interested, I can post this MicroBlaze design which would also have the XPS Flash Programming capability.
 
Bryan
 
0 Kudos
30,704 Views
Registered: ‎01-06-2008

Re: SPI and BPI indirect programming with impact 9.1

Hi,

I tried using XPS Flash writer but wasn't successful.

Can you post your MicroBlaze design or mention the steps that u did using Flash writer.


Sundar
0 Kudos
Observer yadav.jvk
Observer
30,618 Views
Registered: ‎01-07-2008

Re: SPI and BPI indirect programming with impact 9.1

Hi Bryan,
 
How to convert MCS file to Binary file?
 
What do u mean by exercising Flash?
 
I am interested in writng user data to Spartan 3E 1600 Dev. Board's Intel Strata Flash. Can u please tell me how to acheive this!
 
jvk
0 Kudos
Voyager
Voyager
26,175 Views
Registered: ‎10-01-2007

Re: SPI and BPI indirect programming with impact 9.1

jvk,
 
The example design exercises the flash by reading the mfg/device IDs, erasing, writing, and then reading and comparing.
 
The complete design, including the MicroBlaze hardware platform, the test code, and instructions for using XPS Flash Programmer and converting MCS to binary is now posted on the Avnet DRC:
 
This is targeted at the Spartan-3A DSP 1800A Starter, but the procedure and even the code will be the same for the 3E1600 board since it also uses the Intel J3 flash.
 
You'll need ISE 9.2.03 and EDK 9.2.01 as a minimum.  Don't forget to set XIL_ROUTE_ENABLE_DATA_CAPTURE (http://www.xilinx.com/support/answers/23907.htm) before running XPS.
 
Bryan
 
0 Kudos
Observer yadav.jvk
Observer
26,163 Views
Registered: ‎01-07-2008

Re: SPI and BPI indirect programming with impact 9.1

Hi Bryan,
 
 
Thanx a lot and so kind of u. The example u said is really great and its working with SP3 1600E board.
 
jvk
0 Kudos
Visitor swhaworth
Visitor
26,130 Views
Registered: ‎10-24-2007

Re: SPI and BPI indirect programming with impact 9.1

Hi,
 
I have just got a Spartan 3A DSP 1800 Starter Kit and I am looking to program it permanently.  From that Avnet download I understand that the best way to achieve that is to:
 
  1. Set JP9 to JTAG mode and turn it on.
  2. Build a Microblaze design with an EMC core in it (basically that design you included).
  3. Download the EMC design into the Spartan using Boundary Scan mode in Impact.
  4. Build my design and convert the BIT file to a BIN file using the included utility (MAKE_BPI_UP.BAT).
  5. Start the Flash Programmer in XPS and use it to upload the converted design into the flash.
  6. Turn off the board.
  7. Set JP9 to BPI mode and turn it on.
  8. New design is running.

Is this the correct and best way to program this board?  What use is the SPI memory on the board then?

Thanks for any help,

Steve

0 Kudos
26,131 Views
Registered: ‎01-06-2008

Re: SPI and BPI indirect programming with impact 9.1

Hi Steve,
 
You have used the Parallel Flash in the Board, there is also way to program the SPI Flash. I think in the same Avnet site the system & documentation are present.
 
Currently SPI direct programming only works. Soon indirect programming using iMPACT will also be available.
 
I've used this & was able to use SPI FLash for configuration.
 
Thanks
Sundara
 
 
0 Kudos
Voyager
Voyager
26,106 Views
Registered: ‎10-01-2007

Re: SPI and BPI indirect programming with impact 9.1

Multiple configuration options are available on the Spartan-3A DSP Starter as references.  Typically, a person will select just one of those methods.  The co-existence of the serial and parallel flash on the board is simply to provide you with multiple options with which to experiment.
 
The BPI programming method using MicroBlaze is one programming option.  This is a very good option if you are also interested in bootloading the MicroBlaze processor from the parallel flash.
 
For those that don't have EDK or simply want non-volatile storage for configuration, then the serial flash or using iMPACT to indirectly program the parallel flash are good options.  See the following Xilinx Answer Records for more details:
 
This board supports JTAG configuration of the FPGA.  Another option on this board for configuring the FPGA with non-volatile flash is to use Xilinx SystemACE with CompactFlash.  This is possible with an accessory plug-in module from Avnet, the SystemACE Module (www.em.avnet.com/systemace).
 
Bryan
0 Kudos
Observer yadav.jvk
Observer
25,961 Views
Registered: ‎01-07-2008

Re: SPI and BPI indirect programming with impact 9.1

Hi Bryan,
 
Earlier you helped me in reffering the solution to storage of user data onto flash memory of SP3 dev kit.
 
I have followed the same and its working fine.
 
Now i want to do the same on the custom board but here its Atmel flash with no byte enable and different command set for write,read and erase operations. I am following the similar method like updated the EMC parameters as per the Atmel data sheet. Swapped the data and address lines of EMC(since the EMC datasheet says its Big-endian) to connect to the flash( i assume the flash is little-endian). But when i read the manufacturer/product ID i am getting only FFFF. what i doubt is, what should be the value of DN paramter (pg#26 of EMC datasheet).
Can you plz suggest what could be the bug.
 
Regards
kondaiah yadav
0 Kudos
Voyager
Voyager
25,931 Views
Registered: ‎10-01-2007

Re: SPI and BPI indirect programming with impact 9.1

kondaiah yadav,
 
DN is not a parameter that you as the user set.  This is something that is used internal to the core.  If you have just one flash device attached to the bus, then this parameter is 0.
 
Which Atmel flash are you using?  I'd recommend finding a working example for a similar Atmel flash, if possible, and comparing with what you have.  If you can tell me which device you are using, I might be able to help with that as we have used two different Atmel parallel flash in the past.
 
To do it manually, I would double-check the MHS, UCF, and schematics to make sure the connections are correct (endian-swapped between flash and emc controller as you said).  You could also use ChipScope to see if the data that you think is being written to the flash is really happening on the correct pins.
 
Regards,
Bryan
 
 
 
0 Kudos
25,712 Views
Registered: ‎03-19-2008

Re: SPI and BPI indirect programming with impact 9.1

Hello,
 
ist it possible to program the Spartan 3E series? I tried it with the XC3S250E, but ther came up the error (see attachement), that this device does not support the external programming of SPI flashs. Has anyone a bitstream witch works? Or how can I create such a bitstream?
Thanks!
xilinx_meldung.bmp
0 Kudos
Voyager
Voyager
25,697 Views
Registered: ‎10-01-2007

Re: SPI and BPI indirect programming with impact 9.1

0 Kudos
25,616 Views
Registered: ‎03-19-2008

Re: SPI and BPI indirect programming with impact 9.1

Thank you very much for the answer!
I just tried it with Impact 10.1, but it breaks up the programming always at 26%. I attached the picture of the JTAG Chain. I did everything according to following document:
http://www.xilinx.com/support/documentation/application_notes/xapp974.pdf
I use a M25P40 SPI Flash with 4Mbit and the WP and CS pins are driven High. On the Log File (attachement) I saw that the IDCODE was read correctly.
What can I do?
Thanks!




// *** BATCH CMD : Program -p 2 -spionly -e -v
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'2': SPI access core not detected. SPI access core will be downloaded to the device to enable operations.
INFO:iMPACT - Downloading core file D:/Install/Xilinx/10.1/ISE/spartan3e/data/xc3s250e_spi.cor.
'2': Downloading core...
PROGRESS_START - Starting Operation.
done.
'2': Reading status register contents...
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0011 0111 1001 1000 0000 0000 0000 0000
INFO:iMPACT:2492 - '2': Completed downloading core to device.
INFO:iMPACT - '2': Checking done pin....done.
'2': Core downloaded successfully.
'2': IDCODE is '12' (in hex).
'2': ID Check passed.
 '2': IDCODE is '12' (in hex).
'2': ID Check passed.
 '2': Erasing Device.
'2': Programming Flash.
'2': Reading device contents...
Failed at address, 0
'2': Verification Terminated
PROGRESS_END - End Operation.
Elapsed time =     11 sec.
JTAG_Chain2.PNG
0 Kudos
20,521 Views
Registered: ‎03-19-2008

Re: SPI and BPI indirect programming with impact 9.1

Sorry, there is a mistake on the last reply, the CS pin is not driven High, it is on pin 38 from the FPGA (Spartan 3E).
Thanks!
0 Kudos
20,461 Views
Registered: ‎03-19-2008

Re: SPI and BPI indirect programming with impact 9.1

Your alternatives are the PicoBlaze Programmer:
 
 
Bryan


Hello,
has anybody the Project of the PicoBlaze Programmer? I use other ports than the starter kit, I use Pin 24 for Rx and Pin 25 for Tx.
Or has anybody testet it with Impact 10.1, to programm the SPI Flash indirect?

Thanks!
0 Kudos
Observer joshi_prashant
Observer
19,581 Views
Registered: ‎04-09-2008

Re: SPI and BPI indirect programming with impact 9.1

Hi Bryan,

 

Could you please upload the reference design for NOR flash programming.

 

 

0 Kudos
Voyager
Voyager
19,561 Views
Registered: ‎10-01-2007

Re: SPI and BPI indirect programming with impact 9.1

There are several reference designs for NOR flash programming already posted.  The PicoBlaze NOR flash programmer is posted for both the Xilinx Spartan-3E and Spartan-3A starter boards.  See the reference designs on the Xilinx web.

 

Avnet has posted XPS flash programmer examples for the Spartan-3E and Spartan-3A DSP Starter boards at www.em.avnet.com/drc.

 

The latest iMPACT will also indirectly program the Intel J3 NOR flash on the Spartan-3E and Spartan-3A DSP boards, although I'm not aware of any documentation that shows that step-by-step.

 

As far as I'm aware, the PicoBlaze NOR flash programmer has not been ported to the Spartan-3A DSP Starter board yet.

 

If you have trouble finding any of these, or if you had something different in mind, let me know.

 

Bryan

 

 

0 Kudos
Visitor keep28
Visitor
14,486 Views
Registered: ‎08-02-2009

Re: SPI and BPI indirect programming with impact 9.1

 

 

I have this exact same problem.

 

I can program a 500E no problems. But I get this failure mode in a design that is exactly the same design, but populated with a 250E, and it will not program its SPI FLASH - it fails with ;

 

 '1': IDCODE is '13' (in hex).
'1': ID Check passed.
 '1': Erasing Device.
'1': Programming Flash.
'1': Reading device contents...
Failed at address, 0
'1': Verification Terminated
PROGRESS_END - End Operation.
Elapsed time =     19 sec.

 

 

 

Is there a bug in "xc3s250e_spi.cor" for PQ208? - I went to log a case with xilinx, but xilinx want to interview me before they consider me suitable for logging cases.

 

0 Kudos
Newbie morksys
Newbie
14,270 Views
Registered: ‎08-29-2009

Re: SPI and BPI indirect programming with impact 9.1

I need a little programming help!
I'm looking for someone who can help on a project I been working on. I designed a unbuffered jtag (14 pin EJTAG) standard to connect and communicate to a DCT cable box for testing purposes using "Tom's jtag utility v1.3". The utility does recongnize the chipset but not the flash and I have limited knowledge of programming as I am experienced in electronics. I know the .def file needs modding as I have tried with no success. Anyone who thinks they can help with properly modding the .def file so it will pick up the flash could either post a reply or PM me.

This is a alternative way of testing DCT comcast boxes. As I will share all the info on this project when its completed as freeware

Any help would be appreciated!
THANKS
Tags (3)
0 Kudos
Visitor engrkhurram
Visitor
13,601 Views
Registered: ‎11-24-2009

Re: SPI and BPI indirect programming with impact 9.1

Hello bryan

h r u

iam new to this forum and also in fpgas programming iam novice

 I need ur urgent and detailed help in my problem
Actually i need to interface a Mp2580 SPI 8Mbit serial flash with FPGA to store my data in it.
I need a MP25X80 or MP25X16 spi serail flash driver in verilog (along with documentation if possible) which write data into the flash and read back the stored data. 
 while going through the forum i just read that u have helped someone in storing and retrieving data in spi flash

 i will be really thankful for ur help

0 Kudos
Visitor engrkhurram
Visitor
13,600 Views
Registered: ‎11-24-2009

Re: SPI and BPI indirect programming with impact 9.1

hi xilant

 

iam new to this forum and also in fpgas programming iam novice

i just read ur post in which u said u can interface any spi flash memmory with fpga

 I need ur urgent and detailed help in my problem
Actually i need to interface a Mp2580 SPI 8Mbit serial flash with spartran 3A  FPGA to store my data in it.
I need a MP25X80 or MP25X16 spi serail flash driver in verilog (along with documentation if possible) which write data into the flash

and read back the stored data. 
 i have spartan 3a starter kit with spi M25PX16

 

 

 i will be really thankful for ur help

0 Kudos
Voyager
Voyager
13,583 Views
Registered: ‎10-01-2007

Re: SPI and BPI indirect programming with impact 9.1

I have always used MicroBlaze for this type of function.  MicroBlaze has a built-in SPI peripheral, including drivers.  I don't have an example of this for the Spartan-3A Starter board, but there is one for the Avnet Spartan-3A Evaluation board.  Look for > MicroBlaze Serial Flash Test after going to www.em.avnet.com/spartan3a-evl --> Support Files & Downloads.  It uses Spansion Flash, but the process with the M25P Flash should be nearly identical.

 

Xilinx created a very good example using PicoBlaze to program flash.  You can see this example for the Spartan-3A Starter board with Atmel SPI Flash at:

   http://www.xilinx.com/products/boards/s3astarter/reference_designs.htm

 

 A PicoBlaze programmer for the M25P Flash was created for the Spartan-3E Starter board:

   http://www.xilinx.com/products/boards/s3estarter/reference_designs.htm

 

Bryan

 

0 Kudos
Visitor vishwanath
Visitor
13,564 Views
Registered: ‎11-29-2009

query on flash programming

Hi,

   I have a very basic query over flash programming.I am using EDK for generating hardware(.bit) file and software file(.elf) and final downloadable .bit file using "update bitstream" option in EDK.Now after this i m generating PROM file making use of this downloadable .bit file through impact environment.my question is where this software file is residing in FPGA on power on reset?is it configuring both hardware and software files onto the FPGA on Power on reset?What if software file is very large which cant be accomodated in FPGA's onchip memory?if it is possible then how this software file is loaded into an FPGA?

 

If anyone could answer this query i would be thankful.

Thank you,

Regards

Vishwanath

0 Kudos