Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。: t% X: v4 h9 O

" c4 U; _- V: l) ~8 m/ Q: y+ j) p介绍
  Y9 H% @) ]2 z- P9 d( Q    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。
7 M& K! K: a8 G& |! @- H
5 b' G4 H3 G2 @* w用法1' Q. |5 C8 l( x- T5 v! A7 k
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。. _# W! H6 r! C9 S6 \
8 K8 L' k/ i  E: _0 T9 v; {+ E
用法2
" K$ s% N. v7 h! R, U  l+ \. q, j1。在终端输入:
+ w$ v5 B, D0 N2 }, m. {1 `            ultrasim xx.sp1 x$ G( @& l/ @. n8 J
            ultrasim -spectre xx.scs" K$ A- D( w) k0 s8 R# G8 M
             ultrasim  -vlog xx.v
; p! t/ A$ A% f. b& p    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)" ^; I8 g1 E. r) X# Z' `5 @
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。# B& y. N, x$ b
    还有一些其他选项,读者自己看吧/ e( a6 u- I( V, ]$ ?3 S
( O* B4 n+ D9 b& V1 i
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s ./ ]8 Q. _# ]  C( @& f; D0 R
    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。7 }  T7 a' @9 z( F
    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。
" S5 i6 j3 B0 s! f! S    如果在option没有设置,默认是MS模式,兼顾精度与速度。
5 C& z' X( T& n) {9 g    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。
6 u* R8 z5 X5 n) G    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。: o4 [4 S, G. T: }( [

5 Y, R/ @$ @, @0 r8 _3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
. u: n0 B- Q# n& p7 Z  F
2 L. t) {8 K# M9 X$ c1 {/ N* test
2 I% J6 A8 F! V4 S0 m  P; s***************************
/ L. x! n# x( d, d.usim_opt sim_mode=da xi1 xi2 #dff
! e, t( P, o: q3 \- l. e( Z: X.usim_opt sim_mode=a xi5 #driver @pmos2
6 s5 y. S5 o3 i# o* ^1 Y) `, g" \- ]* @.usim_opt wf_format=wdf
0 `! A  u+ U1 [9 q* N  _*******************7 }/ G0 T/ e2 ]  g
.option post=1$ s* }) r1 e( \
.inc 'netlist'8 T/ B, |; ]* `9 Y, f7 o: [
.lib 'xx.lib' tt
: |1 E$ e  E  x  Q0 T' e% ^: m. u) x4 J/ ]6 z  H! ]' ~# `
vxx xx gnd 54 z3 q0 v4 Y; D- Y- u1 F5 H! b8 E
····
" A. X9 }: u4 M. b' l  B( I····* b7 P9 O; d  V0 l3 b

  V8 H5 G; ?; R3 j  C" F.tran 1u 1m" Q7 m$ K' F4 A$ }; Q1 d
.probe v(net*) depth=22 P- P5 t+ O4 q" |
.probe v(xi1.mp5)
2 s' W; L7 a; V.end
; i0 J) g0 y  w$ F9 B2 Y) J 5 O( S2 @- I* r
    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。
( g" z& _# R' _4 |! L    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。# U) e1 W6 G: ]* G$ j, q. ~
    上面提到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。关于波形文件格式的设置。
/ q* v+ L% l+ O- h5 G; 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的支持了。  @6 ?* [/ T" W8 `5 ^
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。0 [$ T! i' V& n4 g* E3 K: U) H
    .usim_opt wf_format=wdf
8 d4 ^: \+ E6 T( F2 s    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。) t( x5 S' i: a1 g' ~6 b  k
' e' i- Z. l% w6 y' X
* G+ O+ Z2 H* s9 n
    其他波形选项:
6 f0 O4 ]) n% j/ B' `% D    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘9 {8 C8 Q- @+ e! ?9 j: a& t7 j
    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)
: `, n; ]  G/ `2 Z4 l$ `    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 顯示全部樓層
4。公差容忍度设置
% T0 g: b: f% D7 R. R- g    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。
5 d. I0 @6 X: [4 ~7 U; Q    .usim_opt speed=2 设置tol=0.001,比较高的精度!
; g" d) q+ p4 L    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol
/ z1 B7 i. @1 X9 a3 O4 K' d; X  h    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,精度以此降低。
9 [; z" m' e- {: M# Q    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。  ?8 \' r0 w, |0 P
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!6 a# f6 M1 r7 c4 v9 H+ C
    再强调一点:精度设置的越高,相应的速度越低!
' F& h" V4 O: v6 ]4 n$ W
" x, q6 M) k# j" l! a5.矩阵分割设置4 _. m! ]8 f) i- y
    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。
8 w+ z# `9 R% ~8 `9 L% C    .usim_opt analog=2 xi9 设置xi9中电路analog=2
  b  N" m, o( p) E$ l& U    对这一选项,没有多大研究,通常我也采用默认的。
8 F3 p# H/ j8 t# k    以下是推荐的用法7 N& a; H- D. d
, z* R+ z+ j/ E% p
analog = 0 Digital and memory circuits
4 e, h9 a+ ~* _6 i! [/ ganalog = 1 Digital, memory, and mixed signal circuits (default)
1 |7 s/ n9 B8 V. G; Ranalog = 2 Mixed signal, analog, and RF circuits
1 ~' h( [' x; n/ Oanalog = 3 Analog and RF circuits+ _  a0 Q& n8 ]/ k( v3 ^6 u
analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-17 06:20 AM , Processed in 0.139017 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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