首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 种高速缓存方案的实现方法
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
种高速缓存方案的实现方法
发短消息
加为好友
forsuccess
当前离线
UID
871057
帖子
6281
精华
0
积分
3141
阅读权限
90
在线时间
282 小时
注册时间
2012-2-21
最后登录
2015-6-23
论坛元老
UID
871057
性别
男
1
#
打印
字体大小:
t
T
forsuccess
发表于 2013-8-15 23:55
|
只看该作者
种高速缓存方案的实现方法
工作原理
,
可靠性
,
移动通信
,
产品
,
领域
摘要:
基于Altera公司的EP2SGX90FF1508C3N和NEC公司的UPD44165364AF5,提出了一种高速缓存方案。本设计采用可编程逻辑器件,灵活性高,可靠性强,可以根据用户的需要进行方便的扩展和升级。深入研究了QDRII SRAM的工作原理和时序原理,提出了比较可靠的读写状态机实现方案。硬件设计经过实际测试,达到了预期的指标,实现了43.2 Gb/s的数据吞吐速率,并且成功用于某产品中。
关键词:
QDRII SRAM;高速缓存;时序图;状态机;FPGA
引言
在移动通信领域随着3G时代的到来和4G的发展,无线基站离不开高速率、高带宽和大动态的数据采集,采集下来的高速数据需要进行高速缓存、高速数据处理和传输。本文实现了一种基于FPGA和QDRII SDRAM高速缓存解决方案,并且经过实际验证,已成功应用于某产品中。
1 QDRII工作原理
QDR协议由存储器供应商Cypress、IDT、NEC、Renesas和Samsung公司组成的联盟共同发布,主要针对网络交换机、路由器和其他通信设备的应用。QDRII由两个独立的“读”和“写”端口组成,“读”和“写”端口有分别独立的数据输出和数据输入端口来支持相应的读写操作,并且读写端口分别为双倍数据速率端口。
QDRII SRAM提供了2字突发和4字突发结构。2字突发结构的DDR地址总线在前半个时钟周期允许读请求,后半个周期允许写请求。4字突发结构针对每一个读或写请求传输4个字,这样只需一个SDR的地址总线就能最大程度地利用数据带宽。以Cypress公司生产的CY7C1310V18为例,说明QDRII器件内部逻辑结构,如图1所示。
从结构图可以得出,QDRII SRAM的读(Q)、写(D)端口独立,共用地址总线(A)。
为两对伪差分控制时钟。
为读选通使能,
为写选通使能。
为字节使能信号,低电平有效。
为低电平关闭QDRII内部DLL,CQ、
为源同步时钟输出。
QDRII SDRAM的控制方式可以分为单时钟控制方式和双时钟控制方式。单时钟控制方式是读和写操作都由K、K时钟控制;而双时钟控制方式的写操作由K、K控制,但是读操作由C、
决定。
4字节突发结构的写操作如图2所示。地址信号(SA),写选通信号(
)和写入数据信号(D)的中心都与时钟K、
的边沿对齐。在时钟K的上升沿若检测到
写控制信号为低电平,则地址总线(SA)上的数据被锁存。在其之后的第二个时钟K的上升沿,设备锁存D上的第一个数据字,在接下来的
的上升沿第二个数据字被锁存。第三个和第四个数据字在K、
的上升沿数据被锁存,进而完成第一个周期的写操作。
4字节突发结构读操作如图3所示。在单时钟模式下,即读操作完全由时钟K、
控制时,在时钟K的上升沿,当读选通信号
为低电平时,读地址SA被锁存。在其之后的第二个时钟K的上升沿,设备锁存Q上的第一个数据字,在接下来的
的上升沿锁存Q上第二个数据字。在之后的K、
的上升沿锁存Q上的第三个和第4个数据字。读总线数据输出Q值在DDR模式下从存储器中输出时,与CQ、
源同步时钟边沿对齐,此时完成一个完整的读操作。
2 QDRII SRAM读写状态机
在实际的应用系统中,为了让器件连续有效地工作,必须设计相应的控制程序来完成各种控制状态之间的转换,对于4字节突发QDRII器件,设计的读写状态机如图4所示。使QDRII在读写状态中自由跳转。
读/写状态机负责调节用户接口和物理接口之间的数据流。它根据保存在用户接口FIFO中的状态信号来判断是否向外部存储器器件发送读/写命令。用户重置控制信号每次都会将状态机恢复到INIT状态,此时存储器暂停运行,直到延迟校准状态机完成相应的延迟调整,使读通路数据与FPGA系统时钟中心对齐。校准操作完成的信号高电平有效,该输入将读/写状态机转换到空闲状态,以等候来自用户接口的读/写请求。在空闲状态,如果未向状态机发出任何控制命令,状态机将一直在此状态下循环。当有读或写请求并且读写的条件满足时,状态机将自动跳转到读或写状态。在写状态下,用户通过Avl_walt_request_wr发送写请求,控制器将从FIFO中取出写地址和数据值,并使外部
写控制选通脉冲进入存储器器件。
在读状态下,用户通过Avl_wait_request_rd发送读请求,控制器从FIFO中取出读地址,并向存储器器件发送一个外部
选通脉冲。读/写状态机持续监控用户接口FIFO状态信号,以确定是否存在待处理读/写请求。连续不断地并发读/写请求流将导致状态机只在读状态和写状态之间转换,以确保正确无误地将请求交替发送到外部存储器。一串只写请求将导致空闲状态和写状态轮流出现,同样,一串读请求也会在空闲状态和读状态问转换。
3 系统的硬件实现
本文实现的高速缓存系统是以FPGA和QDRII器件为核心的,FPGA采用Altera公司的Stratix II GX系列,具体型号为EP2SGX90FF1508C3N Stratix II系列芯片采用90 nm工艺,1.2 V内核电压供电,具有片上可编程电阻特性,简化了设计,容易实现阻抗匹配,提高了信号完整
性。QDRII采用NEC公司的UPD44165364AF5-E33EQ2-A,具有4字节突发结构,最高工作频率为300 MHz。FPGA与QDRII的接口如图5所示。
QDRII的控制时序十分复杂,为简化设计过程,增强系统的可靠性,可以采用IP核进行控制。IP核是一种预定义的并经过验证的复杂功能模块,可以方便地集成到系统中。
Altera公司的QDRII SDRAM Controller MegaCore可提供一些底层的时序控制,使得对QDRII的控制变得相对简单,IP核留给用户一些上层的Avalon通信接口,用户可以根据自己的需要对相应的状态引脚进行监控和编写驱动,实现对QDRII器件的操作。
4 实验设计及测试结果
用VHDL编写testbench,测试系统性能,设计原理如图6所示。设计数据源对QDRII进行写操作,再把读出来的数据与原始数据对比,最后给出测试结果。
进行速度测试,以300 MHz的速率进行读写,通过测试证明本系统能够稳定工作,测试结果如图7所示。
为了便于观察,选取几个固定地址,循环读取该地址的数据,用SignalTap对其进行实时采样,结果如图8所示。可以清晰地看出给定固定地址00004H后,发出读请求,在avl_data_read_valid有效时读取数据为AAAAFFFFAAAAFFFFAAH,与写入数据一致。
结语
本文通过深入分析QDRII的结构和工作原理,设计一种状态机,给出了一种基于FPGA的高速缓存方案。经过实验验证,QDRII可以稳定工作在300 MHz,使36位存储器接口的总流量达到43.2 Gb/s,具有实际应用价值,使各种数据密集型应用中的读/写能力得以提升。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议