Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。6 B% N2 @# g. D& @" Q1 g
! v2 X* d# Q, w. S. I5 I. m" @! D
介绍
; B0 a9 U! v# K8 \% I    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。7 M2 c: W& K! c/ U: V
2 B' e" w, Q: _$ _; ]: t1 X% t
用法1( T, Z" v% m0 U" B5 C  M
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。, ^: o/ I! S& f  b7 j

- E" w2 U- t. Q- [. q& k& S. f用法2
' M- x) B) D% }9 A) h; Y6 u1。在终端输入:1 G& G0 ^* h) K
            ultrasim xx.sp
: ?; @) {& w- J9 Z" _2 c& ~            ultrasim -spectre xx.scs
2 [# D: w  Z. o* U$ a             ultrasim  -vlog xx.v& T3 q: m) Y& n; z
    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)- y* ?/ a8 R% R5 p2 A' R! S
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。+ h5 e) e# N5 a
    还有一些其他选项,读者自己看吧4 b# V( M$ p$ \" {! x# y" x# a
  z* p& j2 G0 C* V0 J  s
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .( P3 g$ a- J- Y: d4 d4 o; T
    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。( @1 v+ O& F/ C2 y
    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。1 F0 p# i' G+ z( ^' y. U# q
    如果在option没有设置,默认是MS模式,兼顾精度与速度。
; ^4 L0 b7 z6 R, I9 v$ W) ]6 C    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。1 U4 }! T( s( e
    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。* L+ |" @( n7 t% K9 d
( }, ~" A- I+ e) c3 T+ l6 w5 S
3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
- g0 ]1 ?" O4 t; z2 m
7 M. v1 v  E$ Z, n' E6 n: O# H* A* test, u$ h5 g+ n+ I3 m5 N# j
***************************) n, L$ v( Z8 P/ x* i
.usim_opt sim_mode=da xi1 xi2 #dff
4 \9 ^! c  {. O* e5 x- r3 ~.usim_opt sim_mode=a xi5 #driver @pmos2
2 \8 @& k7 n0 \- H.usim_opt wf_format=wdf
3 |2 P2 C8 q8 E$ n*******************, T: Z" t' V  P9 V3 O
.option post=1: A5 o* y/ z9 M% J. w9 K
.inc 'netlist'
& O- m' q8 ^" T2 k; x.lib 'xx.lib' tt
* n0 G4 Y# e! f- U9 V
# H' T/ w* P( [( Kvxx xx gnd 5
, F4 ~+ `6 [( L8 A4 e····
; r! [1 _& f, x1 t: H& U····
& I( t5 w8 v% M* U! L
7 E2 v# E4 H, Y9 c.tran 1u 1m
" v) Q" S% t) y* o9 P6 t3 S.probe v(net*) depth=23 \! [* H6 t6 p. R5 z) a
.probe v(xi1.mp5)
/ X( d; Z( {) S1 k/ }.end
8 L5 w% E$ W) a# A
& x7 p, |0 k1 j5 {; D  u/ C    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。
" |# q0 U5 B+ R) D9 n6 @" o: I  K8 Y9 j    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。5 ?/ A) ~$ x# c% l( 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。关于波形文件格式的设置。
8 v- S( [' O0 y$ 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的支持了。! K- V) |4 w% j' R- D9 B1 i
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。8 _' [0 Z; e- o+ P& m
    .usim_opt wf_format=wdf  a9 {0 L3 W1 o2 V8 h% g6 X
    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。' u- A) }- {* j  r) w1 D3 c+ ]6 {6 s

4 {9 ~  c. @* ^: j7 @' g9 B0 z. v( r3 T
    其他波形选项:' p( o. b6 Y9 w2 L0 c) X1 _
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘
9 ?& Z/ L' Y! d  H! Z" v    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)
. f* m3 o2 P; R. j    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置6 @9 x% z9 l, Q$ g5 }$ e$ Q+ U" w1 b
    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。- g! ^& ~; I% O# v
    .usim_opt speed=2 设置tol=0.001,比较高的精度!
2 Z; W8 S, k; r$ B! s    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol* u* n/ \6 r: v) g  @8 G7 X$ x
    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,精度以此降低。0 _; a7 a- @2 B. q
    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。
9 w/ R% W1 v. E, B( s6 a+ n    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!
0 B  j3 g) p  f' @* W& d  y* |7 }. ^    再强调一点:精度设置的越高,相应的速度越低!
$ X' K- w3 s8 J% t$ n  a ; ^0 o- m+ X; B7 f: }
5.矩阵分割设置
0 p) R3 `$ U- M1 d* w: ?) n    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。% i+ P$ j3 F- }( M6 [  |/ \& Q
    .usim_opt analog=2 xi9 设置xi9中电路analog=2
" w% Q% m9 ]8 ?5 [) H0 N, o    对这一选项,没有多大研究,通常我也采用默认的。8 y3 p) p# \% M) W' E2 Y* N
    以下是推荐的用法9 p( g  O4 }  C2 V- f; [2 ]
, y- g! o, T/ T1 Y6 \
analog = 0 Digital and memory circuits
* P  L3 l# \0 Banalog = 1 Digital, memory, and mixed signal circuits (default)3 \3 v: Z3 a) I" v# f( p4 Z
analog = 2 Mixed signal, analog, and RF circuits; t% A0 z$ @" M
analog = 3 Analog and RF circuits
& `9 Z+ Q% E; ranalog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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