微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 信号完整性分析 > 信号完整性分析讨论 > Spice转成IBIS工具谁有呀?

Spice转成IBIS工具谁有呀?

时间:10-02 整理:3721RD 点击:
瞧瞧怎样?

到网站去找呀,都是免费的

Spice模型到IBIS模型的转换方法
IBIS模型的关键和核心是输入/输出管脚上的I/V 和V/T曲线,这也是反映数字逻辑管脚的驱动/接收/缓冲特性的地方,不同的芯片制造工艺、不同的电源、不同的管脚,特性不一样,利用芯片厂商提供的芯片Spice模型,通过对这个Spice模型进行时域仿真,就可以得到相应的I/V、V/T曲线,再将这些曲线数据按照IBIS规范的格式组合起来,就可得到器件的IBIS模型,从而完成Spice模型到IBIS模型的转换,相当多的芯片商提供的IBIS模型也是用这种方式得到的,因为这比利用测量的方法得到IBIS模型要简单、容易得多,而且只要Spice网表文件中的元件模型足够准确,生成的IBIS模型就会足够准。但利用Spice模型转换得到的IBIS模型可能会有些问题,比较常见的如曲线的非单调性、异常数据问题,需要完成模型转换后进行后处理工作,如手工剔除、修正数据,才能成为真正可用的IBIS模型。至于IBIS模型的其它部分,如芯片封装的R、L、C参数,引脚名称和端口特性等可以比较容易得到。
目前,已经有多个版本的Spice模型到IBIS模型的转换软件可供免费选用,它们都来源于美国北卡罗莱州立大学(NCSU)开发的免费软件,源代码公开,较早期的版本为s2ibis v1.2,不能直接生成IBIS文件,没有统一的命令控制输入文件,比较成熟的版本为s2ibis2_v1.1版本,具有规范的命令控制文件格式,能生成V2.1的完整IBIS模型文件,仅支持UNIX平台,它利用输入的Spice模型和第三方的Spice仿真器生成IBIS模型,本身不具备Spice模拟的能力,必需借助其它Spice仿真器,支持的Spice仿真器有HSPICE,PSPICE,Spice2,Spice3或Spectre。后来,Cisco公司将NCSU开发的s2ibis2软件移植到Linux平台,Siqual公司将它移植到Windows平台。因为目前我们所用的操作系统都为Windows2000/XP,Spice仿真器也是基于Windows平台的,所以下面仅以Siqual公司移植的SpiceToIBIS模型转换器为例详细介绍。
        S2ibis2模型转换器简介
Siqual公司的SpiceToIBIS模型转换器(以下简称S2ibis2)是NCSU的s2ibis2_v1.1移植到Windows平台上的改进版本,功能、语法完全一样,可以到EIA的官方IBIS工具网站(http://www.eigroup.org/ibis/tools.htm)上下载,在这里还可以找到其它的SpiceToIBIS转换工具,IBIS语法检查器,IBIS模型到Spice模型的转换器和一些参考文档,其中有一篇关于如何生成IBIS模型的文档:IBIS Cookbook for v2.1,详细阅读这篇文档将有助于理解本篇文章的内容。
S2ibis2仅直接支持Synopsys的Hspice仿真器,虽然旧版本的Hspice也能正常使用,但建议用较新的版本,这样能获得新版本的增强特性。在能够使用S2ibis2之前,应首先安装、正确设置好Hspice的环境变量、License许可文件,使Hspice能够正常运行。
从Internet上下载的S2ibis2文件是一个Zip软件包,解开后包括四个文件:
hspice.bat,供S2ibis2调用,以启动Hspice仿真器进行仿真和仿真后处理的批处理文件;
readme.txt,软件的介绍、说明文件;
s2ibis2.exe,S2ibis2转换器执行程序,用于读取输入的模型转换S2i控制文件和Spice模型文件,生成Hspice仿真器的输入网表文件并调用Hspice仿真器最后得到IBIS模型。
s2ibisKludge.txt,模型转换过程同步文件,文件的内容没有实质性的作用,用于S2ibis2运行过程中与Hspice仿真器同步用。在用S2ibis2对Spice模型转换的过程中,需要多次启动Hspice仿真器,每次S2ibis2在将一个新生成的Spice网表传送到Hspice中进行仿真之前,读取当前目录下是否有complete.xxx文件,如果没有,说明Hspice还没有完成当前的仿真,S2ibis2继续循环等待、判断,如果有complete.xxx文件,表明Hspice已经完成当前的仿真,可以启动下一次仿真,于是S2ibis2把新的Spice网表再次传送到Hspice中进行仿真,同时删除complete.xxx标志文件,为下一次判断做准备;与之相配合,hspice.bat批处理文件在每次hspice完成当前仿真后,都会在当前目录下建立complete.xxx标志文件。
因为软件安装位置、环境变量设置不同,为了能正常使用s2ibis2转换器,还需做以下设置和更改。首先,需要将s2ibis2.exe执行文件所在的路径加入到用户环境变量中,便于从任何路径下直接启动s2ibis2转换器;其次需要对hspice.bat做相应修改:
del complete.xxx (因为s2ibis2.exe会自动删除complete.xxx文件,所以这一行可以删除)
start /wait /min %installdir%\pc\hspice -i %1 -b        (根据本机的installdir环境变量设置做相应修改,如果没有installdir环境变量,可以改为hspice.exe的完整路径)
copy e:\simulationFiles\s2ibiskludge.txt complete.xxx        (根据s2ibiskludge.txt文件所在的路径对Copy的源文件位置做相应修改)
del *.?0
del *.ic        (hspice仿真不会生成文件名后缀为ic的文件,此处可改为del *.spi,即删掉S2ibis2生成的spice网表文件,注意Hspice生成的lis文件不能删除,因为S2ibis2需要读取lis文件中的仿真结果来拼装成IBIS模型)
exit
为了生成芯片的ibis模型,使用者需要准备三个芯片相关的输入文件:
*.s2i文件,进行模型转换的主控文件,它控制了S2ibis2转换器的所有行为;
*.sp文件,芯片厂商根据IC的版图提供的引脚上的驱动/接收器的Spice网表文件,如果这个文件已经包含了所有的元件模型,则可不需要mod元件模型文件;
*.mod文件,Spice网表中所引用元件参数的模型文件,与集成电路的制造工艺有关系,这个文件不是必需的,但sp文件中必需包含所有的元件模型。
下面将对这三个文件的格式、内容做详细描述。因为S2ibis2中没有附加示例文件,所以下面将以NCSU的原始S2ibis2_v1.1软件包中的示例3为例给出每种文件类型的示例文件,三个文件分别为chip.s2i、chip.sp和hspice.mod,示例3给出了如何产生输入、输出缓冲和和三态输出缓冲引脚的IBIS模型。
S2i文件控制了S2ibis2转换器的行为,从这个文件中S2ibis2可以获取进行SpiceToIBIS模型转换的所有信息。S2i文件的内容已经基本具备IBIS模型的雏形,只需调用Spice仿真器生成需要的V/I曲线数据填入到文件中的对应位置就可以了。S2i文件中的大部分语法、规范、称谓都直接引用了IBIS规范,文中没有提到的规定在IBIS规范可以找到详细定义,阅读IBIS规范有助于理解本文内容。
        S2ibis2模型转换过程分析
需要S2ibis2转换提供的数据有:Pullup、Pulldown、Ramp、Rising Waveform、Falling Waveform、Power Clamp(可选)、GND Clamp(可选);图4为IBIS接收器模型示意图,需要S2ibis2转换提供的数据有:Power Clamp、GND Clamp;对于具有三态控制或双向的I/O脚,需要S2ibis2转换提供的数据有:Pullup、Pulldown、Ramp、Rising Waveform、Falling Waveform、Power Clamp、GND Clamp。

S2ibis2在进行模型转换的时候,首先会对输入的S2i文件进行语法检查,如果有语法错误,则显示出错信息后退出;语法检查通过后,根据[Pin]列表中引脚出现的先后顺序(对属性是POWER、GND的模型直接跳过,不作仿真),依次生成对应模型的各种Spice网表文件并调用Hspice仿真。在每个模型的转换过程中,S2ibis2每生成一个Spice网表文件后就调用Hspice仿真器仿真,仿真完成后再生成该模型下一个网表文件,再调用Hspice仿真器,如此周而复始,直到当前模型需要的所有数据生成完毕,然后转入下一个模型。
在S2ibis2对[Pin]进行从前到后的扫描过程中,如遇到该Pin的模型在前面已经生成了,则不再重新生成,转而进行下一种模型的生成。
所有Spice网表文件中, 前面部分的内容完全相同,其实就是S2i文件中指定的Spice文件(*.sp文件)和Model文件(*.mod文件,如果有这个文件)内容原样拷贝,后面部分的内容与需要提取什么类型的数据密切相关,如下面是输入引脚的电源钳位仿真网表的后面部分文件:
VOUTS2I tri_in 0 DC 0
*定义输入直流电压源
VCLMPS2I vdd 0 DC 3.3
*定义电源钳位二极管负极电压
VGCLMPS2I gnd 0 DC 0
*定义地钳位二极管电压正极电压
.TEMP 27
*定义Typ仿真的温度值
.OPTIONS INGOLD=2
*定义数据的输出格式
.DC VOUTS2I 3.3 6.6 0.05
*对VOUTS2I,即输入直流电压,执行DC扫描分析,范围从3.3V到6.6V,步长0.05V
.PRINT DC I(VOUTS2I)
*打印直流扫描时的I、V数据。这部分数据会被S2ibis2提取出来,填入到IBIS模型中Input模型下的Power Clamp部分,不过在填入前要对电压作Vtable转换。其它曲线的仿真网表与此类似。
在S2ibis2中,对于Power Clamp、GND Clamp、Pullup、Pulldown曲线数据由DC直流扫描仿真得到,对于Ramp、Rising Waveform、Falling Waveform曲线数据由TRAN时域瞬态响应仿真得到。
        S2ibis2的启动和运行
S2ibis2只能从命令行方式启动,即可以带参数启动,也可以不带参数。带参数的启动方式为:
E:\Temp\ex3>s2ibis2 chip.s2i         (参数为输入的s2i文件名)
不带参数启动的方式为:
E:\Temp\ex3>s2ibis2
s2ibis2 v1.1 -- North Carolina State University - SiQual version
input file: chip.s2i
程序运行,显示版权信号后,会提示输入s2i的文件名。
下面是从命令行启动S2ibis2程序,将示例3转换为IBIS模型的运行信息:
E:\Temp\ex3>s2ibis2 chip.s2i
s2ibis2 v1.1 -- North Carolina State University - SiQual version
s2ibis2: Reading input file chip...done.
s2ibis2: Analyzing component MCM Driver Chip .
s2ibis2: Starting HSpice job with input pct2.spi.
s2ibis2: Starting HSpice job with input pcn2.spi.
………………….
在S2ibis2运行过程中,会发生多次的Hspice调用,
        整个模型转换过程可能需要比较长的时间,这和计算机的运算速度、模型的复杂度、模型的多少等有关。当S2ibis2模型转换成功后,会给出提示信息:
s2ibis2: Opening file chip.ibs for writing...done.
S2ibis2运行完成,命令行重新回到系统提示符下的时候,模型转换结束。

多谢,研究先。

very good!蠕虫真是好人啊!

这下真服了吧!

3ks

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top