FPGARelated.com
Forums

MicroBlaze - how much memory?

Started by RISC taker December 6, 2003
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&#4294967295;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! > >