MicroBlaze - how much memory?

R

RISC taker

Guest
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!
 
Hi,

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.

2. 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:

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!
 

Welcome to EDABoard.com

Sponsor

Back
Top