Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
1,242 Views

signaltap: can't fit blocks

hi, everyone. 

i bulid a project that contains nios and signaltap analyzer. 

my device, max10M08SAE, has 387,072bits on chip memory, in the qsys, the on-chip memory is 20480 bytes(163,840 bits), the nios cost 33% of the total memory. 

when i add the signaltap analyzer and add some signals, compile the quartus ,then error shows: 

Error: Quartus II 64-Bit Fitter was unsuccessful. 2 errors, 16 warnings 

Error: Peak virtual memory: 1243 megabytes 

Error: Processing ended: Wed May 06 17:13:10 2015 

Error: Elapsed time: 00:00:12 

Error: Total CPU time (on all processors): 00:00:12 

Error (293001): Quartus II Full Compilation was unsuccessful. 4 errors, 26 warnings 

 

 

i go back to check the signaltap, i find in the "Instacne" window: 

http://www.alteraforum.com/forum/attachment.php?attachmentid=10546&stc=1  

it shows the signaltap costs 1103 LEs, 7808 bits Memory, Medium 44/42 shows can't fit 2 blocks. 

 

i have 2 questions: 

1. does the Compile fails because the "Medium 44/42 shows can't fit 2 blocks" ? 

 

2.since the total memory is 387,072bits, the nios costs 163,840 bits, so there should be about 224,000bits left, but the signaltap shows it only cost 7808 bits, why it shows "can't fit 2 blocks"? 

 

 

thanks!
0 Kudos
5 Replies
Altera_Forum
Honored Contributor I
80 Views

Could you post your design?

Altera_Forum
Honored Contributor I
80 Views

Please have a look at the fitter report, but be aware that the implementation bits are not the used bits. 

 

Let's give you an example: 

 

your device has 3 M10K Blocks, so 30.000 Bits available and you have one instance, let's say a FIFO which needs 21.000 Bits of them, then there should be 9K Bits left, but you can not split a M10K into pieces, so all three Blocks are full. 

 

That also happens if you have two fifos with 128-Bit, then 2 M10K Blocks should be used...
Altera_Forum
Honored Contributor I
80 Views

Taz is correct. Your memory is partitioned into several M_K or MLAB blocks (42 in your case). Partially filled up memory blocks still count as a used partition. When you set up signal tap make sure you don't exceed your maximum memory block count (it updates as soon as you place your signals).

Altera_Forum
Honored Contributor I
80 Views

thanks for your replies! 

but i still a little confused. 

the nios only costs 33% persent of the design, it seems like it costs 41 of 42 M9K ?  

why does not the nios occupy so many memory blocks?
Altera_Forum
Honored Contributor I
80 Views

If you want a detailed view of your resource count you should open up the compilation report (button next to the programming button in quartus) 

Then go to Fitter > Resource Section > RAM summary 

 

It will tell you what is using up memory bits and how many M9K blocks it requires.
Reply