Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。# _2 `; o4 G5 P; _$ v/ N8 b
* j) x8 A) O4 _: F+ ^6 q
介绍
3 u( c9 Q1 `! ~' K  U6 [    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。
/ Y; F/ v; S& g! N9 L
  a9 r0 P; }: v! j. }用法1* {: l& l; l1 x& T
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。
% z2 b) U% ]/ _$ j* Z+ C3 s0 J# ?$ T# P2 F9 t, {
用法2, }  P& t' _; @' _# m. {! z- P8 i
1。在终端输入:
; b# j* m( ]% Y# B            ultrasim xx.sp
9 Z, Z& o" L  }8 E7 S, O# X            ultrasim -spectre xx.scs! a- E% ]5 }; [0 d- B
             ultrasim  -vlog xx.v6 k; X  V3 v; J) H$ z: z0 v' O3 `
    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)
& T: R% p4 c1 _& r0 A5 x    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。) n5 O4 r4 K6 _
    还有一些其他选项,读者自己看吧
& J/ u% o. q9 \% b0 @& W0 ]3 ^1 n, ]5 r) y( H( z: t9 L. B
2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .
* a  w3 k  d7 \+ k8 [3 {    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。' a0 N& r% M' w/ u! G0 Z# F
    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。! A2 C4 g& \1 a0 \& a/ W# t6 \8 f5 l
    如果在option没有设置,默认是MS模式,兼顾精度与速度。8 x9 h  U' R0 w, S
    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。
. h1 j! y0 m+ F7 I% t' O; u    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。
$ L- A! f9 D3 y1 c+ E0 x  p
0 G2 A/ |7 K+ I( F0 Z" E3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:
  w- S5 x1 `: f0 M2 j  }, q* @1 e2 h) X+ T) h$ k! z# T
* test) K5 l6 ^" }5 o4 {6 P
***************************% {# ~) U' W  Y* w7 Q# ^" z, ?
.usim_opt sim_mode=da xi1 xi2 #dff9 B; v- G) Y& n. i
.usim_opt sim_mode=a xi5 #driver @pmos2# O6 @0 W9 G0 V! C
.usim_opt wf_format=wdf
, [2 s) Q& j' K*******************5 n" A( b9 E. F# r1 Z" T
.option post=1. |1 H' G- z9 S. J7 Y
.inc 'netlist'$ [& @0 T$ L/ _. k) p' k
.lib 'xx.lib' tt
$ l# x$ J1 |! q7 a7 `
. ?) H: J; t8 A8 U( o$ B  b* }vxx xx gnd 5
2 i2 g; y; o; ]. B: W& ^····8 f% E: U* I  |# |
····
: G& B- b* }+ H: F' ~: `" N
  o! J( C  }  J- ^.tran 1u 1m
, b0 v' g% v" s) D' q6 \  n. U.probe v(net*) depth=2
1 }, [5 T9 j: ~3 K+ j# w8 d.probe v(xi1.mp5)
% I# z% n# C; v- r& [, L& `.end& q2 ~. h5 g- v, C7 g
( I! n6 s' f: g' t: T9 ]0 r3 q+ ^$ S
    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。. X: M8 a. L$ a6 @, n. j
    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。: d9 O+ S4 G$ \9 S( s
    上面提到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。关于波形文件格式的设置。6 E! w+ b5 }' O& z) 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的支持了。$ T1 w' V# s' i% m$ {
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。) D% A+ m( t3 g5 K: n
    .usim_opt wf_format=wdf" o* j& V9 ?1 O7 c* p
    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
, `8 w2 c) m' F0 A% A/ R  w# S) r( `. T" m( ^& T" S* b
& |( ?6 X% b  U) J' v: S" V1 C
    其他波形选项:0 I- m1 _7 S. B' e0 q
    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘, [4 a; g2 X  C+ ~
    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)0 |& D5 b' H, k' F. b: V$ A' e
    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置9 i5 N  m8 W& O
    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。
9 m1 x; G$ r  b    .usim_opt speed=2 设置tol=0.001,比较高的精度!0 r& \: \) [. v! v" e+ x
    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol: O' A1 n( N* K/ I
    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- a, F, X+ W/ a( Z
    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。; ^/ s6 H& i* p) ?! C
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!1 j& M  e6 F7 X+ q( d' @
    再强调一点:精度设置的越高,相应的速度越低!& ]9 @, v- s' g' d+ ^
8 }* x# V" ^6 q% Z  A5 }  \* a
5.矩阵分割设置
8 i2 ]3 e/ {+ ?5 {3 q, X    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。
, J( k% Q' [7 s9 i' O" F5 z    .usim_opt analog=2 xi9 设置xi9中电路analog=2
7 d0 S( Y, J  o0 o    对这一选项,没有多大研究,通常我也采用默认的。3 r( e9 [) N- `: w
    以下是推荐的用法
. u9 g' s% X: |. V( W
( e3 _1 j3 \" ^& J9 X# y1 z5 aanalog = 0 Digital and memory circuits! Z) D/ ?+ |7 z
analog = 1 Digital, memory, and mixed signal circuits (default)+ K$ [" s9 T: a$ b- U+ O
analog = 2 Mixed signal, analog, and RF circuits4 ^0 b  A- S6 Z' j& B
analog = 3 Analog and RF circuits( ]0 [) `. x. O
analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-19 12:28 PM , Processed in 0.105014 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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