Forum Discussion
Altera_Forum
Honored Contributor
15 years ago --- Quote Start --- We are looking into the memory. We are definitely running out of it and the tool starts moving memory cells into logic. --- Quote End --- If it is dumping unused memory into LABs, are you sure you are using the M9Ks efficiently in the first place? To get the same size as an M9K made of MLABs you're going to eat up a lot of logic. Are you using many M9Ks with only 25% usage? Add atrributes/synthesis directives to force small memories into MLABS. Sometimes rearranging a memory map can help improve effeciency hugly, especially when using mixed widths in true dual-port mode. Simple dual ports support up to 32/36 bits in mixed mode, whereas dual port only 16/18 bits. Another thing to check - Ive just found a bug in Q9.1 and Q10 where it was auto-generating altshift_taps for me and eating up loads of memory unnessarily (like 30+ M9Ks when it should have placed a couple of registers!). if you're sure you dont need them, turn them off in the project with: set_global_assignment -name AUTO_SHIFT_REGISTER_RECOGNITION OFF or going to the Analysis and Synthesis options, more settings, and setting Auto Shift Register Replacement to “OFF”, by default this is “AUTO”. You can navigate to the option, in Assignments, Settings, Analysis & Synthesis Setting, More Settings. Auto Shift Registers to “OFF”.