DDR2论文

2024-07-07

DDR2论文(精选5篇)

DDR2论文 篇1

长久以来CPU对计算机的性能起着决定性的作用, 但同时内存也是不可或缺的, 它肩负着为处理器的高速运算提供数据资料中转、暂存的重任, 再快的CPU没有适合的高速内存配合, 实力也要大打折扣, 所以说内存是系统性能和稳定性的关键部件绝不为过。

随着技术的进步, 内存的规格也在不断的发生着变化, 从以前的SDRAM、RDRAM、DDR SDRAM到当前火爆的DDR2。2006年内存市场也是异常活跃, DDR的“隐退”, DDR2内存的“意气风发”, 微软新系统的出现使1G内存容量正在逐渐成为主流, 人们需求的增长和客观技术因素的存在带来市场的激烈动荡, 我们将从多方面来详尽阐述2006年内存的技术发展动态……

一、什么是DDR-2内存

在介绍DDR-2内存之前, 先介绍什么是DDR-2内存。DDR2 (Double Data Rate 2) SDRAM是由JEDEC (电子设备工程联合委员会) 进行开发的新生代内存技术标准, 它与上一代DDR内存技术标准最大的不同就是, 虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方式, 但DDR2内存却拥有两倍于上一代DDR内存预读取能力 (即:4bit数据读预取) 。换句话说, DDR2内存每个时钟能够以4倍外部总线的速度读/写数据, 并且能够以内部控制总线4倍的速度运行。

此外, 由于DDR2标准规定所有DDR2内存均采用FBGA封装形式, 而不同于目前广泛应用的TSOP/TSOP-II封装形式, FBGA封装可以提供了更为良好的电气性能与散热性, 为DDR2内存的稳定工作与未来频率的发展提供了坚实的基础。回想起DDR的发展历程从第一代应用到个人电脑的DDR200经过DDR266、DDR333到今天的双通道DDR400技术, 第一代DDR的发展也走到了技术的极限, 已经很难通过常规办法提高内存的工作速度, 随着Intel最新处理器技术的发展, 前端总线对内存带宽的要求是越来越高, 拥有更高更稳定运行频率的DDR2内存将是大势所趋。

二、DDR-2技术改进

由于DDR-I架构的局限性, 当频率达到400MHz后, 就很难再有所提升, 所以很快就推出了DDR-Ⅱ。相对来说, 作为DDR的接班人的DDR-Ⅱ在总体仍保留了DDR-I的大部分特性, 相对DDR-I的设计变动并不大, 主要进行了以下几点改进:

1、改进针脚设计

虽说DDR-Ⅱ是在DDR的基础之上改进而来的, 外观、尺寸上与目前的DDR内存几乎一样, 但为了保持较高的数据传输率, 适合电气信号的要求, DDR-Ⅱ对针脚进行重新定义, 采用了双向数据控制针脚, 针脚数也由DDR的184Pin变为240Pin (注:DDR-II针脚数量有200Pin、220Pin、240Pin三种, 其中240Pin的DDR-Ⅱ将用于桌面PC系列。

2、更低的工作电压

由于DDR-II内存使用更为先进的制造工艺, DDRII内存将采用0.09微米的制作工艺, 其内存容量可以达到1GB到2GB, 而随后DDRII内存将会在制造上进一步提升为更加先进的0.065微米制作工艺, 这样DDRII内存的容量可以达到4GB。和对芯片核心的内部改进, DDRII内存将把工作电压降到1.8V, 这就预示着DDRII内存的功耗和发热量都会在一定程度上得以降低:在533MHz频率下的功耗只有304毫瓦, 而DDR在工作电压为2.5V, 在266MHZ下功耗为418毫瓦。不过降低工作电压也来了一个问题:在DDR2初始的200-266MHz的时钟速度上, 当模块中组装了32个DRAM芯片时, 由于DDR2的核心电压只有1.8V, 使得DDR2的边沿斜率比DDR慢。边沿斜率降低的结果是:同一个更高的电压信号相比, 电压信号上升时间加长, 这加大了制造上的难度。

3、更小的封装

目前DDR内存主要采用TSOP-Ⅱ封装, 而在DDRⅡ时代, TSOP-Ⅱ封装将彻底退出内存封装市场, 改用更先进的CSP (FBGA) 无铅封装技术, 它是比TSOP-Ⅱ更为贴近芯片尺寸的封装方法, 并且由于在晶圆上就做好了封装布线, 在可*性方面可以达到了更高的水平。DDR II将有两种封装形式, 如果数据位宽是4bit/8bit, 则采用64-ball的FBGA封装, 数据位宽是16bit, 则采用84-ball的FBGA封装。

4、更低的延迟时间

在DDR2中, 整个内存子系统都重新进行了设计, 大大降低了延迟时间, 延迟时间介于1.8ns到2.2ns之间 (由厂商根据工作频率不同而设定) , 远低于DDR的2.9ns。由于延迟时间的降低, 从而使DDR2可以达到更高的频率, 最高可以达到1GHz以上的有效频率。而DDR1由于已经接近了其物理极限, 其延迟时间无法进一步降低, 这也是为什么DDR1的最大运行频率不能再有效提高的原因之一。

三、结语

虽说在性能上DDR-Ⅱ与DDR-Ⅰ相比, 有了很多的提高, 但由于多通道DDR技术、QBM等内存控制技术的出现, 大大延长了DDR的生命力, 削弱了市场上对DDR-Ⅱ的渴望。因此, 距离DDR-Ⅱ内存成为主流的时代还很遥远, 也许2004年DDR-Ⅱ才能取代DDR-Ⅰ, 大量上市。DDR-Ⅱ要走的路还很长。

DDR2论文 篇2

众所周知CPU的超频能力、电脑的性能以及系统的稳定性都与内存的品质有很大的关系,而BIOS中内存调节相关选项的目的就是最大限度发挥内存应有品质。榨干内存潜能。现在电脑已经普及了DDR2内存。尽管性能依然取决于两个参数:频率及时序。但BIOS调节选项和设置方法已经同之前的SD、DDR内存有了不少的改变,下面我们就来谈谈BIOS对DDR2内存的调节问题。

不传的秘诀

在调节前,我们首先要透露几条秘诀,掌握它们,对你以后实际调节有莫大的帮助。

频率与时序

内存的频率比时序更重要,更能有效提升性能,尤其是Intel平台更是如此。这是调节BIOS中DDR2内存选项之前必须铭记于心的要点。但需要强调,时序没有频率那么重要,而并非时序不重要,切勿矫枉过正只调节内存频率而放任时序参数不管。一般而言,设置时首先把内存频率调节到最高,时序参数都保持默认(BYSPD。也就是由内存自身的SPD控制),等频率达到接近极限或者达到自己满意的数值时,再调时序参数。

速度与稳定

内存参数调节的越高、速度越快,出错的可能性就越大。换句话说就是性能与稳定性成反比。电脑是拿来用的,使用的稳定性比性能更重要,谁也不会喜欢一台尽管速度很快但隔不了多久就会死机或者蓝屏的电脑。因此调节时切勿只注意性能而忽视了稳定性。设置后要留出一定的时间测试系统稳定与否,一旦发现存在这方面的隐患,就要及时降低内存性能参数,以找到性能与稳定性这两条非平行线交叉的那个点。

电压与性能

适当提高内存工作电压有助于提高内存在高参数下的稳定性,其原理就是通过提高集成电路的电流,让信号变得更清晰。但高压同样会带来高发热量等问题,因此电压不能增加的过量,一旦超过安全界限,高压将会烧毁内存。就算内存没有被马上烧毁,长时间在过高的电流和温度下工作也会使得集成电路内部结果发生不可逆转的变化,导致内存寿命大大降低。DDR2的默认工作电压是+1.8v,由于DDR2内存颗粒使用的是BGA封装,拥有良好的,电气性能和较小的发热量,因此能够承受的电压比默认值高不少,某些质量好的内存可以加到+2.3v以上,但对非超频爱好者而言,尽量不要将工作电压超过+2.1V,以免硬件发生危险。

实战调节

由于使用DDR2内存的AMD CPU都内置了内存控制器,而Intel平台的内存控制器依然放置在主板北桥中。因此这两个平台BIOS中的DDR2内存控制选项和调节方法是不一样的。

AMD平台

CPU集成了内存控制器,CPU和DDR2内存之间可以直接交换数据,大幅度降低了传输延迟,因此AMD平台对时序参数非常敏感。内存频率和时序参数精细调节能够带来不少的性能提升。

由于内存控制器在CPU内部,所以内存实际运行频率是随着CPU频率的变化而变化的。计算起来比较复杂。下面是具体的公式:

内存分频=CPU默认的频率(倍频×外频)÷BIOS中设置的内存频率

内存实际运行频率=CPU实际运行频率÷内存分频

另外,如果感觉计算太麻烦,可以查看下面的内存分频速查表来查看正确内存分频,用CPU实际运行频率除以查到的分频数就是内存实际运行频率。

如AMD Athlon64 X2 3800+倍频为10,外频为200,若将其内存设置为DDR2 667,则是6分频,若内存设置为DDR2800,则为5分频,此时内存分别工作在333MHz和400MHz,当把它超频到250×10时,内存就分别工作在417 MHz(DDR2 830)和500MHz(DDR21000)。

知道如何计算CPU默认频率时,我们的实战开始了。因为CPU超频并不再本文涉及范围内,所以这里只讲述在CPU频率不变的情况下,对内存进行调节。

“Memclock Value”为BIOS中设置内存频率的项,有200MHz、266MHz、333MHz、400MHz共四个选项,在内存其它参数保持默认的情况下,将内存频率一级一级往上调,每设置一次都要进入系统测试稳定性,如果发现稳定性有问题,就必须调低一级或者增加内存电压(每次增加0.1v,直到+2.1v),很快,我们就可以找到内存频率所能达到的最高频率。

接下来,我们需要调整时序,一般谈论内存品质或者查阅内存时序参数时,都会看到一串数字如“4-4-4-1 2-2T”,这就是最重要的几个内存时序参数,分别对应“CL-tRCD-tRP-tRAs-CPC”作为新手,我们并不需要知道这些时序代表的意义,只要知道其数值越小性能越好。如“3-4-4-8-1T”性能就比“4-4-4-12-2T”强,而这其中,最重要的选项是CPC,全名是“Command Per Clock”,也有的主板叫做“1T/2T Memory Timing”,有且仅有两个参数“1T"和"2T”,按我们先前掌握的知识可知1T比2T要好。其次重要的参数是CL,全名为CAS Latency Control或者CAS Latency Time、CAS Timing Delay,其参数也是在稳定的前提下应该尽可能设低。

Intel平台

Intel平台的内存控制器在北桥,CPU与内存之间的数据通讯必须经过北桥中转,延迟比较严重,因此Intel平台对内存时序的调节并不敏感。此外,Intel平台BIOS中的内存设置参数比较少也比较简单,能更容易被新手所掌握。

在操作之前,我们必须弄明白外频、前端总线和HT总线的关系,这样才能更好的理解和掌握其后的内存调节实战教程。

首先要明白一个概念。一台电脑各个部件之间的工作要严格同步,否则会出现很多问题。因此,电脑中所有部件都是由主板晶振提供同一个时钟,称为系统总线频率,也就是外频。电脑内所有部件的实际速度都是这个外频与代表自身速度的倍频的乘积。如CPU的实际运行频率就是外频乘以倍频。

前端总线(FSB)是CPLI与主板北桥芯片交换数据的通道,Intel的FSB是不可调节的,它等于CPU外频乘以4。

而AMD就不同,目前AMD的CPU都集成了内存控制器,北桥芯片与CPU之间通道再也不用担负传输内存数据的作用,因此就将北桥芯片与CPU之间通道改名为HT(Hypertransport Bus超传输总线),它的频率依然是外频乘以HT倍频,但HT倍频是可以在1到5的范围内变化的,因此可以在提升系统外频(提升外频的作用主要是为了超频CPU)时降低HT倍频。将HT总线频率控制在主板支持范围内,杜绝主板对CPU超频带来负面影响。

理论概念掌握了,就可以探讨Intel平台的内存分频问题,它与AMD平台相比简单了很多,是CPU默认外频与BIOS中设定内存频率的比值。如CPU外频为266MHz(1066MHz前端总线),若在BIOS中设置内存频率为DDR2 533(266MHz),则分频为1∶1,将CPU外频被超到350MHz后,内存就工作在DDR2700(350MHz),此时如果CPU或者主板已经到了极限,而内存还有余量的话,可以将BIOS中内存频率设置为DDR2 667,则分频变为5:6,此时内存实际工作在DDR2 840(420MHZ)。其它的也依次类推,如CPU默认外频为333MHz时,若在BIOS中设置内存频率为DDR2 533(266MHz),则分频为5:4,若在BIOS中设置内频率为DDR2 667(333MHz),则分频为1:1等等。

通过调节内存分频,我们很容易就能找到内存的最高频率。

Intel平台的时序对内存速度影响不大,但还是能带来一定幅度的性能提升,因此找到最高频率后,我们再来寻找最佳时序设置。Intel平台的内存时序只有“CL-tRCD-tRP-tRAS”四项,同AMD平台一样,也是参数越小也好,且“CL”项参数最重要。只要细心,较好的时序参数很快就能找到。

让我们来看看内存改变对性能的提升,测试平台为对时序最敏感的AMD平台,测试软件使用的是Super Tr。

从测试结果可以看出,无论调节内存频率还是调节内存时序,都能带来不少的性能提升。测试二提升时序,而其余参数都同测试一相同,性能提升大概5.5%;而测试二与测试三相比,只单纯提高了内存频率,成绩彪升16%。可以看到调节频率带来的性能提升幅度要远远大于调节时序,结果同之前不传秘诀中谈到的理论完全吻合,而Intel平台两者的差距将会拉的更大。这样的数据将让我们在内存参数实际调节过程中更坚定以频率提升为主的指导方针。

总结

DDR2信号完整性分析与应用 篇3

关键词:信号完整性,DDR2,Hyperlynx仿真

DDR2高速内存已经成为嵌入式系统中的主流应用, 信号完整性设计也是在应用DDR2内存必须要考虑的问题。文献[1]对155MHz DDR总线进行了信号完整性仿真, 重点分析了几种串联电阻位置对数据传输信号的影响。文献[2]利用Ansoft SIWave对DSP的DDR2进行了仿真, 对线间串扰进行了研究, 对数据信号进行了仿真分析。本文借助Mentor Graphics公司的HyperLynx仿真工具, 对DDR2时钟进行仿真, 对产品实测结果进行对比分析, 对将来设计给出思路。

1信号完整性概述

信号完整性主要研究互连线的电气特性参数与数字信号的电压电流波形相互作用后, 对可靠性的影响。对大多数电子系统而言, 当时钟频率超过100MHz或者上升下降边沿速率小于1ns时, 高频信号在线上传输时, 由于电磁效应, 会引起信号传输的畸变, 这时就需要关注信号完整性问题[3]。

1.1 传输线特性

传输线的两个重要参数是传播延时和特性阻抗。传输线上电场和磁场建立的快慢决定了信号的速度。电磁波的相速度[5]:

undefined (1)

其中, 表示自由空间的介电常数, 其值为F/m, 表示材料的相对介电常数。表示自由空间的磁导率, 其值为H/m。表示材料的相对磁导率, 一般都为1。在空气中, 相对介电常数为1。在大部分材料中, 相对介电常数总是大于1, 例如FR4基材的相对介电常数大约为4.3。时延Time delay与传输线长度关系:

undefined (2)

Len表示传输线长度, V表示信号的速度。由此公式计算, 在FR4材料中, 传输线的时延约为6.692ns/m。传输线的另一个特性参数即为特征阻抗, 在工程计算中, 常用近似算式来快速计算传输线的特性阻抗。对于微带线, 通用近似式为:

undefined (3)

对于带状线, 通用近似式为:

undefined (4)

其中, 为特性阻抗, 表示介电常数, h表示信号线与平面间的介质厚度, w表示线宽, b表示平面间距离, t表示金属厚度。在工程中, 一般将PCB上的传输线的阻抗设定在50Ω。由经验值可得, FR4基材的PCB板上50Ω微带线的线宽等于介质厚度的两倍。50Ω的带状线, 其2个参考平面间的总介质厚度等于线宽的两倍。

1.2 反射

反射是指信号在传输线上的回波, 只要信号遇到瞬态阻抗发生突变, 反射就会产生。信号沿传输线传播时, 无论什么原因使瞬态阻抗发生了变化, 部分信号都将沿着与源传播方向相反的方向反射, 而另一部分将继续传播, 但幅度有所改变[4]。通常使用端接来抑制反射, 通用的端接方式有四种, 源端串联端接, 远端并联端接, 远端戴维南端接和远端RC端接。

2系统叠层设计

如图1所示, 本项目PCB层数为12层。12层包括4个信号层, 2个电源层, 4个地层和2个元件层。其中, 顶层和底层是元件层, 第2、5、8、11层是地层。第2、11层的地层与第3、10层的电源层相组合, 2个地层作为屏蔽层包裹在PCB的外层, 减少EMC问题, 并且, 电源层和地层相互贴近, 层间距为0.0762mm, 通过层间电磁耦合, 为电源提供嵌入式电容, 为抑制电源的高频噪声提供一些帮助。4个信号层围绕中间2个地层成对出现, 这样既可以避免信号在跃层的时候切换参考平面, 也可以尽量减少信号电流的回流面积, 对一些信号完整性问题, 例如串扰, 反射, 以及EMC问题有改善作用。PCB的信号层目标阻抗为50Ω10%, 板厚为1.5mm。

利用公式 (3) 和 (4) 对每一层的传输线特性阻抗进行计算, 其中, 第1和12层为微带线, 其余层都为带状线。按PCB制造商提供的资料, 所使用的玻璃纤维基材的介电常数为4.3, 依照PCB制造商的工艺能力, 线宽加工的最小单位是0.0254mm, 具体计算结果见表1:

3 DDR2差分仿真

3.1 前仿真

前仿真是指在布线前进行仿真, 仿真过程不包括PCB的物理信息。可以对布线的拓扑结构、端接方式、线长间距等进行一定的约束。DDR2总线的时钟信号是差分信号对, 符合SSTL_18规范, 由内存控制器对DDR2内存进行驱动。所有的地址信号和控制信号都是在CLK上升沿和CLKN下降沿的交叉点进行采样的。所以, 时钟信号的信号完整性决定了DDR系统的稳定性。

本系统由两片16bit数据位宽的DDR2内存组合构成32bit位宽, 所以时钟信号需要同时驱动两片内存, 这样就存在两个接收端, 不再是单点网络。多个接收端的布线, 一般有两种形式, 一种是菊花链结构, 一种是星型结构。菊花链结构是指信号按顺序结构走向每一个接收端。星型结构是指信号由驱动器出发后, 在多个接收器之间取一个中心位置, 在中心位置分开多路, 走向每一个接收器。菊花链结构一般会带来两种问题。其一, 由于一个接收端处于传输线的中间位置, 末端产生的反射信号会对中间位置的接收端产生作用, 会造成信号震荡。其二, 由于两个接收端到驱动端的距离并不相等, 较远的接收端收到的信号会被引入更多的时延。两片内存接收到的时钟时间并不一致, 在速率较高的同步接收系统中, 这会造成时序问题。所以, 一般在同步系统中, 采用星型结构。

图2为两种星型结构拓扑图, 从驱动端到两个接收端的传输线长度相等, 约为50.8mm。由于到两个接收端的长度都相等, 所以两个接收器接收到的时钟信号之间不会有时延。左侧图表示了分叉点接近接收端的结构, 右侧表示了分叉点接近驱动端的结构。由图3可见, 星型结构1的接收端波形在边沿上有反射引起的波形畸变, 波形畸变的幅度较大, 可能会引起时钟的误触发, 这是由于两条特性阻抗50Ω的传输线并联引起了阻抗失配而造成了反射。星型结构2的接收端波形上也有反射, 但是反射较小, 幅度为250mV, 信号也没有发生明显的畸变。一个大致的经验法则:如果桩线 (分叉后的传输线) 长度小于信号上升边的空间延伸的20%, 其影响可以忽略。相反, 如果其长度大于信号上升边的空间延伸的20%, 则对信号质量就会有很大的影响[3]。

DDR2时钟的上升沿时间为500ps, 而传输线的时延为6.692ns/m, 通过计算得, 分叉线的最大长度应尽量控制在14.93mm以内:

其中:Lstub表示分叉线长度。星型结构2的分叉线长度为12.7mm, 小于14.93mm, 所以, 它的仿真结果中反射幅度很小。

星型结构2中, 反射信号可以通过源端串联端接来进行抑制。源端串联端接功率消耗较其他三种并联端接方式要小, 且高速电路的PCB面积一般都很有限, 串联端接PCB占用面积很少, 适合作为星型拓扑结构的端接。反射系数的公式[3]为:

undefined

其中, 为反射系数, Z1和Z2分别为阻抗变换点前端和后端的传输线阻抗。当Z1=Z2时, 反射系数为0。通过IBIS模型数据可知内存控制器的输出阻抗为36Ω, 所以, 使用14Ω的串接电阻, 可以使输出阻抗达到50Ω, 与后端50Ω的传输线特性阻抗相匹配。

由仿真结果图4可知, 加入14Ω串接匹配电阻后, 时钟信号上的上冲和下冲得到了有效的抑制。

3.2 后仿真

后仿真是指在布线完成后进行仿真, 可以提取PCB上各种参数模型, 对电路进行精确分析。依照前仿真的结果, DDR2时钟布线采用了星型结构, 分叉点位置原理驱动端, 并且在靠近驱动端的位置加入了串联匹配电阻。

图5为DDR2差分时钟布线图, 差分时钟信号从右侧驱动端出发, 经过了一对串联端接电阻后, 在第四层按100Ω差分线形式进行布线, 至两片内存中间位置, 通过1对过孔, 跃层至第六层, 依然按100Ω差分线形式走向两个接收端。从源端出发到两个接收端的长度都相等, 约为55.88mm。

Hyperlynx可以将PCB传输线模型, 驱动器和过孔模型提取出来单独进行仿真, 模型包含了传输线的叠层信息和过孔模型。如图6所示, 将前后仿真的结果进行对比, 后仿真所得的波形边沿变化速率慢于前仿真, 主要原因是由于在布线过程中引入了过孔, 过孔的等效模型十分复杂, 由对地电容和串联电感组成, 会导致信号边沿减缓。并且, 过孔也会引入信号传播的时延, 所以在图6中, 后仿真波形时延大于前仿真波形。

4 DDR2时钟信号实测

为了验证信号完整性仿真结果, 必须以实际的测量结果为依据。由测量结果图7可见, 时钟信号上升沿和下降沿光滑, 无反射引起的震荡干扰, 在边沿结束的位置, 也无高频振铃信号产生, 避免了EMI辐射。实测的波形与仿真结果相比, 边沿略有不同, 说明仿真的模形, 包括器件, 传输线和过孔, 相比于实际情况还有误差。在表2中, 将仿真数据与实测数据以及JEDEC8-15A规范进行了对比, 仿真数据与实测数据接近, 并且, 测量结果完全满足JEDEC8-15A规范要求。

5结论

本文利用Hyperlynx仿真软件和IBIS模型对DDR2时钟信号进行了仿真, 依据优化结果进行PCB布线。经过PCB加工, 使用示波器对信号实测验证, 以及EMC测试等其他验证, DDR2系统都能够稳定, 可靠地工作。

参考文献

[1]邬利芳, 侯永刚.基于仿真的信号完整性设计与分析[J].信息通信.2012 (05) :49-50

[2]曹亚良, 张福洪.TMS32OC6455的DDR2电路的信号完整性设计[J].杭州电子科技大学学报.2012.05-043

[3]Eric.Bogatin著, 李玉山, 李丽平等译.信号完整性分析.北京:电子工业出版社, 2010

DDR2论文 篇4

目前视频监控系统正向高速化、高集成度化和智能化发展,使得系统的时钟频率越来越来高,信号的边沿越来越来窄,这对硬件设计师带来很大的挑战。特别是存储系统DDR2是高速视频监控系统的核心器件,直接影响整个系统能否运行以及运行的稳定性。目前DDR2所支持的数据传频率高达800 MHz,核心频率可达到200 MHz。本文仿真实例是基于TMS320DM6446(简称DM6446)一体化网络视频监控系统的硬件设计。DM6446是TI公司推出的一种Davinci系列双核DSP视频处理器芯片,它包括1个ARM处理器、1个DSP处理器[1]。DDR2(MT47H64M16HR)为第二代双倍数据传输速率同步动态随机存储器,遵循JEDEC开发的新一代内存技术标准JESD79-2B规范[2]。因此,在布局布线时对DDR2与DM6446之间的高速信号线进行仿真分析十分必要。

1 叠层设计与阻抗控制

一个嵌入式硬件系统工作是否稳定很大程度取决于其叠层设计和阻抗匹配是否合理。合理的叠层设计和精确的阻抗匹配是电源完整性、信号完整性和电磁兼容问题最根本的解决措施,也是硬件工程师最大的挑战之一[3]。

叠层设计一般应遵循以下原则:1) 所有信号层尽可能与地层相邻,尽量避免两个信号层相邻;2) 电源层尽量与地层相邻,以降低电源平面的阻抗,使得电源系统的性能更好;3) 与放置元器件层相邻的层最好为地层,以提供器件屏蔽层以及为顶层和底层布线提供参考平面。根据以上原则,同时考虑到本设计核心板物理尺寸为5 cm×8 cm,而且DM6446和DDR2分别为361和64管脚且颗粒密度很大,所以在Hyperlynx中采用10层PCB叠层结构,如图1所示。

依据传输线理论,信号在传输过程中在阻抗变化的点上会产生一定的失真,且失真的程度与阻抗变化的幅度成正比[4]。因此PCB各信号层的特征阻抗最好控制在一定范围内,以保证信号传输的质量。本设计系统的阻抗控制是在Hyperlynx中完成的,通过设置信号线宽度和介质层厚度将信号层的特征阻抗控制在60 Ω左右,如图1所示。

2 布线前仿真

叠层合理设计和阻抗匹配控制完成后,可以在Hyperlynx的Linesim环境中进行布线前仿真。布线前仿真主要对设计原理图的高速信号线进行“What-if”仿真,在之前建立的虚拟PCB结构中考察信号的传输效果,优化并最终获得一套合理的布线约束规则(线宽、平行线长度及相邻线间距)和端接值提供给设计者。

2.1 布线前串扰仿真

串扰(Crosstalk)是指当信号在传输线上传播时,因电磁耦合对相邻的传输线产生不期望的噪声干扰[5],是造成高速嵌入式系统中信号完整性问题的主要原因之一。在Linesim中建立串扰仿真模型(CELL:B0和CELL:B2为攻击网络,CELL:B1为受害网络)如图2所示,此模型可以模拟实际PCB中平行走线的串扰仿真,通过比较各种不同的走线约束从而使串扰值达到设计要求。在此以DDR2数据线为例,经比较各种走线约束,得到最佳走线约束为线宽6 mil,平行走线长度3 in(l in=2.54 cm),相邻线间距18 mil,见图3。在此约束条件下,通过虚拟电子示波器观察受害网络的串扰仿真结果,如图4所示,原图为彩色图片,图中有2个信号波形,从波形可知串扰值最大为40 mV,满足设计要求。

2.2 布线前反射仿真

信号通过传输线从源端到终端的过程中,当遇到传输阻抗不连续的点,就会有部分能量从不连续点沿传输线返回形成回波,产生反射干扰信号,导致信号失真[6]。抑制反射的最好方法是做端接处理,端接处理的方法很多,在本设计实例中采用串行源端端接。以DDR-DQ2为例在满足之前的布线约束条件的前提下,对不同的端接值做了仿真,结果如图5所示,图中的3条波形图的端接值为7 Ω,17 Ω,27 Ω。由仿真结果波形图可知:端接值为17 Ω为该网络的最佳端接值,小于此值会导致波形出现上冲,反之,大于此值会导致下冲。

3 布线后仿真

依据获得的布线约束规则可以设计出相应的PCB,在Hyperlynx的Boardsim中进行后仿真,目的是获得与实际印制板最接近的结果。Boardsim中提供批处理仿真(Batch Simulation)功能,可以对PCB做快速正版扫描,找出串扰、端接、延时等超过设计要求的网络,然后对这些网络可以进一步做交互式仿真。交互式仿真主要针对批处理报表中超标的网络和PCB中的关键网络开展人工干预,通过交互仿真进一步排除设计隐患。此部分耗时较多,但也决定整个设计的成败。

3.1 布线后串扰交互式仿真

串扰交互式仿真主要是根据设计要求的串扰门限值来修正PCB的走线。其基本步骤为:1) 利用批处理仿真产生报表,找出串扰值超标的网络;2) 打开串扰交互式仿真功能,并设置串扰门限值,一般设为100 mV左右;3) 选中网络并给芯片添加相应的仿真模型,一般为IBIS模型,此功能对网络产生串扰并超过串扰值的网络进行定位,如图6所示,受害网络与其两侧的攻击网络发生串扰;4) 利用耦合区域显示窗口查看串扰耦合的部分,可查看所有耦合区域并将耦合区域在Boardsim中标出,如图7所示;5) 针对以上耦合区域重新调整走线,使串扰值符合设计要求。

3.2 布线后端接交互式仿真

布线后端接交互式仿真主要是根据PCB实际走线情况修正前仿真中不准确的端接电阻、电容值等。其基本步骤为:1) 利用批处理仿真产生的报表,找出端接值不合理的网络;2) 选中网络并给芯片添加相应的IBIS仿真模型,同时利用虚拟示波器来查看此网络的信号波形,如图8a所示。由图可见波形有一定的过冲,需要修正前仿真的端接值;3) 打开Terminator analysis功能,软件通过分析PCB的叠层和走线情况,最后给出一个合理端接值,如图9所示;4) 根据实际情况选取与参考端接值相近的端接值,并查看信号波形,如图8b所示。

4 小结

结合实际项目基于DM6446一体化网络视频监控系统,本文介绍了如何利用优秀的仿真软件HyperLynx对其中DDR2布线进行分析和仿真,有效地解决了DDR2接口电路出现的串扰、反射等信号完整性问题,实现了稳定性设计。按照本文介绍的设计流程,本设计实例一次投板成功。同时本文的设计流程对其他高速数字电路的布局布线也能提供一定借鉴。

摘要:针对PCB设计流程,依次对叠层设计、阻抗匹配、前仿真和后仿真进行详细的分析与仿真。首先在Hyperlynx的Lines-im中对叠层结构和阻抗匹配做出合理的规划,得到虚拟的PCB,并在PCB中对设计原理图的关键网络做出前仿真,进而得到合理的布线约束规则。然后根据前仿真中得到的布线规则设计PCB,并在Hyperlynx的Boardsim中布线后进行交互式仿真,得到与实际印制板最接近的仿真结果。

关键词:Hyperlynx,高速视频监控系统,DDR2,布线,仿真

参考文献

[1]Texas Instruments Incorporated.TMS320DM6446 digital media systemon-chip,user data sheet SPRS283[EB/OL].[2012-07-20].http://bbs.21dianyuan.com/121988.html.

[2]JEDEC STANDARD DDR2 SDRAM specification[EB/OL].[2012-07-20].http://download.csdn.net/detail/macrojiali/3069240.

[3]刘晓春.基于多模组3G视频传输终端的硬件设计与仿真[J].电视技术,2011,35(11):61-64.

[4]魏俊宇.10Gb/s光收发信号的SER/DES设计与仿真[J].光通信技术,2011(7):18-20.

[5]杨华.高速数字电路PCB中串扰问题的研究与仿真[J].光电与控制,2012,19(3):90-94.

DDR2论文 篇5

随着电子信息技术的快速发展,数字信号处理技术的应用越来越广泛,一般而言,同属于数字信号处理的图像系统处理带宽远高于控制及雷达信号处理系统。控制领域的信号采样频率一般低于1 MHz,雷达信号采样频率可以高达几百MHz,但经过硬件(ASIC)下变频处理后,也不高于1 MHz。而图像系统的处理带宽一般在几十兆至几百兆字节每秒。所以高处理带宽是图像处理系统设计中必须考虑的问题,高处理带宽带来的另外一个问题是缓存设计,显然系统中的缓存也应该具有较高带宽。同时在图像处理系统中,特别是高帧频图像处理系统中是需要大容量缓存的。控制及雷达领域一般需要的缓存为几KB到几十KB,而图像处理至少需要2帧图像以实现乒乓缓存,在图像处理时间超过帧获取时间时,需要3帧缓存以保证系统累积丢帧而非一旦超时就发生丢帧。

在实际工作中,高帧频图像的高处理带宽和大存储需求往往需要结合起来考虑,集中体现在外挂缓存的选择与设计上,较成熟的方案有SRAM,SDRAM,DDR,DDR2,DDR3等,其中DDR3有最高接口带宽和存储深度,考虑到具体情况,选用仅次于DDR3的DDR2 与FPGA 实现接口,可以满足高速图像处理系统对高接口带宽和大容量存储的要求。

DDR2 SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的内存技术标准,工作电压是1.8 V,采用了在时钟的上升/下降沿同时进行数据传输的基本方式。DDR2具有4 b预读取速度,即DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,同时DDR2的数据传输可以支持400 MHz,533 MHz,667 MHz的传输率[1]。

文中在介绍DDR2的工作原理的基础上,给出了一个用VHDL 语言设计的DDR2 SDRAM 控制器的方法,并且提出了一种在高速图像处理系统中DDR2-SDRAM的应用方案,同时在Virtex-5 系列的FPGA上得到了实现。

1 DDR2-SDRAM控制器的操作原理与设计

1.1 DDR2-SDRAM的操作原理

DDR2 SDRAM 是运用DDR 结构来达到高速操作。本文采用的DDR2-SDRAM 是Micron的 MT4H3264HY-53ED3。这款DDR2的存储空间为256 MB,由4片容量为512 Mb的内存芯片构成。每个芯片的数据位宽为16 b,有4 bank, 13条行地址线,10条列地址线,因此每个内存芯片容量为8 192×1 024×4×16 b,即512 Mb。4片组成起来就构成了MT4H3264HY-53ED3的64 b位宽[2]。

DDR2 SDRAM的操作主要通过以下控制信号给出:行地址选择信号(RAS¯),列地址选择信号(CAS¯),写使能信号(WE¯),时针使能信号(CKE),片选择信号(CS¯)。各种指令不同的组合方式完成不同的功能。表1为各种指令完成的组合方式[3]。

1.1.1 Load Mode 指令

用来配置DDR2内存的模式寄存器,包括一个主模式寄存器及3个扩展模式寄存器.它们被用来设定内存的工作方式,包括突发长度的选择、突发的类型、CAS延迟、CAS附加延迟、DLL使能、ODT设置、OCD设置以及DQS设置等[4]。

1.1.2 Precharge 指令

预充电指令是用来重新激活bank中已经打开的行。在预充电指令发出后,当前bank必须等待一个特定的时间(tRP)后才可以再次激活。

1.1.3 自动刷新指令

DDR2 SDRAM 内存需要每7.8 μs刷新一次。自动刷新不需要外部提供行地址信息,DDR2 SDRAM内部有一个行地址生成器(也称刷新计数器)用来自动的依次生成行地址。由于刷新是针对一行中所有的存储体进行,所以无需列地址。在进入自动刷新模式前,所有的bank必须都处于预充电状态,自动刷新指令在预充电指令后延迟tRP才能给出[5]。

1.1.4 Active 指令

Active 用来激活bank中的某一行。在对DDR2 内存进行读/写之前,都必须执行该指令把bank中的某一行激活。激活命令到读/写命令之间的最小延迟由AL决定,当AL为0时,最小延迟由tRCD(RAS to CAS delay)决定。当AL不为0时,激活命令到读/写命令之间的最小延迟就可以不受tRCD限制,读/写命令可以提前,但其实最后数据的读/写并不提前,这样可以提高总线的利用率[6]。

需要注意的是,当要激活同一bank 中不同的行时,必须先对原来激活的行进行预充电,才能激活新的行。同一bank 中连续的active命令之间的间隔必须受tRC(RAS cycle time)的控制。

1.1.5 Read 指令

读指令是用来对DDR2内存进行读操作,并对突发读进行初始化。其中BA0和BA1给出bank地址, A0~A1给出起始列地址。突发读结束后,激活的行在预充之前继续保持有效,直到该行被预充电。从列选择到数据输出的延迟为CAS延迟(CL),整个读延迟等于AL+CL。读操作时由内存给出一个与数据同步的数据滤波信号DQS,它的边沿与读取的数据边沿对齐。

1.1.6 Write 指令

Write指令用来控制DDR2内存进行写操作,并给出burst写的起始地址。其中BA0和BA1给出bank地址,A0~A1给出起始列地址。整个写延迟为读延迟减去一个时钟周期,即写延迟等于AL+CL-1。写操作时,控制器同样给出一个与数据同步的数据滤波信号DQS,它的边沿与写数据的中间对齐[7]。

1.1.7 Idle指令

用来使DDR2内存处于空闲无操作状态。

1.2 DDR2-SDRAM控制器的设计

本文中的DDR2 SDRAM控制器是采用VHDL硬件描述语言设计的,主要由4部分组成:用户界面模块(User Interface)、基础模块(infrastructure)、物理层模块(Physical layer)和存储控制模块(Controller)[8]。DDR2-SDRAM控制器的设计原理框图如图1所示。

时钟生成模块用来产生控制器中所有模块的时钟信号。外部用户时钟通过数字时钟管理器(DCM)进行处理后,输出0度和90度的时钟。同时该包括了一个延迟校准模块,是用来校准读数据(DQ)对读数据选通脉冲 (DQS)的延迟,以便DQS的边沿能正确对齐DQ有效窗口的中间位置。

用户接口模块主要包括读/写数据和地址三类FIFO,用来接收和存储用户的数据,命令和地址等信息,起到缓冲和同步数据的作用。控制器模块生成该模块所需要的控制信号。

物理层模块负责在控制信号的约束下完成用户访问地址与访问指令的解释与匹配,产生DDR2 SDRAM所需的控制指令信号,并保证指令与地址,数据的同步和信号的维持。

控制模块主要实现的功能为:在系统上电过程及系统意外复位发生时,与初始化模块配合,对控制器和所控制的DDR2进行初始化设置,复位延时保护等:在系统正常工作时,进行系统读/写请求指令的接收、应答,对系统访问地址的采样与同步,完成所需的所有状态转换、任务调度、总线仲裁、时序同步,并为用户接口模块、物理层模块产生相应的控制信号,为系统提供控制器状态指示信号[9]。控制器的状态机结构如图2所示。

2 图像处理系统中DDR2接口的设计

DDR2作为整个图像处理系统的缓存,起着至关重要的作用。它将外部输入的图像按帧存入DDR2中,然后按帧将图像数据送到外部继续处理。基于单片FPGA的控制逻辑所需要完成的功能可以简单的概述如下:

(1) 接收来自外部的图像数据,并进行缓冲和数据重排,产生符合DDR2-SDRAM控制器位宽的数据信号。

(2) 产生对DDR2-SDRAM的读/写命令和地址,并将它们寄存在FIFO中,随时供DDR2控制器提取,因此系统需要一个地址产生逻辑。

(3) 对DDR2-SDRAM进行直接控制,将用户产生的地址命令进行解析,产生读/写、刷新等一系列操作,对DDR2-SDRAM发出的各种命令要符合特定的时序要求。在上电的时候还必须完成对DDR2-SDRAM的初始化工作。

(4) 建立用户与DDR2-SDRAM的数据通道,在DDR2-SDRAM和用户接口之间传递需要写入或者读出的数据,并且调整对应读/写操作的DQS信号时序,使其满足DDR2-SDRAM的要求。

(5) 缓存从DDR2-SDRAM中读出的数据,由于直接读出的速度非常高,直接处理会对后端产生很大的压力,因此需要进行缓存之后才送到后续处理。

由上面的描述可以看出,控制逻辑所要完成的功能是相当复杂的,因此我们采用模块化的设计方案。FPGA的控制逻辑功能划分图如图3所示。

2.1 时钟生成模块

时钟生成模块主要负责整个系统的所有时钟,包括DDR2控制器所需要的时钟,外部图像所需的时钟。全部由DCM来产生。

2.2 数据接口模块

数据接口模块主要是负责不同数据之间格式的转换,这个模块主要是考虑到输入端的数据的不同格式,必须经过格式转换才能符合DDR2位宽的数据。

2.3 输入/输出缓存模块

输入/输出缓存模块是采用V5器件的DRAM来实现FIFO的,输入缓存是由两个DRAM来完成的,DRAM配置为12×1 024,12为数据宽度,1 024为存储深度,这个配置是根据具体图像的位宽和每行的像素点来设定的[10]。在这里暂定的图像源是标准的VGA图像,其大小为800×600。数据源每写入一行数据(800个数),然后读出一行数据。考虑到系统的稳定性,采用两个FIFO交替的读/写数据,也就是所谓的乒乓操作,如图4所示,当一个FIFO在读时,另一个FIFO就写,然后交替读/写。在每一个FIFO读完数据后,对其清零。这样就保证每一次写入的数据不相互干扰,保证了系统的稳定性。其中的输入/输出选择单元是通过判断VGA图像的行数来判断写和读哪个FIFO的。

除了缓存数据,FIFO在本模块的另一个重要的作用就是时钟域的转换。外部的输入数据和输出数据的时钟都是40 MHz,而DDR2的读/写数据时钟是100 MHz的,这样就存在着时钟域的转换问题,由于FIFO的读/写可以用不同的时钟。在输入端,就可以用40 MHz的时钟把数据写入FIFO,然后用100 MHz的时钟从FIFO读出数据。在输出端可以用100 MHz的时钟把从DDR2读出的数据送入FIFO,然后再用40 MHz的时钟从FIFO中读出数据,送到VGA显示。但是由于读入与写出的时钟频率不一样,很容易出现FIFO读空和写满的问题。该问题的一般解决方法是利用FIFO的ALMOSTFULL和ALMOSTEMPTY来解决。在这个系统中,考虑到输入的数据源和VGA显示的时钟频率都是40 MHz,所以采用VGA数据有效信号来控制FIFO的写,行消隐信号来控制输入FIFO的读,即每来一行数据才读一行数据,这样就保证了输入FIFO不会读空。而输出FIFO的写是通过DDR2内部的读数据有效位来控制的,因为DDR2内部的操作是写1行,读1行,所以在写入FIFO一行数据后,要等到下一行到来后,才会往输出FIFO写入数据,所以也就解决了输出FIFO写满的问题。

2.4 DDR2-SDRAM控制模块

DDR2-SDRAM的读/写控制是整个系统的关键。由于要缓存图像,所以就必须在DDR2里面开辟两个大小相同的存储单元。这两个存储单元的大小是根据一帧图像的大小来开辟的,其大小为800×600个存储单元。对DDR2的存储操作为先向第一个存储单元写入第一行数据,读出第二个存储单元的第一行数据。当写满第一个存储单片后,第二个存储单元也被读空,这时候交换读/写地址,读一个存储单元,写第二个存储单元,依次轮换。

由于图像数据具有消隐时间,我们可以在场消隐的这段时间里来交换读/写地址。读/写控制的具体操作如图5所示。

3 实验结果

为了测试基于DDR2的图像存储性能,外部输入图像源选用标准VGA格式的图像,外部输出端接到DVI接口,DVI外接一般的CRT显示器。DVI接口的显示芯片是CH7301,通过配置这个芯片的寄存器选择其VGA模式。配置这个芯片寄存器的操作是通过I2C总线来达到的。这里选用Xilinx公司的Virtex-5器件与Micron公司的DDR2 SDRAM 颗粒MT4H3264HY-53ED3搭建了实验的硬件平台。

在输入端的VGA数据源产生的图像为800×600,帧频为60/帧,底色为全黑,5×5个像素点的白色正方形图像,其中白色正方形每帧以50个像素点距离移动,在CRT显示端我们可以看见输出端的图像比输入端的图像延迟一帧。实验证明了设计是正确的。实验结果如图6所示。

4 结 语

通过具体的实测,其DDR2的最高工作频率为266 MHz,并且在200 MHz主频下,其64位的数据传输速率达到了3.2 GB/s,并且能正确的存储图像,满足了在高帧频图像处理系统中缓存的应用。解决了基于FPGA的高速图像处理系统中图像缓存的难点,为基于FPGA的高帧频图像处理,包括图像旋转,图像切割等的实现打下了良好的基础。

参考文献

[1]须文波,胡丹.DDR2-SDRAM控制器的FPGA实现[J].江南大学学报,2006,5(2):145-148.

[2]Micron Technology.Micron MT4H3264HY-53ED3 DDR2SDRAM data sheet Rev.H9/09EN[EB/OL].[2011-02-25].http://www.download.micron.com/pdf/datasheets/dram/ddr2/256MbDDR2.pdf.

[3]Xilinx.High-performance DDR2 SDRAM interface in vir-tex-5 devices[EB/OL].[2010-09-14].http://www.xil-inx.com.

[4]赵天云,王洪迅.DDR2-SDRAM控制器的设计与实现[J].微电子学与计算机,2005,22(3):203-207.

[5]张东.基于FPGA与DDR2的高速实时数据采集系统的设计与实现[D].南京:南京理工大学,2007.

[6]任颖,黄建国.基于FPGA的DRR2-SDRAM控制器接口的简化设计方法及实现[J].电子质量,2008(11):31-33.

[7]Micron Technology.Micron DDR2-SDRAM 512Mb:x4,x8,x16 DDR2_SDRAM features[R].[S.l.]:Micron Tech-nology,2006.

[8]Xilinx.Memory interface generator(MIG)user guide[R].USA:Xilinx,2008.

[9]蔡钟,吴皓.一种DDR SDRAM控制器设计[J].电视技术,2004(8):34-36,44.

【DDR2论文】推荐阅读:

上一篇:起源与发展下一篇:鲜活的教育

本站热搜

    相关推荐