Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。
; e0 Y+ k" O, ^, {) I7 H4 C7 H- O1 o
介绍
) W2 m- V8 ]: v    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。
! C* ?' y& F' R$ d" `, p' `8 ~" d9 {. i: z2 F# t* _
用法1' M& v8 x" N- P: G* O* Y
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。
2 h8 U# T* I' S. a4 Y/ ]8 j: n8 D1 N/ |$ [5 v$ K
用法2
' a# y" O4 R8 @! R4 f* a, G7 M1。在终端输入:+ D  s% L5 i+ j  @% x$ U
            ultrasim xx.sp
, S( A/ T2 j# Q, r; v            ultrasim -spectre xx.scs
  K- b! g' E6 w5 V/ @             ultrasim  -vlog xx.v
; }# s: Z3 W/ `$ V5 [    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)1 u. t+ S0 d) F# m& G" m+ }" }
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。. @" x- o; d% k  [" Y" L9 Z
    还有一些其他选项,读者自己看吧
( ]0 z  v6 h% d$ Z# n
& |; }, c  j! g2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .
' `5 e% I: g7 L3 b    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。
5 ]% |) M0 _$ j5 K    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。
6 L% q5 [8 |; k- B, D$ D4 `2 V    如果在option没有设置,默认是MS模式,兼顾精度与速度。
0 ~* X/ n% k4 y" R3 u+ H    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。
+ P+ r; A6 M8 S2 L1 q$ J' e" h    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。
. q2 v3 p" ^  u1 X5 o4 f8 L9 q3 f9 ?; f& E
3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:/ V4 F3 h# F  p3 U$ D1 n) f

' {3 ]5 s2 G/ Z" O" }* test
7 x0 p' h% M; H/ f. H3 `***************************8 C9 S! Q8 P: }+ _% m; H$ j. h
.usim_opt sim_mode=da xi1 xi2 #dff
" k# ]6 W9 F. R2 e.usim_opt sim_mode=a xi5 #driver @pmos2
: s5 A  c6 B5 l- \4 q- k$ L.usim_opt wf_format=wdf
5 l* T2 H0 B/ {' J( u( [*******************1 Y5 @& L  N, u4 y) x# ^
.option post=1
7 a5 |9 h4 Z+ ].inc 'netlist'
% ^. k3 F) H4 j% Q8 o  e& _.lib 'xx.lib' tt1 p' F/ C$ m% C& l; L& J8 }
, h1 Y% |0 _  a0 i
vxx xx gnd 5
: Y* x# g  O+ A1 x  X* F····
" m& V# Q' u& p7 L8 @% w6 _····
2 K; ?% W2 T5 a4 h7 q) }
5 O' U$ R. C3 Q9 Q- g) J. S/ p.tran 1u 1m9 \: W: X+ I0 \/ q$ Y6 V1 m
.probe v(net*) depth=2& r7 y) t5 v& {
.probe v(xi1.mp5)
8 _, e# s- o3 S5 W1 z" N6 ?+ X' W.end
$ t( N& F& @, h& f. I) B + u5 M) L5 G- [! T) E3 T% J  s: I
    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。% t% L; M  a8 t2 r9 M( P. i0 m6 x
    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。
+ C" T- |3 R$ M6 \3 i5 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。关于波形文件格式的设置。# x4 `) D- ^+ J8 S0 x1 G$ x
    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 [# Q5 M# w/ j6 S" V" K0 K- u    好了,根据自己使用的波形工具选择生成的波形文件类型吧。( M) b& r! o5 U2 c2 k: R- q1 F. P
    .usim_opt wf_format=wdf
. ]9 o) Q' ]" e. o- t. H    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
8 u$ Q! C! n0 H
* ~6 L1 `/ ~4 B; M5 _+ W# e
( U8 d6 y6 Y1 F! D, P8 S% r    其他波形选项:
' x+ q  h+ {: ^6 A% J    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘
+ ~7 m3 y- T9 D9 |    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)% a1 k# ~0 a7 S" v' O. C* Q
    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置  F6 U( e4 s. h0 i& m) ]
    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。# y5 J  ~9 G0 C8 K. Y
    .usim_opt speed=2 设置tol=0.001,比较高的精度!
/ h9 ?6 [/ L+ y+ T: e    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol
0 p( H) G. E- k    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,精度以此降低。; e4 T8 x2 n! w
    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。9 d8 s- S" k: D9 }+ @% k0 A$ h
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!2 }% {/ R5 \) j
    再强调一点:精度设置的越高,相应的速度越低!
2 B& Q- f) e; z# @  X  ^
/ |$ H0 v. [, n: l7 A9 W/ W& Y5.矩阵分割设置" j4 \/ X4 B: N' ]# X: s" I
    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。7 s" r# }6 |2 g' u' ~$ ]
    .usim_opt analog=2 xi9 设置xi9中电路analog=2
' j! e" c+ P1 z; S( R# w    对这一选项,没有多大研究,通常我也采用默认的。
. V1 o+ N8 N- H    以下是推荐的用法
3 ?3 y: a, _# b+ `6 V# a. I3 _( C4 c9 U0 G+ a+ v
analog = 0 Digital and memory circuits7 \( Z* u* M+ j
analog = 1 Digital, memory, and mixed signal circuits (default)! `' n* V" K7 |/ s4 D' @! e3 ~
analog = 2 Mixed signal, analog, and RF circuits
) p/ L- w0 X/ I- wanalog = 3 Analog and RF circuits! n$ P4 `# \5 x0 k2 n, J$ Z/ a
analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-27 04:43 AM , Processed in 0.103006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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