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

基于ALTERA FPGA的低延迟QDR2 RAM控制器解决方案

基于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上,对延迟等性能没有影响。
返回列表