IBIS模型除了用于SI仿真,我们还可以从IBIS模型中得到一些有用的东西,如信号上升时间,输出阻抗以及封装延时等等。

从IBIS模型中可以获得信号上升时间信息

IBIS模型中的关键字[Ramp]定义了buffer输出的上升下降沿的斜率。如下为micron的DDR3芯片的DQ_34_1600的[Ramp]语句。用 dv_r表示将R_load 接地情况下,逻辑电平状态(由低到高)转换的 20%到 80%的摆幅大小。

由DDR3 的IO电压为1.5V可以计算出信号的上升下降时间为330ps左右(20%到 80%的上升时间为200ps这里为了仿真方便使用330ps)。由经验法则“当信号传输延时小于信号上升时间1/6时,互连线处在集总区域,不会体现出传输线效应。”可知,当信号传输延时小于55ps时,传输链路不会体现出传输线特性。也就是说如果当信号线的延时小于55ps的时候我们可以考虑采用直连的形式,而不需要使用任何匹配。

一个经验丰富的信号完整性工程师通过IBIS模型中读取了信号上升时间,并根据PCB布局情况估算布线延时就能够大体得知接收端信号应该有什么样的特征,以及信号是否需要匹配。

确定buffer的输出阻抗

由上一节的介绍我们能够从IBIS模型中得到输出buffer的上升时间,那么如果预估的布线延时超过了1/6的上升时间我们就需要通过增加匹配的方式来解决信号完整性问题。最简单的匹配方式就是源端的串联匹配,但如何确定最优的串联电阻值呢。我们也可以从IBIS模型中得到输出buffer的驱动能力,即buffer的输出阻抗 ,由于通常情况下传输线阻抗 控制在50ohm。那么就可以计算得到串联匹配电阻值  = 。下面我们来看如何得到驱动器的输出阻抗

IBIS模型中的pulldown和pullup曲线分别为输出buffer的下管和上管的工作曲线。而数字电路只是简单的工作在晶体管的饱和区或者可变电阻区。由模拟电路的知识我们可以画出晶体管的直流负载线就可以找到操作点的电流电压值,由此计算出输出阻抗 下面以pulldown曲线为例说明输出阻抗 的求解过程。

一般情况IBIS模型中的每一条曲线都会对应typ、min、max三种情况,分别代表了不同的电压、温度下晶体管表现出的不同特性。负载线由50ohm上拉到VGS确定,对于micron DDR3的IBIS模型的DQ_34_1600 buffer的typ模式 ,由此可以确定直流负载线和两个坐标轴的交点(0V,30mA)、(1.5V,0A)。这样就能画出typ模式的直流负载线,进而得到操作点的电压和电流,计算得到 这个计算结果和DDR3手册中的34ohm非常接近,由此可知这种方式计算输出buffer的输出阻抗是完全正确的。如此我们就可以不通过仿真估算出需要添加的匹配电阻值。

最优的  = 。在hyperlynx中搭建仿真电路进行仿真验证,由于我们只是通过pulldown曲线来计算输出阻抗,下面的仿真也只仿真一个下降沿。

如上所示的仿真结果来看信号基本没有下冲,这就说明阻抗匹配已经做的很好了。细心的读者可能会想到,当我们增加了16.3ohm的 之后,晶体管的直流负载线已经发生了变化因为到VDDQ的电阻已经由50ohm变为了50+16.3=66.3ohm了,对于在一些饱和区线性度比较高的晶体管这个影响并不是很大,而对于一些在饱和区电阻变化很快的晶体管就会导致匹配的不理想存在下冲和过冲。

我们也可以通过另一种更加简便的方法来得到输出阻抗Zout的值,用这种方法无需画出直流负载线。 我们做源端阻抗匹配的目的就是要让驱动器输出阻抗Zout加上源端串阻 得到的等效输出阻抗和传输线阻抗匹配。我们可以反过来思考当驱动器等效输出阻抗等于传输线阻抗时,驱动器阻抗和传输线阻抗之间由于分压使进入传输线的入射电压 ,那么通过传输线

对于上面的例子而言VDDQ=1.5V,

由此,我们可以直接在pulldown曲线中找到15mA对应的电压500mV,计算得到

确定管脚的封装延时

IBIS模型中可能会包含三种形式的封装信息,分别在[package] [pin] [package model]三个字段定义。下面来说明一下这三个字段的含义和区别。

首先来看[package]字段,它是定义关于R_pkg,L_pkg, C_pkg参数的一个字段,这里定义的参数是一个笼统的数,为什么说它是笼统的呢,是因为它只有一组数就把器件所有的PIN脚都包括了。

显然这种方式无法描述封装内不同管脚之间的寄生参数的差异性,在速率不是很高的情况下这种参数模型仿真得到的信号质量可能和实际偏差不大,但是仿真结果不能表示封装对信号时序的影响,同样随着信号速率的不断提高如DDR3等接口的仿真如果想得到准确的信号质量和时序结果不能仅仅依靠[package]字段的参数。一般大的IC厂家都不会只弄这么一组数据,还会在[pin]字段里描述了每个PIN脚的package参数,同时与管脚的编号、管脚的信号名称、管脚的模型名称相对应,如下所示:

[pin]字段和[package]字段一样,仅仅用一阶的RLC电路来描述整个package的特性,可能在频率不太高的情况下可以做个参考,但是到了高频后这显然是不够的,PIN与PIN之间的耦合信息,IC内部的bondwire信息等等全部没有。最理想的做法是用3D全波电磁场建模解决问题,但这种想法并不现实package的3D模型不是每个厂家都能提供的。但是我们已经可以从[pin]字段的L_pin、C_pin中得到每个pin在封装内的延时信息:

这样我们就可以通过PCB的布线控制来补偿芯片封装内部的延时偏差,高速总线的时序设计将能够得到最大限度的保障。

IBIS5.0版本又引入了[package model]字段,让手头仅有的资源发挥出最大的作用。[package model]字段内容可以出现在.ibs文件里,也可以出现在一个单独的以.PKG为后缀名的文件里。先看一下它的整体结构:

接下来3个字段[Manufacturer],[OEM],[Description]属于描述性质的,大家完全可以忽略,对仿真没有什么影响。

[Number Of Pins],这个看字面意思应该也能理解了,就是器件的引脚个数。[Pin Numbers]字段中列出了封装中所有pin的编号。

接下来的[Model Data]将是[package model]的核心内容,包含了[Resistance Matrix],[Inductance Matrix],[Capacitance Matrix],翻译过来就是电阻矩阵,电感矩阵和电容矩阵。后面有Banded_matrix,Sparse_matrix等关键字,分别表示为一维矩阵,多维矩阵。一维矩阵的情况就和[pin]字段中定义的R_pin、L_pin、C_pin效果一样并不包含pin和pin之间存在的耦合信息,多为矩阵则包含了pin和pin之间的耦合信息不仅能够进行信号质量仿真也可以进行串扰仿真。

通过上面的分析可知,我们可以在[pin]、[package model]字段中获得每个管脚封装内部的延时信息,获得这一延时对我们来说有着怎样地意义呢?

首先,我们知道互连线延时超过信号上升时间延时1/6时互连线就会表现出传输线效应。在2.4.3章节介绍源端匹配时我们已经了解匹配电阻的布局必须足够靠近驱动器才能和驱动器的输出电阻看成是集总电路,才能获得最好的匹配效果。由[ramp]参数可以读出驱动器的上升下降时间,我们可以用1/6信号上升时间减去封装内部的延时作为封装管脚到匹配电阻的PCB布线延时的约束。

第二,由于我们在进行信号质量测试时只能在靠近输入管脚的封装处选择测试点。而对于一个输入管脚如果封装延时很大,我们在封装处测试得到的信号波形和芯片DIE实际接收到的波形将会存在很大的差异。

在ADS中搭建仿真电路,有8.6nH的电感和2.25pF的电容来模拟封装参数,仿真来观测Vpkg和Vdie两点的电压波形差异。

计算得到封装延时  = 139ps,此时的仿真结果如下图所示(红色实线为die内接收波形,蓝色短划线为封装处的测试波形) 。

如上所示,两个波形存在比较明显的差异。封装处的测试波形在上升下降延都存在100ps左右的回沟,而且边沿要比die内测试到的波形要缓,幅度要比die内信号波形低。这一现象可以用反射的理论来解释,在封装处测试的波形实际上是由发送端的入射波和接收端反射产生的反射波的叠加产生,由于封装参数的存在导致入射波和反射波之间有一定的延时,在叠加的时候就导致回沟或者台阶的出现。

我们可以试着减小封装参数来看是否回购有效减小或者消失。将封装参数更改为电感6.01nH、电容1.52pF,计算得到封装延时  = 96ps,此时的仿真结果如下图所示(红色实线为die内接收波形,蓝色短划线为封装处的测试波形)

如上所示,两个波形之间的差异已经很小。封装处的测试波形在上升下降延的回沟都消失了,只是边沿要比die内测试到的波形要缓一点,幅度要比die内信号波形低。

信号完整性分析学习--13--IBIS模型(2)相关推荐

  1. 信号完整性学习笔记-IBIS模型

    1.IBIS模型是一种基于V/I曲线的对I/O Buffer 快速准确建模的方法,是反映芯片驱动和接收电气特性的一种国际标准,提供一种标准的文件格式来记录如驱动源输出阻抗.上升/下降时间及输入负载等参 ...

  2. 数据传输完整性_基于IBIS模型的FPGA信号完整性仿真验证方法

    人工智能与深度学习等领域的快速发展,使得FPGA等器件应用范围愈加广泛,同时也要求器件的开关速率加快.引脚数量增多.但陡峭的时钟边沿和增加的引脚数使得杂散.耦合.寄生电容电感会对器件产生诸多信号完整性 ...

  3. 信号完整性分析学习--12--IBIS模型

    前面说过信号完整性分析的三要素包括:信号.驱动接收器件和信号的传输通道.之前讲了信号的时域.频域特性,各种常见的电平标准其实就是驱动和接收芯片的基础知识.这一节我们将介绍有关IBS模型的知识,后面我们 ...

  4. 信号完整性分析学习--17--反射

    上一节重点介绍了传输线的阻抗的概念,这是分析传输线的基础,也是信号完整性的基础.这一节重点介绍最重要的传输线效应--反射,以及如何消除反射的影响. 上一节的最后,讲到输入阻抗概念的时候,我们已经知道负 ...

  5. 信号完整性分析学习--18--源端匹配

    信号在驱动器和接收器之间传输时由于源端和末端反射的存在就会导致多次反射,反射的结果就是导致接收端的波形产生信号的畸变.当驱动器的驱动能力强时可能导致过冲和振铃:当驱动器的驱动能力比较弱时,可能会导致信 ...

  6. Vivado使用技巧(17):创建IBIS模型

    IBIS模型概述 IBIS是一种器件模型标准,允许使用行为模型进行开发,这些行为模型描述了器件内部互联的信号.IBIS模型保留专用的电路信息,不像SPICE这种结构化模型,IBIS模型是基于测量或电路 ...

  7. 《信号完整性分析》的读书笔记和总结

    对于硬件工程师,有一种说法是,硬件工程师可以分为两类,一种是已经遇到了信号完成性问题.一种是将要遇到信号完成性问题. 在进行PCB板的设计时,对于低速芯片和电路,如果芯片时钟在10MHz以下,一般来说 ...

  8. IBIS模型:利用IBIS模型研究信号完整性问题

    作者:Bonnie C. Baker,德州仪器 (TI) 高级应用工程师 本文是关于在印刷电路板 (PCB) 开发阶段使用数字输入/输出缓冲信息规范 (IBIS) 模拟模型的文章.本文将介绍如何使用一 ...

  9. ReID中PCB模型输出维度_搞定PCB信号完整性,只需9步!都可以学会

    信号完整性(Signal Inte grity, SI)是指信号在信号线上的质量,即信号在电路中以正确的时序和电压作出响应的能力.如果电路中信号能够以要求的时序.持续时间和电压幅度到达接收器,则可确定 ...

最新文章

  1. ROS修改pkg与node名字
  2. Sequence在Oracle中的使用
  3. 阿里云下Linux服务器安装Redis
  4. wp7 生命周期及多任务 详解
  5. 在使用flask下载文件时会出现的一个文件下载不到的问题
  6. 【推荐】Flex与Flash组合开发最佳实践__Combain FlexFlash
  7. [短文速读] a=a+b和a+=b的区别
  8. 堆栈溢出 java_堆栈溢出回答了我们所不知道的Java首要问题
  9. 高通在物联网领域已经深耕多年
  10. 2017 开发者大调查活动获奖名单新鲜出炉
  11. 快速图像增强的简便大法来了,英伟达开源新库代号“DALI”| CVPR 18
  12. 异常:请将注册表值...
  13. Hadoop 开源调度系统zeus
  14. 个人电子设计步骤整理
  15. 移动端日历插件_“滴答清单”移动端产品分析报告
  16. innerText、outerText与innerHTML、outerHTML
  17. javascript的apply理解
  18. vite首次打开界面加载慢问题解决
  19. 用Form 表单认证实现单点登录(Single Sign On) 作者:寒羽枫(cityhunter172)
  20. 重构--Introduce Parameter Object

热门文章

  1. 济南少儿学国画培训班
  2. 软件看门狗和硬件看门狗
  3. 设计模式_简单工厂模式(Simple Factory)
  4. 电子科技大学计算机学刘峰林,康昭 - 电子科技大学 - 计算机科学与工程学院
  5. LeetCode 61-70题 这是动态规划合集啊?受宠若惊
  6. 微信群发消息怎么发?微信群发消息只需要4步?
  7. KConfig、Makefile详解以及ARM平台Linux内核的编译
  8. 台湾榜首iPhone游戏创作者谈开发成败
  9. SQL Server AVG函数取整问题
  10. spring(春天)