DDR
DDR控制原理
1. 初识SDRAM
SDRAM: (Synchronous Dynamic Random Access Memory),同步动态随机存储器。同步是指其时钟频率与CPU前端总线的系统时钟频率相同,并且内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失:随机是指数据不是线性依次存储,而是自由指定地址进行数据的读写。
物理 Bank:传统内存系统为了保证 CPU 的正常工作,必须一次传输完 CPU 在一个传输周期内所需要的数据。而CPU 在一个传输周期能接受的数据容量就是 CPU 数据总线的位宽,单位是 bit(位)。当时控制内存与 CPU之间数据交换的芯片也因此将内存总线的数据位宽等同于 CPU 数据总线的位宽,而这个位宽就称之为物理 Bank(Physical Bank,Pbank)的位宽。
芯片位宽:每一片SDRAM缓存芯片本身的位宽。但是芯片位宽不等于Pbank,一般芯片位宽会小于Pbank,所以在一台设备中,我们可以用多片SDRAM去匹配Pbank。
2. SDRAM基本结构
逻辑 Bank:( Logical Bank,下文简称 L-Bank )SDRAM内部存储空间划分的片区。如下图所示,为什么需要对内部空间进行划分呢,这涉及到两个概念RAS和CAS,由于每一行的激活都需要时间,如果不对内存空间进行划分,那么激活的时间会变长。
RAS信号:(Row Address Strobe,行地址信号)
CAS信号:(Column Address Strobe,列地址信号)
内存工作时,在要读取或写入某数据,内存控制芯片会先把数据的列地址传送过去,这个RAS信号(Row Address Strobe,行地址信号)就被激活,而在转化到行数据前,需要经过几个执行周期,然后接下来CAS信号(Column Address Strobe,列地址信号)被激活。
所以SDRAM不仅有行地址,列地址,还有一个bank地址。

每个地址单元的电路图如下所示,首先给一个信号让三极管导通,存储电容就可以充电或者放电,充电为写入,放电为读出,

SDRAM的操作时序
接口示意图,其中DQ表示数据位宽,每个SDRAM的位宽不一样。




MIG IP核用户侧端口数量共 26个,当然我们不需要了解所有的信号,只需要了解实验要用到几组重要信号。下面将对这些信号逐一讲解并以表格的形式呈现给大家。为了与官方的文档保持一致,表中标明的信号的方向是以 MIG IP核作为参照的, 例如表格中的信号方向定义为输出 那么相对于用户端 FPGA来说实际上是输入。





