Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。
( N3 b3 v7 L, s5 S# I0 m9 P
7 h% Y' P7 W6 P5 P  n! {. h# i9 |8 G介绍" h. ~( Q' Y/ i8 p' D
    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。
( c/ r' ~5 r: D  V; |  p$ r7 p% q$ D7 l: W# d: Z0 l
用法1, s$ Y( q! h/ G5 f4 w8 N
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。/ Q' [7 J' g2 S, Y" k% o. E
1 o' m5 b8 G2 ~7 f: L
用法2' g; x/ u7 Q' j
1。在终端输入:3 Q4 h  x  I( o
            ultrasim xx.sp0 v1 I/ W  P  s, S1 \: n
            ultrasim -spectre xx.scs
8 s" W' p3 h( Y: y             ultrasim  -vlog xx.v
2 l* M2 P5 c, Z' {    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)
( S# O) [: Q& o" b. ?) M2 @    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。/ G9 T5 A' ]2 {/ K* Y3 D
    还有一些其他选项,读者自己看吧
4 u4 F! v" K8 \. _: t% g) ^0 p. D5 B- g9 u, E
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .. Q- H. s% R' O" u
    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。, E. r6 y* \# |  R$ t( e- e3 \
    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。' B0 S5 i4 w" C
    如果在option没有设置,默认是MS模式,兼顾精度与速度。
. i, p' Z5 G' j( l. l, L9 G/ |    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。
6 f: b* J& \% C0 t" [3 }4 F    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。4 \5 i" k1 }, S+ n/ X; @* Z& _8 u+ Q: ]/ l6 V

& H0 A" A& c1 ^; F9 `! X. ], i% _3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
2 x- R; c, n  o. H% `- t& ^1 n
0 [3 ]* e0 ]3 R  t* test
' e4 z; B6 {, w***************************, r6 n  j3 Q. x$ X2 l( T% t
.usim_opt sim_mode=da xi1 xi2 #dff% Y8 C7 O; D& e8 I/ Q4 H+ x" j
.usim_opt sim_mode=a xi5 #driver @pmos2
4 @1 D! v# ?! q& L' B) U5 D: W: G.usim_opt wf_format=wdf% ?' ?1 g. X& j8 w* p+ c
*******************
' V0 S6 z3 h, s.option post=1
5 y+ c7 P/ c9 N+ @.inc 'netlist'
) _- x; P3 ~8 ?7 V: f.lib 'xx.lib' tt
6 }, u# u) [3 F; {- T' ]  X' m  r/ J3 Z9 j$ _2 {7 t
vxx xx gnd 5
* a" N3 C! S% E: E9 a····$ O. i" j5 U5 ^& v, N, H) M
····
$ X, ^, R  ?" G! j8 y+ |3 r
8 v! ?' C& Y5 d# h.tran 1u 1m
4 p1 D, t3 B, q1 f.probe v(net*) depth=2* `( y5 x, t/ g: s) G$ p' c
.probe v(xi1.mp5)
( X+ n. @. T, L7 D, _.end
1 g  A) C+ _4 S$ n
5 x! I) \1 S9 M( n6 W    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。! U1 D. s& x# H* q
    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。
8 b1 S4 n; \0 K( J& n7 V    上面提到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。关于波形文件格式的设置。
, j5 P0 A; v5 I) Z) [, \  m9 y    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的支持了。0 |: k; t' X  {$ ~( a5 ~& E
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。6 P: I2 \* L0 [, [1 C" b
    .usim_opt wf_format=wdf; z6 m, t$ I" _
    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
" m& }. D: x- G1 B" S) H/ \) `* \. X' B0 ?1 k# W/ u
( M# P3 `! e7 W3 t
    其他波形选项:- O8 S! H; f, w( q' W
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘7 n9 b5 {8 I; f9 W
    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)9 j. X  Q: p: b0 _7 [7 u' B2 p# p* {& p
    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置
8 j/ x1 |! y8 g+ R, a+ P    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。
9 ?- c1 v4 q" m7 Z3 L9 ?    .usim_opt speed=2 设置tol=0.001,比较高的精度!6 Q( V# g. d" K' |
    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol
3 ~) I5 x; ]7 ]# Z# o) a    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,精度以此降低。
5 j' {1 |, x* o; p, M9 W    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。
+ a2 {5 B' m; d5 W9 U. M; J  S- E& ^0 p    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!
& D+ ?- c2 B* N% C4 i% D    再强调一点:精度设置的越高,相应的速度越低!! Q$ X3 z# y5 @9 J0 L. u
0 ^9 {! Q8 U3 d& b
5.矩阵分割设置
2 @; d; T) W  p4 T4 S    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。1 K* @2 Z' I" T& v
    .usim_opt analog=2 xi9 设置xi9中电路analog=2
: w# n$ m7 X' F, o    对这一选项,没有多大研究,通常我也采用默认的。
; N# F5 u! m- d    以下是推荐的用法
7 A. s. a) A; ]; u6 y' `; }9 q8 u3 s
- K: m& M( [6 y' ]analog = 0 Digital and memory circuits* M1 ]2 X9 V( K: ]- ~
analog = 1 Digital, memory, and mixed signal circuits (default)
  b; M' X! ^, n  eanalog = 2 Mixed signal, analog, and RF circuits6 ^; w/ J7 J& i: c: _: F- v
analog = 3 Analog and RF circuits% H1 [: {* E. s; e: t: R
analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-30 02:44 AM , Processed in 0.102006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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