cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
585 Views
Registered: ‎05-30-2019

Usage of cache in microblaze to reduce latency

Hi Team,

 

I am using Microblaze Processor and through SDK, i am dumping my code. The problem is latency is very high, so i want to use cache memory to reduce latency. But i include cache, some other pins are coming.

1.Could you please guide me how to use cache efficiently and how is it internlly working?

2. After enabling cache in the microblaze configurations, is cache automatically instantiated?

3. Continuity to previous question, Do we need extrenal peripheral to start the cache?

4. What does this warning mean?

[xilinx.com:ip:microblaze:11.0-24] /microblaze_0:  No D-cache cacheable memory was found in the address space. Please either turn off the cache, add an IP core with cacheable memory to the design, or set external port address segment usage to memory.

Is cache is not instantiated here?

 

Thank you in advance,

D Bhavya Deepika.

0 Kudos
8 Replies
Teacher
Teacher
576 Views
Registered: ‎07-09-2009

Re: Usage of cache in microblaze to reduce latency

Micro blaze is a soft CPU.

When you create the micorblaze, using the IP, one of the questoins is cache and size. The IP then makes the cache and the size you want.

So to use cache, you need to up date the IP, 

 

 

<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos
Highlighted
518 Views
Registered: ‎05-30-2019

Re: Usage of cache in microblaze to reduce latency

When i enabled cache while configuring microbalze below warning is coming.

[xilinx.com:ip:microblaze:11.0-24] /microblaze_0: No D-cache cacheable memory was found in the address space. Please either turn off the cache, add an IP core with cacheable memory to the design, or set external port address segment usage to memory.

What does this warning mean?

Is cache is not instantiated here? If yes, why the latency is not changing? Do i need to do anything more?

 

1. After enabling cache in the microblaze configurations, is cache automatically instantiated?

2. Continuity to previous question, Do we need extrenal peripheral to start the cache?

 

Thanks in advance,

D Bhavya Deepika.

0 Kudos
Highlighted
Teacher
Teacher
505 Views
Registered: ‎07-09-2009

Re: Usage of cache in microblaze to reduce latency

How are you generating the micorblaze ?
<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos
Highlighted
453 Views
Registered: ‎05-30-2019

Re: Usage of cache in microblaze to reduce latency

 

I am taking Microblaze IP and running block automation, enabling data and instruction cache while configuring the microblaze.

 

 

Thanks & Regards,

D Bhavya Deepika.

0 Kudos
Highlighted
Observer
Observer
406 Views
Registered: ‎05-18-2015

Re: Usage of cache in microblaze to reduce latency

 

How are you implementing the RAM for the microblaze?  Is it an external memory (DDR, SRAM, etc)  or is an internal block ram (BRAM)?

 

Cache really only helps with performance when using external memories with high latency and good burst performance (like DDR SDRAM).  If you are using internal BRAM for your memory, then cache is not going to give you much of an improvement.   Internal BRAM already operates at one clock per memory cycle, so it is already operating at cache-like speeds.  I suspect that cache is simply not supported for internal BRAM since it does not make sense.   I think that this may be why you are getting the error message about "no cacheable memories".     

If you are using BRAM and you still need more performance, you could simply increase the clock speed of the processor clock.   Also check the compiler optimization settings, and be sure that you are not building your application in  debug mode as that will make it run slower.

0 Kudos
Highlighted
381 Views
Registered: ‎05-30-2019

Re: Usage of cache in microblaze to reduce latency

Hi,

I am not using any external memory as you said, i have only bram. I can't increase my clock speed because i need it to be 100MHz.

If I use external memory, can you guide me how does it work and how the connections will be there.

And I am not using Debug mode, I am running it in release mode.

 

Regards,

D Bhavya Deepika.

0 Kudos
Highlighted
Teacher
Teacher
367 Views
Registered: ‎07-09-2009

Re: Usage of cache in microblaze to reduce latency

Cache is normally in Bram , and is used to speed up external memory. So putting cache in external memory will not help .

Looks like uyiubate stuck unless you increase your cpu speed or improve your code .
<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos
Highlighted
Scholar
Scholar
357 Views
Registered: ‎08-07-2014

Re: Usage of cache in microblaze to reduce latency

@deepikadasari31,

As pointed out to your earlier, the cheapest and fastest cache for you are BRAMs.

If you want to use uBlaze cache, then just use the options from the IP config. The IP automation tool will instantiate stuff for you. You don't need to do any external connections to the uBlaze IP core.

I can't increase my clock speed because i need it to be 100MHz.

Why?

You can always use CDC FIFOs to communicate with slower clocked peripherals.

--------------------------------------------------------------------------------------------------------
FPGA enthusiast!
All PMs will be ignored
--------------------------------------------------------------------------------------------------------