We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Participant rifo
Registered: ‎09-20-2010

fundemantal points about linux on a fpga

Hello all,


I am planning to build an embedded linux system on a Spartan 6 LX45T with support for ethernet, wifi CF card and data storage on a SD card . I have already spent some time with the documents but since I am a beginner, I would like to ask for some basic fundemantal questions to see if I don't have any wrong assumptions.


Thank you in advance for your guidance


1)  Is it possible to access a SD or CF card only via Microblaze and Linux ( that is without using any non-free IP cores). I know that linux has drivers for both SD and CF cards but I am a little bit confused since there are also many IP cores that access SD and CF cards. For example Xilinx has this SystemAce CF  IC on SP605.


2) By using only free IP cores on a Spartan 6 running embedded linux, what would be the maximum data transfer rate over ethernet?


3) If I have custom peripheral that consumes a lot of DDR bandwidth, can I connect this peripheral's output to microblaze and have its DDR interface directly connected to an arbiter before the ddr memory controller core. This way microblaze with linux running on it and the peripheral will share the DDR. Would this be difficult to implement?


4) I have read (on EDK 9.2i Hands on Guide) that EDK designs cannot be simulated with Isim and one has to buy either Modelsim or NCsim. Is this still true? If yes does one need the modelsim simulations a lot when using embedded linux?



I would be most happy to hear your answers/comments about these questions.

Thank you again



0 Kudos
5 Replies
Xilinx Employee
Xilinx Employee
Registered: ‎09-10-2008

Re: fundemantal points about linux on a fpga

1. System ACE is a chip on our board. Without that, you're on your own on how to use SD or CF. You have to have some hardware.
2. I think, not sure, our LL TEMAC core is free, we see around the 20 - 30 MBit rate depending on a lot of stuff (using DMA, etc....).
3. You would want to connect that peripheral to the Multiport Memory Controller (MPMC). Yes MB and peripheral can share the memory.
4. I hope you're not using EDK 9.2 as that's ancient. 12.3 or 12.4 is the latest released. I don't know the simulation stuff, wrong forum for that question.

If you don't know Linux then this an agressive project that your going to be doing since it sounds like system, h/w and s/w.

Participant rifo
Registered: ‎09-20-2010

Re: fundemantal points about linux on a fpga

Hello John,


Thank you for your answers. I would like to ask more about  1st and 4th points.


1) If I simply connect FPGA output pins to an SD card then, to my limited knowledge, all I need in terms of hardware is the SPI peripheral coupled to the microblaze. I mean there are already many microcontroller based SD and CF card dataloggers and they don't use external chips.  They implement the access routines in software, which in our case Linux already handles.

Do  I miss something critical?


4) About the fourth point, let me rephrase my question. Do you as an embedded linux on  FPGA developer, use modelsim or similar simulation tools a lot or do you handle the debugging process directly over linux? Can it be the case that once one has a working board, modelsim or similar tools are not needed anymore?


thank you very much for your time


0 Kudos
Not applicable

Re: fundemantal points about linux on a fpga

You can access SD over SPI, but not sure if the Linux driver supports that mode  or not.. It would only be 1-bit, not the 4-bit high performance mode that is supported with a custom SD hardware controller.


In the latest 12.x tools, you can use ISIM to simulate embedded designs - there may be way to get it to work in older tools, but it's not supported.




0 Kudos
Participant rifo
Registered: ‎09-20-2010

Re: fundemantal points about linux on a fpga


Thanks for the anwers. It's great to hear that isim supports EDK designs on 12.x versions. 

I have checked the linux drivers and there is support for SPI mode. However as you have mentioned there is a huge performance loss in SPI mode. In opencores, a finished, FPGA proven SD host controller IP exists.


Has anybody tried it?  I would be happy to hear some feedback.


0 Kudos
Registered: ‎05-28-2013

Re: fundamental points about Linux on a fpga

Hi Rifo,


any luck yet on finding/implementing an SD controller in HDL??


I to would like to run Linux on a Spartan 6LX25 and I would very much like to be able to us the SDcard in 4 or 8 bit mode(SD/MMC) from Linux.  I just downloaded the latest TAR from opencores half an hour before I found your post but as usual it is wishbone and not axi so I guess it needs some adoption.


I have no experience with the SD card interface and have found no one that does though they mention it has been tested.


like to hear from you and perhaps we can help eachother.


kind regards Martijn

0 Kudos