Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Loading FPGA configuration from SD card

Status
Not open for further replies.

shaiko

Advanced Member level 5
Advanced Member level 5
Joined
Aug 20, 2011
Messages
2,644
Helped
303
Reputation
608
Reaction score
297
Trophy points
1,363
Activity points
18,302
Hello,

will it be possible to load an FPGA directly from an SD card (without any "middleman" device) ?
 

I don't believe so. An SD card does not simply present an SPI flash memory interface. It starts up in SD mode and must be configured into SPI mode. An FPGA won't do that.

Take a look at these two documents for details:

**broken link removed**

Configuring Xilinx FPGAs with SPI Serial Flash

Besides, if it could be done without an interface, then the MCU and CPLD based interfaces wouldn't exist.
 
  • Like
Reactions: shaiko

    shaiko

    Points: 2
    Helpful Answer Positive Rating
It can't work without a microprocessor handling the SD card interface. SD cards are designed as file based mass storage device, so there's no obvious method where a built-in FPGA loader should read the configuration image.

Well defined methods like DOS bootsector are limited to small data blocks. You would want to define a default filename for the configuration image, but the loader needs to handle FAT file systems etc. Definitely beyond the capabilities of a hardwired loader.
 
  • Like
Reactions: shaiko

    shaiko

    Points: 2
    Helpful Answer Positive Rating
Do you think there'll be a market for such a device ?
a card that fits in an SD slot with embedded FLASH/CPU...
 

I Doubt it.
Flash chips and microprocessors are pretty cheap, and its usually just easy to have the flash writable from the microcontroller to load the new FPGA image (if you dont want to do it via JTAG). That allows you then to load the new image via ethernet, usb, rs232, or whatever interface the processor supports (at least this is what we have on our boards with an ARM running linux). Older boards are loaded to flash via a custom bootloader.
 
  • Like
Reactions: shaiko

    shaiko

    Points: 2
    Helpful Answer Positive Rating
Back to my first question - loading the FPGA from SD without any additional PCB Flash ROM.

What about Hardcore FPGA CPUs ?
If the output of the SD card is traced to the pins of a hard CPU on the FPGA IC ?
Do you think it would work?
 

micro-sd cards do support a 25mbps spi interface. there is a lot of protocol involved, and for commercial ventures you must read the full spec (eg, your card might not need all wait/busy features, but others might). It is a somewhat involved task though.

that said, a $3 uC and a $100 FPGA is often a better choice than a $200 FPGA and a year of development. only in the most area- sensitive designs will it matter.
 

What about Hardcore FPGA CPUs ?
If the output of the SD card is traced to the pins of a hard CPU on the FPGA IC ?
Do you think it would work?

Are you referring to a particular device? It can work if and only if the manufacturer has implemented a SD card bootloader in hardware. Never heard about such a thing, but possible - in principle.

P.S.: It seems that the newly announced Altera Cyclone V and Arria V SoC FPGAs have the feature to boot from SPI flash, NAND flash or SD card and configure the FPGA afterwards.

**broken link removed**

Referring to permute's comment: The said devices are dedicated to high performance processing applications. You won't use them just as a FPGA bootloader.
 
Last edited:

Not a particular device...Just an idea.
Will a hard SD card bootloader peripherial require a lot silicon from the FPGA die ?
 

I don't think, that SD card as condiguration source is of much interest in generic FPGA designs. The most simple hardware topology is still FPGA+serial or parallel flash, directly supported by the built-in configuration controller. If your application has special requirements, you can implement a remote update scheme, that reloads the flash from a SD card.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top