FPGA系统设计的仿真验证之:SDRAM读写控制的实现与Modelsim仿真
- UID
- 863084
|
FPGA系统设计的仿真验证之:SDRAM读写控制的实现与Modelsim仿真
7.6 典型实例13:SDRAM读写控制的实现与Modelsim仿真7.6.1 实例的内容及目标1.实例的主要内容本节旨在通过分析SDRAM控制器,介绍了SDRAM的基本工作模式。最后使用Modelsim对读写控制器进行仿真,帮助读者进一步了解一个真实的器件模块是如何进行Modelsim仿真的。
2.实例目标通过本实例,读者应达到下面的目标。
· 了解SDRAM存储器的工作模式。
· 熟悉Modelsim仿真的基本流程。
· 可独立使用Modelsim仿真新工程。
7.6.2 SDRAM简介在高速实时或者非实时信号处理系统当中,常常使用大容量存储器实现数据缓存。而大容量存储器的控制与使用是整个系统实现过程中的重点和难点之一。
SDRAM(同步动态随即访问存储器)具有价格低廉、精密度高、读写速度快等优点,从而成为数据缓存器的首选存储介质。但是SDRAM的结构与SRAM有很大的差异,其控制时序和机制也比较复杂,这就限制了SDRAM的使用范围。
下面我们首先对SDRAM进行简单介绍。
1.SDRAM信号SDRAM器件的信号可以分为控制、地址和数据信号3类,具体定义如表7.2所示。
表7.2 SDRAM信号
信 号 名
| 信 号 类 型
| 信 号 描 述
| CS
| 输入
| Chip Enable,使能
| CLK
| 输入
| Clock,时钟
| CKE
| 输入
| Clock Enable,时钟使能
| RAS
| 输入
| Row Address Strobe,行地址选通
| 续表
信 号 名
| 信 号 类 型
| 信 号 描 述
| CAS
| 输入
| Column Address Strobe,列地址选通
| WE
| 输入
| Write Enable,写使能
| DQML、DQMH
| 输入
| Data Mask for Lower,Upper Bytes,高低字节屏蔽
| BA
| 输入
| Bank Address,Bank地址
| A[0:10]
| 输入
| Address,地址
| DQ[0:15]
| 双向
| Data,数据
|
2.SDRAM工作特性通常一个SDRAM 中包含几个Bank,每个Bank的存储单元是按行和列寻址的。由于这种特殊的存储结构,SDRAM有以下几个工作特性。
(1)SDRAM 的初始化。
SDRAM 在上电100~200μs 后,必须由一个初始化进程来配置SDRAM的模式寄存器,模式寄存器的值决定着SDRAM 的工作模式。
(2)访问存储单元。
为减少I/O 引脚数量,SDRAM 复用了地址线。所以在读写SDRAM 时,先由ACTIVE 命令激活要读写的Bank,并锁存行地址,然后在读写指令有效时锁存列地址。一旦Bank被激活后只有执行一次预充命令后才能再次激活同一Bank。
(3)刷新和预充。
为了提高存储密度, SDRAM 采用硅片电容存储数据,电容总是倾向于放电,因此必须有定时的刷新周期以避免数据丢失。刷新周期可由(最小刷新周期÷时钟周期)计算获得。对Bank预充电或者关闭已激活的Bank,可预充特定Bank 也可同时作用于所有Bank,A10、BA0和BA1用于选择Bank。 |
|
|
|
|
|