2023年12月7日发(作者:)

简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。

介绍

ultrasim是cadence的fastspice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X-10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。

用法1

ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。

用法2

1。在终端输入:

ultrasim

ultrasim -spectre

ultrasim -vlog xx.v

以上分别表示仿真文件(netlist是hspice格式),(netlist是spectre格式),xx.v(netlist是verilog格式)

其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。

还有一些其他选项,读者自己看吧

2。ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digitalfast/digital accurate/mixed singal/analog Multi rate/analog

mode/spicemode,在option选项种分别称为df da ms amr a s .

6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。

df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。

如果在option没有设置,默认是MS模式,兼顾精度与速度。

AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。

据我的经验,a模式通常是hspice的1.5~3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。

3。option中,仿真模式的设置。如下,在文件内容如下: * test

***************************

.usim_opt sim_mode=da xi1 xi2 #dff

.usim_opt sim_mode=a xi5 #driver @pmos2

.usim_opt wf_format=wdf

*******************

.option post=1

.inc 'netlist'

.lib '' tt

vxx xx gnd 5

····

····

.tran 1u 1m

.probe v(net*) depth=2

.probe v(5)

.end

解释下,大家就清楚了:与hspice相比,ultrasim增加.usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式;生成的波形文件格式wdf。

倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。

上面提到AMR模式不能本地化,也就是不能以 .usim_opt sim_mode=amr xi55 #dffr 等用于子电路和cell。

3。关于波形文件格式的设置。

ultrasim支持以多种波形文件格式存储波形,主要有:psf sst2 fsdbwdf,默认的波形文件格式是psf(cadence的awd和新的wavescan都可以打开)。sst2是cadnce新的压缩波形文件格式,据称生成的波形文件最小,可以使用cadence的wavescan和simvision打开;fsdb是debussy开发的可以使用其nwave打开,生成的波形文件也比较小;wdf是sandwork开发的文件格式,感觉和fsdb的文件大小差不多,一般是hspice生产的.tr#格式文件大小的1/3或更小 。 好像记得debussy和sandwork现在都被cadence的竞争对手synopsys收购了。其中sandwork的spice explorer(或称waveview analyzer)支持psf .tr# fsdb (pspice) wdb 几乎所有主流的格式,功能十分强大,遗憾的是不支持sst2!现在被synopsys收购了,可能更不容易实现sst2的支持了。

好了,根据自己使用的波形工具选择生成的波形文件类型吧。

.usim_opt wf_format=wdf

把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。

其他波形选项: .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘

.usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)

其他选项就不详述了

4。公差容忍度设置

speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。

.usim_opt speed=2 设置tol=0.001,比较高的精度!

.usim_opt speed=1 #vco 对vco cell使用0.0001的tol

speed=1,2,3,4,5,6,7,8对应的tol分别是0.0001 ,0.001,0.0025,0.005,0.02,0.02,0.04,0.07,精度以此降低。

通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。

tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!

再强调一点:精度设置的越高,相应的速度越低!

5.矩阵分割设置

ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。

.usim_opt analog=2 xi9 设置xi9中电路analog=2

对这一选项,没有多大研究,通常我也采用默认的。

以下是推荐的用法

analog = 0 Digital and memory circuits

analog = 1 Digital, memory, and mixed signal circuits (default)

analog = 2 Mixed signal, analog, and RF circuits

analog = 3 Analog and RF circuits

analog = 4 Mixed signal circuits (high sensitivity)