ARM的memory Compiler总结

Multiplexer width是地址低位译码尺寸,即地址需要是Muliplexer width的倍数

ARM的memory Compiler总结

又由于RAM实际阵列分为左右两块,所以地址必须是(Muliplexer width * 2)的倍数

ARM的memory Compiler总结

 

Number of words * Number of bits = Number of rows * Number of columns

Number of rows = Number of words / Muliplexer width,即Muliplexer width越大,阵列越高(行数多)

Number of columns = Number of bits * Muliplexer width,即Muliplexer width越大,阵列越宽(列数多)

 

一般倾向于阵列是方形的(注意,行数=列数不一定是方形,因为cell不一定是方形),通过调整Muliplexer width来实现

 

有趣的是,ARM的ram compiler支持的RAM array的尺寸是有限的,最大能生成256行和320列的array(UG里面说的是Rmax=512,Cmax=576,但实际并不是这样)

那么,

MAX Number of words = MAX Number of rows * Muliplexer width = 256 * Muliplexer width

例如,Muliplexer width=4时,最大字数为256*4=1024

ARM的memory Compiler总结

MAX Number of bits = MAX Number of columns / Muliplexer width = 320 / Muliplexer width

例如,Muliplexer width=8时,最大字宽为320/8=40

ARM的memory Compiler总结