这个例子展示了如何使用RF工具箱构建和模拟一个RC树电路。
在“用于时间分析的渐近波形评估”(IEEE Transactions on Computer-Aided Design, Vol. 9, No. 4, 1990年4月)中,Pillage和Rohrer提出并模拟了一个RC树电路,该电路在中低频率MOS电路互连中模拟信号完整性和串扰。这个例子证实了他们使用RF工具箱软件的模拟。
他们的电路如下图所示,由11个电阻和12个电容组成。在《Pillage and Rohrer》这篇论文中:
施加斜坡电压输入
计算瞬态响应
画出两个不同电容器的输出电压,C7
和C12
.
图1:带串扰MOS互连的RC树模型。
使用RF Toolbox,您可以在MATLAB中以编程方式构造此电路,并执行信号完整性仿真。
这个例子展示了:
如何使用克隆
,setports
,sparameters
对象来计算宽频率范围内每个所需输出的s参数。
如何使用s2tf
与Zsource = 0
和Zload =正
计算从输入到每个期望输出的电压传递函数。
如何使用rationalfit
函数产生有理函数近似,以非常高的精度捕获理想的rc电路行为。
如何使用timeresp
函数,计算输入电压波形的瞬态响应。
在搭建电路之前使用电阻器
和电容器
对象时,我们必须为如图1所示的电路节点编号。
图2:用节点号绘制的电路
创建一个电路
并使用添加
函数来填充命名的电路电阻器
和电容器
对象。
电路=电路(“相声”);添加(2[1],电路电阻(10,R1的)添加([2 0]电路,电容器(0.114 e-12,“C1”)添加(2[3],电路电阻(72年R2的)添加([3 0]电路,电容器(1.238 e-12,C2的)添加(3[4],电路电阻(34岁R3的)添加([4 0]电路,电容器(0.021 e-12,“C3”)添加(4[5],电路电阻(96年“R4”)添加([5 0]电路,电容器(0.028 e-12,“C4”)添加(5[6],电路电阻(72年R5的)添加([6 0]电路,电容器(0.007 e-12,“C5”)添加(6[7],电路电阻(10,“R6”)添加([7 0]电路,电容器(1.048 e-12,“C6”)添加(8[7],电路电阻(120年“R7”)添加([8 0]电路,电容器(0.47 e-12,“C7”)添加(12[8],电路电阻(24日R8的)添加(电路(12 0),电容器(0.2 e-12,“C8”)添加(电路、2[10]、电阻器(48岁“R9机型”)添加(电路,(10 0),电容器(0.007 e-12,“制备”)添加(11[10],电路电阻(24日“R10”)添加(11[0]电路,电容器(0.2 e-12,“10大”)添加(电路,8[9],电容器(0.1 e-12,“C11”)添加([9 0],电路电阻(1000年“R11”)添加([9 0]电路,电容器(1 e-12,“C12”))
Pillage和Rohrer使用的输入信号是一个从0到5伏的电压斜坡,上升时间为1纳秒,持续时间为10纳秒。下面的MATLAB代码用1000个时间点建模这个信号sampleTime
0.01纳秒。
下面的MATLAB代码也使用了logspace
函数生成一个向量,该向量包含1 Hz和100 GHz之间的101个对数间隔分析频率。指定广泛的频率点集可提高模拟精度。
sampleTime = 1 e-11;t = (0:1000) * sampleTime;输入= [(0:100)* (5/100);(101:1000) * 0 + 5];频率= logspace (11101 0) ';
来计算两边的响应C7
和C12
电容器,必须做两个单独的s参数计算:首先,假设C7
电容表示输出端口,第二,假设C12
电容表示输出端口。要计算每个设置的s参数:
复制原始电路电路
使用克隆
函数。
控件定义网络的输入和输出端口setports
函数。
计算s参数使用sparameters
对象。
计算的参数与C7
电容表示输出端口。
cktC7 =克隆(电路);setports(cktC7,[1 0],[8 0]) S_C7 =参数(cktC7,freq);
计算的参数与C12
电容表示输出端口。
cktC12 =克隆(电路);setports(cktC12,[1 0],[9 0]) S_C12 =参数(cktC12,freq);
要模拟每个网络:
的s2tf
函数,选择= 2
,计算从源电压到输出电压的增益。在这种情况下,它允许任意的源和负载阻抗Zsource = 0
和Zload =正
.得到的传递函数tfC7
和tfC12
是频率相关的数据向量,可以用有理函数近似拟合。
的rationalfit
函数生成高精度有理函数逼近。所得到的近似与网络的机器精度相匹配。
的timeresp
函数计算由有理函数近似定义的状态空间方程的解析解。这种方法的速度足够快,可以让一个人通过一个通道推送一百万个比特。
模拟cktC7
电路。
tfC7 = s2tf (S_C7 0正无穷,2);fitC7 = rationalfit(频率、tfC7);outputC7 = timeresp (fitC7、输入、sampleTime);
模拟cktC12
电路。
tfC12 = s2tf (S_C12 0正无穷,2);fitC12 = rationalfit(频率、tfC12);outputC12 = timeresp (fitC12、输入、sampleTime);
输出与Pillage和Rohrer论文的图23和图24相匹配。含串扰的中低频率MOS电路互连的斜坡响应图。
图绘制(t,输入,t, outputC7“线宽”,2)轴([0 2.5e-9 0 5.5]);标题(具有串扰的中低频MOS电路互连的斜坡响应);包含(的时间(秒));ylabel (的电压(伏));传奇(“Vinput”,“V (C7)”,“位置”,“西北”);
绘制带有斜坡输入的中低频率MOS电路互连中的串扰。
图绘制(t,输入,t, outputC12“线宽”,2)轴([0 5e-9 0 .5])“斜坡输入的中低频MOS电路互连中的串扰”)包含(的时间(秒)) ylabel (的电压(伏))传说(“Vinput”,“V (C12)”,“位置”,“东北”)
虽然在本例中没有显示,但您也可以使用freqresp
的行为检查rationalfit
在规定的频率范围外正常工作。超出规定范围的配合有时会导致意外的行为,特别是在没有提供接近0hz (DC)的频率数据的情况下。
要执行本例中有理函数近似的检查,取消注释并运行以下MATLAB代码。
% widerFreqs = logspace(0,12,1001);% respC7 = freqrespp (fitC7,widerFreqs);%图%重对数(频率、abs (tfC7),‘+’,widerFreqs, abs (respC7))% respC12 = freqrespp (fitC12,widerFreqs);%图%重对数(频率、abs (tfC12),‘+’,widerFreqs, abs (respC12))
例如,如何构建和模拟这个RC树电路使用RFCKT对象,见使用RFCKT对象的MOS互连和串扰.