--- Quote Start ---
It should be possible to build that memory using 64 M9K blocks and some logic elements as well. This memory will be spread across the entire chip so do you really need such a large memory?
Are you sure that memory is the only one in your design? If you include IP or large lookup tables they could also be consuming on-chip memory resources.
--- Quote End ---
This is what I am curious about. I planned to have 64 blocks, but it wants 72.
error (170048): selected device has 66 ram location(s) of type m9k. however, the current design needs more than 66 to successfully fit After splitting to two memories 16K words each * 18 bits, it still wants 72 blocks
scope_mem:buffer0_ram|altsyncram:altsyncram_component|altsyncram_pho1:auto_generated|ALTSYNCRAM AUTO Simple Dual Port Dual Clocks 16384 18 16384 18 yes no yes no 294912 16384 18 16384 18 294912
36 None Unassigned 1
scope_mem:buffer1_ram|altsyncram:altsyncram_component|altsyncram_pho1:auto_generated|ALTSYNCRAM AUTO Simple Dual Port Dual Clocks 16384 18 16384 18 yes no yes no 294912 16384 18 16384 18 294912
36 None Unassigned 2
And yes, I need large buffer, spanning through whole internal memory.
edit: just notices i use dual-port memory model. does it change anything while size of the memory remains the same?