找回密码
 注册
关于网站域名变更的通知
查看: 3290|回复: 7
打印 上一主题 下一主题

Cadence 仿真流程

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-30 11:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
第一章 在allegro 中准备好进行SI 仿真的PCB 板图
" k' B+ Q/ s3 e1)在cadence 中进行SI 分析可以通过几种方式得到结果:2 w- a3 |3 n  X( v( a/ k
  • Allegro 的PCB 画板界面,通过处理可以直接得到结果,或者直接以*.brd 存盘。
  • 使用SpecctreQuest 打开*.brd,进行必要设置,通过处理直接得到结果。这实际与上述方式类似,只不过是两个独立的模块,真正的仿真软件是下面的SigXplore 程序。
  • 直接打开SigXplore 建立拓扑进行仿真。
2)从PowerPCB 转换到Allegro 格式
  V0 c1 E( X% g在PowerPCb 中对已经完成的PCB 板,作如下操作:
$ _+ ]' y% I& a9 k( K2 v1 ?0 T在文件菜单,选择Export 操作,出现File Export 窗口,选择ASCII 格式*.asc 文件格式,并指定文件名称和路径(图1.1)。* \' e' \* w2 }. z" _9 p9 S3 L
0 G! c& Z) {& G/ i
图1.1 在PowerPCB 中输出通用ASC 格式文件3 B6 j8 B" q( s9 q- Z) a, u

, P/ j0 e9 @$ y/ T! `# Z6 E图1.2 PowerPCB 导出格式设置窗口* X8 |+ `8 t3 ^% r5 B' a% m
点击图1.1 的保存按钮后出现图1.2 ASCII 输出定制窗口,在该窗口中,点击“Select All”项、在Expand Attributes 中选中Parts 和Nets 两项,尤其注意在Format 窗口只能选择PowerPCB V3.0 以下版本格式,否则Allegro 不能正确导入。* h( l( @* G. A/ J, u* Y* g

" N0 t  _- W" N( d# b6 ^6 C0 @3)在Allegro 中导入*.ascPCB 板图9 H; O' |* K1 P3 Z+ v6 J2 j7 ^6 @
在文件菜单,选择Import 操作,出现一个下拉菜单,在下拉菜单中选择pads 项,出现PADS IN 设置窗口(图1.3),在该窗口中需要设置3 个必要参数:. B+ Z* i% @4 a+ j
6 x* _' l. R: n  N# D( Q
图1.3 转换阿三次文件参数设置窗口) [5 u6 B5 t6 }; |
i. 在的一栏那填入源asc 文件的目录
+ n' [, y7 D, G  N4 D1 K$ F- F3 v; \ii. 在第二栏指定转换必须的pads_in.ini 文件所在目录(也可将此文件拷入工作目录中,此例)7 o, c3 C$ p" l) T2 O' e
iii. 指定转换后的文件存放目录9 W: J* B2 H6 Q: k" h- ]
然后运行“Run”,将在指定的目录中生成转换成功的.brd 文件。
2 Q# c+ q" ^3 j3 \0 O3 |  a4 w. M注:pads_in.ini 所在目录路:.\Psd_14.2\Tools\PCB\bin 中。
- E, U- }* w+ U3 X
. o3 B" s  l7 ~* I6 S4)在Allegro 文件菜单中使用打开功能将转换好的PCB 板调入Allegro 中。
3 m: b8 q. j: G& ?; Q; d$ ~第二章 转换IBIS 库到dml 格式并加载
$ M* d7 |0 _- L* a% _/ z1)库转换操作过程
: m% V7 j$ U" A' b. K) t* K# B在Allegro 菜单中选择Analyze \ SI/EMI SIM \Library 选项,打开“Signal Analyze Library Browser”窗口,在该窗口的右下方点击“Translatr ->”按钮,在出现的下拉菜单中选择“ibis2signois”项,出现“Select IBIS Source File”窗口(图2.1).按下“打开”按钮,随后出现转换后文件存放目的设置窗口,设置后按下“保存”键,出现保存认定窗口(图2.2)。注意:必须对此窗口默认的路径设置进行修改,否则无法生成.dml 文件。* {* }" |/ \0 O0 i. a4 T

  }) g5 C: w7 ]1 z图2.1 IBIS 库转换原文件路径设置窗口" W' l1 i+ X2 K
原该窗口的默认设置为“ibis2signoise in=E:\_ED\30\82559.ibs out=82559.dml”,实际上ibis2signoise 是一个DOS 文件,可能在一些场合,可执行文件后面的命令参数中“in=”和“out=”被认为是非法字符,所以,将它修改为“ibis2signoise E:\_ED\30\82559.ibs ”即可,它将在IBIS 文件所在目录建立同名的dml 文件。: q- l  ?4 I* t! i7 O( n; E3 W

9 c- X  }$ L* [6 Y  s" e图2.2 IBIS To dml 转换设置路径窗口(需修改)( F4 {& B# ~/ H7 D
转换完成以后,会有报告文件弹出,在文件中只要没有“Error”提示,转换文件有效。
( Y: N* }' N* B9 q% C+ |2 B8 h) k. V) {, {% P; a
2)加载转换后的dml 库
. g6 g6 s% M7 w% K; L 7 H, I# |9 ]7 y( y) s9 x: J
图2.3 Signal Analyze Library Browser 窗口
3 b) ~  e* E- g6 |# _& A在Signal Analyze Library Browser 窗口(图2.3),加载转换后的dml 库文件。首先点击“Add Existing Library ->”按钮,出现下来菜单(图2.4),该菜单有四个选项:
. e7 u5 a" s/ g/ [3 j2 T9 i1 k# [3 ]1. Local Lib: 直接指定一个确定的库文件。这些库文件在:…\Psd_14.2\share\pcb \signal \SignalPartLib 中。) N, x7 d7 h0 s, z: l0 M/ G

' ^( V9 z% m  U2 J; w9 H, M. s图2.4 加载库文件的几个方法
$ w8 ~  O4 @5 }3 {
! C/ C" s: K- C2. Local Library Path :指定一个人目录并将目录中所有库文件调入。在…\Psd_14.2\share \pcb \signal\SignalPartLib 中安装时,内置有三个库文件目录(安装时没有选择附加的仿真用库):DEFAULT_LIB、Dig_lib(内含abt、als、alvc、fttl 四个子目录)、Packages。其中als 子目录中有X4ALS 系列标注逻辑器件库,如74als162 等。- j9 C( Z3 M& L2 S$ _( d
3. Standard Cadence Library:在加载两个索引文件(\Psd_14.2\share\pcb\signal):cds_models.ndx和cds_partlib.ndx,前者包括模块信息,后者包括仿真器件信息。3 f: V; c* k0 J9 P/ Z9 g
3)加载成功以后可以点击set working 按钮,将其设置为工作库。
4 {/ m2 S  i% u' w& M& u# J第三章 给器件加载对应模型
( e! S. E4 V5 s$ u; `0 G& n7 D. `1) 给器件加载模型0 T$ _! D: R7 K+ H
在Allegro 菜单中选择Analyze \ SI/EMI SIM \Model 选项,打开“Signal Model Assignmen”窗口(图3.1)。
! E- P/ j0 v# `& E2 Y% T# \8 Q 4 s  l0 S) H4 J: ~  e( m
图3.1 为器件指定模型窗口4 E8 \, h. T& G" }
在图3.1 中显示所有使用到的器件名称,选中一个准备设置模型的器件并点击Find 按钮,出现,Model Browser 窗口(图3.2)。在Model Name Pattern 窗口中填入“*”号,一些模型的名称进入下面的列表框,% K: m! ]2 P3 z" R

# F; r- b8 X9 Q% b  n图3.2 浏览模型窗口                                       图3.2 创建模型窗口# V; f; {' t0 o1 R- x3 L7 ^
在列表框里点击你需要的模块后,在图3.1 中U1(和U2)的“Signal Name”列里就会出现它的模型名称。) p" x' ~% Q# |1 K# j
7 G9 k! |- M9 H6 }1 h5 Y( {: V
2)器件、元件的建模7 O4 @" J. H0 G4 ~; t4 P/ Z
如果在图3.1 里准备加载的模型是无源器件或者是需要自己临时创建的模型,则点击在图3.1 中的create model 按钮出现图3.2 创建模型窗口, 对于电阻电容选择Espicemodel(选中蓝色箭头所指项目)后将出现,Creat ESpick Device Model窗口(图3.3)。其他有源器件用IBISdevice 模型(选中红色箭头所指项目),然后按提示输入value 及各管脚的功能即可,同时可以存盘生成*.dat 文件,这样以后进行仿真时直接load 即可。此时这个新建的模型就出现在所选器件的“模型名称“栏中。
$ I0 S  M+ [6 p5 L; g . m. ^* z# Z# o& n- [. X. h
图 3.3 无源器件建模窗口
& f% o/ X$ C# _. V无源器件包括电阻。电容、电感,图中的Common 项是设置该元件是否有公用(接地或电源)管脚。( S( Q: m+ d% L( W. `
第四章 定义板子的地线、电源电压: a1 r3 Y, h$ d; r' c
器件仿真必须设置直流电源,否则仿真不能进行,只有定义了电压的电源和地信号,才能在拓补结构中将电源的信号模型调进来。此操作在Logic 菜单项中选择Identify Nets..选项,出现Identify DC Nets 窗口(图4.1 分别选中VCC 和GND 网络,在Voltage 栏填入5V 和OV,然后确认,完成设置。
2 q0 x) }6 q5 ?) a 6 R3 g) _/ v0 W; `- E
图 4.1 直流电源设置窗口
7 m$ R& }7 |8 d# ~. j) L7 K: G调整PCB 板叠层结构满足阻抗要求/ ^6 G7 ^5 K* E3 \
该功能分别从Aleegro、SpecctraQuest 两个模块进入后进行设置。: u) T1 ?3 Z* w9 u9 W( [
1) 从Allegro 主窗口设置
0 j- U) |6 D- R在Tools 菜单选择Setaup Advior 选项,出现DatBase Setup Advsor 窗口,直接按下“Next“按钮,出现新的DatBase Setup Advsor –Cross-Section 窗口,其中有个“Edit Cross-Section”按键,按下此键进入叠层设计窗口(图5.1),在这个类似Excel 表格式地窗口里,输入需要的各种参数,在表地最后一栏直接计算出该层的阻抗值。# f) F" \$ N# e# c

. h1 k- M$ \  W1 q3 w图5.1 叠层设置窗口
8 e1 s# ^4 l" W% a$ D- E2 G2) 从SpecctraQuest 窗口设置
% ^8 s" `! ?- K- `2 D0 u4 u; }直接从Setup 菜单选择Cross-Section 项进入图5.1 窗口
! s$ ], j8 r1 ?5 K* s6 a第六章 设置仿真参数
1 w- P' i6 R3 Y8 c在正式进行仿真之前,还需要对各参数进行设置,以便使最终结果更加准确的反映设计者的要求。这个步骤可以在SpecctraQuest 模块里,也可以在Sigxplore 中完成。具体需要设置的参数根据不同仿真有不同的要求,大致如下:
% q+ T0 c8 X  ]仿真的周期数(measurement cycle)时钟频率(Clock frequency)
# t: ~/ n" \7 K占空比(duty cycle)偏移量(offset)9 p% r8 [: W+ X# O; N9 e- S$ t4 Q1 P
固定仿真时间(fixed duration)波形取样时间(waveform resolution)
6 I4 [5 _$ a9 x; M  j  \截止频率(cutoff frequency)仿真模式(FTS mode)$ K2 ?2 J8 C: O  B: H$ `7 ^4 w
驱动激励(drive excitation)测量模式(measurement mode)+ W0 o3 u% O% ]
1) SpecctraQuest 模块里设置仿真参数
- d# Y3 ?3 a. h6 O4 W& n$ B+ z0 L在SpecctraQuest 的菜单里选中Analyze\SI/EMI SIM\Prefences,出现参数设置窗口(图6.1): Z" i. s; D4 k8 L) u5 j$ D4 V) T

& |4 o$ g4 {, j3 z* E图6.1 仿真参数设置" T8 O/ s, V& }  t" q* A
2) 在SigXplore 里的选中Analyze\Prefences 进入的参数设置窗口与图6.1 类似。
' k$ j7 Q$ \0 f, O8 c( P第七章 用探针(Probe)指定仿真信号线) _/ T3 `6 z" K. ~
1) 建立仿真信号线网表
# D" z" ^, ~/ X* x& u; c* r0 V在SpecctraQuest 里的Logic 下拉菜单里,选择create list of nets,出现“CreatList of Net”窗口(图7.1)。在窗口上边的Net List Name 栏中填入自己起的网络名称,在“Net Filter”栏输入“* ”;在“Available nets”列表栏中选中需要仿真的网络并将其添加到右边“Selected Nets”0 a1 C' k  x. T" j6 i
栏里。然后将生成的网表文件进行保存。0 `  c& g; {3 \5 A7 ]

. r" k4 e2 @/ X% f/ j图7.1 建立仿真网络
  f$ I# k- ], |# u5 M- W2) 选择仿真网络' J$ q6 ~4 j, K! D; X
选中Analyz\SI/EMI Sim\Probe 命令,在弹出的signal analysis 窗口的net 一栏,敲入*,或者通过list of nets,将网表文件调入。这样所有的net 都出现在最左边的框里,可以选择任何一个信号线进行模拟。(图7.2)
9 A* e7 a2 p" e( o) C( m. w" d2 H
: V0 N' ?% b- r2 I图7.2 选择仿真网络
" J4 W% E9 N1 x9 ~/ m第八章 生成仿真结果报告、设定报告包括的参数
* a$ h* k: i! P# L+ z  Z
选中要进行模拟的信号线之后,点击图7.2 下方Reports 功能键,在弹出analysis report generator窗口里进行不同的参数条件设置,如SSN, Reflection、CrossTalk 等等,参数设置完成之后,点击create report 就可以分别生成对反射,串扰,地弹等等的仿真结果报告。
" S" R: X, O" I) w第九章 提取电路拓扑结构(建立)( k) E/ i# r0 D9 \4 L& Z
1) 通过在Aleegro 和SpecctraQuest 界面提取电路拓扑结构( n+ t* |2 M( J; p
点击图7.2 中View Toplogy,假设没有任何设置错误,将直接进入拓扑界面。但一般会出现提示框(很难严格设置提取拓扑的每一个参数),告知不能进行提取,要你选择是否进入修订程序“Yes”,如果选择“No”程序将忽略一些错误直接进入拓扑界面(SigXploer 图8.1)。如果选择“Yes”,则依次进入下面的修正程序:9 j& ~# z1 X0 b) _3 i
  • 进入Database Setup Advisor 进行 “Cross-Setion 叠层”修正
  • 进入Database Setup Advisor 进行 “Identify DC Nets 电源”修正
  • 进入Database Setup Advisor 进行“Device Setup 器件”修正
  • 进入Database Setup Advisor 进行“SI Model Asingment 模型定义”修正
  • 进入Database Setup Advisor 进行“Si Audit 审核”程序
  • 按下“Finish”完成全部校验过程。
; K# L+ R& l; c( O% C7 w9 r4 j3 L& f
图8.1 SigXplore 中的拓扑结构(左边是驱动、中间是传输线、右边是接收)* h% }8 o$ V( R
1.1 图8.1 窗口对应的功能“标签”(底部)
# O% g9 S8 {: {% d: g8 o; v* M: j/ k/ j 9 }6 W  W3 U/ Y2 U3 l
' [0 s# a+ J6 d) V( N4 b& P
图8.1 拓扑结构窗口中参数选项( p; g" O" X, |+ B
1.1.1 Parameters 参数选项6 y$ U0 g( P6 G+ g) Q
在这个理表里可以进行参数的修改,每当选中一个欲修改的项目,在该项目栏右边会出现“ ”标记,点击它时将出现对应的编辑窗口。例如:修改电介质常数(蓝色箭头所指),首先选中此此项,再点击该项被选中出现的“ ”按钮,出现两个与该参数相关的窗口:“Set: ^% U  L9 j* u* a+ b: w8 G
Parameter d1Constant”(图8.2)在Value 窗口直接输入修改数值。另一个是与介电常数密切相关的传输线结构。
/ Q6 U, u/ E  p. s & Z4 n9 ]$ |/ e( s6 k  _
图8.2 修正介电常数* y- }' B1 Z, d7 |# ?$ i# B* x
+ {8 R5 H; e) [1 f5 d3 N
图8.3 与介电常数相关的传输线特性设置窗口
- V* _; W+ w* a" `1.1.2 Meeasurements 选项- `& V% I+ J; q, ^3 D& b) c# h
选项可以选择Reflection、Crosstalk 和EMI 分别进行仿真,其中Custom 是用作IC 晶圆(Die)的仿真的。在Results 里可以看到数据结果列表。
9 t5 i1 |- a$ U* y+ A
2 ]  L9 A6 E& d/ _5 n0 }2) 直接在SigXploer 中建立拓扑结构5 q& X- H6 J- o8 F- U: ~2 Q
1.2.1 加载库& q. y- P$ T& I8 ~9 S
在SigXploer 的Analyze 的Liberary 中加载库文件(类似图2.3)9 g% F: h% }; j9 z+ G
1.2.2 构造拓扑图4 ^9 }) e4 X! {
1.2.2.1 放置传输线( B4 _* I! w; ^4 |
在Edit 菜单选择Add Part(或者工具按钮)打开Model Browser 窗口来选择准备假如拓扑图的结构体。比如在图8.5 中选择的是传输类型,则所有传输线的模型列表出现,如果选择MicroStrip_1 模型,此时在Sigxplore 的主窗口,就有MicroStrip_1 图形在随光标移动,选定位置点击放置(图8.4)。
; H$ ~' j2 \4 {+ Q( `- N
6 b; n$ T' ]( r4 o0 x, Y图8.4 在Sigxploer 中添加结构体: k1 f+ o: D5 `2 m+ f
; a/ t7 r2 n' u+ _9 b
1.2.2.2 放置器件(驱动和接收)! w3 R0 G% C" _9 ?# O, n$ Q9 P2 }& E
在图8.5 的Model Type Filter 里选择IbisDevice 类模型,(此例在库加载过程中只加了一个IBIS模型),所以出现的Browser 窗口里只有一个库(图8.6)。
$ ^# Y5 m8 Z) D, D/ e7 y) d " P9 ~& p4 ~9 q% H" f
图8.5 设置拓扑结构体类型
- s! ]9 N5 K! f! T7 a* g - g& l! A" t3 R  z) u, B' [
图8.6 IBIS 器件结构体设置
, C9 W5 c* d* ?双击“PowerPC_8245_35……”项出现图8.7 的8245 器件管脚列表,在此表中选择需仿真的管脚,同放置传输线的方法一样,放置结构体(注意:必须至少有驱动、传输线、接收三部分)。
8 q, c" B& T2 n+ n- N0 [: x5 U 4 ?- V" A6 a8 _# t# f
图8.7 设置有源器件8245 的C1 管脚未驱动结构体9 {" S. ^2 z( P6 `; G. e
1.2.2.3 仿真无源器件(电阻等)
7 d0 T% Y8 W9 P' Y, T; @/ D
/ V% r* u+ i% ], F图8.9 选择“GenericElement”设置其它无源器件# \. F+ a* N# j; i
用同样的方法将电阻等无源器件加入到结构中。& _( J" \# H5 H( e& g
1.2.2.4 连接结构体
6 D8 s+ L) X$ G用鼠标在结构体的端点(焊盘处),拖曳进行画线,完成仿真拓扑图。(图8.10)$ t3 k0 D& y- Q
" X4 Z# i  {- x7 g5 c% ]1 {# a
图8.10 最后完成的拓扑结构图
1 E1 P9 H/ I+ e1.2.2.5 设置驱动源波形$ J, X7 \  b% N$ Y$ c, s, l+ Y1 C
点击结构体中驱动结构模块(点击模块上方标注文字,红色箭头处),出现激励设置窗口,在这里进行驱动波形的设置。
0 X5 b1 [( l8 u; c  b第十章 仿真以及更改不同的电路条件重复仿真2 [. x! C6 I* [. H$ |# W$ I
点击图8.10 箭头之处可进入相应的参数编辑窗口(红色箭头是设置驱动波形的地方),通过修改结构体参数,可进行重复仿真、分析。
" L! d& F! F! |3 Y2 _2 [运行Analyze 中Simulate 进行仿真(或者使用图标)结果如下图:6 d# w" D7 c3 X% R

6 p4 C0 _" J- T8 F) W3 b* R图10.1 仿真结果图形
/ T  P' \8 R$ p第十一章 仿真结果分析0 ^2 w! u% }) V1 p: l& `

, D" W# \# t4 e8 B  I0 v图11.1 仿真结果显示! a! d% q) u/ H
仿真结果在图8.10 下面的信息窗口显示出来如上图
* [8 g, i2 V6 B9 N. PSIM ID(模拟的次数) diver(驱动端)
9 w: L* U4 |8 b/ freceiver(接收端) cycle(仿真的周期)
! W1 Z" r1 |2 ^, u/ X7 {FTS MODE(仿真模式) monotonic(单调性)
% ?3 d& i( @, @  }8 ENoise Margin(噪声裕量) overshoothigh(上过冲)2 y( Y; Z% b) }. f% [" |: [
overshootlow(下过冲) PropDelay(传输延迟,驱动端到接收端)/ `8 a* i& L0 r+ `) O& U6 q( d
switch delay(开关延迟) settle delay(建立时间)
5 ~2 E- k" |3 k+ y6 \4 j: a3 @$ H可以对照信号波形图一起进行分析,一般要求噪声裕量足够大,上冲和下冲不要超过规定电压,没有明显的振铃现象,波形没有严重失真等等,但对于不同的电路,有时对于传输延迟时间的长短,或者上升时间的快慢有特别的要求,这也是具体进行仿真分析时要注意的地方。
/ k% ?+ c% B3 d! }. [第十二章 电气约束规则的定义
+ O; E6 P3 d# \' o! i$ }经过仿真,基本可以找出最佳的阻抗匹配及布线长度的要求。此时,我们可以产生电气规则,以约束下一步的布局布线。其大致的操作是:在Sigxplore 的set 下拉菜单下选择constraints。然后即可根据需要定义各项规则,并可在Existing Rules 窗口里确认规则是否成功加入。 规则定义完成之后,需点击update SQ 快捷键将规则反馈到SpecctrQuest。

评分

参与人数 1贡献 +10 收起 理由
Allen + 10 辛苦了!

查看全部评分

该用户从未签到

2#
发表于 2008-6-4 18:33 | 只看该作者

该用户从未签到

3#
发表于 2008-9-27 22:45 | 只看该作者

好是好,但这个流程是很久以前的人写的,比较笼统,有些地方也没有说清楚

有没有一个具体一点的?

该用户从未签到

4#
发表于 2011-5-31 17:06 | 只看该作者
Allegro做前仿真时,是要全部布局完毕?还是布局重点部分啊?

该用户从未签到

5#
发表于 2011-5-31 21:05 | 只看该作者
謝謝分享寶貴經驗。

该用户从未签到

6#
发表于 2011-6-22 09:18 | 只看该作者
好东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-18 08:57 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表