Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。$ y. B9 @- ~' t6 L) j
8 s2 y! l" z) \' ?4 P2 H
介绍
" O9 [, j! ?/ A' w$ I7 `. V  c    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。
. o' n4 R: ^1 S6 E/ p4 C) j: M
用法1" X7 S9 Q" T4 Z0 N4 [- i* B
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。
! [1 T/ B. H, y" v% ]$ s$ U# W3 \. `! b& N6 w5 v5 j" ?& `& d
用法2
1 |4 S. o* K) p1。在终端输入:
1 J- ]; `/ j2 m5 ~( R' T+ Y            ultrasim xx.sp) ?4 |: T3 J1 Z0 \
            ultrasim -spectre xx.scs
! p# _4 j3 R% _$ o             ultrasim  -vlog xx.v
  }# P* Y  |1 p4 |7 w! n    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)) N6 Q% M) Y" J* h- r' {2 Z
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。
$ v+ n' t. n+ i/ }+ @+ i- {- N    还有一些其他选项,读者自己看吧
7 h! z. `1 G9 {, g8 k! [  M: I3 g  Z( }- J) T% v
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .- _* s; c9 G# ~; w: \5 J+ z, w
    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。
! w9 @: b% z6 H+ D$ v    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。* \8 l" M4 G  i
    如果在option没有设置,默认是MS模式,兼顾精度与速度。
( Q+ G, e8 a, Q6 k* I    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。
# v9 N) r1 w0 K' y5 S    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。8 }; G9 }. k$ u$ R+ y2 f; k
' [* }% S1 f0 M" |! w' ]) ]
3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:# Q; X/ _! @0 B0 Y& e
. y) }4 r4 N1 b8 [; M* Y7 g1 i
* test
' h/ c. C! |5 Q- V: P% H; J***************************$ U4 @* O% v$ \
.usim_opt sim_mode=da xi1 xi2 #dff- K& S4 n* M5 o; A$ u: k2 i
.usim_opt sim_mode=a xi5 #driver @pmos2
" o: T1 }4 w) q$ |.usim_opt wf_format=wdf/ e% g$ e' e8 O" m- I' l
*******************, j5 x' E! r; I' y3 |
.option post=1
' t' x9 Z, e/ P' E* L6 n9 C% _.inc 'netlist'- i% T* F2 }* Y; K( K4 _
.lib 'xx.lib' tt; u/ P: A9 a# p3 r1 G% S

0 C: |2 r, V* \( |( `5 @vxx xx gnd 5% ~2 O6 E8 T3 q- M' K2 @
····: R0 }1 X4 M' E  W, r; C' ~  ^
····
/ P: N: H+ i+ y* B
0 ~: E8 k- O( j# p) r.tran 1u 1m2 c3 Q% d" x0 T& E. ~  X% C( E' F
.probe v(net*) depth=26 z! M  ^: P% F
.probe v(xi1.mp5)1 A3 {3 j6 I' w
.end
1 l! N! G' y1 `; J6 M + l' e4 o/ E8 ~, I. w9 U, L% N
    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。8 w# C. j6 i7 e1 l8 Q4 E) b' K
    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。2 s1 C, b$ m5 |) ]* H6 j3 m
    上面提到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。关于波形文件格式的设置。0 h* f" I! X* L- C; V  S4 d
    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的支持了。$ k$ M6 n$ {" A2 h& W0 D
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。
2 |. Y6 ?8 G9 _    .usim_opt wf_format=wdf) {4 ^0 z* _; t. M
    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。0 A9 u8 J& z) S; ?

3 h  q; P, U9 M5 L' ]
- }% K' g6 a5 Q% \+ b" @    其他波形选项:$ g7 o( |7 P) O
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘
7 N, h9 s; p, R    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)2 M3 R; t0 P: V; S) X' ]' I6 D( }. {
    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置5 `1 C  Z6 A$ |& b' p" L
    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。
5 A, o. f2 ?; z$ q' \  H    .usim_opt speed=2 设置tol=0.001,比较高的精度!
8 C/ v$ L' @& F1 o7 F. j    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol9 e# J# E! A5 |" `7 c
    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,精度以此降低。- B  v% D' P' P6 A1 G
    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。( ]9 `" |5 x3 q$ {; C8 a0 D8 s
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!
6 h; p4 Y% F) {, I  O  p% @2 W2 x    再强调一点:精度设置的越高,相应的速度越低!
2 j: |! U! ~- f: r8 ~4 x6 ~ - i! G) A8 T" z- J5 g+ n
5.矩阵分割设置
9 ?" A! V. f: j    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。
3 z; x% T; ~0 }8 e" Q( G9 ]; b, a8 v    .usim_opt analog=2 xi9 设置xi9中电路analog=2- @' l: J) M9 q5 U3 o
    对这一选项,没有多大研究,通常我也采用默认的。: W0 Z* y) W; V. }% h% a
    以下是推荐的用法
1 G/ |9 Q$ v4 ^, z' r' O6 p8 B0 H' r7 E- a. z
analog = 0 Digital and memory circuits
/ ~: X, ^0 o  d! ^4 x, v* Vanalog = 1 Digital, memory, and mixed signal circuits (default)
: I) \7 U2 g2 F; [3 Qanalog = 2 Mixed signal, analog, and RF circuits
8 |: L4 K! `& c  ^( l& D& H* @analog = 3 Analog and RF circuits
2 \; q* Z0 `, G9 M3 s' ?analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-12-23 10:33 PM , Processed in 0.153009 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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