Keysight ADS教学 - 一维二維參數掃描(parameter sweep)
Take-away:
- ADS电路模拟可sweep一维和二维(以上)变量。
- 一维sweep可用Param Sweep元件。
- 二维sweep可用Batch Sim Controller元件。
-----Start
(如下图)
在设计中,我们常要看参数变动对结果造成的影响,例如线宽变动对走线串扰有多少影响。 Keysight ADS软件提供了非常便利的参数sweep功能,本篇会介绍一维变量sweep、二维变量sweep。
(如下图)一维变量sweep
本篇用ADS中TL-LINE模型当范例。
(对TL-Line不熟悉者,可见
[链接])
首先建立变数var,并将要sweep的参数用变量取代,范例为扫描trace的spacing。
(如下图)
一
维变量sweep
电路设定
接着放入Param Sweep组件,由此组件来管理变量的sweep方式。
扫描trace_spacing,20um开始、144um结束、每15um一点。
请记得在ParamSweep组件中的分页Simulations中填入simulator的名子(这边simulator是SP1)。
(如下图)
一
维变量sweep
模拟结果
模拟完后,我们先叫出trace_spacing参数,看跑的变量是否如同预期。
结果显示trace_spacing的确是由
20um开始、144um结束、每15um一点,共跑了10个点。
叫出S(1,3),可以看到S(1,3)有10条线,分别为不同trace_spacing的结果。
S(3,1)为串扰XTALK的结果,可以看到trace_spacing越大时,XTALK越小,符合预期。
跑一次模拟就完成不同spacing的XTALK结果。
可在参数后方加入[0,::],例如S(1,3)[0,::]。
同理,S(1,3)[1,:]为trace_spacing是35um的单独结果。
同理,S(1,3)[2,:]为trace_spacing是50um的单独结果。
(如下图)二
维变量sweep
介绍完一维变量sweep后,接着介绍二维变量sweep。
例如我们想看trace_spacing和trace_width两个变量带来的影响。
可想而知,两个变数sweep会形成一个MxN的矩阵。
首先新增两个变量,trace_spacing和trace_width。
(如下图)
二
维变量
sweep电路设定
一维swee是用Param Sweep组件,二维sweep则是batch sim controller。
接着设定要sweep的变量,trace_spacing和trace_width,以及其sweep方式。
(如下图)二
维变量sweep
模拟结果
模拟完后,我们可以先叫出trace_spacing参数,看跑的变量是否如同预期。
结果显示
trace_spacing的确是由
48um开始、96um结束、共跑了6个点。
trace_wdith的确是由48um开始、100um结束、共跑了7个点。
也形成6x7的矩阵。
编辑
若呼叫S(1,3)出来,会看到密密麻麻的data,里面包含了6x7=42组data。
data显示方式为[M,N,::],M为trace_width,N为trace_spacing。
编辑
若要看固定线宽trace_width,不同spacing的结果,我们可把[M,N,::]中的M固定住。
例如要看trace_width为48um,可在变数后加上[0,::,:]。
编辑
若要看固定线距spacing,不同trace_width的结果,我们可把[M,N,::]中的N固定住。
例如要看spacing为65.33um,可在变量后加上[::,2,::]。
编辑
若要看固定线宽trace_width、固定线距spacing的结果,我们可把[M,N,::]中的M&N固定住。
例如要看trace_width为48um、spacing为65.33um,可在变数后加上[0,2,:]。
编辑
如果要跑的是两次一维变数扫描,例如M&N,请用两个Param Sweep元件来达成,若用batch sim controller会变成MxN二维矩阵。