- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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)? PaddyLink Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page