SDRAM大小的判断

//========================================================================
//TITLE:
// SDRAM大小的判断
//AUTHOR:
// norains
//DATE:
// Saturday 31-May-2008
//Environment:
// NONE
//========================================================================

如果只是给出SDRAM的PIN脚,没有任何别的资料,该如何判断SDRAM容量的大小呢?

例如有三片SDRAM芯片,如图1:
SDRAM大小的判断

SDRAM的容量大小直接反映在地址线和数据线以及L-Bank数目中,所以我们可以从这三个入手。

图中的XA是地址线,BA是L-Bank,XD是数据线。根据所给图示,可以得出如下结论:

芯片A:
地址线数:13
L-Bank数:2
数据线数:16

芯片B:
地址线数:12
L-Bank数:2
数据线数:32

芯片C:
地址线数:13
L-Bank数:2
数据线数:32


我们可以通过简单公式来算出SDRAM的最大容量(单位:KB):
((1 << (地址线数 + L-Bank数)) + (~(1 << (地址线数 + L-Bank数))) * (数据线数 / 16)

根据公式可得最大容量:
芯片A:((1 << (13 + 2)) + (~(1 << (13 + 2))) * (16 / 16) = 32767KB = 32M
芯片B:((1 << (12 + 2)) + (~(1 << (12 + 2))) * (32 / 16) = 32767KB = 32M
芯片C:((1 << (13 + 2)) + (~(1 << (13 + 2))) * (32 / 16) = 65532KB = 64M

故图片所示芯片容量大小为: C>B>=A