PCBSI's Archiver

ripple 发表于 2009-4-8 12:18

SDRAM 数据接口读操作仿真与实测分析

[i=s] 本帖最后由 ripple 于 2009-7-23 15:45 编辑 [/i]

开此帖,介绍SDRAM接口,顺便请各位高人多多指点!
1、仿真环境
A、仿真软件:SQ 16.0
B、IBIS Model:
MPC8241 8241r5.ibs V4.0
SDRAM hy57v561620ft  hy57v561620ft_full.ibs and hy57v561620ft_half.ibs 上述两个版本均为V1.XX。
模型说明:由于SDRAM颗粒并不支持驱动可调,而厂商提供两种仿真模型。与代理商确认,无法提供具体解释。由此,将两种模型都列为仿真对象,使用相同的拓扑,采用不同的模型进行遍历分析。最后根据实际测试结果,选出合适的模型。
2、仿真过程
A、拓扑结构
早期的此小板采用PowerPCB工具制图,此拓扑根据叠层信息以及PCB文件,提取对应的阻抗和走线关系,忽略过孔(认同过孔会导致阻抗不连续,但是对于此分析,数据等效时钟仅50M,考虑到上升边沿10%到90%大致在1V/ns,基于上述考虑,此处的过孔影响忽略)。获得如下图1所示的拓扑网络。
[attach]31[/attach]
图1、拓扑结构图
在小板的BOM中,IOP3和IOP4两个颗粒根据实际的需求,确定焊接一颗器件构成128M SDRAM空间;焊接两颗器件构成256M SDRAM空间。目前产品的SDRAM配置为128M,由此仿真拓扑为如下图2所示。
[attach]32[/attach]
图2、实际仿真拓扑图
此次仿真根据需求,对读操作进行仿真验证。在进行读操作时,数据网络上的数据由SDRAM颗粒发起作为发送端,MPC8241作为接收设备。
待续

ripple 发表于 2009-4-8 12:22

[i=s] 本帖最后由 ripple 于 2009-7-23 15:43 编辑 [/i]

B、指标要求
MPC8241数据手册对SDRAM总线的电平要求如下图3
[attach]48[/attach]
图3、接收端SDRAM电平要求
图3给出了对信号AC和DC电平的要求。后侧仿真过程中所衡量的参数均采用此图示值进行参考。10% tSDRAM_CLK=1ns
C、仿真分析过程
如下图为基于图2进行的仿真波形。SDRAM端采用Full驱动,端接R1电阻使用0ohm。采用眼图的方式来分析信号质量,数据采用32位随机数据。以下每个不同组合的分析均涵盖了FST三种模式,此部分后续不再叙述。同时考虑到此次分析的重点位过冲,所以,后续的分析过程中也不会对DC电平进行说明。
如下图4为full驱动,串接电阻为0ohm情况下的信号波形质量。
[attach]49[/attach]
图4、当串行端接为0ohm是各波形参数
从上图4可以看出,当SDRAM颗粒使用Full模型时,会存在很大的过冲(包含overshoot和undershoot)。非眼图方式的波形显示如下图5
[attach]50[/attach]
图5、非眼图的显示

ripple 发表于 2009-4-8 12:25

[i=s] 本帖最后由 ripple 于 2009-7-23 15:43 编辑 [/i]

在驱动仍然是full的情况下,将串行端接修改成22ohm时,信号质量波形如下图6,非眼图模式如下图7
[attach]51[/attach]
图6、full驱动,串接22ohm信号质量参数
[attach]52[/attach]
图7、非眼图方式的波形
当驱动模型修改为half,串行端接电阻为0ohm时信号质量的波形如下图8,非眼图模式如下图9。
[attach]53[/attach]
图8、半驱动串行端接0ohm时信号质量
[attach]54[/attach]
图9、非眼图形式波形

ripple 发表于 2009-4-8 12:28

[i=s] 本帖最后由 ripple 于 2009-7-23 15:43 编辑 [/i]

当串行端接修改成22ohm,仍然采用half驱动时,信号质量如下图10,非眼图模式如下图11
[attach]55[/attach]
图10、串行端接22ohm后信号质量
[attach]56[/attach]
图11、非眼图方式信号质量
综合上述分析,将不同组合的信号质量整理如下表1。如下表格中使用红色字体表示的字符为超出接收端数据手册的要求项。
      SQ
组合        Overshoot(V)        Ringback(V)        Margin(V)        Result
        High        Low        High        Low        High        Low       
Full&Rtt=0        4.508        -0.925        2.663        0.370        0.663        0.300        Fail
Full&Rtt=22        4.345        -0.613        2.930        0.868        0.930        0.713        Fail
Half&Rtt=0        4.449        -0.642        2.871        0.131        0.871        0.669        Fail
Half&Rtt=22        3.752        NA        NA        NA        0.983        0.795        PASS
表1、数据分析
注:
1、上述表格中,各组数据均包含FST;
2、NA表示信号不存在此种参数,或者认为为0;

ripple 发表于 2009-4-8 12:34

[i=s] 本帖最后由 ripple 于 2009-7-23 15:43 编辑 [/i]

D、实测 VS 仿真
如下图12为测试所得波形
[attach]57[/attach]
图12、串接ohm情况下实测波形
当使用full驱动时,同样将R1串行端接电阻修改成0ohm,此时测得波形如下图13。三种模式下过冲幅值生成的区间为[3.803V,4.518V]之间,虽然仿真的结果涵盖实测波形3.93V,但是考虑到Typical情况下,仿真幅值为4.160V。此结果需要继续进行验证和确认。
[attach]58[/attach]
图13、full驱动,0ohm串接
对应使用half驱动,串接0ohm电阻仿真波形如下图14
[attach]59[/attach]
图14、half驱动串接0ohm时仿真波形
图中三种颜色的波形分别为FST情况下的三种波形。三种模式下过冲幅值生成的区间为[3.493V,4.453V]之间,涵盖实测波形3.93V。特别是仿真波形中在Typical情况下其幅值为4.054V,与实际测试波形相当接近。
继续进行确认,当串接22ohm后,实际测试波形如下图15
[attach]63[/attach]
图15、串接22ohm后实测波形
使用full驱动,串接22ohm后的仿真波形如下图16
[attach]61[/attach]
图16、full驱动,串接22ohm后的仿真波形
很明显此时的波形则与实际测试波形相差甚远,不予考虑。
在half驱动情况下,串接22ohm实际仿真波形如下图17所示。
[attach]62[/attach]
图17、half情况下串接22ohm后仿真波形
图中三种颜色的波形分别为FST情况下的三种波形。三种模式下过冲幅值生成的区间为[3.002V,3.754V]之间,涵盖实测波形3.320V(DC值)。特别是仿真波形中在Typical情况下其幅值为3.298V(DC),与实际测试波形相当接近。从实测波形中看,信号在高电平时不存在overshoot,这与仿真波形也是一致的。
由此,对于SDRAM颗粒将half驱动模型列为后续项目的仿真分析模型。而full模型则不予考虑。
3、结论
   额外说明点
电阻值对信号波形的影响:按照通常+/-5%的电阻进行计算,其正负阻值偏差为22*5%=1.1ohm,不会对信号质量产生非常大影响。
   综上所述,得出如下结论
1、对于读操作来说,建议将R1串行端接的值在BOM中修改为22ohm +/-5%,0603封装的电阻。
2、在不更换部品的情况下,对SDRAM 颗粒hy57v561620ft在后续项目仿真分析中推荐使用half的驱动模型。

ripple 发表于 2009-4-8 12:57

发完了!:D

admin 发表于 2009-4-9 12:30

已经设置为精华贴,PCBSI论坛感谢楼主分享原创实例

Triton 发表于 2009-4-22 23:10

怎么仿真和测试波形不在一起啊,看起来不明显

ripple 发表于 2009-4-23 21:51

测试波形式别人给的,然后找过来说要做仿真验证。于是就有了上面的文档!

ripple 发表于 2009-4-23 21:51

[i=s] 本帖最后由 ripple 于 2009-4-23 22:05 编辑 [/i]

由于是图片格式,也就不能放到一张图里面进行比较了!

astar_yan 发表于 2009-5-7 11:15

通常情况下,BGA封装的part,bench testing的时候怎么测量?只测量端接电阻2端的信号还是可以像QFP封装的part一样可以直接测量pin角上的信号质量?

ripple 发表于 2009-5-7 12:27

11楼的问题是不是这样?
die pad上的信号,和package pin上的信号怎么测量?
如果是通过仿真软件来获得:通常是直接通过对应的节点名来查看的。对于sigxp,在sigwave里面对于一个接收端,其有两个波形,一个后面有“i”,表示die 的pad上的波形;一个不带“i”表示package上pin的波形。对于spice,可以直接通过设置对应的节点来查看波形。
如果是想物理上测试,好像有一种称为“微探头”东西,具体的我没有见到过,也没有测试过!
希望有经验或者是有相关知识的多介绍介绍!

Triton 发表于 2009-5-7 15:32

是有串接电阻等分离器件时,一般会在这两端进行测试;
链路上没有分离器件,有必要的话,是布线时增加测量点test point。

252631 发表于 2009-6-21 18:21

good,thanks!

252631 发表于 2009-6-21 18:43

还有看不到得图片的权限不一样啊。

ripple 发表于 2009-6-21 19:56

是的。
有些图片的权限不一样。

2546320 发表于 2009-7-7 21:38

版主 那几张图片我看不到,HOW TO 啊?
还有在用SQ仿真时,你是如何设置仿真运行参数的呀

ripple 发表于 2009-7-7 22:18

[quote]版主 那几张图片我看不到,HOW TO 啊?
还有在用SQ仿真时,你是如何设置仿真运行参数的呀
[size=2][color=#999999]2546320 发表于 2009-7-7 21:38[/color] [url=http://www.pcbsi.com/redirect.php?goto=findpost&pid=1738&ptid=88][img]http://www.pcbsi.com/images/common/back.gif[/img][/url][/size][/quote]
能不能说得具体点?
是关于激励源的频率还是码元?

wanted 发表于 2009-7-23 10:48

这个后面的图都没法看啊

Triton 发表于 2009-7-23 11:11

楼主不要把权限设置那么高啊,大家一起分享

页: [1] 2

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.