bh.ines1806@gmail.com
Guest
Thu Feb 18, 2010 4:05 pm
Hi all,
I have a Spartan 3 Starter Board.
I want to make a simple application with microblaze.
But when I generate the bitstream an error error has appeared wich is:
ERROR:Pack:2310 - Too many comps of type "RAMB16" found to fit this
device.
ERROR:Map:115 - The design is too large to fit the device. Please
check the
Design Summary section to see which resource requirement for your
design
exceeds the resources available in the device. Note that the number
of slices
reported may not be reflected accurately as their packing might not
have been
completed.
NOTE: An NCD file will still be generated to allow you to examine
the mapped
design. This file is intended for evaluation use only, and will
not process
successfully through PAR.
Mapping completed.
See MAP report file "system_map.mrp" for details.
Problem encountered during the packing phase.
Design Summary
--------------
Number of errors : 2
Number of warnings : 18
ERROR:Xflow - Program map returned error code 2. Aborting flow
execution...
make: *** [__xps/system_routed] Error 1
Done!
This error bothers me and I can't understand where is the problem
resides??
Note that my design and my software application are as simple as
possible, and I was respected the address range of lmb_bram_if_cntlr
(8k for spartan 3).
If anybody has a useful idea,i Iwill be thankfull if he give me some
help.
Best Regards,
INES
austin
Guest
Thu Feb 18, 2010 6:00 pm
Ines,
What is it about "it does not fit, you used too many BRAMs, please
examine these files to discover your error" that you do not
understand?
Remember the BRAM blocks are in kilobits, not kilobytes. It is very
easy to exceed the number of BRAMS in a part by simple requiring too
much addressable memory space,
Additionally, if you are specifying cache for the MicroBlaze core,
that cache will also eat up BRAM blocks, depending on how much cache
you requested (for data and/or instructions).
Austin
Gabor
Guest
Thu Feb 18, 2010 8:07 pm
On Feb 18, 11:00 am, austin <aus...@xilinx.com> wrote:
Quote:
Ines,
What is it about "it does not fit, you used too many BRAMs, please
examine these files to discover your error" that you do not
understand?
Remember the BRAM blocks are in kilobits, not kilobytes. It is very
easy to exceed the number of BRAMS in a part by simple requiring too
much addressable memory space,
Additionally, if you are specifying cache for the MicroBlaze core,
that cache will also eat up BRAM blocks, depending on how much cache
you requested (for data and/or instructions).
Austin
There's also a bug in ISE 10.1 that causes overmapping of BRAM
if you check "Map slice logic into unused block RAMs". Makes
me wonder what part of "unused" the tools don't understand.
- Gabor
austin
Guest
Thu Feb 18, 2010 8:48 pm
Gabor,
Using BRAM blocks as 'look up tables' for logic is a way to pack more
"stuff" into the design, so, yes, the BRAMs are only "unused" until
you then use them for this purpose (the English language is probably
one of the worst languages for describing technical stuff, except for
all the others).
That is a fairly arcane use of the BRAM blocks, and it would be
interesting to know how often folks do this,
Austin
bh.ines1806@gmail.com
Guest
Fri Feb 19, 2010 12:24 pm
On Feb 18, 7:48 pm, austin <aus...@xilinx.com> wrote:
Quote:
Gabor,
Using BRAM blocks as 'look up tables' for logic is a way to pack more
"stuff" into the design, so, yes, the BRAMs are only "unused" until
you then use them for this purpose (the English language is probably
one of the worst languages for describing technical stuff, except for
all the others).
That is a fairly arcane use of the BRAM blocks, and it would be
interesting to know how often folks do this,
Austin
Hi,
Thank you (Austin and Gabor) for the answers.
But is this error caused by the fact that the application software is
big enough? I dont' think so cause the soft application is very
simple, it just light the 8 LEDs.
Also in the MHS file I put 16k for DLMB and 16k for the ILMB too!
So I couldn'tt understand where the problem lies: in the design in
hard or soft implementation!!
I will be thankfull if you give me some help!!
Best Regards,
Ines
Gabor
Guest
Sat Feb 20, 2010 7:06 pm
On Feb 19, 5:24 am, "bh.ines1...@gmail.com" <bh.ines1...@gmail.com>
wrote:
Quote:
On Feb 18, 7:48 pm, austin <aus...@xilinx.com> wrote:
Gabor,
Using BRAM blocks as 'look up tables' for logic is a way to pack more
"stuff" into the design, so, yes, the BRAMs are only "unused" until
you then use them for this purpose (the English language is probably
one of the worst languages for describing technical stuff, except for
all the others).
That is a fairly arcane use of the BRAM blocks, and it would be
interesting to know how often folks do this,
Austin
Hi,
Thank you (Austin and Gabor) for the answers.
But is this error caused by the fact that the application software is
big enough? I dont' think so cause the soft application is very
simple, it just light the 8 LEDs.
Also in the MHS file I put 16k for DLMB and 16k for the ILMB too!
So I couldn'tt understand where the problem lies: in the design in
hard or soft implementation!!
I will be thankfull if you give me some help!!
Best Regards,
Ines
Block RAMs on Spartan 3 are 18Kb where "b" means bits. For
16KB, where "B" means bytes, you need 8 BRAMs. Your memory
for the MicroBlaze would therefore need 16 BRAMs. Add to that
any additional BRAMs you might use, for example FIFO's and
MIG cores. So the question is:
How many BRAM devices does your FPGA have?
How many BRAM's are shown in the Map report?
How many BRAM's from the Map report are not accounted for?
Regards,
Gabor
PS to Austin:
Arcane or not, the tools are supposed to be able to use extra
BRAM's for stuffing extra logic. I believe it is a bug if the
tools overmap BRAM's when I have no means to tell the tools
how many of the BRAM's it can use for logic. It doesn't seem
like rocket science for the tools to first allow for any
explicitly required BRAM's in the design before mapping logic
into the remaining "unused" ones.
Anssi Saari
Guest
Sun Feb 21, 2010 1:37 pm
Gabor <gabor_at_alacron.com> writes:
Quote:
How many BRAM devices does your FPGA have?
That's easy to answer, the Spartan3 starter the OP mentioned has a
XC3S200, so 12 BRAMs. Not quite enough for 32 kB.
The answer to the original poster is, create your MicroBlaze design in
the EDK using the wizard and leave all settings at their defaults.
You'll get a system that actually *works* and you can play with.