Forum Discussion
You may have to hand-craft the RAM to what you need(i.e. create a few RAMs targeting the size you want and stitch them together.) It's generally not too difficult. The default is to make the RAM slices as deep as possible, which is the fastest implementation and requires the least amount of outside logic. For example, if you were to make a 6Kx8 RAM, then it would use 8 M9Ks, all configures with a depth of 8Kx1. There is MAXIMUM DEPTH setting(it's in the GUI, I may have the incorrect name), where you can set the maximum depth. So in this case, if you set it to 1K, then it would configure each M9K into a 1Kx8 block, and stack 6 of them on top of each other. This will be slower, and will require external muxing logic, but it only requires 6 M9Ks instead of 8.
If you really need to do special handcrafting, like all of an M144K and then some M9Ks to top off the top or add a little more width, you'll probably have to create two separate RAMs and stitch them together. Not ideal, but it shouldn't take more than a half hour and once you've bit the bullet, it's done.