Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。9 X8 |( K  `& l, e* U

6 i( B. R8 ^8 E- {介绍  _: H, ]: d  N, C* x8 _1 \
    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。9 F6 l6 b7 `, Z: V& P
) V! c7 t! z1 z) b) d
用法1+ A7 c( V  \0 M( t
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。8 p2 J) X- w: j" @# H) q( _9 Y' b

5 |/ A$ I- ]  E  k6 P' o3 z用法2
/ P3 F& q; I6 N6 o$ y$ i1。在终端输入:
( ^& i0 R! T; ]            ultrasim xx.sp
! C0 W  y( X2 n' e! `: h            ultrasim -spectre xx.scs
* L0 G" w4 i. k; M! [- j             ultrasim  -vlog xx.v
' x0 r  T! i) ]8 j+ @$ `# x0 b    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)
5 j, b0 ]6 E3 v2 z" f% r    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。
) L$ J9 u/ e8 M  Q8 R9 U. `% R& z    还有一些其他选项,读者自己看吧
6 D# ]3 V9 l  B+ u$ B- r/ O7 B$ p! H, q  y
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .
7 Y9 r3 U0 Z+ y3 J* s1 K    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。
" W9 G$ F. d( |6 d    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。
: w3 K- t- j% W7 z. S/ A  g    如果在option没有设置,默认是MS模式,兼顾精度与速度。
/ w  F( v" l1 W% G2 n1 q9 t7 Z    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。- I2 v" L9 ]/ D8 [  K% L
    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。4 v6 j7 t" n2 m8 [! t3 i9 e

% Z0 J2 J* J* _, S5 j$ b3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
1 H9 W( a& v( S" c$ W( V, {! o2 b2 u6 k$ t" w8 ?+ \# h
* test8 B" g# n0 h) {, P
***************************
) q6 T5 O- a) h" ^* ~.usim_opt sim_mode=da xi1 xi2 #dff
; p  X! y( {$ d4 F$ t( A.usim_opt sim_mode=a xi5 #driver @pmos2' ]1 O' i1 ^, n- k% M- Z
.usim_opt wf_format=wdf6 j) t$ e/ Y  Q! V
*******************
0 m' n( o  a' d.option post=1& Y  U) r) \8 D0 J* n+ ]
.inc 'netlist'
! ]; A7 R. ?, ]0 N. O.lib 'xx.lib' tt
9 I' Z6 I/ z; }1 m, y. ~
( K* D$ A( H# C, fvxx xx gnd 5
6 {3 P; F9 G# W4 x0 v( L0 V····
7 A, P# ]5 G8 I! [····
/ c1 a0 z8 M9 |. p2 Y' t( e2 H7 E" w7 h& R9 c9 d
.tran 1u 1m; _5 J, X& s/ K. W: Z+ c, j
.probe v(net*) depth=2+ Y4 {% E" v- U4 F
.probe v(xi1.mp5)
+ ~6 Q* q6 H; G# U1 i.end
+ P* V- [" ?" t. D5 `
* y4 Q" v' Q7 ?5 {    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。& u/ k8 b/ `3 q5 d' K% M
    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。
6 x4 v2 [9 u! ~+ k* @7 a6 F    上面提到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。关于波形文件格式的设置。: I9 f3 N! O5 Y' P: @! `7 R
    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的支持了。2 w) f! V7 ^" P% h. E, m6 t# _' y- W
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。9 \; A  d' n& k7 Y( Z
    .usim_opt wf_format=wdf% g; F; b$ t) p5 n" i
    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
  d  P( L8 K4 y9 _
( u4 X: T' f6 C$ L
' u" W8 [' h9 X7 \, `    其他波形选项:1 k. f" z) c/ |( L% B
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘
2 C) B! N, a' ~$ n( @) J5 D/ }, Y3 P    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)+ f9 ?5 d% d. u; J' d$ t
    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置
( }2 B' U: Q, H4 n4 P, D    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。
  U" g8 Z, T9 V3 z; {, ^    .usim_opt speed=2 设置tol=0.001,比较高的精度!
5 W% {- n+ ]3 J+ @/ w. p: ]2 v5 x    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol; ~+ ?& \, X7 F% V( 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,精度以此降低。
! F7 |) w/ I  R, q    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。+ N% [! }8 R0 z: B( A' r5 G9 A; S( a# Q
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!
: s! u9 A! Z+ T! r8 `( S; @    再强调一点:精度设置的越高,相应的速度越低!
  v9 ?3 {' l3 e( s" c # Q- O* ~3 i% T
5.矩阵分割设置
' C& Q* Z4 G* A# g5 `8 [    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。& B1 D1 m: u" R
    .usim_opt analog=2 xi9 设置xi9中电路analog=2. i+ V6 b4 E4 U5 h  Y* L
    对这一选项,没有多大研究,通常我也采用默认的。- v9 ]. V) e. c
    以下是推荐的用法
. S3 H$ x5 G, G' W+ O7 h" Y
/ k5 S+ \# h; c! a* l6 z& k) B3 Zanalog = 0 Digital and memory circuits
6 Y7 ]5 Y* y  R. B, l4 Nanalog = 1 Digital, memory, and mixed signal circuits (default)1 Q( y8 E: q) q/ E  D% U1 U% g
analog = 2 Mixed signal, analog, and RF circuits( f; Z! W, z, E; z
analog = 3 Analog and RF circuits0 X* m: g) [: e: H6 G' d( h' _# D; E# t; G
analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-12-23 10:29 PM , Processed in 0.150008 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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