Forum Discussion
Altera_Forum
Honored Contributor
12 years ago --- Quote Start --- I guess, you array is too big to be packed in one M9K block. According given example 8x64 bits are packed to one M512 block. And you are trying to put 8x1632 bits to M9K block. But that's just a guess. --- Quote End --- You guessed wrong. Quartus is good at deciding how many ram blocks are needed. An array does not infer M9Ks, it infers the altsyncram megafunction block, which can use as many M9Ks as required. The OPs attributes just pass the ramstyle parameter to the altsyncram megafunction, telling it what type of base memory types to use (eg. M9K, MLAB, LUTRAM etc). To OP: Memories can only be infered if the signal assignments and addressing follow the correct template. Have you read the altera coding guidelines? http://www.altera.co.uk/literature/hb/qts/qts_qii51007.pdf You havent posted the whole code, just the type and signal declarations. This tells us nothing about your code. It is likely that the code you have written is not suitable for rams.