PSpice模型制作.docx
- 文档编号:26655724
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:12
- 大小:214.21KB
PSpice模型制作.docx
《PSpice模型制作.docx》由会员分享,可在线阅读,更多相关《PSpice模型制作.docx(12页珍藏版)》请在冰豆网上搜索。
PSpice模型制作
PSpice模型创建
PSpice模型是对电路元器件的数学描述,是进行电路仿真分析的前提条件,它的精度和速度直接影响电路分析结果的精确度和仿真速度。
因此,在进行PSpice仿真之前,需要有相应元器件的适当PSpice模型,如合适的直流模型、交流小信号模型、瞬态分析模型、噪声模型、温度模型等等。
在电路设计的过程中,如果直接调用软件自带模型库中的元件模型参数,不一定能够满足各种不同的实际设计需要,这时就需要修改元件模型参数。
此外,对于新创建的元件,则需要用户自己设置适当的PSpice模型参数。
1、PSpice模型参数的修改
PSpice模型修改比较简单:
可以直接选择元件,然后右击选择EditPSpicemodel,即可打开PSpice模型编辑器,编辑所需修改的参数,存盘即可。
其中:
ModelsList栏用以显示模型名称;SimulationParameters栏用以修改设置模型参数;ModelText栏用以显示模型描述语言,当然这里只能读取,不可以在此进行编辑。
2、PSpice模型的创建
为了满足具体设计需要,设计者往往需要创建自己的元件库,要进行PSpice仿真,就必须对新建元件进行模型设置,新建模型,有两种主要方式:
1、ModelEditor模型编辑
(1)执行Cadence/Release16.3/PSpiceAccessories/ModelEditor命令,进入模型编辑器界面,执行File/New命令,如下图:
(2)点击
符号,弹出新建模型的NewModel对话框,如下图:
在该对话框中选择设置,ModelName填写模型名称;选择UseDeviceCharacteristicCurves表示用硬件的典型曲线来描述模型;选择UseTemplates表示用软件自带样本进行参数的修改设置;FromModel用以选择模型类型。
选择UseDeviceCharacteristicCurves,再确定模型,点击OK即可进入模型编辑器窗口,其中可以设置元件的所有相关仿真参数设定,编辑器会以曲线形式将参数设定后的模型特性实时显示出来。
‘
其中ReverseLeakage栏,用以设置曲线特定点的对应X、Y值;曲线显示区可以实时显示电压、电流等模型典型特性曲线;Parameters栏用以编辑模型特定参数范围。
(3)完成模型参数设置后,保存,而后执行File/ModelImportWizard(Capture)弹出ModelImportWizard:
SpecifyLibrary对话框,输入创建的模型库*.lib文件,输出模型*.olb文件,即为所创建的模型自动分配模型的Capture符号,便于原理图绘制仿真。
(4)回到Capture原理图中,调用刚刚创建的*.olb库文件,即可调用新建的元件PSpice模型,如下图:
(5)此后若想对该元件进行参数修改,即可直接右击选择EditPSpiceModel命令,即可进入模型编辑器中进行参数调整。
2、模型文本编辑
元器件模型参数还可以采用文本形式进行编辑设置,即直接将模型参数从键盘输入,新建文本文件,用下列描述语言输入元件模型参数:
*0627Dmodel
.MODEL0627D
+IS=1.0000E-15
+RS=1.0000E-3
+CJO=1.0000E-12
+M=.3333
+VJ=.75
+ISR=100.00E-12
+BV=100
+IBV=100.00E-6
+TT=5.0000E-9
模型参数描述文本设置完成后,保存为*.lib文件格式即可,然后再在ModelEditor中可以可以将该文件分配到Capture元件库文件*.olb,就可以进行模型调用了。
3、PSpice宏模型的创建
随着集成技术的发展,集成电路规模越来越大,集成度越来越高,芯片中的底层元件越来越多,分析软件受现实因素限制,进行晶体管级的大规模电路仿真分析是很不现实的,因此宏模型应运而生。
宏模型是指在一定精度范围内,电子系统的端口输入输出特性的简化等效模型,可以是一组等效电路、数学函数或一张数据表格,大大简化了原电路复杂度,加快了电路仿真分析计算的速度。
由于电路不同的等效模型,不同的宏模型由此产生:
电路简化宏模型、电路特性宏模型、表格特性宏模型以及数学函数宏模型等,其中PSpice仿真支持行为级宏模型、数学宏模型和表格宏模型。
1、行为级宏模型创建
行为级宏建模即电路模拟行为建模(ABM),经常采用的是字电路形式来描述,例如执行EditPSpiceModel即可对芯片编辑宏模型,以下为74AS168芯片的行为级宏模型,:
*---------
*74AS168Synchronous4-bitUp/DownDecadeCounters
*
*TheALS/ASDataBook,1986,TI
*JSW7/27/92RemodeledusingLOGICEXP,PINDLY,&CONSTRAINTdevices
*
.SUBCKT74AS168CLK_IU/DBAR_IENPBAR_IENTBAR_ILOADBAR_I
+A_IB_IC_ID_IQA_OQB_OQC_OQD_ORCOBAR_O
+OPTIONAL:
DPWR=$G_DPWRDGND=$G_DGND
+PARAMS:
MNTYMXDLY=0IO_LEVEL=0
*
UAS168LOGLOGICEXP(17,15)DPWRDGND
+CLK_IU/DBAR_IENPBAR_IENTBAR_ILOADBAR_IA_IB_IC_ID_I
+QAQBQCQDQABARQBBARQCBARQDBAR
+CLKU/DBARENPBARENTBARLOADBARABCDRCOBARDADBDCDDEN
+D0_GATEIO_AS00IO_LEVEL={IO_LEVEL}
+LOGIC:
+CLK={CLK_I}
+ENPBAR={ENPBAR_I}
+ENTBAR={ENTBAR_I}
+U/DBAR={U/DBAR_I}
+LOADBAR={LOADBAR_I}
+A={A_I}
+B={B_I}
+C={C_I}
+D={D_I}
+UD={~U/DBAR}
+LOAD={~LOADBAR}
+EN={~ENTBAR&~ENPBAR&LOADBAR}
+IA4={~((QABAR&U/DBAR)|(QA&UD))}
+IB4={~((QBBAR&U/DBAR)|(QB&UD))}
+IC4={~((QCBAR&U/DBAR)|(QC&UD))}
+ID4={~((QDBAR&U/DBAR)|(QD&UD))}
+IB5={~(U/DBAR&ID4)}
+IC5={~(QCBAR&UD&QDBAR)}
+IA1={A&LOAD}
+IA2={EN^(LOADBAR&QA)}
+IB1={B&LOAD}
+IB2={~(EN&IA4)&LOADBAR&QB}
+IB3={IA4&EN&IC5&IB5&QBBAR}
+IC1={C&LOAD}
+IC2={~(EN&IA4&IB4)&LOADBAR&QC}
+IC3={~(QC&LOADBAR)&EN&IA4&IB4&IC5}
+ID1={D&LOAD}
+ID2={~(EN&IA4)&LOADBAR&QD}
+ID3={~(QD&LOADBAR)&EN&IA4&IB4&IC4}
+DA={IA1|IA2}
+DB={IB1|IB2|IB3}
+DC={IC1|IC2|IC3}
+DD={ID1|ID2|ID3}
+RCOBAR={~((U/DBAR&IA4&ID4&~ENTBAR)|(~ENTBAR&UD&
+IA4&IB4&IC4&ID4))}
*
UDFFDFF(4)DPWRDGND$D_HI$D_HICLKDADBDCDD
+QAQBQCQDQABARQBBARQCBARQDBARD0_EFFIO_AS00
*
UAS168DLYPINDLY(5,0,10)DPWRDGND
+RCOBARQAQBQCQD
+CLKENPBARENTBARU/DBARLOADBARABCDEN
+RCOBAR_OQA_OQB_OQC_OQD_O
+IO_AS00
+MNTYMXDLY={MNTYMXDLY}IO_LEVEL={IO_LEVEL}
+BOOLEAN:
+CLOCK={CHANGED_LH(CLK,0)}
+CNTENT={CHANGED(ENTBAR,0)}
+PINDLY:
+RCOBAR_O={
+CASE(
+CNTENT,DELAY(1.5NS,-1,9NS),
+CHANGED(U/DBAR,0)&TRN_LH,DELAY(2NS,-1,12NS),
+CHANGED(U/DBAR,0)&TRN_HL,DELAY(2NS,-1,13NS),
+CLOCK&TRN_HL,DELAY(2NS,-1,13NS),
+CLOCK&TRN_LH,DELAY(3NS,-1,16.5NS),
+DELAY(3NS,-1,16NS)
+)
+}
+QA_OQB_OQC_OQD_O={
+CASE(
+CLOCK&TRN_LH,DELAY(1NS,-1,7NS),
+CLOCK&TRN_HL,DELAY(2NS,-1,13NS),
+DELAY(2NS,-1,13NS)
+)
+}
+FREQ:
+NODE=CLK
+MAXFREQ=75MEG
+WIDTH:
+NODE=CLK
+MIN_LOW=6.7NS
+MIN_HIGH=6.7NS
+SETUP_HOLD:
+DATA(4)=ABCD
+CLOCKLH=CLK
+SETUPTIME=8NS
+WHEN={LOADBAR!
='1^CHANGED(LOADBAR,0)}
+SETUP_HOLD:
+DATA
(2)=ENPBARENTBAR
+CLOCKLH=CLK
+SETUPTIME=8NS
+WHEN={CHANGED(EN,8NS)&(LOADBAR!
='0^CHANGED(LOADBAR,0))}
+SETUP_HOLD:
+DATA
(1)=U/DBAR
+CLOCKLH=CLK
+SETUPTIME=8NS
+WHEN={EN!
='0^CHANGED(EN,0)}
+SETUP_HOLD:
+DATA
(1)=LOADBAR
+CLOCKLH=CLK
+SETUPTIME=8NS
*
.ENDS
*
行为级宏模型即将子系统内电路以网表的形式描述出来,描述该子系统的内部行为模型子电路。
按照以上语言的描述方式,可以对任意系统进行行为级宏建模。
注意:
输入文件语法还是有比较严格的规范的。
简单来说,文件结构是由注释,子电路模型声明,参数声明,函数声明,电路结构声明,结束声明构成。
子电路声明必须由关键字.subckt起始,描述子电路名、端口名和顺序;参数声明由.param起始,描述参数名和参数值;函数声明由.func起始,描述函数名和函数解析式;电路结构声明由电路结构关键字C电容,R电阻,E电压源,F电流源,G电导,Q晶体管,D二极管,X子电路等起始,描述元件名、连接节点、元件值。
结束声明是关键字.ends。
要注意每一行不得超过132个char,超过的要用行内连接符+移动到下一行去,否则在分析时会报错。
2、数学宏模型的创建
数学宏模型就是以简单的数学函数来描述电路输入输出之间的关系,而对内部电路如何连接、如何运行不予详细描述。
例如:
低通滤波器数学宏模型可直接用
3、表格宏模型的创建
非线性普遍存在于模拟电路中,有时,即使所有元件都是线性的,输入输出之间的关系也可能是非线性的。
这时可以将电路或元件端口的测试数据制成表格,在仿真分析时,计算机可以直接查询其测量数据,获得复杂元件的特性模拟量,在保证精度的前提下,使计算速度大大加快。
Gtunnelnode1node2table{V(node1,node2)}={
(0,0)(0.01,2.153m)(0.02,2.973m)(0.03,4.567m)(0.04,5.155m)……}
表格宏模型在OrCAD中符号为TABLE,当设置其属性时,按该元件图形符号下方标注的数据对形式,输入各数据对即可。
建立宏模型时,要注意以下两点:
(1)宏模型是在一定精度范围内准确模拟电路特性;
(2)宏模型的结构应尽量简单、复杂度尽量低。
四、动态系统仿真
动态系统仿真即利用OrCAD行为级宏模型,将动态系统各个单元(子系统)用abm.olb中的模型来表示,通过设置各单元的属性来模拟其特性,再以一定的方式将各单元连接起来,用以完成整个系统的功能模拟。
例如下图,是传递函数
的系统连接,调用abm.olb库中的宏模型,ETABLE为表格宏模型,Elaplace为数学函数模型。
完成动态系统绘制后,调整各个子系统宏模型的参数设置,就可以对这个动态系统进行仿真了,对于该系统动态系统时域仿真的结果如下图。
通过观察系统输出波形,则可对系统宏模型参数进行调整,以达到最佳系统。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PSpice 模型 制作