首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的DDR3 SDRAM控制器用户接口设计(2)

基于FPGA的DDR3 SDRAM控制器用户接口设计(2)

2. 2 用户接口的时钟模块设计
从外界输入200 MHz 的延迟参考时钟、200MHz 的差分输入时钟,这些输入信号经过时钟和系统复位模块后能够生成整个DDR3 控制器和DDR3工作的全部时钟,包括用户接口的工作时钟、DDR3 IP 核的工作时钟和DDR3 读写数据的时钟等。这种设计方法,具有简化控制器的设计结构,便于对时钟进行管理的优点[5]。图3 为时钟模块的实现模型。

  

图3 时钟和系统复位模块

3 DDR3-SDRAM控制器用户接口的仿真
DDR3-SDRAM 的工作必须按照一定的规则进行,必须符合相应的状态机转换要求,图4 给出了DDR3 存储器工作的状态机,该状态机描述了DDR3各个状态的转换以及转换时所涉及的一些命令。DDR3 控制器的设计实质上是围绕着该状态机的进行设计的,以确保内存模块上的每个DDR3 都能正常的进行工作。

  

图4 DDR3 存储器的状态机

3. 1 用户接口设计模块的Chipscope 仿真结果分析
在本次设计中,硬件仿真采用将含有此用户接口模块的控制器下载到Virtex-7 系列FPGA 上,通过Chipscope 在线实时地观察用户接口内部的信号。和图6 中addr 每隔一个时钟周期加1 的现象。
3. 2 用户接口设计模块的Modelsim 仿真结果分析
在本次设计中,软件仿真采用ISE 14. 3 与Modelsim10.0a 相结合的方法。
图5 为在理想情况下,用户接口的输入信号addr_rdy 和wr_rdy 在无反压时候的内部信号观测图,在此状态下,cmd_en 比wr_en 和wr_end 提前一个周期被拉高,有效地址与相应的有效数据之间一直保持着一个周期的时间延迟。图6 为用户接口在addr_rdy 和wr_rdy 信号有反压情况下的内部信号观测图,在此状态下,初始时刻cmd_en 比wr_en 和wr_end 提前一个周期被拉高,有效地址与相应的有效数据之间相差一个周期的时间延迟,但是随着addr_rdy 和wr_rdy 被拉低之后,有效地址与相应的有效数据之间不再满足相差一个周期的时间延迟。因为在本次设计中采用的是back-to-back 模式,地址总线与数据总线相互独立,所以即使有效地址与相应的有效数据之间不再满足相差一个周期的时间延迟,也不会影响数据的传输。在此模式下,数据与地址的传输比较灵活,控制起来比较方便,也有效的避免了数据的丢失。

图5 addr_rdy 信号和wr_rdy 信号无反压的内部信号观测图

图6 addr_rdy 信号和wr_rdy 信号有反压的内部信号观测图

图7 写数据的Modelsim 仿真图

由于DDR3 采用的突发传输长度BL = 8,读写地址值以8 为单位连续增加,这样addr 的低3 位将一直为0,所以在利用Chipscope 对地址进行观测时,是从addr 的第4 位开始观测的,即出现图5。
由于此次设计采用的内存核心频率为200MHz,又因为采用的DDR3 的内存总线位数为64位,DDR3 一次可以预读取8 位,根据内存带宽= 内存核心频率× 内存总线位数× 倍增系数,所以在不考虑刷新和激活等操作所占用的带宽下,DDR3 的内存带宽可以达到12. 5 GB,传输速率可达到1 600MB /s。在如此快的传输速率下,利用Chipscope 难以观测由DDR3 控制器写入到DDR3 内部的数据。所以在本次设计中,采用在ISE14. 3 里面对DDR3控制器的工程添加DDR3 模型,利用Modelsim 对DDR3 控制器和DDR3 模型进行联合仿真的方法对由控制器写入到DDR3 内部的数据进行观测。
从图7 中可以看出,在一个时钟周期内dq 的同步信号qds_n 和dqs_p 变化了8 次,也就是说,在一个时钟周期内写数据以64 bit 为单位被写入了8次。由用户接口传输过来的数据经过DDR3 IP 核之后,能够准确的被写入到DDR3 里面。当进行读数据的时候,也是以64 bit 为单位,在一个时钟周期内读8 个64 bit 的数据。
3. 3 DDR3 控制器用户接口在高速图像数据采集系统中的应用
含有该用户接口的DDR3 控制器已经成功的被应用到某高速图像数据采集系统中,图8 为该高速图像数据采集系统采集到的图片。

  

图8 高速图像数据采集结果图

该图像采集系统设置CMOS 相机工作在采用8bit 位宽的双通道模式下,帧频为250 帧/s,其分辨率为2 040 × 1 024。采集系统将接收到的图像数据经过DDR3 缓存之后,通过千兆以太网接口传输至PC 机,再将写入PC 机内的数据以图片的形式显示出来。图8 为采集系统连续采集到的两帧图片,从图中可以看出两帧图片的时间间隔为4 ms,满足帧数要求,并且图像清晰完整,达到了预期的标准。
4 结论
本次设计的硬件平台为Xilinx 公司的Virtex-7 FPGA VC707 评估套件。7 系列的FPGA 具有比6系列和5 系列的FPGA 尺寸小、成本低、高性价比和大容量以及超高端连接带宽等优点。
该内存控制器的用户接口设计能够对DDR3 内存模块进行很好的管理,同时完成用户发送的各种请求,并且最大限度的提高了访问内存的速度和带宽,避免了数据的丢失,并成功的应用到某高速图像采集系统中。在此用户接口的基础上设计的内存控制器能够与市场上大多数主流内存进行兼容,可移植性强,大大降低了开发成本。
继承事业,薪火相传
返回列表