Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21336 Discussions

More M9ks used as expected

Altera_Forum
Honored Contributor II
1,064 Views

Hello, 

 

I got a Problem with the RAM (M9k) usage. When I use a sigle Port RAM with 2048 Words a 64bits then I would expect 131072 bits. That is o.k., the Fitter tells me a usage of this 131072 bits, but he uses 16 M9kBlocks for this RAM. Why? In my calculation there are 131072 bits / 9216 bits = 14,222 => 15 M9Ks. In a bigger Memory where I expected 58 M9Ks to be used the Fitter uses 64 M9Ks. Can anybody tell me why and what can I do to reduce the RAM usage? Is it possible to use one M9k for multiple RAMs / FIFOs (for example 2 * 256 Bytes FIFO)? 

 

Paddy
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
353 Views

The M9K is structured as a 9 bit wide memory so for your 64 bits wide ram you need it to be 7.111 M9Ks wide which of course you have to round up to 8 and to give you a depth of 2048 you need it to be 2 M9Ks deep which gives you 16 M9Ks. 

Basically it isn't just 9K bits that you can arrange however you want.
0 Kudos
Altera_Forum
Honored Contributor II
353 Views

The documentation that I saw actually uses 9 bits per byte so the 64 bit words actually use 72 bits, therefore using bits to calculate block usage does not work. An M9k holds 256 x 32 or 256 x 36 for example.

0 Kudos
Reply