Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1264778
  • 博文数量: 404
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 5382
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-03 16:29
文章存档

2010年(40)

2009年(140)

2008年(224)

我的朋友

分类: LINUX

2009-01-06 08:21:24

IBIS 理解说明

--谨以此文献给初学SI 的艰苦岁月     IBIS 模型在做类似板级SI 仿真得到广泛应用。在做仿真的初级阶段,经常对于ibis 模型的描述有些疑问,只知道把模型拿来转换为软件所支持的格式或者直接使用,而对于IBIS 模型里面的数据描述什么都不算很明白,因此下面的一些描述是整理出来的一点对于ibis 的基本理解。在此引用很多presention来描述ibis 内容(有的照抄过来,阿弥陀佛,不要说抄袭,只不过习惯信手拈来说明一些问题),仅此向如muranyi 等ibis 先驱者致敬。本文难免有些错误或者考虑不周,随时欢迎进行讨论并对其进行修改!

IBIS 模型的一些基本概念     IBIS 这个词是Input/Output buffer information specification 的缩写。本文是基于IBIS ver3.2 所撰写出来(/可下载到各种版本spec),ver4.2增加很多新特性,由于在目前设计中没用到不予以讨论。。。     在业界经常会把spice 模型描述为transistor model 是因为它描述很多电路细节问题。而把ibis 模型描述为behavioral model 是因为它并不象spice 模型那样描述电路的构成,IBIS 模型描述的只不过是电路的一种外在表现,象个黑匣子一样,输入什么然后就得到输出结果,而不需要了解里面驱动或者接收的电路构成。因此有所谓的 garbage in, garbage out,ibis 模型的仿真精度依赖于模型的准确度以及考虑的worse case,因此无论你的模型如何精确而考虑的worse case 不周全或者你考虑的worse case 如何周全而模型不精确,都是得不到较好的仿真精度。

IBIS 模型的构成     经典示意图如下:       从上图可以看出,基本的IBIS模型包括如下的一些信息(对于不同类型的model有一些信息会省略掉) VI 曲线: Pullup & Pulldown &POWER clamp& GND clamp VT曲线: Rise waveform, Fall waveform     还有一些其它比较重要的信息比如Die capacitance: C_comp(最近好像那个muranyi对这个很感兴趣,一直发布presentation讨论怎么把这个做的更精确)以及RLC package parameter。至于一些基本的输入以及使能信息会在软件设置自动生成,不需要我们多关注。对于于ibis模型长什么样子,大家去micron主页 ddr2 sdram模块下载几个io buffer看看是什么样。希望你先看看长啥样再看下面的一些说明。

IBIS 的应用场合     任何电路都可以用下面的模型(好像是Shannon 模型我不知道。。。)来描述 Driver -------------interconnect------------------Receiver     注意IBIS 模型描述的是Driver/Receiver 的行为特性而并不是它们的电路特性,因而内部的一些逻辑延时是没有考虑的(在此你就该好好明白为啥要区分Tco的概念),通过使用IBIS 模型,从而得出interconnect 对于电路的影响。在目前一些使用ibis model 仿真的软件中,在Cadence 里面,ibis 模型是转换为dml 格式,在Hyperlynx 里面直接调用ibis 模型。由于ibis 支持的buffer type 很多,每个类型都会有对应的格式以及需要包含的信息,常用有output, input 以及IO 模型,至于其他的模型,大家可以参照ibis 说明,有些些微的差异。

IBIS 模型中vi/vt 曲线的由来 有大牛的示意图形,不多说 Pull down 曲线由来(此曲线需要考虑与clamp 曲线重复的部分)   Ground clamp 曲线由来   Pull up 曲线由来(此曲线需要考虑与clamp 曲线重复的部分)   Power clamp 曲线由来       注意:ibis 里面定义电流流入方向为正;在此图中pull up 以及power clamp 曲线都没经过转化(传说的vcc relative 没出现,^_^,使用Vcc relative 从目前得到的解释是模型可以应用在兼容电压模式,举个例子2.5v 兼容3.3V 的器件,2.5v 和3.3v 工作状态下可以使用相同的模型而不用建立两模型描述单个器件)

IBIS 模型在软件中的应用     目前高速信号软件大部分都是spice-compatible 软件,而且很多都内嵌field solver分析传输线,因而在仿真中势必会把ibis 模型的信息转换成spice 信息来使用,来看看ibis 模型是如何转换成spice 信息使用的。看下如下的示意图,  当外接fixture,此部分电路可以直接在spice 中求解     但是VI 曲线仅仅描述的是DC 状态,那么在ibis 模型中描述瞬态的vt 曲线如何转换值得商讨,看以下的等效图   可以得出等式:-Iout=Ku*Ipu+Kd*Ipd+Ipc+Igc 如果rising/falling waveform 只有一条曲线,比如VCC+Rfixture,可假设   得方程   如果有两条曲线,比如VCC/GND+Rfixture,Ku 与Kd 独立解出,从而可以得出仿真的瞬态曲线

比较有趣的问题  Vi/Vt 曲线的匹配(参考hyperlynx 的帮助) 对于falling waveform R_fixture=50 Ohms and V_fixture=3.3V负载线与pull up 曲线交界为falling waveform 起始点,与pull down 曲线交界为falling waveform 终点(始终记住pull up 是Vcc relative 需要转换)   对于Rising waveform R_fixture=50 Ohms and V_fixture=3.3V 负载线与pull down 曲线交界为rising waveform 起始点,与pull up 曲线交界为rising waveform 终点

Package model 的应用 在ibis 里面有三个地方可以使用package model A, [Pin] 语句里面,描述的是local package 参数,只有typ 值 B, [Package]语句里面,描述的是global package 参数,有slow/typ/fast 取值 C, [Define Package Model]里面,描述的是local package 参数,能带传输线,只有typ 值

Ramp 数值由来 测量vt 曲线 dv=(80%-20%)*(Vmaximum-Vminimum) dt= t [80%*(Vmaximum-Vminimum)]- t [20%*(Vmaximum-Vminimum)]

总结 1,很多人告诉我说想验证ibis 模型,比较好玩,实际上你用软件检查后你会发现很少有其它事情我们可以做的。。。毕竟,你不是做芯片的,不要扁我!对于有问题的ibis 模型,我们有办法做什么事情么?没有,但你一定要知道问题在那儿,灭那些芯片的而不用被他们嘲笑,哈哈。 2,关于ibis 的发展前途,从目前发展趋势,它的归宿只有两个: a 由于自动化的需要,迟早要成为一个编程语言,哈哈,又多一个求生的饭碗,大家快去学。。。 b 不要高兴太早,它有可能语法太庞大复杂最终被其它取代。。。

参考文献 1.Hyperlynx 帮助 2.The Development of Analog SPICE Behavioral Model Based on IBIS Model 3.Introduction to IBIS models and IBIS model making

本文地址
版权声明:本文为admin原创发表,本网站《服务条款》享有相关权利。 

阅读(2337) | 评论(0) | 转发(0) |
0

上一篇:httpd,thttpd和boa

下一篇:MEMWATCH.log for test.c

给主人留下些什么吧!~~