Low Cost Microcontroller SD/MMC/SPIflash FPGA Config

Low Cost Microcontroller SD/MMC/SPIflash FPGA Config


Category: Uncategorized

Created: January 07, 2007

Updated: January 27, 2020

Language: Other

Other project properties

Development Status: Stable

WishBone compliant: No

WishBone version: n/a

License: n/a


Configure Altera and Xilinx FPGAs using a small low cost micro-controller and commodity SD/MMC/SPI flash memory.

There are already solutions available that use a CPLD and SD/MMC/SPI flash memory, but this scheme uses a very small C8051 micro-controller in place of the CPLD, and this has several advantages.
1. Smaller. C8051 is available in a 4mm x 4mm package.
2. Very few additional components. eg C8051 has internal oscillator.
3. Less programming headers. Only one small header required.
4. A local microprocessor can be connected to the C8051 UART port, and program the flash memory using a few simple commands.

Downloads configuration files at 2Mbps. For example a Cyclone EP1C20 can be configured in under 2 seconds.

The total solution is very compact requiring only 2 ICs, 1 programming header, 1 resistor, and 2 capacitors.

To program the SD/MMC/SPI flash memory on your target hardware, you can purchase the Base2Designs USB2Flash programming adapter (http://www.base2designs-store.com).


- Low cost.
- Customer can upgrade hardware by replacing SD card.
- Wide choice of flash memory manufacturers.
- Large flash memory capacity.
- Flash memory can be used to store large software images.
- Fail safe in field re-programming.


Release 1.0 available. Tested with Altera and Xilinx FPGAs. Download from http://www.opencores.org/pdownloads.cgi/listfpgaconfig
If there is enough interest I will port the C8051 firmware to a USB capable microcontroller. This would allow end customers to upgrade their hardware directly from a PC.

IMAGE: fpgaConfig_system_block_diag.gif

FILE: fpgaConfig_system_block_diag.gif

IMAGE: altera_config.png

FILE: altera_config.png


See fpgaConfig used in a complete project at: