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: 
Visitor nkraemer
Registered: ‎03-05-2019

Permanently Disable Microblaze Cache over Address Range

I have a single core Microblaze 10.0 system utilizing external DDR memory. I have a custom peripheral connected via DMA to the DDR memory. I am able to sucessfully write and read into memory with my custom peripheral. I have run into cache coherency issues where the Microblaze is sometimes not aware of the updates made to DDR by my DMA peripheral.

I am aware that it is possible to invalidate/flush from software, but I would like to avoid this and the coresponding performance hit. I would also like to avoid ACE so I can continue to use write-back for the rest of the cache. Is it possible to permanetly disable caching an address range with the microblaze to force it to read from DDR every time when reading from a particular address range? It appears that this is possible for the Zynq. This data range may be allocated at build time.

I tried setting the "high address" of the data cache to include only the lower half of DDR memory, but attempts to read from the upper (unchached) portion of memory from microblaze returned a constant value of 0xDEC0DE1C.

Thanks in advance for any help.

Tags (2)
0 Kudos
1 Reply
Observer maty
Registered: ‎06-27-2019

Re: Permanently Disable Microblaze Cache over Address Range

I have the same question.

0 Kudos