Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 13728|回復: 2
打印 上一主題 下一主題

[好康相報] 原创:Ultrasim用法(待续)

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。& C% c  @( Y+ x/ r4 R
5 n( b; G" O% f/ _; V# h% ^# |
介绍: L5 M% [/ U6 n. z2 f# b* j
    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。0 v4 [! Y; }: N, \' o0 W* V
4 h/ H( W6 O/ Q
用法1" A8 E2 e' [5 A- t# Y
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。
& O/ r5 ^' [1 P6 C8 A3 f$ K3 C& D! ]5 N3 [
用法2# o% c5 T5 w& b  B  h  p% e& D
1。在终端输入:/ @0 C4 m8 o4 o- p1 l% F5 J" w
            ultrasim xx.sp; p! T9 ]7 b. W+ l! f8 Y- u% P
            ultrasim -spectre xx.scs
0 A7 v' Z1 ?- j2 W             ultrasim  -vlog xx.v% B. I/ H  u* V$ b9 z8 I
    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)" d) D2 G" U& C# s2 f
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。
" c5 r; y, t: n! m    还有一些其他选项,读者自己看吧
  @- u; e+ ^6 M. [" o' S" j9 y* d% p0 O8 s( d
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .
9 u3 H8 o$ h1 M+ D( x- l    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。
* C* |/ L0 P4 |    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。
: P6 O) Z  @' e9 D. [    如果在option没有设置,默认是MS模式,兼顾精度与速度。* t* W$ {' K. K5 v5 y7 Q9 z
    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。
, p* Z% P: i" J5 I1 W8 v    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。
2 |% U& h7 a+ S/ k: q, d
8 ?0 c. C6 z1 ^6 s+ p5 w3 \9 W8 b3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
& |# A. ^, [% U: e/ h. C; x! c1 r/ t; ^# M
* test, o7 z$ |  n' P
***************************5 x6 }$ U  G( B# |/ Y, O
.usim_opt sim_mode=da xi1 xi2 #dff
. [" v; |7 M, Q! K.usim_opt sim_mode=a xi5 #driver @pmos2
0 e% S! C# a" \/ h# j. J. W$ j.usim_opt wf_format=wdf8 |5 s/ `' v" f- A% ]' y
*******************6 L. }) z" n4 m; ^# s$ y" B
.option post=1# d" k; H6 b/ I) Q
.inc 'netlist'- ]: q/ C% G/ z8 x, k9 o: W, Z
.lib 'xx.lib' tt
( O# \% x6 t, y' C( B
* }" t, L6 j* h+ R; u0 `vxx xx gnd 5
0 l% I6 f9 a9 V/ \, q, G7 w' X····
) z6 m' o9 J4 [: x8 E5 a: N····& d- N9 ~6 s" m& S# i& t
/ N: Y% v: X" g  q% D- w
.tran 1u 1m
# M  b& j) [; w6 k; Q  s.probe v(net*) depth=2
' Q4 \3 P% b* H! W' t- `) t7 }; @.probe v(xi1.mp5)
, w7 O7 ~2 L/ @  x7 [( o  Y1 d.end
- U! ?3 I3 }8 [% L7 q. Q+ `' k' j ' ^. q. T4 p6 X0 c# w
    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。' U7 B* k. \' F( N4 E
    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。& I2 G4 ?  `+ U
    上面提到AMR模式不能本地化,也就是不能以 .usim_opt sim_mode=amr xi55 #dffr 等用于子电路和cell。

評分

參與人數 1 +1 收起 理由
heavy91 + 1 文章可以稍作編輯...看起來會更好...

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂9 踩 分享分享
2#
 樓主| 發表於 2008-4-21 18:53:37 | 只看該作者
3。关于波形文件格式的设置。
2 _# i$ |7 S, o3 n" Q2 O% S    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的支持了。* n9 Z; S! E" l8 @/ \/ d' F' J" x0 A
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。
( Y6 r* D; B& T7 Y) e( @2 @2 u    .usim_opt wf_format=wdf4 _4 D2 _3 a5 J9 E" x
    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
+ z, E  w4 G; A+ n. N% c# t& [" o2 }1 e

3 s" s4 O& g; N7 _8 b; W. l5 n    其他波形选项:# U* k* c0 e2 t; g4 L( ?
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘2 j* q% `: k- l! ~
    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)/ t! h/ Y+ b1 t/ ?, v
    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置
, N& J" E. F) ]' ^% y    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。! L9 k3 n# b) Z7 t: i
    .usim_opt speed=2 设置tol=0.001,比较高的精度!0 T  i* H! s6 X
    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol  n4 `. D2 \7 l/ x( m3 ]: Z; D
    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,精度以此降低。+ D' {# L* I1 G( `* B9 U7 _5 {
    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。# z, J8 H% ~3 G" `! x
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!
: B2 L3 Z# s0 ~( c    再强调一点:精度设置的越高,相应的速度越低!! v6 |' H5 U' L7 r$ v% [  n* d0 Y

3 o5 e. i) i, G; k  j4 F: ~5.矩阵分割设置- t$ z- s9 G& o7 M* W# k
    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。4 j0 a, h* L) D% s: G5 F; |5 n
    .usim_opt analog=2 xi9 设置xi9中电路analog=2
0 I3 l7 z, e! S3 S    对这一选项,没有多大研究,通常我也采用默认的。4 `" g( W: n# z
    以下是推荐的用法4 ^+ [7 I& ^' P/ j( i- H
2 F' G* G" ]5 C% d* \4 e( g
analog = 0 Digital and memory circuits
8 q% }, ]2 g6 M8 p8 `analog = 1 Digital, memory, and mixed signal circuits (default)
' b; w3 S! T0 C* B+ Xanalog = 2 Mixed signal, analog, and RF circuits
! q6 I% `: l7 y; a3 Sanalog = 3 Analog and RF circuits  ]) L, T  K$ i( R8 ~
analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-6 04:56 PM , Processed in 0.136017 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表