- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am in the process of extending the capability of a custom FPGA board that contains a Cyclone III and a StrataFlash 256 MByte flash. Currently the board only uses the flash to store configuration data. The FPGA flash interface is configured in AP mode and the flash is currently loaded by an instantiation of the Programmable Flash Loader in HDL. I would like to use this flash as a storage medium for configuration data and user data that would be accessed during operation. Is this a problem somebody has tackled?
As a first step I would like to be able to load the flash with the configuration and user data. Then I would like to configure the device and be able to read random addresses from the memory space representing user data. If that works then I would need to put appropriate user data in and interface that to my custom processing modules.- Should I use the NIOS II processor to interface to flash?
- If so how would I get the data from the NIOS II processor into custom processing modules on the FPGA.
- How would I inform the NIOS II processor that the custom processing modules are ready for a new piece of data from flash?
- How generalized is the tie in for custom modules in the SOPC Builder?
- Would it be a better approach to write a CFI controller because of ties to custom processing modules?
- Is there a core for a CFI controller that I have overlooked?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Using a CPU is the easiest way of doing it IMHO. There is a CFI flash controller for Nios.
If the data transfer doesn't need to be fast, you can write a simple protocol in software and use PIOs to interface with your modules. As an example a single bit input to the CPU to signal that the module is ready, a parallel output from the CPU with the data, and an additional output to say the data is valid. If you need faster transfers, you should have a look at Avalon Streams. You can add a SGDMA to your CPU that can read a block of memory and put it into the stream. The transfer flow can be controlled by your hardware through the ready signal. Hope this helps!- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, I appreciate the input on the Nios Processors capabilites. I have not worked with an embedded soft processor so the guidance is very helpful. I'm sure I'll have more to add to this thread as I get further into the design.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page