Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。
( {3 K# ~. A9 N5 F& E9 A+ u
3 b8 f- e& e, v( n' j7 @介绍
# C$ C7 C( e8 c/ T/ \! C  r    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。9 z7 B+ x9 a% P

6 i2 G. C: ?. ^  g: X/ g用法1
) V& ~$ j! V  Z+ Bultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。% y  ]2 H  W- {
0 D- b4 {* ?# R; A( W7 s- s& S) F
用法2
6 W/ E4 e& n! U5 z* X8 w8 R1。在终端输入:# [+ V. p; C5 M7 I. d+ A' n8 {  v( v
            ultrasim xx.sp0 L$ D- K9 B  \# @/ J$ V
            ultrasim -spectre xx.scs/ d$ A9 n: c4 h; L, C
             ultrasim  -vlog xx.v
0 N# }# T; |1 B# S1 }. G- Q    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)/ U% B; A! O% C, {: r( F
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。
! a$ G! h3 o$ D5 c6 v    还有一些其他选项,读者自己看吧" I: I  i9 H7 Z3 W" c; U0 q
" @2 k4 A8 o9 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 .! k* f# ]: |( f, g3 z# @1 c
    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。
5 r4 @7 Q7 T2 a" m. e    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。+ H5 z; R1 V: I3 P
    如果在option没有设置,默认是MS模式,兼顾精度与速度。
. V9 E0 M! e. j. j: `    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。# g, }; ^# d  R, v1 P$ |
    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。
6 D+ k1 z' m( c: |( a/ {
: O) O/ a. _" w3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:4 F- U% \2 K- z( W3 I

( F9 z1 ^( t; h/ p  z) j. l* test
/ n) d% q: J# \0 [$ r***************************0 \9 H% m8 S. D# o) P& Q& G
.usim_opt sim_mode=da xi1 xi2 #dff2 N& F: N) Z6 R
.usim_opt sim_mode=a xi5 #driver @pmos2
& h$ Z: @- U" B.usim_opt wf_format=wdf
: d7 M6 G. \8 n( r*******************  Z5 Q' ]+ ]* p( Q8 c. d
.option post=1; T2 Z# J9 h$ i( I
.inc 'netlist'
7 P) C  v2 `# g. F/ D.lib 'xx.lib' tt
* J2 r. d: L- \+ L! n  `8 y8 Z( g: u+ H4 B2 L
vxx xx gnd 53 J3 n! t( e/ o- w1 \8 W8 F6 \
····7 c  b5 l, _$ b& S# }* B* w$ Q; s/ N" |
····
0 q1 D* Q8 K: D8 F2 G
8 h2 v, ]4 _0 ~: A.tran 1u 1m
# m1 G  f# r: y+ E1 f.probe v(net*) depth=2
) e5 Z! f3 q7 |/ \& P.probe v(xi1.mp5)
0 O% |# V7 F  y.end
' W' A! U, `3 D% M
5 X" O" }9 G" {1 _( w    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。
% r" u5 @- `$ s( Q+ e' W    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。
7 A" p  s4 h6 `: ?1 |% N    上面提到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。关于波形文件格式的设置。9 u( m' o8 ~2 r, y/ ]9 i
    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的支持了。
1 t% l# m; B4 Q; s    好了,根据自己使用的波形工具选择生成的波形文件类型吧。, D  M2 ]  D2 m0 C) |$ B/ f
    .usim_opt wf_format=wdf- M) \3 r2 x# n( ^4 O
    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
5 j2 ~* J" R) I3 I, I; q$ _6 Q' Y2 y* }/ U
/ e* N% Q: C' s9 b. r
    其他波形选项:" X) W, {0 D" U+ d' S3 G. z
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘' v, N0 N, V& j4 d0 v1 s
    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)
, [. I( `# C5 u/ I$ u5 L) O    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置" h( c0 e; U* b2 A5 k
    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。1 w, S# `, o9 u! g6 J' L
    .usim_opt speed=2 设置tol=0.001,比较高的精度!- K5 R) v% {. G3 A( X
    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol
* S5 b/ Y' i) u+ ~" h    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,精度以此降低。' A1 o- k. Q+ F# Z2 w
    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。8 m2 O7 R& Y2 s; G3 k$ Q
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!/ y' i: H( d9 K/ i
    再强调一点:精度设置的越高,相应的速度越低!
/ U+ k: a  A/ Z% Y 9 |4 J: g( [( `$ c6 u, ?
5.矩阵分割设置1 h# o" W+ @  C  J- \  ?! `. ~
    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。/ M, v2 O6 }+ x: ~
    .usim_opt analog=2 xi9 设置xi9中电路analog=2
% a5 L0 H6 k5 n+ `0 V: Q0 \    对这一选项,没有多大研究,通常我也采用默认的。
! q9 D$ A0 C6 g( l' m) {    以下是推荐的用法( h) _: V! d, f' N2 K
, d/ Y" G) W8 q- U1 s
analog = 0 Digital and memory circuits' D/ s$ [+ @! N
analog = 1 Digital, memory, and mixed signal circuits (default)
8 ~7 A: m+ a/ J, qanalog = 2 Mixed signal, analog, and RF circuits
) H! E  Y) F) V8 S. e2 T! G  h* danalog = 3 Analog and RF circuits6 c% X  s1 _# L' k) Q
analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-7 07:50 AM , Processed in 0.102006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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