从SDRAM到DDR3:
SDRAM:(Dynchronous Dynamic Random Access Memory)同步动态随机存储器
同步时至其始终频率与CPU前端总线的系统时钟频率相同,并且内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据的读写。
物理Bank:处理器的位宽。
芯片位宽:每一片SDRAM缓存芯片本身的位宽。
逻辑Bank:SDRAM内部存储空间划分的片区。
SDRAM的操作指令:
这些信号都是接在FPGA的引脚上面的。
SDRAM操作时序:
*
位[2:0]代表的突发长度:由这三位组成的二进制书的值作为2的指数,比如三位为0、0、0,则这三位组成的二进制数为0,2的0次方为1,则突发长度为1,同理可得,如果组成的二进制数为1,则突发长度为2,以此类推到突发长度为8时为止,在三位都为1时,表示的是整页突发,其余数值没有意义。
* 位3表示的是突发的类型,0表示的是顺序型的突发;1表示的是交叉型的突发。
*
位[6:4]表示的是时钟的延时位,这个时钟延时位只在读操作的时候有,在写操作的时候是没有的。只有在位[6:4]组成的二进制数为1、2、3时才有效,其值表示在每次读数据的时候延时的时钟个数,而当组成的二进制数为其他值时,是无效的。
* 位[8:7]及位[12:10]一般是用不到的。
*
位9表示控制写的突发长度,如果这位值为0表示写的突发长度和读操作的突发长度默认一样;如果这位值为1表示另起一个单独的通道,可以单独设置写的突发长度。但是一般写和读的突发长度都设定为一样的,所以一般设定此位位0。
读时序:(突发模式)
读时序:(连续模式,一个一个的读)
写时序:(突发模式):
和读时序基本没差,主要区别是在读时,是不用延时时钟的
写时序:(连续模式,一个一个的写)
可以看到,读和写操作时序的两种模式(突发和连续模式)都是包含基本三种信号:命令信号(command)、地址信号(address)、数据信号(DQ)
突发模式和连续模式都有各自的缺点:
突发模式:在突发模式下,地址一定是连续的;
连续模式:在连续模式下,需要过多的命令指令(command),占用过多的时钟资源。
DDR SDRAM:(DDR1)
时序图:
CK#:差分时钟
差分时钟是与基准时钟频率相同、相位相反的时钟信号。
有差分时钟信号的情况下,就可以让数据在差分时钟和基准时钟的交叉点传输一次,这样就可以在一个周期内传输两次数据,从而达到传输速率翻倍的效果。
DQS信号:
DQS信号是作为与数据同步的信号,信号值每翻转一次数据就传输一次,达到同步的效果。
DQS信号是由数据起始者产生的,比如当主机去读从机的数据时,此时DQS信号是由从机产生的;而当主机向从机写数据时,此时的DQS信号是由主机产生的。
DDR2:
DDR2的传输速率比DDR1快一倍,也就是比SDRAM快四倍。
OTD Control:(片内终结)
所谓的终结,就是让信号被电路的终端吸收掉,而不会在电路上形成反射,造成对后面信号的影响。
OCD:
OCD的作用:
前置CAS、附加潜伏期与写入潜伏期
时序图:
DDR3:
DDR3相对于DDR2的区别:
①突发长度
DDR2的预取为4bit,而DDR3的预取为8bit
②寻址时序
③新增重置功能
④新增ZQ校准功能
⑤参考电压分成两个
⑥点对点连接