SDRAM的深入理解(二)

jingjing Post at 2006/3/10 18:31:00

打电话问了Micron的技术人员,模式寄存器的内容在掉电前始终有效,中途更改无需再等待120us,但建议稍等一下,具体多少没说。这些内容如果是试验出来的也不敢肯定就一定正确,必须打电话问。
active 和 precharge 是互为反向的信号;其实可能就是同一信号,管子一个是N沟道另一个是P沟道而已。

 

Q1负责读放大,Q2负责写,不需要专用控制信号,自反馈。这样每个单元只要4个管子!

 

选通行地址就实现了读放大和自刷新,当列地址也选通就实现了对数据线的输入输出。

 

AutoRefresh时专用计数器自加1并选通某行地址,所有列地址不选通。
如果上图正确,那么读写某地址的数据时,同1页的其他数据单元都得到了刷新。

验证此推测的一个办法是:对某一行第1列写入某数据,等64ms或更长时间(期间不用任何刷新命令,只是反复去读/写同一行的第128列),再来读第1列,数据应该还在。

以上推断都建立在第1幅图的基础上,今看到两页IC设计的资料,发觉这幅图已是 陈旧的“单管动态存储电路”,但现在国内大部分教案和资料用的都是它!!!东南大学的电子教案用它讲解DRAM地址复用的内容甚至是错误的!!!误人子弟

 

稍后我把现在SDRAM的单元及推导的阵列画给大家。这个单元资料上给的是0.35微米的IC设计版图,那就是真正的电路了。

 

我前面的推导不是真实的电路形式,但我自认为还是蛮合逻辑的但所说的试验可能会失败,因为真的读放大电路不在存储单元中。
问题:

 

按照datasheet定义的命令真值表:

 

--------------------------/CS ---/RAS---/CAS---/WE

 

PRECHARGE--------L ------- L  -------H -------L

 

REFRESH-------------L --------L -------- L -------H

 

那么好象是PRECHARGE是对每个行"写"入数据?

 

REFRESH则通过内部计数器进行逐行刷新?
turkyrun: ras cas we 应该是复用的,不然加载模式时全低又怎么解释呢,8种状态全用完了

sunnybird:因为datasheet是介绍器件的,而不是理论教材。

另:我的项目搞定了,说明对SDRAM的理解是对的,我降频在48MHz使用。


以下三张图是资料提供的,第4张图是我自己推导的:
SDRAM 的IC设计版图:

此主题相关图片如下:

注意:现在的SDRAM设计,存储电容另一端的参考电平是二分之一Vcc
wordline理解为字线,digiline(bitline)理解为位线

此主题相关图片如下:


此主题相关图片如下:

  以现在的0.35um工艺,存储电容大约有300fF(1pF=1000fF)。现在的单颗芯片的容量越来越大,分到每个存储电容的芯片面积越来越小,电容容量也越来越小。这么小的电容存储的电量远不足以去开关mos管(因不了解芯片制造工艺,所以我有上面第12楼那不切实际的推导),采用的办法是用两个电容,一个正相存储,一个反相存储,这也是参考电压选vcc/2的原因;要读出数据时,用的是运放差分放大,一个电容搭在正相端,另一个搭在反相端,这样就把微弱的电量读出来了;而且由于电容电量实在太小,在向运放正反相端充放电时就几乎把电耗尽,也就是把自身的数据破坏了。
  那么precharge的任务之一就是将位线及运放正反向端搭在参考电位(Vcc/2)上,active时脱离此参考电位。

已有 5 位网友发表了看法