在用HSPICE分析高速数字信号完整性过程中,一般把整个电路分成很多部分写成子电路或整理成库,需要这样做的包括,数据产生器、缓冲器、传输线、封装模型和连接器等等。如下图所示:
而最主要的就是两个部分,其一是IBIS模型(.ibs文件,可以表示缓冲器及其内部封装寄生参数部分),其二是S参数模型(.snp文件,可以表示传输线、封装、连接器等等部分),本文将先介绍HSPICE关于IBIS的应用,然后介绍其关于IBIS模型和S参数混合仿真的例子。
(1)假如有下面一拓扑结构有待仿真(IBIS应用例子):
如图所示,每根传输线的特性阻抗为50欧,延迟为0.5ns,每段负载电容为8pf,IBIS文件采用mysimple_buffer.ibs,模型采用special_IO,类型为output buffer(见附录),下面只用SQ signal explorer和HSPICE来进行仿真。 ① SQ signal explorer
其拓扑结构图如下:
其仿真波形如下:
② HSPICE
仿真网表如下: * IBIS Buffer Test .option post .tran 0.01n 50n
vin in 0 pulse(0V 5V 0n 1n 1n 8n 20n) x1 in out bufferhht
tline1 out 0 out1 0 ZO=50 TD=0.5n tline2 out1 0 out2 0 ZO=50 TD=0.5n tline3 out2 0 out3 0 ZO=50 TD=0.5n c1 out1 0 8p c2 out2 0 8p c3 out3 0 8p
.subckt bufferhht nd_in0 nd_out0 b_op_0 nd_pu0 nd_pd0 nd_out nd_in0 + file = 'mysimple_buffer.ibs' + model = 'special_IO'
+typ=typ power=on buffer=2 interpol=1 xpin nd_out nd_out0 pkg .ends
.subckt pkg nd_out nd_out0 r_pkg nd_out_c nd_out0 12m c_pkg nd_out_c 0 2p l_pkg nd_out nd_out_c 2n .ends
.print v(in) v(out) v(out1) v(out2) v(out3) .end
其仿真波形如下:
(2)假如拓扑结构变成下图(混合仿真例子)
下面给出混合仿真的SPICE网表: * IBIS and s-parameter Test(signal integrity test) .option post .tran 0.01n 50n
vin in 0 pulse(0V 5V 0n 1n 1n 8n 20n) x1 in out bufferhht
S1 out out1 0 mname=s_model
.model s_model S TSTONEFILE=lunwen1.s2p r1 out1 0 1meg
.subckt bufferhht nd_in0 nd_out0 b_op_0 nd_pu0 nd_pd0 nd_out nd_in0
+ file = 'mysimple_buffer.ibs' + model = 'special_IO'
+typ=typ power=on buffer=2 interpol=1 xpin nd_out nd_out0 pkg .ends
.subckt pkg nd_out nd_out0 r_pkg nd_out_c nd_out0 12m c_pkg nd_out_c 0 2p l_pkg nd_out nd_out_c 2n .ends
.print v(in) v(out) v(out1) .end
仿真结果如下:
至此,我们可以进行延迟、反射、阻抗不连续(比如过孔、拐带等等,这些都可以通过场仿真得到的S参数来解决)等信号完整性问题,同步切换噪声等电源完整性问题将在后面的文章中阐述。
因篇幅问题不能全部显示,请点此查看更多更全内容