MicroBlaze - how much memory?

Hi! How much extra RAM (additional to the pure code size of the user program) do I usually need for a MicroBlaze system??

I am considering MicroBlaze for a Spartan-3 project. Peripherals would be a UART and my own memory mapped peripheral. Assuming that my program can be compiled into less than 300 assembly instructions, it should fit into one single BlockRAM, right? (300 * 32 bits = 9600 bits < 18 KBits).

Now what about data memory? My program wouldn't need much. Could I squeeze that into the second half of the same blockRAM? Or is that physically not possible?

And most important: do the binaries get significantly bigger than just the assembled functions? Is there any other stuff that gets compiled into the program (UART stuff or whatever) that makes it big?

Thanks a lot for your answers!

Reply to
RISC taker
Loading thread data ...


  1. Code size If your program only is in assembler and you don't use any libraries then the size is as you stated. Other stuff only gets added if you reference them.

  1. BRAM You can share BRAM with instructions and data but the current BRAM_module will use

4 BRAM blocks in order to support byte-writes. You will have to modified to BRAM_module code to only support 1 BRAM but then you will not be able to handle byte or half-words since they require byte-write capabilities on the memory.

Göran Bilski

RISC taker wrote:

Reply to
Goran Bilski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.