标题:
基于ALTERA FPGA的低延迟QDR2 RAM控制器解决方案
[打印本页]
作者:
m1_ljp
时间:
2012-9-18 16:09
标题:
基于ALTERA FPGA的低延迟QDR2 RAM控制器解决方案
QDR2 RAM是一种特殊结构的SRAM,它的读写端口是分开的,有两套读写数据总线。地址是读写共享的,对BURST长度为2的QDR2 RAM来说,读地址在时钟CK的上跳沿锁存,写地址在时钟CK的下跳沿锁存。它的这种结构消除了数据总线的turn-around的必要,延迟更小。
在ALTERA的高端FPGA中,我们可以利用一些底层IP,如DQDQS,DLL,PLL来实现一个低延迟的QDR2 RAM读写控制器,因为其结构简单,读延迟很小,可以满足客户在一些数据通信产品方面的需要,比如帧包头的存取。
图1 控制器的结构图
图2 读延迟为7个时钟周期
FPGA实现方案
这个控制器的结构如图1所示,包括一个DLL,一组DQDQS,一个PLL,命令地址输出模块,数据输入接收以及同步模块。PLL产生内部数据时钟以及命令时钟,DLL以及DQDQS负责移相DQS,将36位双沿输入数据转成72位单沿并行数据,命令地址输出模块产生读写地址、读写命令信号,数据输入接收以及同步模块负责将DQDQS接收到的数据同步到内部数据时钟域。
这个控制器的内部用户接口包括21位的读写地址输入,72位的输入数据,72位的输出数据,单bit的读使能和写使能控制,以及单bit的读数据有效信号。所有这些信号都同步到PLL的数据时钟域上,便于用户使用。QDR2 RAM接口则是标准的形式,36bit的输出数据,36bit的输入数据,一对DQS差分对,一对输出时钟CK差分对,读写控制信号。
表1 控制器消耗的FPGA资源
FPGA设计的资源和性能
这个控制器消耗的FPGA资源如表1所示(在A2GZ器件上实现)。
读延迟(从读请求信号qdr2_rps_en_n上跳沿到返回数据有效信号clt_rd_valid上跳沿)为7个时钟周期,如图2所示。
这个设计可以移植到ALTERA的所有中高端FPGA,包括A2GX,A2GZ,STRATIX3,STRATIX4,STRATIX5上,对延迟等性能没有影响。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0