05-01-2012 03:16 AM
I want to write a 1MB data file to the flash on my Spartan 3E starter kit. After the data is written, I want to read the data, process it and output it from the FPGA. The processing part has already been written in the form of a verilog code in Xilinx ISE.
Can someone guide me as to:
1. How to write the 1MB data file to the flash?
2. How do I read from flash and interface it with my Verilog code?
05-01-2012 05:45 AM
Can someone guide me as to:
1. How to write the 1MB data file to the flash?
You should be able to access the configuration memories from iMPACT. Have you tried this?
You can access the SPI and Strataflash memories from the FPGA
2. How do I read from flash and interface it with my Verilog code?
-- Bob Elkind
05-01-2012 08:20 AM
Can someone guide me as to:
1. How to write the 1MB data file to the flash?
You should be able to access the configuration memories from iMPACT. Have you tried this?
You can access the SPI and Strataflash memories from the FPGA
Using iMPACT, can I write any file to the Flash or just write the complied code (.bit) to the flash? Also, I believe that the data needs to be written in specific block of memory so that it does not overlap with any other code written to flash (for example, verilog code which needs to be loaded into FPGA on boot). Am I correct?
2. How do I read from flash and interface it with my Verilog code?
If I am correct, there are two flash memories - NOR Flash as well as SPI Flash. I am not sure which one I should use.
After reading the datasheet, I can use the timing diagram and write a verilog code to access the memory. But I am looking for a simpler method. I know that using Xilinx Platform Studio (XPS), it generates BSP documentation which can be used in Xilinx SDK to write the code easily. I am looking for something on similar level.
I tried doing the same using Flash in XPS + SDK, but somehow the BSP documentation says that I cannot access flash using this process and I am completely confused.
Any other alternative way than the above?
-- Bob Elkind
05-01-2012 08:56 AM
Using iMPACT, can I write any file to the Flash or just write the complied code (.bit) to the flash? Also, I believe that the data needs to be written in specific block of memory so that it does not overlap with any other code written to flash (for example, verilog code which needs to be loaded into FPGA on boot). Am I correct?
Yes, you are correct.
Consider the possible uses you have for on-board memory:
You have two non-volatile memories on the board:
I believe that the Spartan-3e device can boot (configure) from either of the two memories.
I believe that MicroBlaze (if you use this in your design) can run code from StrataFlash, but not SPI memory.
After sorting out how much memory space you need for configuration (the Spartan-3 configuration user guide tells you how much configuration data storage is needed) and MicroBlaze code, whatever you have remaining (and the memory address space which is remaining) is available for your file data.
There is no hard-wired memory interface controller in Spartan-3e devices which is available in "user" mode (rather than self-configuration mode). You will need to provide the design of the memory interface controller, either by using existing code or writing your own code. For either of the memories on the board, the interface is quite simple. The device datasheets provide good descriptions of the interfaces.
-- Bob Elkind
11-26-2013 10:33 PM
Hi,
I am facing the same problem. I have created a NOR FLASH Controller and wanted to test on Intel Strata Flash Parallel NOR flash PROM(on board chip).
Confusion:-
1) Status bit has been speciifed as B18 pin of FPGA, while, creating ucf file B18 pin option is not available.
2) How can I access or choose the flash to access??
----
Yes, I am a new bee in the this field. Thanks for helping.
02-05-2014 01:44 AM
can u pls forward the processing part to write to the flash on spartan 3E starter kit and read the date, process it and output it from the FPGA written in the form of a verilog code in Xilinx ISE to email id harinirao.ec@gmail.com . As i am finding it hard and have to complete this within a short duration in my internship. it will be very helpfull if u do this to me.
thank u,
02-13-2016 09:39 PM
Facing the same problem can any1 please help me.
https://forums.xilinx.com/t5/Xilinx-Boards-and-Kits/Nexys2-writing-flash-issue-Help/m-p/681339
02-15-2016 01:41 AM
The following reference designs with source code and documentation are available from...
http://www.xilinx.com/products/boards/s3estarter/reference_designs.htm
PicoBlaze RS-232 StrataFlash™ Programmer
Turns the Spartan-3E FPGA into an Intel StrataFlash programmer. The FPGA connects to a PC via an RS232 UART. Via HyperTerminal (not included), download an MCS file to the Intel StrataFlash parallel NOR Flash memory, check the memory ID, bulk erase the entire 128Mbit Flash, and read and write Flash data.
PicoBlaze Processor SPI Flash Programmer
Turns the Spartan-3E FPGA into an SPI serial Flash programmer. The FPGA connects to a PC via an RS232 UART. Via HyperTerminal (not included), download an MCS file to the STMicro M25P16 SPI Flash, check the memory ID, bulk erase the SPI Flash, and read Flash data.
Even if you do not use these designs in your final implementation they provide a way to peek, poke and erase the flash memories on this board and learn how these operations work.
02-15-2016 02:35 AM
Well sir the problem is that this is partially my fyp and i am a student.
I have to use bluetooth to sent in a bit file. save it on 1 board. Process its and sent it to another board's jtag programming it.
I dont think I will be allowed to use this.
The problem is that I dont get as to why my basic code as posted above is not allowing me to write into strata flash. I can even read the files written on to my flash. ( using adept software to check).
Can u please help me debug my code ? or give me an idea as to why it is not working ?
02-15-2016 02:53 AM
'xainalvi' please see your original thread.