0

0

基于Cyclone III FPGA的DDR2接口设计

php中文网

php中文网

发布时间:2016-06-07 15:00:44

|

1765人浏览过

|

来源于php中文网

原创

欢迎进入IT技术社区论坛,与200万技术人员互动交流 >>进入 DDR SDRAM是Double Data Rate SDRAM的缩写,即双倍速率同步动态随机存储器。DDR内存是在SDRAM内存基础上发展而来的,能够在时钟的上升沿和下降沿各传输一次数据,可以在与SDRAM相同的总线时钟频率下

欢迎进入it技术社区论坛,与200万技术人员互动交流 >>进入

>  DDR SDRAM是Double Data Rate SDRAM的缩写,即双倍速率同步动态随机存储器。DDR内存是在SDRAM内存基础上发展而来的,能够在时钟的上升沿和下降沿各传输一次数据,可以在与SDRAM相同的总线时钟频率下达到更高的数据传输率。虽然DDR2和DDR一样,都采用相同采样方式进行数据传输,但DDR2拥有两倍于DDR的预读取系统命令数据的能力。也就是说,在同样100MHz的工作频率下,DDR的实际频率为200MHz,而DDR2则可以达到400MHz。DDR2还引入了三项新的技术,它们是OCD、ODT和Post CAS。

  我们的设计(图1)采用Altera公司Cyclone III系列型号为EP3C16F484C6N的FPGA作为控制器,以Micron公司生产的型号为MT47H16M16BG-5E(16M×16bit)的DDR2 SDRAM为存储器。用一个IP核完成对4片DDR2的控制(带宽为64bit),且DDR2的最高速率可达200MHz,以此完成对数据的高速大容量存储。由于采用一个DDR2的IP核进行控制,所以4片DDR2以地址和控制线共用、数据线独立的方式进行管脚连接。

基于Cyclone III FPGA的DDR2接口设计

  图1 接口总框图

  EP3C16只有TOP和BOTTOM边的BANK支持200MHz DDR2接口(因为DDR2管脚的特殊要求,DQS、DQ、DM管脚在FPGA上都需要专用管脚),且最高速率可达200MHz。

  表1中Column I/O是指Top和Bottom I/O,Row I/O是指Right和Left I/O。Hybrid mode是指由Column和Row I/O混合。

  从表1中可以看出,Cyclone III只有6系列的FPGA在Top和Bottom BANK才支持200MHz频率的DDR2。为了满足设计要求,我们将4片DDR2分别挂在FPGA的Top和Bottom的4个BANK。

  表1 FPGA BANK管脚速度

基于Cyclone III FPGA的DDR2接口设计

  从表2中可以看到,EP3C16 F484封装系列的FPGA每个边所支持的DQS和DQ组。因为在DDR中若干个DQ是由一个DQS进行采样的,所以FPGA以若干个DQ和一个DQS为最小单位进行分组。

  表2 FPGA BANK DQ

基于Cyclone III FPGA的DDR2接口设计

  如Number of ×8 Groups,其中×8就是指8个DQ,一个DQS即和8个DQ组成一个Group(即这8个DQ由这一个DQS进行采样)。FPGA分别有Left、Right、Top和Bottom四边,其表示FPGA的每边都支持4个DQS和DQ组,而每一边有两个Bank,即每个Bank都支持两个×8架构的DQS和DQ组。图2展示了FPGA的DQS和DQ组的分配。

  由于设计中采用Top和Bottom边的Bank,这里以第3个Bank的DQS为例进行说明。在图2可以看到,FPGA的Bank3有三个DQS,分别为DQS1B、DQS3B和DQS5B。由于每组DQ都要和各自对应的DQS配对,所以理论上DQS1B应该和DQ1B为一组,DQS3B应该和DQ3B为一组,DQS5B应该和DQ5B为一组。

基于Cyclone III FPGA的DDR2接口设计

  图2 FPGA BANK DQS/DQ

  表3中展示了FPGA管脚中的DQ分配。可以看到,对于×8架构的DDR2,Bank3只有DQ3B和DQ5B,且DQ3B和DQ5B各自都有9个,DQS1B其实没有属于自己的DQ。其实在Bank4中还有1个DQS2B和8个DQ2B,1个DQS4B和8个DQ4B。

  而对于×16架构的DDR2,则有18个DQ3B和1个DQ5B,DQS1B没有属于自己的DQ,其实在Bank4中还有17个DQ5B,这样在Bank3和Bank4中一共就有18个DQ5B。

  表3 FPGA BANK Pin

基于Cyclone III FPGA的DDR2接口设计

  在×32架构的DDR2中则有19个DQ5B,没有DQ1B和DQ3B,在Bank4中还有17个DQ5B,这样在Bank3和Bank4中一共就有36个DQ5B。

  对于×9/×18/×36这里暂不讨论,其为QDRII SRAM设计,其多余DQ做奇偶校验使用。

  表4 不同架构DDR2的支持数量

基于Cyclone III FPGA的DDR2接口设计

  从表4可以看出FPGA是如何支持不同架构的DDR2的,还可以知道同一组的DQ不一定在同一个Bank,不是每个DQS都有自己的DQ,即使DQS有自己的DQ,其DQ数量也不一定相同。

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

下载

基于Cyclone III FPGA的DDR2接口设计

  图3 FPGA DQ/DQS Pin

  除了DQS和DQ外,DM也有自己专用的管脚,在DDR中DM为数据信号(DQ)屏蔽位,由于DM是以8bit为单位起作用的,所以理论上只要有8个DQ便会有一个DM。事实上在FPGA的Bottom边Bank中DM的分配如表5所示。

  表5 FPGA的Bottom边Bank中DM的分配

基于Cyclone III FPGA的DDR2接口设计

  了解清楚FPGA中的DQS,DQ和DM分配,我们再来看看DDR2的架构。DDR2选用Micron生产的MT47H16M16BG-5E,其大小为16M×16bit,每一片分为4个Bank,每个Bank为4M×16bit。如果看到×16,你就认为这是一片×16架构的DDR2,再按照FPGA上×16架构的管脚去设计,那就大错特错了。

  虽然该DDR2是16位的带宽,但其却有两个DQS,分别是LDQS和UQDS,也就是说其实两个DQS分别采样低8位和高8位数据。请注意,即使是32位带宽的DDR,其也有4个DQS,每个DQS也仅采样8位数据。至于有没有一个DQS能采样16位或32位数据的DDR,这就不为人知了。

  确定了DDR2的架构,就确定了DDR2和FPGA的DQS,DQ和DM的连接方式。由于我们采用的是×8架构的DDR2,所以一组内的DQ仅需要8个,而有的DQS带有9个DQ,在选用该DQ的时候只要任意选取其中的8个就可以。

  在SSTL-18电平标准中,为了实现更高的信号频率,输入信号需要和一个参考电压(VREF)进行比较输出后才被认为是实际输入。因为DDR2采用1.8V的SSTL电平进行数据传输,所以DDR2所在FPGA 的Bank电压必须是1.8V,FPGA就必须在该Bank使用VREF参考电压。在FPGA的每个Bank都有两个VREF参考电压输入,该Bank的I/O分属这两个VREF组,如在Bank3存在VREFB3N0和VREFB3N1。

  当FPGA的一个Bank存在VREF输入或双向的管脚时,为了防止输出的开关噪声转移到VREF和限制输送到VCCIO的噪声水平,FPGA输入输出IO的位置有如下限制(BGA封装的FPGA):

  每个VREF最多支持32个输入;

  在Top和Bottom Bank每12个连续的管脚最多只支持9个输出。在Right和Left Bank每14个连续的管脚最多只支持9个输出;

  在VREF和输出管脚(除了DQ和DQS)之间必须用两个输入或空脚进行隔离。一般是空着,因为输入会因为输出管脚引来的噪声而导致读入不正确;

  如果不需VREF参考,一般在一个BANK中只要全部是同组数据总线或地址总线时,输出个数不受限制(即受同一个OE控制的不受限制)。如果不是同一个OE控制就要满足上面约束关系,以及驱动型接口要考虑驱动能力。

  图4所示,输出脚必须和VREF用两个输入或空脚进行隔离。另外,由于DDR2的地址和控制线都是输出管脚,所以在手动分配管脚的时候很容易超出2所述的限制,而且FPGA是BGA封装,只从SYMBOL上很难看出管脚的连续性。FPGA的管脚在外部看来是方阵排列,但其在FPGA的内部却是线性的排列,所以硬件设计时最好通过软件去看管脚的连续性。在原理图设计分配DDR2所在Bank的输出管脚时,建议采用Quartus II软件自动分配,这样才能更好地避免错误。

基于Cyclone III FPGA的DDR2接口设计

  图4 FPGA Output Pad

  此外,还要注意:

  在Cyclone III系列的FPGA中,不支持差分的DQS,该FPGA的IP只在写模式下用到DQS,在读数据时不用(因为IP复位时IP会发送接收训练序列自校正产生捕获时钟);

  多余不用的DQ可以当做普通I/O使用;

  Quartus II软件自动分配管脚时不会区分同一组的DQ和DM,即DQ和DM可以互换(在EP3C16时仅有TOP边的DQ和DM可以互换);

  DDR2的地址和控制线在FPGA上没有专用管脚,可以任意使用其它IO(只要符合输入输出位置限制);

  可以使用任何一对临近的差分I/O管脚当作DDR2的时钟。

基于Cyclone III FPGA的DDR2接口设计

相关专题

更多
虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

29

2025.12.25

错误代码dns_probe_possible
错误代码dns_probe_possible

本专题整合了电脑无法打开网页显示错误代码dns_probe_possible解决方法,阅读专题下面的文章了解更多处理方案。

20

2025.12.25

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

37

2025.12.25

word转换成ppt教程大全
word转换成ppt教程大全

本专题整合了word转换成ppt教程,阅读专题下面的文章了解更多详细操作。

6

2025.12.25

msvcp140.dll丢失相关教程
msvcp140.dll丢失相关教程

本专题整合了msvcp140.dll丢失相关解决方法,阅读专题下面的文章了解更多详细操作。

2

2025.12.25

笔记本电脑卡反应很慢处理方法汇总
笔记本电脑卡反应很慢处理方法汇总

本专题整合了笔记本电脑卡反应慢解决方法,阅读专题下面的文章了解更多详细内容。

6

2025.12.25

微信调黑色模式教程
微信调黑色模式教程

本专题整合了微信调黑色模式教程,阅读下面的文章了解更多详细内容。

5

2025.12.25

ps入门教程
ps入门教程

本专题整合了ps相关教程,阅读下面的文章了解更多详细内容。

4

2025.12.25

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

218

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4万人学习

Rust 教程
Rust 教程

共28课时 | 3.8万人学习

Django 教程
Django 教程

共28课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号