Chip123 科技應用創新平台

標題: 原创:Ultrasim用法(待续) [打印本頁]

作者: lsh0211    時間: 2008-4-21 06:53 PM
標題: 原创:Ultrasim用法(待续)
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。  [! N( i" O# S  L1 V# f& X9 T
! {" M+ e9 X& ]' z; ~
介绍) r+ @. i2 c7 d
    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。  H* C* ]  j% {$ R
, t5 h. B9 R! [7 Z9 c
用法1
  w' d! ^/ ~; u" f& {& P. E; Aultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。0 n/ c% R( Q  t% `+ p9 G

6 a- V! l' _9 B' h0 Z6 U) W/ `用法2
0 X8 s; N2 c/ n; B* ?+ U* k1。在终端输入:
  Q7 l3 o" V- C; R3 n            ultrasim xx.sp& q) q% }" r/ ]. H% _+ U$ {/ u' u
            ultrasim -spectre xx.scs
. Y! o' _( t0 t8 W0 X             ultrasim  -vlog xx.v
- c8 t: y0 u$ y; I, y    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)* K. d  s& T7 A7 q" u8 \' o
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。
- v+ j2 ]: g0 X$ k% v- g- k    还有一些其他选项,读者自己看吧$ C$ c  ~3 Z( \6 U" b, b

8 r7 x& {$ R7 }: H: {% z2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .
: ]( J3 D& i0 _4 s  o    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。1 O3 d4 }3 G6 t$ @+ D, F
    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。
& u) q: T1 }( t% N# ~: y2 T    如果在option没有设置,默认是MS模式,兼顾精度与速度。
( @% Q) W5 u5 G0 ^% B( J    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。
- s( I- J5 b( D    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。
' i! W, U( d. V& f9 S3 p" F9 M2 h8 y" C0 ~% |) z  s6 H- R
3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
2 ?+ x! H0 ?  i) W# P& D: V4 s0 T- o7 J- `4 V' K6 A
* test
& p( P0 {" c- Z, `) W9 a5 }# @***************************
& v! c% b# Y* s& n" S% f' z.usim_opt sim_mode=da xi1 xi2 #dff
, _! [8 g+ |8 \* b3 p.usim_opt sim_mode=a xi5 #driver @pmos2
% L9 g% Z0 Z: D/ W.usim_opt wf_format=wdf3 R& o$ c! K# R; p& W  ~, q+ c
*******************
8 @0 }  \( j% ?5 m. f, s.option post=1
. n& {0 `1 @# H! [( t/ Q.inc 'netlist'
% V/ I! U/ K# s5 z( v+ R.lib 'xx.lib' tt4 j" R; k0 v; F* G$ g& I: G0 G

9 Z9 @) [. E' X) _7 Qvxx xx gnd 5
$ t0 `( X' C3 A- @# D6 {8 V8 Z····9 L6 z1 J. J8 A2 i' d% q
····- J$ B$ R! f% t! ]8 Z& {

8 a! D9 a! f4 P; N% ~.tran 1u 1m
6 ~" R) l+ a$ K7 P9 A.probe v(net*) depth=2
, q2 E& u# y4 V4 x  d; N" l4 {.probe v(xi1.mp5)! f6 \) _# U8 E5 y/ O
.end( a( E+ G" I# `, H* _

5 j3 R( @& j' O2 _& O    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。
# I$ P( T1 l* E: s    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。
- v  f, I  M+ |6 B. s    上面提到AMR模式不能本地化,也就是不能以 .usim_opt sim_mode=amr xi55 #dffr 等用于子电路和cell。
作者: lsh0211    時間: 2008-4-21 06:53 PM
3。关于波形文件格式的设置。' S+ v. m* ?- O9 m5 Y
    ultrasim支持以多种波形文件格式存储波形,主要有:psf sst2 fsdb wdf,默认的波形文件格式是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 wdf .dat(pspice) wdb 几乎所有主流的格式,功能十分强大,遗憾的是不支持sst2!现在被synopsys收购了,可能更不容易实现sst2的支持了。5 ]2 B! y. l* n. r* X/ a( j& I, |
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。, F5 u! T" n( C# {
    .usim_opt wf_format=wdf
1 O. a# Q# B% d5 B& T) J+ `    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
$ n" l$ n. @  @; k, Q* V7 H- {. f6 r4 s0 ^

* ]5 Q9 w* B+ Z" l5 M    其他波形选项:+ ?2 N" l+ {" p
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘
, {8 l& ]: |0 K    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路): R, @3 m' J# W4 Z! h
    其他选项就不详述了
作者: lsh0211    時間: 2008-4-21 06:53 PM
4。公差容忍度设置
  ]  \; k' @/ H! s3 D/ k6 G    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。4 ]" e" i8 j( C4 J$ ^
    .usim_opt speed=2 设置tol=0.001,比较高的精度!
. R# D$ W6 y9 |8 l# l    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol/ R$ W/ b: P2 x9 X- M# }/ e
    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,精度以此降低。# [9 k; ~9 r4 ]" ~4 e
    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。7 }) x$ H5 Z5 ^/ w: N2 _0 A
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!
7 W7 Y* `: P1 R- G6 T    再强调一点:精度设置的越高,相应的速度越低!5 [. |( A: T6 a) c4 j" ^

3 q$ P  |9 O% K% R5 ?5.矩阵分割设置
$ @; ], T0 z; j( C    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。
  n& _- l; S2 J  N    .usim_opt analog=2 xi9 设置xi9中电路analog=2
" ?" T1 E+ H/ e5 s8 n! p    对这一选项,没有多大研究,通常我也采用默认的。' _, {; k. K+ _6 X& b$ ]" C1 o7 k
    以下是推荐的用法
1 w) m+ K4 o/ r6 Q, o( i3 j7 w: W# X2 P& u0 ?% M; D
analog = 0 Digital and memory circuits
/ `3 h) Q2 l+ aanalog = 1 Digital, memory, and mixed signal circuits (default)
% l5 i( k* I9 A* j& X, danalog = 2 Mixed signal, analog, and RF circuits
/ _/ Y- S3 F- ganalog = 3 Analog and RF circuits
5 _* m- t7 @5 |& l7 O  Ianalog = 4 Mixed signal circuits (high sensitivity)




歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/) Powered by Discuz! X3.2