Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

& o3 Z' W# u. m! V介绍
& T5 @5 N1 F+ `$ Z* T" L    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。& Y; X3 T* Y+ }7 a* _- U# X
& L" j1 }) I; B
用法1( C4 T) A2 G0 b$ d
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。
. E' u" V/ j: s% i, }
- I$ F0 D$ n0 l* d用法2! w/ ^3 c) f4 a8 \
1。在终端输入:# P0 g) J/ O) s
            ultrasim xx.sp
9 }0 c; \+ B( T/ t9 f( M( K4 H2 ^            ultrasim -spectre xx.scs, u5 c" c5 R8 i, N2 \
             ultrasim  -vlog xx.v
, e) B6 Q' y2 n3 Z$ ^4 C    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)0 O* a' h) S$ Y) ~! |' g
    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。, G3 |# x& T. V5 f; G) A1 ]: {4 E
    还有一些其他选项,读者自己看吧
  ?) I/ d7 W( V' m. K+ |3 R/ t. O  t9 |! z
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .& m9 x- E" W6 q6 o
    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。4 D% F" e+ T* X# d8 p, {" M8 b
    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。) @( ~3 I0 Z8 `1 F9 ~, p* q/ {
    如果在option没有设置,默认是MS模式,兼顾精度与速度。# H& V. E- F, e( X
    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。7 l: R, F6 j" n$ e  |) m
    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。
# ~9 U2 A5 G  @! y; j" u) T
: V$ r! M, L0 \6 A0 T9 S  D, ]3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
+ S- a% o3 E  ]' ?
, k0 s! b1 m+ k4 k* test' }/ \2 B' L9 u% ?
***************************1 N4 f  Y) ?# W
.usim_opt sim_mode=da xi1 xi2 #dff
( z* H3 i% S2 K; T% _.usim_opt sim_mode=a xi5 #driver @pmos22 K, z7 A7 K& S- i8 Q, `
.usim_opt wf_format=wdf1 z: n' D' {6 Y' P! m
*******************8 ^& Z6 E8 s. `/ F( t
.option post=1
7 k4 t: e- l/ C2 n/ u) M.inc 'netlist'% P$ n5 w2 X/ N/ h# n, t$ U
.lib 'xx.lib' tt2 _9 C4 X6 \* B

# r/ q0 ?+ E) ~, _7 {- z4 Uvxx xx gnd 5
' G& @( R4 {2 f) |+ u$ b6 M····* }5 l6 a0 p. {9 z5 N
····
& I$ R+ v1 p0 ]! ?6 ~' G3 v  W. w0 P0 z8 u6 ^3 D
.tran 1u 1m
! G* ]: c9 o; r1 v$ Q; S.probe v(net*) depth=25 I  Q" z$ [0 L
.probe v(xi1.mp5)" l. ^: G. L; g, w! D$ r& E
.end" W+ W$ E  q) o. i- R) q

% S# J" J7 n% ^    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。
. u# b, |' v- Z# @( h+ \! `    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。6 @9 c8 c+ Z! L$ M" 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。关于波形文件格式的设置。( X$ z) \) |9 |$ l
    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的支持了。. W5 u# U  Z# O! B  ^" F7 p+ ?
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。3 E! ]1 {/ v) V7 }4 d. }' O
    .usim_opt wf_format=wdf
% Q- l) Z+ Z0 s4 B7 [    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
- L' G) F* @- }2 L2 p% H
0 a" A: k0 o3 Q: a5 W7 T4 i* W& T2 A% `
8 S4 q0 \: m& |! n8 j$ O1 f    其他波形选项:( ]- B+ M* y% z5 c% D; I( N
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘$ @# S2 G" o+ E# Y6 }
    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)1 w. a$ F4 Q& }8 G! a& Q" }
    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置
+ ]' F2 o  q" H$ P$ M    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。3 R3 F. i6 _. K; t5 `
    .usim_opt speed=2 设置tol=0.001,比较高的精度!$ k5 n  v2 @: G) g/ n! I
    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol
3 S- r$ }2 x* e! n    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,精度以此降低。. a$ z& [* o6 V, Z, ?
    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。
6 Z! p( Y* ?7 ?    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!- B9 A/ Y6 S. K; H/ W1 I
    再强调一点:精度设置的越高,相应的速度越低!
6 y0 W  D+ }* X, y: y. C: g, s 1 j" }2 m6 V2 J% j+ z# l2 A
5.矩阵分割设置( o; @) T$ B  q  O
    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。
1 z7 [- z& e' a8 L& a- p- I3 v    .usim_opt analog=2 xi9 设置xi9中电路analog=2
9 S8 A7 e9 T6 ]$ r5 g    对这一选项,没有多大研究,通常我也采用默认的。% \4 B9 h  u- K" X
    以下是推荐的用法
+ q3 ?3 `, q2 I4 [5 K7 D: @( A$ a5 Z* O. {3 K: D4 l, {
analog = 0 Digital and memory circuits, ^9 n& v) N6 I1 A6 z; U* h
analog = 1 Digital, memory, and mixed signal circuits (default)" N3 X0 ^; ?' F) E+ n8 M) c* O) g7 f
analog = 2 Mixed signal, analog, and RF circuits
' m& ?6 s0 P' M8 Q& U" k- Sanalog = 3 Analog and RF circuits
  w& o  Q  n# ?( K6 S, @( _) S: H; ianalog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-3-14 05:12 PM , Processed in 0.156000 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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