Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.

signaltap: can't fit blocks

Honored Contributor II

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:  

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"? 



0 Kudos
5 Replies
Honored Contributor II

Could you post your design?

Honored Contributor II

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...
Honored Contributor II

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).

Honored Contributor II

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?
Honored Contributor II

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.