hspice一些注解进阶.docx
《hspice一些注解进阶.docx》由会员分享,可在线阅读,更多相关《hspice一些注解进阶.docx(32页珍藏版)》请在冰豆网上搜索。
hspice一些注解进阶
hspice-一些注解(进阶)
runlvl用来设置仿真速度与精度最高精度级别runlvl=6,1=fast(事实上设为零,将回到早先的未加入些功能的版本)6=mostaccurate。
默认的值是runlvl=3。
较低数值适合于纯数字电路或大部分数字电路。
Hspice使用的是最好保存的runlvl设置。
通常是结合.optionrunlvl=5
Ifyouset.optionACCURATEthenHSPICElimitstheRUNLVLvalueto5or6.
p1input10z0=50port=1pulse(01.5100p40p40p)
Psourcedut_in0z0=zrefport=1pulse(vlovhitdtrtf)p代表port元件
Psourcedut_inpdut_inn0z0=zrefport=1pulse(vlovhitdtrtf)这里定义的是差分的port元件
对输出部分,没有源,所以无须加source部分。
Ptermdut_out0z0=50port=2
这里要区别在.measp(m1),p()组合是表现功率。
t无损传输线,结点,阻抗,延迟
T1dut_in0node10Z0=50td=1n
par可复用par(..)输出作为其他端口的输入电压
ReusingthePAR(...)OutputasInputtoOtherElements
可使用于.print.probe的输出
.printtranv(5)par('5*cos(6.28*v(10)*v(5)*k/360)')式子要加单引号括起来
IBIS模型使用
Inputbuffer:
B_INPUTnd_pcnd_gcnd_innd_out_of_in
Outputbuffer:
B_OUTPUTnd_pund_pdnd_outnd_in[nd_pcnd_gc]
InputECLBuffer:
B_INPUT_ECLnd_pcnd_gcnd_innd_out_of_in
OutputECLBuffer:
B_OUTPUT_ECLnd_pund_outnd_in[nd_pcnd_gc]
POInon-uniformspacing非一致间隔
DATA
对如下类型的不同列组的数据,即层数据。
FileDFileEFileF
d1d2d3e4e5f6
d1d2d3e4e5f6
使用如下样板
.DATAdatanameLAM
FILE=‘file1’p1=1p2=2p3=3
FILE=‘file2’p4=1p5=2
FILE=‘file3’p6=1
.ENDDATA
传输线模型(si125)
其中W代表精确建模的传输线,包括了导体与介质损耗,T代表相对简单的无损传输线。
有关传输线损耗的两个公式:
趋肤损耗:
介质损耗:
对W模型,考虑频率相关性模型:
INCLUDEGDIMAG=yes开启了使用复杂介质损耗的模型
频率相关复介质旁路损耗
其中wp是与极化时间常数相关的角频率
Wtestwin0wout0N=1RLGCMODEL=WE1L=0.3
+INCLUDEGDIMAG=yes
.MODELWE1WMODELTYPE=RLGC,N=11维矩阵,对于多维的情况,L0=val1val2val3….
+Lo=3.8e-07
+Co=1.3e-10
+Ro=2.74e+00
+Go=0.0
+Rs=1.1e-03
+Gd=8.2e-12
+wp=0.07不输入极化常数时,此项不要。
PRINTZO输出w元件的复特征阻抗到.wzo格式的文件(lowhalf)
W1N=2in1in2gndout1out2gndRLGCMODEL=2_linel=0.1
+PRINTZO=POI31e61e91e12
其中2_line.wzo保存输出
*w-elementmodel[2_line]CharacteristicImpedanceMatrix:
.MODELZOSPN=2SPACING=POIMATRIX=SYMMETRIC
+DATA=3
+1.0e6
+175.362-156.577
+3.54758-2.53246175.362-156.577
+1.0e9
+48.7663-1.3087
+1.69417-0.007323348.7663-1.3087
+1e12
+48.95450.238574
+1.664440.034833248.95450.238574
混合阻抗矩阵
对于一个简单的养分传输线
对于一个弱耦合的对称双微带线,单线的特征阻抗Z11=Z22=50欧,Z21=Z12=0欧
传输线连接的系统模型
Delayopt准确的建立延迟模型,以保证时域仿真的准确
DELAYOPT=0|1|2todeactivate,activate,andautomaticallydetermine,默认设置为0不使用
DCACC保证低频部分的准确与收敛DCACC=0为关闭
完整的W语法(si125)其中5个例子在128页
Wxxxi1i2...iNiRo1o2...oNoRN=valL=val输入(输出)/输入(输出)参考节点
+[RLGCMODEL=name|RLGCFILE=name|UMODEL=name
+FSMODEL=name|TABLEMODEL=name|SMODEL=name]fsmodel来自场求解器
+[INCLUDERSIMAG=YES|NOFGD=val][DELAYOPT=0|1|2|3]includersimag默认考虑趋肤效应的虚部项fdg指定材料介质损耗的截止频率
+[INCLUDEGDIMAG=YES|NO][NODEMAP=XiYj[DCACC=[1|0]]
+[NOISE=[1|0]][DTEMP=val]
+[PRINTZO=frequency_sweepMIXEDMODEZO=0|1]printzo输出复阻抗可使用lindecoctpoi
+[SCALE_RS=val]
一个完整的包含W-同时调用W的例子
*W-Elementexample,four-conductorline
W1N=313502460RLGCMODEL=example_rlcl=0.97调用W元素
V110AC=1vDC=0vpulse(4.82v0v5ns0.1ns0.1ns25ns)
.AClin10000Hz1GHz
.DCv10v5v0.1v
.tran0.1ns200ns
*RLGCmatricesforafour-conductorlossy
.MODELexample_rlcWMODELTYPE=RLGCN=3使用.model对W进行详细地定义
+Lo=
+2.311e-6
+4.14e-72.988e-6
+8.42e-85.27e-72.813e-6
+Co=
+2.392e-11
+-5.41e-122.123e-11
+-1.08e-12-5.72e-122.447e-11
+Ro=
+42.5
+041.0+0033.5
+Go=+0.000609
+-0.00014190.000599
+-0.00002323-0.000090.000502
+Rs=
+0.00135
+00.001303
+000.001064
+Gd=
+5.242e-13
+-1.221e-135.164e-13
+-1.999e-14-7.747e-144.321e-13
.end
UMOEDL详情参考135(157)U模型中的RLGC是以自/互阻抗感抗的形式表示的。
W格式中R(f)=R0+sqrt(f)*(1+j)*Rs
U格式中,R=Rc+RsRc就是上式中的直流电阻。
而计算趋肤效应的起始频率Fskin=1/(15*risetime)
例子
*WElementexample,four-conductorline,Umodel
W113502460Umodel=exampleN=3l=0.97
.MODELexampleULEVEL=3NL=3Elev=2Llev=0Plev=1Nlay=2
+L11=2.311uH
+L12=0.414uHL22=2.988uH
+L13=84.2nHL23=0.527uHL33=2.813uH
+Cr1=17.43pF
+C12=5.41pFCr2=10.1pF
+C13=1.08pFC23=5.72pFCr3=17.67pF
+R1c=42.5R2c=41.0R3c=33.5
+Gr1=0.44387mS
+G12=0.1419mSGr2=0.3671mS
+G13=23.23uSG23=90uSGr3=0.38877mS
+R1s=0.00135R2s=0.001303R3s=0.001064
V110AC=1vDC=0vpulse(4.82v0v5ns0.1ns0.1ns25ns)
.AClin10000Hz1GHz
.DCv10v5v0.1v
.TRAN0.1ns200ns
.END
频率相关表格模型Frequency-DependentTabularModel见(si161)
可用来模拟传输线的任意频率特性(不支持RC传输线)
Smodel
Nodemap端口节点表近端/输入端用I,IN远端/输出端使用O,F示例如下:
NODEMAP=I1I2O1O2
****WElementExample:
SModel***
routout050
viningndLFSR(1000.1n0.1n1g1[5,2]rout=50)其中LFSR是伪随机序列产生器or线性反馈移位寄存器?
*+pulse(0100.1n0.1n0.9n2n)
W1ingndoutgndSMODEL=smodelN=1l=0.3
+NODEMAP=I1O1
.MODELsmodelSTSTONEFILE=w.s2p
+XLINELENGTH=0.3XLINELENGTH表明的是所用S参数来自的系统模型的线长。
Amusttermfor.spfileandWelement
.optaccuratepost.opitonaccurate自动设置RUNLVLvalueto5or6.
.tran.01n20n
.end
W-elementpassivenoisemodel无源噪声模型(热噪声)(.NOISEand.LINnoisecalc=1[多端口时]
+[NOISE=[1|0]][DTEMP=val]=1时,会产生2N*2N噪声-电流源相关矩阵
T-element阻抗和延迟(无损)
简单的示例
T1ingndt_outgndmodel_name1L=200m
U1ingndu_outgndmodel_name1L=200m
.modelmodel_name1ULEVEL=3PLEV=1ELEV=1wd=2mht=2mth=0.25m几何描述ELEV=1,planarstructure即平面结构PLEV=1,wd导体宽度ht,th介质维度
+KD=5KD为介质常数
理想传输线示例
TxxxinrefinoutrefoutZ0=valTD=val[L=val]
+[IC=v1,i1,v2,i2]IC=为设定传输线的初始条件,各端口初始输入电压,电流
TxxxinrefinoutrefoutZ0=valF=val[NL=val]F与NL,在频率F时,归一化电气长度(默认为1/4单位波长)为NL
+[IC=v1,i1,v2,i2]
利用场求解器来求解抽取传输线参数对应的是Welementpagesi_188
要求解趋肤阻抗,设置
.FSOPTIONSCOMPUTE_RS=yes
场求解器对应声明
.MATERIAL
.LAYERSTACK用来声明介质与金属层,但不包括导线部分,导线部分在最后的场求解指令里用conductor
.SHAPE声明形状rectangle.circlestrippolygon多边形Trapezoid梯形
示例.shaperectrectanglewidth=400e-6height=40e-6这一系列的都是类似的布局:
先名称,类型
.FSOPTIONS求解选项
.MODELwmodeltype=fieldsolver指定传输线类型为场求解器
语法
.MODELmnameWMODELTYPE=FieldSolver
+LAYERSTACK=name[FSOPTIONS=name]cood为选定座标系
+[RLGCFILE=name][COORD=0|DESCART|1|POLAR]RLGC文件名首字母必须为字母,不能为数字
+[OUTPUTFORMAT=RLGC|RLGCFILE]设置.FSOPTIONSPRINTDATAt=YES为输出RLGC文件
+CONDUCTOR=SHAPE=name[MATERIAL=name]
+[ORIGIN=(val1,val2)]
[TYPE=SIGNAL|REFERENCE|FLOATING]..导体类型:
默认signal设置为w-element中的信号节点
Floating浮空的导体,w-element中没有参考
抽取RLGC表格模型
.FSOPTIONSname[ACCURACY=HIGH|MEDIUM|LOW]
+[GRIDFACTOR=val]
+[COMPUTE_GO=YES|NO][COMPUTE_GD=NO|YES]
+[COMPUTE_RO=YES|NO][COMPUTE_RS=NO|YES|DIRECT|ITER]
+[COMPUTE_TABLE=frequency_sweep]
+[PRINTDATA=NO|YES|APPEND]
对于介质损耗项Gd,必须定义材料的损耗值才会在矩阵里出现材料声明如下Gd=2*p*tan0*Co
.MATERIALdie1DIELECTRICER=4.1LOSSTANGENT=.012
详例见194?
?
?
考虑到导体损耗的二阶效应粗糙表面
两种方法:
比例因子计算表面粗糙高度的均方值(RMS)见si196
比例因子:
Wxxxni1ni2…ref_inno1no2…ref_out
+[SCALE_RS=value]
取均方值;
.materialcoppermetalconductivity=value[roughness=value]
一个完整的场求解器指令例子:
(此例主要是生成RLGC)
***usecopper_roughsw/roughness=2um***
P3in20port=3ac=1
P4out20port=4
W2in2gndout2gndFSmodel=line1_roughN=1l=0.1
.materialdieldielectricer=4.3
.materialcoppermetalconductivity=57.6meg
.materialcopper_roughmetalconductivity=57.6meg
+ROUGHNESS=2e-6计算介质材料的粗糙高度的均方值
.shaperectrectanglewidth=400e-6height=40e-6分别定义形状
.layerstackstack1background=air叠层结构,注意顺序是从下至上,即铜层为最下层,上一层是介质
+layer=(copper,10e-6)1layer包含两个项:
材料material厚度0.5mm
+layer=(diel,200e-6)2
.fsoptionsopt1printdata=yescomputeGd=nocomputeRs=yes控制选项,不计算介质损耗Gd
.modelline1_roughWModeltype=fieldsolver,在model中完整陈述所求解的结构
+layerstack=stack1,
+fsoptions=opt1,
+Rlgcfile=line1_rough.rlgc,使用line1_rough.rlgc这个文件来存储矩阵,在同路径文件夹内
+conductor=(shape=rect,origin=(0,110e-6),material=copper_rough)conductor作用是声明导线的部分,包括三个项,material,shape,origin,如有多个导体,依次书写,如下
+conductor=(shape=rect,origin=(0,110e-6),material=copper_rough)
.optpost
.acdec1001e61e10
.end
使用多核进程技术加速场求解器ppsi_198
主要用于加速趋肤效应部分电阻Rs的计算,相对另外三部分指令+[COMPUTE_GO=NO|YES]
[COMPUTE_RS=NO|YES|DIRECT|ITER]其中direct和yes一样,使用加速,iter使用迭代的矩阵算法
Gridfactor=.fsoption中的指令,只能使用整数,用来指定确定求解形状的最终分割数乘法因子,当compute_rs=yes时,场求解器不会计算Ro.Rs.
蒙特卡罗si_207页关于蒙特卡罗的和生产工艺上尺度误差相关的例子非常好。
下面是一个使用polar座标的共轴线模型(完整例子参见si_209页)
.SHAPEcircle_1CIRCLERADIUS=0.5m
*[[LayerStack]]
.LAYERSTACKcoaxialLAYER=(diel_111m))$onlyone因为外围导体为无穷地,不要定义,所以这里只定义了中间部分的介质,而最中间部分的导体在下面的conductor中定义。
.MODELcoaxWMODELTYPE=FIELDSOLVERFSOPTIONS=myOptCOORD=polar声明使用极座标
+LAYERSTACK=coaxial,RLGCFILE=coax.rlgc
+CONDUCTOR=(SHAPE=circle_1,MATERIAL=copper,ORIGIN=(0,0))
.MODELtwinWMODELTYPE=FIELDSOLVERFSOPTIONS=myOptCOORD=polar
+LAYERSTACK=coaxial,RLGCFILE=twin.rlgc
+CONDUCTOR=(SHAPE=circle_1,MATERIAL=copper,
ORIGIN=(4.5m,0))
+CONDUCTOR=(SHAPE=circle_1,MATERIAL=copper,
ORIGIN=(4.5m,180))
由于使用polar座标系,只须定义半径与角度
而且Onlyonedielectricispermittedandthedielectriclayerissurroundedbyground.
就是只要定义中央的导体部分,外围为无穷地,且把介质完全包围起来。
(见si_208)
IBIS模型支持DC,AC,transientanalysis
bxxxnode_1node_2...node_N所有外部结点
+file='filename'model='model_name'指定所用到的IBIS的名字以及相关的model
+keyword_1=value_1...[keyword_M=value_M]可选关键词
+M=num乘法因子,正整数
解决超频以及输入过载带来的问题,si_217
rm_dly_rwf=default|rdly_time_value值设为正数值
rm_dly_fwf=default|fdly_time_value
rm_tail_rwf=default|rtail_time_value
rm_tail_fwf=default|ftail_time_value
各种buffer
Input输入BUFFERsi_218
B_INPUTnd_pcnd_gcnd_innd_out_of_in共4个节点,node_in的观测电压可在node_out_of_in探测看
+file='filename'model='model_name'
+[typ={typ|min|max|fast|slow}][power={on|off}]如果设置power=on,那么地/电钳位连接并开启(所以不要再把它们连接到电源或地上),如果power=off,那么就要另外通过RLC或传输线来连接电源到这些结点
+[buffer={1|input}]
+[interpol={1|2}]
+[nowarn]
+[c_com_pc=c_com_pc_value]
+[c_com_gc=c_com_gc_value]
+[pc_scal=pc_scal_value]
+[gc_scal=gc_scal_value]
打印时,.PRINTV(nd_pc)V(nd_gc)
Output输出BUFFER
B_OUTPUTnd_pund_pdnd_outnd_in[nd_