Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-21 18:53:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
简单写一下一般用法,有时间再整理一下,参考:cadence Ultrasim用户手册。
/ ?- V, ~2 N1 `0 C  ^% j! r1 Y5 V5 Y8 s9 G# m3 L$ I
介绍
; R$ d: x: B4 D    ultrasim是cadence的fast spice晶体管级仿真器。采用模型简化、模型表格化、矩阵分割、事件驱动技术、多速率仿真等技术的ultrasim是传统spice的速度的10X- 10000X,而精度仅仅相差1%-5%,容量提高到数十亿器件(传统spice仅为50k)。+ V: S& C/ e# y% {3 S7 g6 E

/ m# g0 L) Z$ }4 h- R; m+ Q: _7 `, z用法1, ]3 G# Q2 B1 H. k& O' c
ultrasim已经完全集成在cadence ADE(旧称artist)环境中,同spectre一样可以方便的调用,并提供图形界面的各个选项,具体可参考相关手册,本文重点讲述其命令行的方式使用。0 n9 k$ B& d! \1 K  Y7 s

. n; }' B$ [( K8 @( {) |  {用法2# q) R4 A1 {  U$ n/ w. @5 y
1。在终端输入:% `' J8 U5 K2 U
            ultrasim xx.sp' \, u9 F# f0 A! z9 m' z  W
            ultrasim -spectre xx.scs
- h; u) ?( l. e0 Q, b" j, k: n1 E             ultrasim  -vlog xx.v
( s3 J8 |6 v% x! C( \5 @: @6 O    以上分别表示仿真xx.sp文件(netlist是hspice格式),xx.scs(netlist是spectre格式),xx.v(netlist是verilog格式)
4 D6 q& |2 g+ _: X    其中的ultrasim命令可以换成64bit的ultrasim64(要有64bit机器硬件与64bit OS以及64bit ultrasim的支持),64bit ultrasim可以访问超过4G的内存。4 Q0 m' y5 S9 ?3 W
    还有一些其他选项,读者自己看吧
; S5 |0 |/ {  v* x& G3 |. o
5 B( k( F6 S6 ?. ~+ ~2。 ultrasim的仿真模式。 根据对精度和速度要求的不同,ultrasim分为6种不同的仿真模式,分别是digital fast/digital accurate/mixed singal/analog Multi rate/analog mode/spice mode,在option选项种分别称为df da ms amr a  s .
! z, f- S( ~, R: @0 [' X    6种模式:数字加速、数字精度、混合信号、模拟多比率、模拟、spice 在精度上不断提高,而在速度上逐渐降低。其中df/da模式适用于数字电路(数字逻辑电路、门电路、触发器、ROM、RAM等)仿真,不要把这两种模式用于模拟电路仿真。
1 ?1 W' V5 [6 _2 g    df采用线型化的模型,与da模式相比,速度得到提升,但以我的经验,效果并不明显。
% I8 a5 A* l3 l* |0 O, I    如果在option没有设置,默认是MS模式,兼顾精度与速度。6 X8 }# y- O# G
    AMR模式不能“本地化”(local)使用,就是说AMR模式只能用于整个电路而不能针对某一个模块使用,这点后面会有讲解。. m& W, V1 Y5 c" n
    据我的经验,a模式通常是hspice的1.5∼3.5倍速率,s模式通常可能低于hspice的速度,但精度低于hspice,因此,s模式很少用到。8 K* K' A: z- X) |
: ?/ P+ o3 @! G& r" h
3。option中,仿真模式的设置。如下,在xx.sp文件内容如下:+ _4 @$ Q  H" p: Z7 L
$ D, d: i$ H7 I
* test6 k7 v& |! j' E- D) g3 O4 e
***************************
! w$ J, q7 f1 _* C) v.usim_opt sim_mode=da xi1 xi2 #dff
% Z4 r& L$ z' e6 M" l.usim_opt sim_mode=a xi5 #driver @pmos2
$ p. n* b1 o0 l- p.usim_opt wf_format=wdf/ }( e4 }. \7 ^1 \* j( g+ X
*******************# m# D( j( h9 _3 e# f( G: k
.option post=1. h& R  g3 J4 v( y* b; X* T
.inc 'netlist'$ C* O0 h1 S7 \" I( u
.lib 'xx.lib' tt7 k. U! W/ c! A9 p1 b$ Q
3 X1 {  Y" t4 _3 ?
vxx xx gnd 57 v4 m' A+ ?! Z" ^9 z
····; ^7 k% I" b# T+ Q/ w/ N+ r6 \8 W
····9 M' w+ H  o1 ~0 D

4 \) X/ |0 J: n$ X4 s' B, F6 ?.tran 1u 1m
; l( Q: _. c. t7 J.probe v(net*) depth=2
, N/ k; {) I! X' D9 r. g.probe v(xi1.mp5)
6 e4 V4 C) A$ R8 p.end" j. }0 G# d* {9 K
# x  C+ J. F  \' V; W/ \
    解释下,大家就清楚了:与hspice相比,ultrasim增加 .usim_opt作为options,前面的3个option分别表示:把子电路xi1 xi2 和cell(名称为dff的所有子电路) dff 设置为da仿真模式; 把xi5、cell driver、model pmos2(用到模型名称为pmos2的的mos管)设置为a模式; 生成的波形文件格式wdf。
& E, ^( E6 K- M6 P; r    倒数第二第三的probe分别表示:输出顶层和第二层以net开头的线网波形; 输出子电路xi1 下面的编号为mp5的mos管电流波形。
! r1 O7 O; v0 C1 F    上面提到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。关于波形文件格式的设置。
; t' I% ?( @" j  C: W+ s    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的支持了。5 x" l0 ^% Y/ Z
    好了,根据自己使用的波形工具选择生成的波形文件类型吧。
: V, k8 a: G4 m, W% t9 \    .usim_opt wf_format=wdf
1 ^" x" m4 {$ @9 y& X" E* C: ]. G    把输出波形生产wdf格式,如果有多条语句,那么讲同时生产不同的波形文件。
- Q# {4 E& [0 D/ Q. k: ?# F$ H' ~/ E4 S2 Z/ u: F# [7 Y3 f# w/ a" }

; k! x/ F$ L3 A4 O0 U$ G    其他波形选项:
$ x( Z4 H8 h! `- b! S# P0 H" k    .usim_opt dump_step=100n 每100ns,把仿真的波形数据从内存写入磁盘. N' z9 m$ ]  K" r: Z" I3 i- _4 H
    .usim_opt wf_filter=0 不要虑掉任何波形数据(主要用于精度很高的电路)& {& z- M, Z1 S0 x# t4 z+ q& ?  v
    其他选项就不详述了
3#
 樓主| 發表於 2008-4-21 18:53:51 | 只看該作者
4。公差容忍度设置
" ]% Y4 c8 Y% D; ~( ^    speed可以设置总的公差容忍度tol(tol也可以单独设置),tol包括电压、电流等所有的公差容忍度之和。
6 ~) ^& i' i, \' n    .usim_opt speed=2 设置tol=0.001,比较高的精度!
8 R) R9 v, c: b4 n; a    .usim_opt speed=1 #vco 对vco cell使用0.0001的tol
5 z; W& ^5 G$ e1 c/ h7 t- \    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,精度以此降低。
+ m1 ?8 j5 g5 x  g8 Q, [7 x/ d7 h/ e- A5 X    通常,如果精度要求不是很高,可以采用默认设置,而无需设置这一项。1 U1 I; r9 G; f% D( B
    tol还与解矩阵方程的收敛性有关,然而,我还从来没有碰到ultrasim不收敛的时候!!% f/ {! l% G% B. H# n" I: {$ B
    再强调一点:精度设置的越高,相应的速度越低!8 D2 y: Q: Q! G, Y* h

: A7 L% x9 `; G2 y5.矩阵分割设置
" t4 T; }9 o* O+ }5 s, E9 O. e* |0 Z    ultrasim把大的电路矩阵分割成小的矩阵,以加快仿真速度,但同时会损失一些精度。analog选项用来控制矩阵分割的大小。
# c9 y; V  C+ M3 O( _; o+ n    .usim_opt analog=2 xi9 设置xi9中电路analog=2
4 X$ d1 }2 {! O) y9 m! ?! Y# y    对这一选项,没有多大研究,通常我也采用默认的。
( L9 _: ^1 W3 V  {2 G* o, n5 E    以下是推荐的用法5 n8 K$ R8 y" i; u- }1 L/ W1 M) g/ _

5 J8 `. ~* {, |7 L. manalog = 0 Digital and memory circuits
: G0 K" |% @# N; c- wanalog = 1 Digital, memory, and mixed signal circuits (default)# [, k9 d( e9 b$ Z4 ?- e  c' Q
analog = 2 Mixed signal, analog, and RF circuits
: G8 J) p5 M: Ganalog = 3 Analog and RF circuits
2 t; v1 _3 h) Z9 Q  r* {analog = 4 Mixed signal circuits (high sensitivity)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-12-23 02:32 PM , Processed in 0.159009 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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