Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

System ACE



From what I know now System ACE is use as a mean to let microblaze communicate with compact flash memort such as open a file and stroring a file is it possible to use it to communicate with the on board DDR and achieve the same results? I am using a spartan device and it does not have a compact flash slot so i have to use the DDR to store the data i needed, but I cant find something as convenient as System ACE on DDR's sideso I am wondering if this system ACE is able to use on DDR? Or DDR have its own version of something like system ACE?


Thank you.

0 Kudos
2 Replies
Registered: ‎06-15-2010

System ACE performs two tasks:


1- device configuration : system ACE can connect to board's jtag chain. It can then read the ACE files from compact flash card, and configure on board devices.

ACE file contains two parts : a) bitstream, which are the required data for FPGA hardware configuration

b) executables, which is the ELF file which should be loaded into memory (DRAM) so that it can be executed once FPGA's internal CPU (PPC or Microblaze) started operation


2- Microprocessor interface : System ACE can allow a CPU to have read/write accesses to compact flash card

so, for example, Microblaze or PPC can access the second partition (the first partition is solely used for ace files ) of the compact flash card using this interface


System ACE is not a DRAM Controller

System ACE can not be connected to DRAM directly

you can not use System ACE chip for that purpose


Solution :

-- Make a base system using EDK and use either of MPMC or DRAM controller cores available there

-- Use Xilinx MIG ( memory interface generator ) core, using coregen , it can generate a DDR SDRAM controller core for you easily.


Good Luck

Mohammad Sadegh Sadri



Registered: ‎10-01-2008



Depending on how you want to do it, you can have a Microblaze to read data from the System ACE and write it to the DDR memory through MPMC or vice versa, or another way is to have a DMA controller to sit on the PLB bus for transferring data between system ACE and memory. The system ACE and memory controller have no master functionality, so they cannot accesss to each other directly and therefore you have to have another master component to aid the transfer.


The first solution mentioned above (using MB) would be easier since you can easily build such a platform through the Base system builder (BSB) wizard.


Hope this will help you.



Yan Shun Li


0 Kudos