最新文章
XILINX 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控制器的设计。
2 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进行片内终结。
3 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所示

4 DDR2控制器的设计及应用
为
了缩短开发周期,采用Xilinx的MIG软件工具直接生成DDR2控制器设计模块,包括HDL代码和约束文件。用户可在MIG的GUI图形界面选择对应
模板、总线宽度和速度级别,并设置CAS延迟、突发长度、引脚分配等关键参数。如果设计者所选器件与MIG所列模板不相符,可在代码生成后灵活修改代码,
达到系统要求。代码添加到工程前需硬件验证,采用MIG自动生成的测试模块进行验证。该模块向存储器发出一系列的写入命令和读取命令,并对写入数据和读回
数据进行比较,通过比较信号(led_error)验证控制器的正确与否。用ChipScope抓取的读数据和相关控制信号时序分别如图6和图7所示,读 写比较信号(led_error)在检测到读写数据相等时输出'0'电平。
在 硬件验证通过后,把控制器代码导入到系统工程中,设计者只需输 入相应命令(包括读、写和初始化命令),控制器模块将自动产生命令和控制信号并按照DDR2的时序要求送至DDR2,命令发送完毕提供给用户一个命令应答 信号(User_cmd_ack),设计者根据这一信号判断是否可以发送下一个命令。至于自动刷新、激活和预充电命令则由控制器自动完成,无需用户干涉。
===========================================
深圳市毅创腾电子科技有限公司
电话:(86)-755-83210909 83616256 83210801 83213361
企业QQ: 2355507165 / 2355507163
===========================================
深圳市毅创腾电子科技有限公司是一家大型、专业的XILINX(赛灵思)、ALTERA(阿特拉)、FREESCALE(飞思卡尔)、Analog Devices、TexasInstruments嵌入式FPGA、CPLD、微控制器、数字信号处理等集成电路销售与服务的授权分销商。也是亚太地区最大规模的原装XILINX、ALTERA、FREESCALE产品供应商之一。
===========================================
EN25QH64-104HIP |
EP1C3T100I7N |
EP1C6Q240C8N |
EP1C6Q240I7N |
EP2AGX260FF35I3N |
EP2AGX45DF25I3N |
EP2AGX65DF29I3N |
EP2AGX95EF29I5N |
EP2C35F484C6N |
EP2C35F484I8N |
EP2C35F672C8N |
EP2C50F484I8N |
EP2C5F256I8N |
EP2C5Q208C6N |
EP2C5T144C8N |
EP2C70F672I8N |
EP2C70F896I8N |
EP2C8Q208I8 |
EP2C8Q208I8N |
EP2S130F1020I4N |
EP2S180F1020I4N |
EP2S60F484I4N |
EP2S90F1020C4N |
EP2S90F1020I4N |
EP2SGX90EF1152I4N |
EP3C120F484I7N |
EP3C120F780C7N |
EP3C120F780C8N |
EP3C120F780I7N |
EP3C16F484C8N |
EP3C25F256I7N |
EP3C40F324C8N |
EP3C40F484C8N |
EP3C40F484I7N |
EP3C55F780I7N |
EP3C5E144I7N |
EP3C5F256C8N |
EP3C80F780C6N |
EP3SL110F780C2N |
EP4CE10E22C8N |
EP4CE10F17C8N |
EP4CE10F17I7N |
EP4CE11529C8N |
EP4CE115F23C8N |
EP4CE115F29C8N |
EP4CE15E22I7N |
EP4CE15F17C6N |
EP4CE15F17C8N |
EP4CE22E22I7N |
EP4CE22F17C7N |
EP4CE40F29I7N |
EP4CE422E22I7N |
EP4CE55F23C8N |
EP4CE6E22C8N |
EP4CE6F17I8N |
EP4CGX150DF27I7N |
EP4CGX150DF31I7N |
EP4CGX15BF14C8N |
EP4CGX15DF27I7N |
EP4CGX75CF23I7N |
EP4SGX110DF29C4N |
EP4SGX110HF35C2N |
EP4SGX180KF40C2N |
EP4SGX180KF40C3N |
EP4SGX230FF35I4N |
EP4SGX230KF40C2N |
EP4SGX230KF40C3N |
EP4SGX230KF40I4N |
EPCQ256SI16N |
EPCS128SI16N |
EPCS16SI16N |
EPCS16SI8N |
EPCS4N |
EPCS4SI8N |
EPCS64SI16N |
EPM2210F256C5N |
EPM2210F324I5N |
EPM240T100C5N |
EPM240T100I5N |
EPM3064ATC44-4N |
EPM570T100I5N |
EPM570T144I5 |
EPM7064AETI44-7N |
EPM7064STI44-6 |
EPM7064STI44-7N |
EPM7128STI100-10N |
EPM9320ALI84-10 |
EPM9320LI84-20 |
FAN1112S |
FDC6331L |
FJV3109RMLF |
FLM7179-18F |
FM25V01-G |
FOD3150 |
FZT857 |
G6K-2G-Y-5VDC |
GAL20V8B-15LPI |
HCPL-0631-500E |
HMC1055CP23CE |
HMC1055LPZCE |
HMC546MS8G |
HMC624CP4 |
HMC624LP4 |
HSP50415VI |
HT1621D |
HX0068ANL |
HX5004NL |
IDT7052L25PFI |
IN4002 |
IN4148 |
IP175G |