Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 13554|回復: 2

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

  [複製鏈接]
發表於 2008-4-21 18:53:20 | 顯示全部樓層 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。9 N7 i  U- c  o

; e( X' z9 K. \" Q8 k, l" c/ c介绍/ ]' M6 {9 G* X
    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。3 k9 @4 F- ?9 b" y3 P' b4 o

5 y0 n& b9 x3 Y6 }6 h用法1
& V$ z3 E: K3 J5 p# b. Uultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。7 b- T: a$ w/ y
9 \* E: g: h/ Y& k" \" ?3 O+ i
用法28 ~3 z1 v; I# K( L! ?
1。在终端输入:  W: E1 i9 ?' Y6 I1 S
            ultrasim xx.sp
- c2 Q+ f9 E+ n5 Y            ultrasim -spectre xx.scs
, }5 I4 `+ ^6 e# r. `) e" g             ultrasim  -vlog xx.v3 A/ N, |$ _9 B, o
    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)5 E0 v: r8 [1 Y2 A" D
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。! h4 W7 J% a7 n" g
    还有一些其他选项,读者自己看吧
+ I7 Q, X; K) C* d9 x8 C& A& i! J% ~5 I6 F0 u8 P
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .# V$ w2 A' `6 D. D/ e1 M
    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。
0 W2 Q5 `( {0 @$ ]& K    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。; `; @+ ~# F9 [5 B  r9 @
    如果在option没有设置,默认是MS模式,兼顾精度与速度。
) h1 n' a" T1 [    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。" v8 a0 e* T$ K) _* V- o$ b- ^
    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。" z& l& e/ z. B" n0 `
# I7 ]) D8 G/ F5 J& i% g
3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
, s2 L  |! m7 j. f2 J
7 p; P4 D9 }4 Q& I. j/ t* test9 I4 O! B& \4 T6 n7 R* W; t; i
***************************
: X8 U7 Q( c5 n4 y* z.usim_opt sim_mode=da xi1 xi2 #dff! H7 {0 v; C0 B2 l0 w& [. y( S2 d. y
.usim_opt sim_mode=a xi5 #driver @pmos2
5 [! b, D* Q1 s9 m' z* Y. c* g.usim_opt wf_format=wdf+ h" r! i% Y4 a4 b/ c- q
*******************
% A% z+ i1 ~7 L.option post=17 y2 N; z2 i: @" Y
.inc 'netlist'2 y0 d+ Q2 ^' G
.lib 'xx.lib' tt. S. z: \8 Q$ q* l- [
+ x  G, E% n" G0 O
vxx xx gnd 5
6 ?% }/ g  D; A3 b····# K" V: P% H$ X0 K; G0 b
····
7 P& T3 P' I4 l7 V* p
: W* U2 n8 }# `3 h9 P.tran 1u 1m2 [2 N. N  |& q. x6 B
.probe v(net*) depth=2. j! B6 S: c# Y* [5 N2 F
.probe v(xi1.mp5). s; z, ^( m4 N/ R& D: q3 v$ Z' b
.end
. \. M4 m- Q# a3 f- z
4 T; [8 m  w  d5 w. k6 o    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。8 u% ]  }& j9 i- ]4 f6 G
    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。
. E/ r2 `) q- A# E  A# J! V/ s# ?    上面提到AMR模式不能本地化,也就是不能以 .usim_opt sim_mode=amr xi55 #dffr 等用于子电路和cell。

評分

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

查看全部評分

 樓主| 發表於 2008-4-21 18:53:37 | 顯示全部樓層
3。关于波形文件格式的设置。9 }# i, `9 t# y& l, i) 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的支持了。
/ V8 S4 z$ L8 `    好了,根据自己使用的波形工具选择生成的波形文件类型吧。+ z) w8 _* o2 ~: N0 q
    .usim_opt wf_format=wdf$ j" l6 M/ J+ T. @
    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
" e; l- b0 S  T0 \* B( j8 r6 ?( U& `6 o7 ~

1 b: r3 D7 @, C$ j' g/ X& P( `    其他波形选项:
5 j" O7 F! q* @. S; ~. `+ F    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘2 r# W# n% c; n( H- s
    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)
% m. _) F5 }3 h, I% B    其他选项就不详述了
 樓主| 發表於 2008-4-21 18:53:51 | 顯示全部樓層
4。公差容忍度设置
" F4 O- `2 f( _    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。/ ]( q7 F; P" ]
    .usim_opt speed=2 设置tol=0.001,比较高的精度!
: v8 i* h. f: u( y# F* u8 ]    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol
- f) p, T/ J8 p    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,精度以此降低。
! \2 L! R7 F0 @9 P    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。3 O4 y! c) z  V$ `+ G  ~# v7 S$ |
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!
6 P2 h1 o5 P" F' s    再强调一点:精度设置的越高,相应的速度越低!
+ l( c3 [( X5 T, h. |( u5 N
, ]5 ~( C1 G$ Y  Y: b7 t% D3 n5.矩阵分割设置3 n) U% l& k  n" z7 k
    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。6 K( l# O6 k; `6 {
    .usim_opt analog=2 xi9 设置xi9中电路analog=2
6 O6 ^; L& P1 O* K    对这一选项,没有多大研究,通常我也采用默认的。
9 F8 I. C9 M/ n1 V% O    以下是推荐的用法  P3 o6 k% }: g% w* y$ z! g/ c) e

7 B% }) z! A/ [" A. W3 k8 |analog = 0 Digital and memory circuits
0 r" ~  I# u1 M4 P1 _1 {" |# Oanalog = 1 Digital, memory, and mixed signal circuits (default)/ }: n/ _" p. I1 ?' @
analog = 2 Mixed signal, analog, and RF circuits) ]: P- {% A6 S2 h; J/ S! U
analog = 3 Analog and RF circuits
. f# J8 ~+ C  X2 |3 E5 _8 Q0 X! Y8 `analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-17 04:02 AM , Processed in 0.114007 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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