Hi,
Most likely, you will need to interface to the SystemACE MPU
port (as a "memory mapped peripheral") and then implement a
FAT12 or FAT16 filesystem reader to access the file of interest...
If you are using EDK to build a PowerPC/MicroBlaze system,
you can make use of a peripheral in EDK, the OPB to SystemACE
bridge, for the hardware portion of the interface. There is
also an XilFatFS library that helps with the FAT filesystem.
If you are building a custom design not using EDK, you'll need
to implement something similar. Maybe you could do it with
PicoBlaze and a small program you write... But you'll need
to know about FAT filesystem to get it right.
Another option to simplify things is to use some clever format
of the card to have a FAT partition followed by another unused
partition. I think you could then put your data in specific
sectors in the unused partition and have a FSM or other simple
processor pull the data off the disk from known sectors using
the MPU interface. This removes the need to implement a FAT
file system. But now you have to write some utilities to get
your data into specific sectors of the disk...
There's also a design on opencores.org which is relevant but
I don't know how you'd directly use it with SystemACE CF.
Eric
Frank Wang wrote:
>
> I want to be able to read files off the compact flash card through the
> xilinx system ace chip which is connected to a xilinx virtex 2e FPGA.
> The compact flash card is formated as FAT12. Has anyone done this
> before, or at least could point me in the right direction in
> implementing this in verilog?
>
> Thanks,
>
> frank