最新hspice一些注解进阶.docx
《最新hspice一些注解进阶.docx》由会员分享,可在线阅读,更多相关《最新hspice一些注解进阶.docx(40页珍藏版)》请在冰豆网上搜索。
最新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]
Tri-statebuffer:
B_3STATEnd_pund_pdnd_outnd_innd_en[nd_pcnd_gc]
Input/Outputbuffer:
B_IOnd_pund_pdnd_outnd_innd_ennd_out_of_in[nd_pcnd_gc]
〔puandpdarepull-upandpull-down;pcandgcarepowerclampandgroundclamp;ndsimplystandsfor
node.〕
例子如下:
b_out1nd_pund_pdout1in1
+file='at16245.ibs'
+model='AT16245_OUT'
Search组合使用.optionsearch(自动寻找库以及包含文件所在的路径)
hspice.inifilesetsthedefaultsearchpaths.(sa_146)
例子:
.OPTIONSEARCH='$installdir/parts/signet'定位到安装路径下去扫描寻找
S参数与外部电路连接〔si_69〕
Sxxxnd1nd2...ndNndRef所有的节点,其中最后一个点为地参考节点,除地结点共n,共有n个结点。
当各结点参考结点不同时,可写成nd1+nd1-nd2+nd2-...ndN+ndN-形式
+[MNAME=Smodel_name]s参数标号
+[TYPE=s|y][Z0=value|vector_value]s参数/y参数特征阻抗
+[FBASE=base_frequency][FMAX=maximum_frequency]时域运算,傅里叶运算的基带频率,默认为瞬态响应单位间隔的倒数FMAX取2倍Kneefrequency可以保证相对的准确
+[INTERPOLATION=STEP|LINEAR|SPLINE|HYBRID]运算数据外推方式
+[INTDATTYP=RI|MA|DBA]数据类型:
RI复数MA幅度角DBA分贝
+[HIGHPASS=1|2|3|4][LOWPASS=0|1|2|3]低频为了抽取接近DC的响应
+[DELAYHANDLE=1|0|ON|OFF][DELAYFREQ=val]对于类似传输线延迟时,为准确,选on
+[MIXEDMODE=0|1][DATATYPE=data_string]其中data_stringd_diffc_comms_singn_nport
+[NOISE=[1|0]][NoiPassiveChk=1|0][DTEMP=val]热噪声
+[RATIONAL_FUNC=[0|1]][RATIONAL_FUNC_REUSE=[0|1|2]]
+[PASSIVE=0|1][PASSIVE_TOL=val][COLSUM_LIMIT=val]
+[ENFORCE_PASSIVE=0|1][STAMP=S|Y|YSTS|SSTS|DEEMBED]
+[M=int][PRECFAC=val][FQMODEL=sp_model_name]
为了提高精度,保持准确
1外推DC响应,设置好lowpass
2maxfrequency最好设置为3倍最快瞬变频率。
用model来描述指定S模型
.MODELSmodel_nameS[N=dimension]指定为S模型,为N端口。
+[TSTONEFILE=filename|CITIFILE=filename|touchstone文件是比拟常用的模型,调用可见下边
+RFMFILE=file_name.rfm|BNPFILE=filename]还有一个可用的FQMODEL=SFQMODEL
+[TYPE=s|y][Z0=value|vector_value]
+[FBASE=base_frequency][FMAX=maximum_frequency]
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中的指令,只能使用整数,用来指定确定求解形状的最终