主要内容

建模高速背板(对Verilog-A模块的Rational Function)

此示例显示如何使用RF Toolbox™功能生成Verilog-A模块,该模块模拟高速背板的高级行为。首先,它读取用于差分高速背板的单端4端口S参数,并将其转换为2端口差分S参数。然后,它计算差分电路的传递函数,并赋予转移函数的合理函数。接下来,该示例导出Verilog-A描述模型的模块。最后,它绘制了生成的Verilog-A模块的单位步骤响应在第三方电路仿真工具中。

使用Rational Function对象描述高速背板的高级行为

读取Touchstone®数据文件,default.s4p.s4p.s4p.进入A.斯帕纳斯目的。该数据文件中的参数是单端4端口无源电路的50欧姆S参数,在50 MHz到15 GHz的1496频率下测量。然后,从存储在存储的数据中提取单端4端口S参数参数财产的财产斯帕纳斯对象,使用S2SDD将它们转换为差分2端口S参数的功能,并使用S2TF.用于计算差分电路的传递函数的功能。然后,使用RationalFit.函数生成一个rfmodel.rational.描述该高速背板的高级行为的对象。这rfmodel.rational.对象是一个Rational函数对象,使用杆,残留物和其他参数表示电路的传送功能,如下所述RationalFit.参考页面。

filename =.'default.s4p';backplane = sparameters(文件名);data = backplane.parameters;freq = backplane.FREQUENCIES;z0 = backplane.impedance;

转换为2端口差分S参数。

diffdata = s2sdd(数据);diffz0 = 2 * z0;difftf = s2tf(diffdata,diffz0,diffz0,diffz0);

将差分传递函数拟合到合理功能中。

fittol = -30;DB中的%合理拟合耐受性delayfactor = 0.9;%延迟因子RationalFunc = RationalFit(弗雷克,Difftf,Fittol,'delayfactor',delayfactor)
RationalFunc = rfmodel.ritional的属性:a:[20x1 double] c:[20x1 double] d:0 delay:6.0172e-09名称:'Rational Function'

将Rational函数对象导出为Verilog-A模块

使用Writeva.方法的方法rfmodel.rational.对象将Rational函数对象导出为Verilog-A模块,调用samplepassive1.,描述了理性模型。输入和输出网samplepassive1.被称为line_in.线路输出。预定义的verilog-a学科,电气,描述了这些网的属性。数值的格式,例如拉普拉斯变换分子和分母系数,是%12.10e.。电气学科在文件中定义学科.Vams.,其中包括在开始的开始samplepassive1.va.文件。

WorkingDir = TempName;Mkdir(WorkingDir)Writeva(RationalFunc,Fullfile(WorkingDir,'samplepassive1'),......'line_in''线路输出''电气''%12.10e''学科.vams');
类型(fullfile(WorkingDir,'samplepassive1.va'));
//模块:由MATLAB(R)9.10和RF工具箱4.1生成的SAMPLEPASSIVE1 //。//生成:23-FEB-2021 18:13:03“ICONITANES.VAMS”模块SAMPLEPASSIVE1(LINE_IN,LINE_OUT);电气线路,line_out;电气Node1;真实NN1 [0:1],NN2 [0:1],NN3 [0:1],NN4 [0:1],NN5 [0:1],NN6 [0:1],NN7 [0:1],NN8 [0:1],NN9 [0:1],NN10 [0:0],NN11 [0:0];真实DD1 [0:2],DD2 [0:2],DD3 [0:2],DD4 [0:2],DD5 [0:2],DD6 [0:2],DD7 [0:2],DD8 [0:2],DD9 [0:2],DD10 [0:1],DD11 [0:1];模拟开始@(initial_step)开始nn1 [0] = -3.8392614832e + 18;NN1 [1] = 5.2046393014E + 07; dd1[0] = 2.8312609831e+21; dd1[1] = 3.5124823781e+09; dd1[2] = 1.0000000000e+00; nn2[0] = -2.0838483814e+19; nn2[1] = 5.3487174017e+08; dd2[0] = 1.8020362314e+21; dd2[1] = 7.8266367089e+09; dd2[2] = 1.0000000000e+00; nn3[0] = 1.7726270794e+19; nn3[1] = 2.5185716022e+09; dd3[0] = 1.2157471895e+21; dd3[1] = 8.1132784895e+09; dd3[2] = 1.0000000000e+00; nn4[0] = 2.3112282793e+20; nn4[1] = 9.2690544437e+08; dd4[0] = 7.9582429152e+20; dd4[1] = 1.1379108659e+10; dd4[2] = 1.0000000000e+00; nn5[0] = 8.9321469721e+19; nn5[1] = -1.4945928109e+10; dd5[0] = 4.1473706594e+20; dd5[1] = 1.1346735824e+10; dd5[2] = 1.0000000000e+00; nn6[0] = -3.5180951909e+20; nn6[1] = -1.9895507212e+10; dd6[0] = 1.9080843811e+20; dd6[1] = 1.0434555792e+10; dd6[2] = 1.0000000000e+00; nn7[0] = -1.0593240107e+20; nn7[1] = 1.9248932577e+10; dd7[0] = 6.1152960549e+19; dd7[1] = 1.0001203231e+10; dd7[2] = 1.0000000000e+00; nn8[0] = 5.4441539403e+16; nn8[1] = -9.7818749687e+06; dd8[0] = 4.3821946493e+19; dd8[1] = 6.6700188623e+08; dd8[2] = 1.0000000000e+00; nn9[0] = 2.2556903052e+16; nn9[1] = 7.9711163023e+06; dd9[0] = 2.1228807651e+19; dd9[1] = 4.9531801417e+08; dd9[2] = 1.0000000000e+00; nn10[0] = 1.1592988960e+10; dd10[0] = 3.0829914556e+09; dd10[1] = 1.0000000000e+00; nn11[0] = 1.2852839051e+08; dd11[0] = 5.9779845807e+08; dd11[1] = 1.0000000000e+00; end V(node1) <+ laplace_nd(V(line_in), nn1, dd1); V(node1) <+ laplace_nd(V(line_in), nn2, dd2); V(node1) <+ laplace_nd(V(line_in), nn3, dd3); V(node1) <+ laplace_nd(V(line_in), nn4, dd4); V(node1) <+ laplace_nd(V(line_in), nn5, dd5); V(node1) <+ laplace_nd(V(line_in), nn6, dd6); V(node1) <+ laplace_nd(V(line_in), nn7, dd7); V(node1) <+ laplace_nd(V(line_in), nn8, dd8); V(node1) <+ laplace_nd(V(line_in), nn9, dd9); V(node1) <+ laplace_nd(V(line_in), nn10, dd10); V(node1) <+ laplace_nd(V(line_in), nn11, dd11); V(line_out) <+ absdelay(V(node1), 6.0171901584e-09); end endmodule

绘制生成的Verilog-A模块的单位步骤响应

许多第三方电路仿真工具支持Verilog-A标准。金宝app这些工具模拟了Verilog定义的独立组件 - 一个包含这些组件的模块和电路。下图显示了Samplepassive1模块的单位步骤响应。使用第三方电路仿真工具生成该图。

图1:单位步骤响应。

删除(fullfile(WorkingDir,'samplepassive1.va'));RMDIR(WorkingDir)

相关话题