Free IP-Core for FPGA Config from MMC-Cards

Hi all,

I have decided to make some presents to all in form of IP-Core donations:

formatting link

There is working/tested IP-Core that allows FPGA configuration from MMC Card. The IP as submitted to opencores does not support SD-Cards, but is otherwise tested and useable. Tested with MMC, XC9536XL as config controller and VP20 as target tot be configured.

Similar IP-Core (SD/MMC config IP-core for Altera) from an commercial vendor costs around 1900EUR !

Antti

Reply to
avrbasic
Loading thread data ...

Well, that's original ;)

Thanks and happy new year ;)

Sylvain

Reply to
Sylvain Munaut

Adding of SD-card support in the SPI mode should not be so difficult. Aren't the SD-cards able to work in the MMC-compatible mode? It seems to me that I have at least one device which works with SD cards using the SPI interface. Unfortunately I had no time to connect it to the logic state analyser to compare the waveforms with MMC card and with SD card (I hope to do it in reasonable future though ;-) ).

Thanks a lot for nice core, Regards, Wojtek Zabolotny

Reply to
Wojciech Zabolotny

Sorry for replying my own post, but I've found some pointers, which should allow adding the SD support even without using logic state analyzer ;-) I've found a very nice post:

formatting link
which gives some pointers to useful docs. Particularly the
formatting link
provides some info regarding the initialization the SD card in the MMC compatible mode (thanks a lot Toshiba!!!).

Regards, Wojtek Zabolotny

Reply to
Wojciech Zabolotny

I just designed the same thing a couple of weeks ago, but to read from an Atmel DataFlash card. I didn't feel like messing with the MMC/SD commands. The Atmel cards use the MMC form factor and SPI interface but don't require the MMC commands. But now that you've done the work I may fold in MMC support. Thanks for contributing the code, Antti.

Rob

Reply to
RobJ

Hi and thanks for the pointers.

well the SD Card support is not that easy a combined MMC-SD card IP-Core would be at least 50 PLD Cells (MMC only is 21 Macrocells). I know all the spec and differencies, I just never got enough time to add SD support.

One option could of course be using SPI mode, but thats not so nice.

When MMC-SD Card is left in MMC mode then the FPGA can after config use its own MMC Core to communicate with the Card, if the config core initializes SPI mode then FPGA should also access the card in SPI mode.

Antti

Reply to
Antti Lukats

I was under the impression that SD was designed to be a superset of MMC, e.g. that if you plugged one into an MMC socket the equipment would read it in that mode.

That sounds sensible but the SD designers may not have been.

Is it that SD equipment can read both cards but MMC equipment can only read MMC?

Your project is very welcome, those configuration memories are way too expensive.

I wonder how hard it would be to have a small micro (e.g. AVR 2313?) reading a FAT-formatted SD card to get a fixed named file (e.g. FPGA_CFG.ROM) to load the FPGA?

That would allow ordinary PC software to just copy the file across, rather than have to write to a linear sequence of blocks.

As a useful bonus, the SD card after FPGA-loading might be handed over to the target micro for normal memory card duties. So long as it doesn't mess around with the FPGA_CFG.ROM file of course!

The target micro may even be the same as the loader micro.

I hear FAT handling is non-trivial, so perhaps having written it for the loader micro the loader could also be useful as an I/O slave. Might save a lot of porting work.

Reply to
Kryten

Flash file systems are available to do this if your micro can compile C code.

Vendor-specific versions are sometimes free.

-- Mike Treseler

Reply to
Mike Treseler

If/when I have time I will look around for code.

There are some amateur MP3 player projects on the web, using FAT but they tend to use IDE drives or CF cards. Oh well, they might be a fair starting point...

Reply to
Kryten

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.