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!

AR# 42735

13.1 EDK - Must microblaze_enable_dcache() be called when C_DCACHE_ALWAYS_USED is set to 1?

Description

When the MicroBlaze setting "C_DCACHE_ALWAYS_USED" or "C_ICACHE_ALWAYS_USED" is set to 1, is it necessary to enable cache in software?

Solution

It is necessary to enable cache in software even if CACHE_ALWAYS_USED is set 1.

"C_DCACHE_ALWAYS_USED" or "C_ICACHE_ALWAYS_USED" = 1 meansthe cached memory range is always accessed via the CacheLink, but data may not be cached. Otherwise, AXI or PLB will be used when Cache is not enabled in software(that is, MSR[DCE]=0 or MSR[ICE]=0) or memory locations outside the cacheable range.