首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» Xilinx Spartan-3A FPGA 的DDR2接口设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Xilinx Spartan-3A FPGA 的DDR2接口设计
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-4-26 23:13
|
只看该作者
Xilinx Spartan-3A FPGA 的DDR2接口设计
解决方案
,
电子设备
,
控制器
,
委员会
,
可靠性
DDR2(Double DataRate2)SDRAM是由JEDEC(电子设备工程联合委员会)制定的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同:虽然采用 时钟的上升/下降沿同时传输数据的基本方式,但DDR2却拥有2倍的DDR预读取能力(即4位预存取技术)。此外,DDR2还增加ODT(内建核心终结电 阻器)功能,内建合适的端接电阻,避免了以往因片外连接大片终结电阻带来的制板成本增加。基于FPGA的SDRAM控制器,以高可靠性、强 可移植性、易于集成的特点,逐渐取代以往的专用控制器而成为主流解决方案。本文采用Xilinx公司的Spartan-3A系列FPGA和Hynix公司 的DDR2 SDRAM器件HY5PS121621实现DDR2控制器的设计。
FPGA与DDR2存储器接口
图1所示为 DDR2与FPGA的外围接口连接图,DDR2的信号线分为:时钟信号线CK/CK;数据信号线Data/DQS/DM;地址信号线 Address/BA1/BA0;命令信号线RAS/CAS/WE;控制信号线CS/CKE/ODT。FPGA除与DDR2的所有信号线相连外,还引出外 部环回信号线(图中虚线所示),此信号输出送至输入输出模块(IOB),以补偿FPGA与存储器之间的IOB、器件和迹线的延迟。
差 分时钟线CK/CK为DDR2数据传输提供时钟,在CK的上升沿和下降沿均有数据被触发;双向差分线DQS/DQS看作数据的同步信号,写入时由控制器发 出,读取时由DDR2产生DQS向控制器发送,它与读数据边沿对齐而与写数据中心对齐。DN为数据信号屏蔽位在突发写传输时屏蔽不存储的数 据;RAS/CAS/WE作为命令信号线向DDR2发出读取、写人、刷新或预充电命令;片内终结信号线ODT控制是否需要DDR2进行片内终结。
DDR2控制器的设计原理
基于FPGA的DDR2控制器设计是由时钟生成模块、存储控制模块和读写数据接口模块组成如图2所示。
控 制器中所有模块时钟均来自于时钟生成模块,它由数字时钟管理器(DCM)控制,输出90°、180°和270°时钟。该模块还包含延迟校准监视器,用于校 准读取数据(DQ)对读取数据选通脉冲(DQS)的延迟,以便读取数据选通脉冲边沿能够正确对齐DQ有效窗口的中间位置。读写数据接口模 块是整个控制器设计的关键,它负责将用户写入的数据DQ和DOS按照DDR2SDRAM时序要求发送给DDR2,DDR2在DQS的每一个时钟沿采集写数 据。在读取数据时,DDR2SDRAM将DQS和相关数据发送到与DQ对齐边沿的FPGA。FPGA将接收到的DQS信号经过延迟校准,作为内部存储读数 据的FIFO的写时钟。FPGA为DDR2的每个数据位配置一对读写异步的FIFO,每个数据位都输入到上升沿(FIFO0)和下降沿(FIFO1)的 FIFO中,实现原理如图3所示。
存储控制模块用于产生DDR2所需的地址和命令信号。DDR2在正常的读写操作前要初始化,因此需向DDR2发送初始化命令,待初始化完成后才能发送读写命 令。对DDR2SDRAM的读写访问为突发模式。突发写操作需向DDR2提供写命令(User_command)、写数据 (User_input_data)和写地址(User_address)信号,在最后一个写地址发送突发操作完成信号 (User_burst_done),并保持2个时钟周期有效下终止写操作,突发写时序如图4所示。突发读操作需向DDR2提供读命令 (User_comm-and)和读地址(User-address),在最后一读地址发送突发完成信号(User-burst_done),并保持2个 周期有效下终止读操作,突发读时序如图5所示
DDR2控制器的设计及应用
为 了缩短开发周期,采用Xilinx的MIG软件工具直接生成DDR2控制器设计模块,包括HDL代码和约束文件。用户可在MIG的GUI图形界面选择对应 模板、总线宽度和速度级别,并设置CAS延迟、突发长度、引脚分配等关键参数。如果设计者所选器件与MIG所列模板不相符,可在代码生成后灵活修改代码, 达到系统要求。代码添加到工程前需硬件验证,采用MIG自动生成的测试模块进行验证。该模块向存储器发出一系列的写入命令和读取命令,并对写入数据和读回 数据进行比较,通过比较信号(led_error)验证控制器的正确与否。用ChipScope抓取的读数据和相关控制信号时序分别如图6和图7所示,读 写比较信号(led_error)在检测到读写数据相等时输出'0'电平。在硬件验证通过后,把控制器代码导入到系统工程中,设计者只需输 入相应命令(包括读、写和初始化命令),控制器模块将自动产生命令和控制信号并按照DDR2的时序要求送至DDR2,命令发送完毕提供给用户一个命令应答 信号(User_cmd_ack),设计者根据这一信号判断是否可以发送下一个命令。至于自动刷新、激活和预充电命令则由控制器自动完成,无需用户干涉。
结束语
通过MIG工具辅助设计,实现500 M/s带宽的DDR2接口数据采集,占用FPGA资源分别为15%IOB资源,17%逻辑Slice资源和2个DCM。在FPGA中实现DDR2控制器,节省功耗和空间,并缩短系统开发周期,满足大多数低成本系统设计要求。转载自:21ic
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议