SD Card and FPGA

It seems that the SD/MMC cards get popular for FPGA designs today. These cards are real consumer products and are in effect cheaper than bare NAND chips (for low/medium volume). I would like to summarize the facts I've found in c.a.f [1] and on various web sites.

SD Cards are now considered for configuration of an FPGA. One of the first projects, done by Antti, uses MMC and load the configuration stream with a small CPLD (21 cells) [2]. Another FPGA loader was done by Arnim Laeuger for a SD card and takes about 50 cells in an EPM3064 [3]. Ad Anuff has used an Atmel ATTiny12 for this task [4]. The design (asm program, eagle library, schmatic) is available at [5].

However, what's the big win when configuring the FPGA from the SD Card? Cost saving? You need an additional part (CPLD w 64 cells) or an ATTiny12. Both are around $2. That's the same price as for a serial Flash. Flexibility? You need a SD slot on your PC to write the configuration file onto the card.

I think SD Cards are a very fine addition for an FPGA with a soft-core processor to be used as file system. Than it's better to connect the card direct with the 4-bit interface to the FPAG. If you use it also for configuration all above approaches use the SD Card in SPI mode. That maens 1/4 of the available bandwith. And AFAIK you cannot swith to the SD bus mode without powering off the card. And for a file system it can make a difference if your transfer rate is 12MB/s or only 3MB/s [6].

Martin

[1]
formatting link
formatting link
formatting link
[2]
formatting link
[3]
formatting link
[4]
formatting link
[5]
formatting link
[6]
formatting link
Reply to
Martin Schoeberl
Loading thread data ...

So perhaps the PLD, or 8-14 pin uC, could perform this power removal ? Next generation FPGAs could include native boot in 4 bit mode option ? Is there a random access cost-hit in the 4 bit mode ?

-jg

Reply to
Jim Granville

The power removal is only an additional hardware cost (i.e. a transistor and pcb place). It can be done by the FPGA after configuration/boot.

I don't think so. The trend is more towards serial download. Parallel configuration was availbale in the ACEX family, but is not availabel in the Cyclone. It makes sense: Configuration time is not the issue, but pin count.

I don't understand this question. The 4-bit mode simply results in a four fold transfer bandwith compared to SPI.

Martin

Reply to
Martin Schoeberl

"Martin Schoeberl" schrieb im Newsbeitrag news:6kKSd.65146$ snipped-for-privacy@news.chello.at...

formatting link

at embedded 2005 a connector manufacturer said they already have microMMC connector (production availability in a few months)

microMMC is even smaller than miniSD :)

Antti

Reply to
Antti Lukats

Here at El Camino we have a FPGA loader core (55 Mcells in a MAX 3000 device) that doesn't use the SPI mode. After configuration the core leaves the MMC/SD card available to the FPGA in any mode without power cycling.

Wolfgang

"Martin Schoeberl" schrieb im Newsbeitrag news:6kKSd.65146$ snipped-for-privacy@news.chello.at...

formatting link

formatting link

formatting link

Reply to
Wolfgang Loewer

"Wolfgang Loewer" schrieb im Newsbeitrag news:cvie7h$d1r$04$ snipped-for-privacy@news.t-online.com...

Hi Wolfgang, Yes we know! Sure 1900EUR is nice price for 55 macrocells! oh well I have sold single 2 input and gate for 10 USD :)

the mmc boot IP Core at opencores (donated to the public by me) also works in MMC mode (not SPI)

ok, I admit I did not have reasons to add SD support so thats not (yet) available. MMC only IP core is 21 PLD cells, MMC+SD would be around 55 Cells (it cant be done with much less), when I have time or there is community funding I will add SD card to support the Core, or maybe I am continue to be lazy and somebody does it for me :)

Antti

Reply to
Antti Lukats

Where do you get the SD spec? I hyave not been able to find a copy anywhere. Seems you have to join an industry group for substantial money.

Reply to
Pete Fraser

"Pete Fraser" schrieb im Newsbeitrag news: snipped-for-privacy@news.supernews.com...

lazy

formatting link

thats the official free (simplified) specification. by using MMC spec and this simplified version should be almost enoough to write the non-SPI mode SD card bootloader IP Core :)

the main differences are

1 ACMD41 must be used instead of CMD1 2 SD card has no streaming read or write 3 the RCA assignment is different

differences 2 and 3 are the reason why minimal SD card core is 55 macrocells comparing to MMC only core (21)

Antti PS I have/had a better SD spec as well but dont recall where it is

Reply to
Antti Lukats

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.