目录
SDRAM基本介绍及实验平台:
SDRAM简介:
同步动态随机存取内存(synchronous dynamic random-access memory,简称SDRAM)是有一个同步接口的动态随机存取内存(DRAM),可以实现数据的存储和读取。这里主要注意的是同步、动态、随机。
同步:SDRAM有一个同步接口,在响应控制输入前会等待一个时钟信号,这样就能和计算机的系统总线同步。这个词在FPGA中经常遇到,体现了SDRAM必须遵守的时序要求,就是数据、命令在时钟上进行同步。
动态:RAM这中存储结构会掉电丢失,在上电的时候也会丢失。因为SDRAM内部存储的数据是二进制数据,非0则1。用来存储该二进制数据的电路是由电容构成的,由于电容这种器件会随着时间而慢慢放电,因此需要不断地去刷新里面的存储电路,以此来达到存储数据的功能。相较于SRAM的不需要刷新电路就能存储数据来说,在SDRAM多了一步刷新操作,但可以节约大量成本,因此选取器件需要从功能和成本等很多方面考虑。
随机:从字面意思可以看出,SDRAM是可以对内部地址随机地进行数据存取操作的。
SDRAM历史:
SDRAM从发展到现在已经经历了五代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM,第五代,DDR4 SDRAM。
第一代SDRAM采用单端(Single-Ended)时钟信号,第二代、第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。
SDR SDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据读写速率也为100或133MHz。
之后的第二,三,四代DDR(Double Data Rate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。
DDR的读写频率从DDR200到DDR400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1600。
很多人将SDRAM错误的理解为第一代也就是 SDR SDRAM,并且作为名词解释,皆属误导。
SDR不等于SDRAM。
实验的SDRAM介绍:
1.存储器架构
本实验使用的是ISSI公司的IS42S16400F或IC42S16400F型号的SDRAM芯片,写SDRAM接口前首先要了解一下这个SDRAM的系统架构以及总体概述。从网上可以下载到这个型号存储器的数据手册:
图1:IS42S16400F存储器架构
IS42S16400F存储器主要包括指令译码器、地址线、数据线、存储块、模式寄存器和动态电路控制。
(1)指令译码器
指令译码器中包括时钟信号(clk)和时钟使能(cke)以及控制指令信号(cs/ras/cas/we),控制指令信号通过译码后对存储器进行一系列控制动作。
(2)地址线
地址线包括16位行列地址线及2位块地址线,行列地址线是A0-A11,是复用总线,行列地址分时复用。块地址线ba0和ba1选取存储器的块ram。
(3)数据线
数据线为16位数据总线dq,为三态信号,是数据写入和读出的数据接口。
(4)存储块
IS42S16400F共有四个存储块,每个块都可以存储数据,可以通过ba0和ba1选取存储块。
(5)模式寄存器
模式寄存器是配置该SDRAM的工作模式,读写方式、突发长度等。
(6)动态电路控制
这几个模块主要包括行列地址的编码、自刷新定时和自刷新操作。
2.基本特点
(1)时钟频率:200,166,143MHz)
(2)完全同步,时钟上升沿输出数据
(3)3.3V供电
(4)可编程冲突长度(1,2,4,8,全页)
(5)每64ms刷新4096次
(6)可编程cas延时(2,3个时钟周期)(这里后边会讲)
(7)突发读写或单读写
(8)字节由LDQM和UDQM控制
(9)存储量1Mbit * 16bit * 4Bank = 64Mbit
存储深度:IS42S16400F有4个块,行地址12bit,列地址8bit。所以每个块有2^12 * 2^8 = 4096 * 256 = 1,048,576
存储宽度:每个存储单元16bit
存储容量:4 * 1,048,576 * 16 = 64Mbit
SDRAM基本介绍就到这里,线面将会对SDRAM内部具体功能进行介绍。
(附IS42S16400F芯片datasheet下载链接):https://download.csdn.net/download/qq_33231534/12280053