PCIe5发射机/接收机IBIS-AMI模型
这个例子显示了如何创建IBIS-AMI模型pci - express一代5(作为PCIe Gen5)发射机和接收机使用图书馆块并行转换器工具箱。IBIS-AMI模型生成的这个例子可以用在信号完整性的工具箱和串行连接设计师作为PCIe Gen5 Base-Specification符合出版的一种总线标准团体。
作为PCIe Gen5 Tx / Rx IBIS-AMI模型在并行转换器设计应用程序设置
这个例子的第一部分设置目标发射机和接收机架构使用AMI模型所需的块作为PCIe Gen5并行转换器设计师应用。模型然后出口到仿真软件®进行进一步定制。金宝app
下面的例子使用了并行转换器设计模型pcie5_ibis_txrx
。在MATLAB®命令窗口中输入以下命令打开模型:
> > serdesDesigner (“pcie5_ibis_txrx”);
配置设置
符号时间被设置为
31.25
ps,因为作为PCIe Gen5最大允许数据速率是32 GT / s的奈奎斯特频率16 ghz。系统被设置为
1 e-12(误码率作为PCIe Gen5基础规范定义的)。
每个符号样本设置为16。
调制被设置为
NRZ
(不归零)。信号将维
ifferential
。
发射机模型设置
Tx FFE块pre-tap,设置一个主要挖掘,一个post-tap包括三利用权重
[0
0.75 - -0.25
]
。具体利用预设可以配置在稍后的示例中,当模型导出模型。金宝appTx AnalogOut模型是这样设置的电压 是
1
V,上升时间 是12
ps,R (输出电阻)50
欧姆表8 - 10(注3),C (电容)0.5
pF作为PCIe Gen5根据规范。
通道模型设置
频道损失 设置为
24
dB (37
dB是最大损失的基础通道加上杰姆卡)。差分阻抗 设置为
85年
欧姆(见作为PCIe Gen5基本规范,部分8.4.1.2,图8-28和8-29)。目标频率 的奈奎斯特频率设置为32 gt / s数据速率,这是
16
GHz。
接收机模型设置:寻找CTLE GPZ作为PCIe Gen5矩阵的基本规范
从加载模型可以看出,Rx CTLE 11块设置配置(从0到10)容纳5 - -15 db的增益范围为这个滤波器达到顶峰。下面的代码展示了如何一个方法来找到一个GPZ矩阵CTLE块使用作为PCIe Gen5基础规范提供的传递方程(方程以8:7):
%作为PCIe Gen5基本规范的基础上,以8:7方程:DCgain = 5:15;% Adc定义为一个范围从5到-15分贝。ADC = 10 ^ (-DCgain / 20);z1 = 450 e6;%赫兹wz1 = 2 *π* z1;p1 = 1.65 * z1;%赫兹wp1 = 2 *π* p1;p2 = 9.5 e9;%赫兹wp2 = 2 *π* p2;p3 = 28 e9;%赫兹wp3 = 2 *π* p3;p4 = 28 e9;%赫兹wp4 = 2 *π* p4;f = linspace (0100 e9, 1001);w = 2 *π* f;s = 1 j * w;H = 0(长度(ADC), (f));为2 = 1:长度(ADC) z2 (ii) = abs (ADC (ii)) * p2;wz2 (ii) = 2 *π* z2 (ii);H (ii):) = ((wp1 * wp3 * wp4) / (wz1)。* (((s + wz1)。* (s + wp2 * ADC (ii)))。/ ((s + wp1)。* (s + wp2)。* (s + wp3)。* (s + wp4)));结束图(1)ax₁(1) =次要情节(211);semilogx网格(f, db (H))在包含(“赫兹”)ylabel (“数据库”)标题(作为PCIe 5.0的参考CTLE基本规范,方程以8:7”)ax₁(2) =情节(212);semilogx (f,打开(角(H)))网格在包含(“赫兹”)ylabel (“弧度”)linkaxes (ax₁,“x”)
%定义gpz矩阵:gpz = 0(长度(ADC), 8);gpz (: 1) = -DCgain;gpz (:, 2) = p1;gpz (:, 3) = z1;% z1gpz (:, 4) = p2;gpz (:, 5) = z2;gpz (:, 6) = p3;%注意:列7已经设置为0。gpz (: 8) = p4;
接收器模型设置
Rx AnalogIn模型是这样设置的R (输入电阻)
50
欧姆表8 - 10(注3),C (电容)0.5
pF 根据作为PCIe Gen5规范Rx CTLE块,设置FilterMethod级联,以适应重复波兰人是作为PCIe Gen5基地的详细规范(方程以8:7)。 的处方CTLEset up for 11 configurations (0 to 10) and the associated GPZ Matrix matches the Poles and Zeros given in the PCIe Gen5 Base Specification.
Rx DFE / CDR块设置三个教育部水龙头。每个水龙头的限制已经被单独作为PCIe Gen5根据规范来定义的
+ / -80
mV水龙头1,+ / -20
mV的水龙头2,+ / -20
mV 水龙头3
统计眼图和误码率
您可以使用各种图表类型并行转换器设计可视化的输出和性能作为PCIe Gen5系统。您可以测试Rx CTLE功能通过设置它模式 来固定
和配置 来 1
0
。
选择的误码率 情节从“添加情节”菜单中在将来发布并观察统计眼图显示与误码率。
注意: 这里显示的统计眼图和误码率与所有代表一个配置抖动参数 禁用。
改变Rx CTLEConfigSelect3,观察情节变化:
在继续之前,改变Rx CTLE模式 回适应
。重新设置这个值的RX CTLE将避免模型后,需要设置一遍已经出口到仿真软件。金宝app
抖动设置发射机和接收机
你可以点击Tx / Rx抖动在将来发布查看按钮抖动参数 选项卡。此时,您还可以添加报告 从“添加情节”菜单选项卡在将来发布。的报告 选项卡将使你观察的统计眼图和误码率情节改变当你启用或禁用各种抖动类型抖动参数 选项卡。
您可以启用抖动参数出口仿真软件通过启用复选框金宝appTx_DCD,Tx_Rj,Tx_Dj,x_DCD,Rx_Rj,Rx_Dj 。如果他们是残疾人,他们不会被导出,然而你也可以加入抖动参数在仿真软件使用IBIS-AMI 经理。 金宝app
Tx抖动参数
您可以验证抖动参数正确设置通过引用作为PCIe Gen5基础规范,表之后,“数据速率依赖发射机参数。“
注意: 这些参数将出口与格式类型“浮动”“价值”。After exporting to Simulink, you can change these to format "Range" using the IBIS-AMI Manager.
Tx抖动值(DCD计划Ttx-upw-tj 表之后的作为PCIe Gen5基础规范)
确认值是
6.25 e-12
(注:这是每个规格的最大允许)。确认单位是 设置为秒。
启用Tx_DCD。
TxRj抖动值(Ttx-rj 从表之后)
确认值是
0.45 e-12
(注:这是每个规格的最大允许)。确认单位是 设置为秒。
启用Tx_Rj。
TxDj抖动值(Ttx-upw-djdd 从表之后)
确认值是
2.5 e-12
(注:这是每个规格的最大允许)。确认单位是 设置为秒。
启用Tx_Dj。
Rx抖动参数
Rx以便抖动值
确认值是
0。
确认单位是 设置为秒。
启用Rx_DCD。
处方Rj抖动值(Trx-st-rj 从表8 - 9)
确认值是
0.5 e-12
秒(注:这是每个规格的最大允许)。确认单位是 设置为秒。
启用Rx_DCD。
处方Dj抖动值
确认值是
0。
确认单位是 设置为秒。
启用Rx_Dj。
你可以观察到统计眼睛和误码率的情节几乎是封闭的,但这是预期。抖动参数规范的最大允许的值和没有期望他们会每个最大同时在真实世界的系统。你让这些抖动参数的原因是 所以他们出口时自动包含在这个并行转换器系统仿真软件。金宝app稍后您将看到如何改变这些范围,设置每一个0
作为默认值
注意: 出口仿真软件后,您还可以编辑他们的类型金宝app、使用、格式,使用IBIS-AMI经理。 和价值
出口并行转换器系统仿真软件金宝app
点击出口 按钮在将来发布出口上述配置模型进行进一步定制和代IBIS-AMI模型文件。金宝app
作为PCIe Gen5 Tx / Rx IBIS-AMI模型在仿真软件设置金宝app
这个例子的第二部分需要并行转换器系统导出的并行转换器设计应用和定制它在仿真软件是作为PCIe Gen5所需。金宝app你也可以打开支持文件附加到这个例子金宝apppcie5_ibis_txrx.slx
和探索在仿真软件系统。金宝app以下步骤显示如何配置系统的细节准备出口IBIS-AMI模型。
回顾仿真软件模金宝app型设置
并行转换器系统导入仿真软件的配置,刺激,Tx,模拟通道和Rx块。金宝app并行转换器设计器应用程序的所有设置已经转移到仿真软件模型。金宝app保存模型和检查每一块设置。
你可以确认设置从并行转换器的设计应用程序通过双击配置块和模拟通道阻塞。然后打开参数对话框,并检查他们的价值观。
双击刺激块打开参数对话框。您可以定制的刺激模式在这里通过配置模式和数量的符号来模拟。这一块不是从并行转换器的设计应用。
你可以双击Tx块和Rx块在每个子系统的继承了并行转换器设计应用程序。
设置忽略一些
在运行模拟之前,打开IBIS-AMI经理。你可以设置“比特忽略”Tx,因为企业有3个水龙头。同样,您可以看到“比特忽略”Rx 1000(默认),这应该是足够的价值DFECDR 在时域仿真收敛。
更新Tx抖动参数
你可以改变格式的“范围”抖动参数通过单击AMI - Tx选项卡中,选择Tx_DCD 和新闻编辑按钮。
以下范围允许您调整抖动值作为PCIe Gen5抖动面具来满足需求。例如,参见表之后,“数据速率依赖发射机参数“作为PCIe Gen5基础规范。
设置Tx以便抖动值(Ttx-upw-tj表之后)
选择Tx_DCD,然后单击编辑……按钮,弹出添加/编辑AMI参数对话框。
验证类型来
浮动
。改变格式来
范围
。设置当前值来
0
。设置Typ价值
0
。设置最小值价值
0
。设置马克斯价值
6.25 e-12。
点击好吧保存更改。
设置Tx Rj抖动值(Ttx-rj表之后)
选择Tx_Rj,然后单击编辑……按钮,弹出添加/编辑AMI参数对话框。
遵循的步骤Tx_DCD,以上。
设置马克斯价值
0.45 e-12。
点击好吧保存更改。
设置Tx Dj抖动值(Ttx-upw-djdd表之后)
选择Tx_Dj,然后单击编辑……按钮,弹出添加/编辑AMI参数对话框。
遵循的步骤Tx_DCD,以上。
设置马克斯价值
2.5 e-12。
点击好吧保存更改。
更新接收机AMI参数
打开AMI-Rx选项卡中并行转换器宜必思/ AMI管理器对话框。典型的AMI文件的格式后,保留参数首先列出模型具体参数。
更新Rx抖动参数
选择Rx_DCD,Rx_Dj和Rx_Rj并按照上面的步骤Tx_DCD。以下范围允许你调整自己的系统的抖动值。
设置Rx以便抖动值
选择Rx_DCD,然后单击编辑……按钮,弹出添加/编辑AMI参数对话框。
改变类型来
浮动
。改变格式来
范围
。设置当前值来
0
。设置Typ价值
0
。设置最小值价值
0
。设置马克斯价值
0
。点击好吧保存更改。
设置Rx Rj抖动值(Trx-st-rj表8 - 9)
选择Rx_Rj,然后单击编辑……按钮,弹出添加/编辑AMI参数对话框。
遵循的步骤Rx_DCD。
设置马克斯价值
0.5 e-12。
点击好吧保存更改。
设置Rx Dj抖动值
选择Rx_Dj,然后单击编辑……按钮打开添加/编辑AMI参数对话框。
遵循的步骤Rx_DCD。
点击好吧保存更改。
注意:您可以关闭宜必思AMI经理在下一节中,你可以重新审视这个对话框以后出口IBIS-AMI模型。
回顾Tx FFE块
Tx子系统内部,双击FFE块打开FFE块参数对话框。
确认的当前值模式被设置为
固定
。
回顾Rx CTLE块
在Rx子系统,双击CTLE块打开参数对话框。
获得极零数据从并行转换器设计的应用程序。这极零数据应用传递函数作为PCIe Gen5行为CTLE给定的基本规范。
CTLE模式被设置为
适应
,这意味着一个优化算法构建到CTLE系统对象在运行时选择最优配置。
回顾Rx DFECDR块
在Rx子系统,双击DFECDR块打开DFECDR块参数对话框。
扩大IBIS-AMI参数显示的列表参数被包含在IBIS-AMI模型。
DFE利用价值(s)进行串并收发器的设计应用。
作为PCIe Gen5 Tx / Rx IBIS-AMI生成模型
这个例子的最后一部分需要定制的Simulink仿真模型,修改作为PCIe Gen5 AMI参数,然后生成金宝appIBIS-AMI兼容的模型文件。
打开配置块的参数对话框中,单击开放并行转换器宜必思/ AMI经理按钮。在宜必思选项卡内并行转换器宜必思/ AMI管理器对话框中,模拟模型转换为标准宜必思参数值,可以使用任何行业标准模拟器。在AMI-Rx选项卡中并行转换器宜必思/ AMI经理对话框,列出了保留参数首先其次是模型具体参数后典型的AMI的格式文件。
更新发射机AMI参数
打开AMI-Tx 选项卡中并行转换器宜必思/ AMI管理器对话框。典型的AMI文件的格式后,保留参数首先列出模型具体参数。
如何设置TX FFE挖掘通过创建新的AMI参数值,实现一个算法在Init客户特定的代码部分选择作为PCIe Gen5 P0通过P10预设值。
点击固定资产以下列出的参数Model_Specific 参数,然后点击按钮“添加参数。”然后配置对话框中的选项如下:
父节点:固定资产(默认)
参数名称:ConfigSelect
当前值:用户定义的
描述:作为PCIe Gen5 Tx利用权重配置
用法:在
类型:整数
格式:列表
默认值:1(1是用于选择“用户定义”水龙头,它不是一个预设的规范)
列表值:(1 0 1 2 3 4 5 6 7 8 9]
List_Tip值(“用户定义”:“P0”“P1”“P2”“P3”“P4”“P5”“P6”“P7”“P8”“票数”]
注意:直接指定预设系数时,改变三个的格式TapWeights 并指定为每个预设使用的价值。只有这些11预设定义将被允许,这三个阀门必须设置为相同的预设来得到正确的值。
修改初始化选择预设前冲利用,主要利用,不强调水龙头
修改初始化MATLAB函数在初始化块Tx子系统使用新添加的ConfigSelect参数。的ConfigSelect 参数控制现有的三个发射机水龙头。为此,添加一个switch语句的值ConfigSelect 并自动为所有三个Tx水龙头设置值,忽略了用户定义的值为每个水龙头。如果一个ConfigSelect 的价值1
使用,用户定义的Tx利用值通过FFE datapath公司块不变。
Tx子系统内部,双击打开块参数的初始化块对话框并点击刷新Init 按钮传播新的AMI参数初始化子系统。然后点击显示初始化 按钮打开函数在一个编辑器窗口。
注意:您还可以输入Ctrl-U 面具下寻找Init块,然后双击打开的初始化块初始化函数。
双击impulseEqualization MATLAB功能块打开在MATLAB函数。这是一个自动生成的函数提供了并行转换器系统的脉冲响应处理块(宜必思AMI-Init)。的% %
开始:
和%结束:
行表示可以输入自定义的用户代码的部分。数据在本节中,将不会书写过度运行Init刷新时:
添加自定义ConfigSelect控制代码,向下滚动客户区域,用户代码注释掉FFEParameter.ConfigSelect
线,然后输入以下代码:
% %开始:自定义用户代码区域(“刷新Init”按钮被按下时保留)
% FFEParameter.ConfigSelect;%的用户添加AMI参数
开关
FFEParameter.ConfigSelect
情况下
1
%用户定义利用权重
FFEInit。TapWeights = FFEParameter.TapWeights;
情况下
0
%作为PCIe配置:P0
FFEInit。TapWeights = (0.000 0.750 -0.250);
情况下
1
%作为PCIe配置:P1
FFEInit。TapWeights = (0.000 0.830 -0.167);
情况下
2
%作为PCIe配置:P2
FFEInit。TapWeights = (0.000 0.800 -0.200);
情况下
3
%作为PCIe配置:P3
FFEInit。TapWeights = (0.000 0.875 -0.125);
情况下
4
%作为PCIe配置:P4
FFEInit。TapWeights = (0.000 1.000 0.000);
情况下
5
%作为PCIe配置:P5
FFEInit。TapWeights = (-0.100 0.900 0.000);
情况下
6
%作为PCIe配置:P6
FFEInit。TapWeights = (-0.125 0.875 0.000);
情况下
7
%作为PCIe配置:第七页
FFEInit。TapWeights = (-0.100 0.700 -0.200);
情况下
8
%作为PCIe配置:P8
FFEInit。TapWeights = (-0.125 0.750 -0.125);
情况下
9
%作为PCIe配置:票数
FFEInit。TapWeights = (-0.166 0.834 0.000);
否则
FFEInit。TapWeights = FFEParameter.TapWeights;
结束
%:自定义用户代码区域(“刷新Init”按钮被按下时保留)
测试新的固定资产控制参数是否正常工作,打开并行转换器IBIS-AMI管理器对话框的配置块。在AMI-Tx选项卡中,编辑ConfigSelect参数设置当前值来P7
。这对应于作为PCIe配置P7: Pre = -0.100,主要= 0.700,= -0.200。
修改GetWave选择预设的前冲,主要利用,不强调水龙头
修改GetWave,添加一个新的MATLAB函数运行在相同的方式作为初始化函数。
Tx子系统内部,类型Ctrl-U面具下的FFE块。
你可以看到,添加了一个新的常数块调用FFEParameter.ConfigSelect。这是自动创建的IBIS-AMI经理当添加一个新的保留参数。接下来,您可以按照以下步骤配置的选择利用体重预设时间域(GetWave)模拟:
添加一个MATLAB仿真软件的功能块到画布/用户定义的库。金宝app
重命名的MATLAB函数块
PCIe5FFEconfig
。双击MATLAB功能块和替换模板使用以下代码:
% PCIe5自来水配置选择器
%选择预定义的Tx FFE利用权重基于PCIe5指定
%的配置。
%的输入:
% TapWeightsIn:用户定义浮点利用重量值。
% ConfigSelect: 0 - 9: PCIe4定义配置(P0-P9)。
% 1:用户定义的配置(从TapWeightsIn)。
%输出:
% TapWeightsOut:利用权重数组。
函数
TapWeightsOut = PCIe5FFEconfig (TapWeightsIn ConfigSelect)
开关ConfigSelect
情况下
1
%用户定义利用权重
TapWeightsOut = TapWeightsIn;
情况下
0
%作为PCIe配置:P0
TapWeightsOut = (0.000 0.750 -0.250);
情况下
1
%作为PCIe配置:P1
TapWeightsOut = (0.000 0.833 -0.167);
情况下
2
%作为PCIe配置:P2
TapWeightsOut = (0.000 0.800 -0.200);
情况下
3
%作为PCIe配置:P3
TapWeightsOut = (0.000 0.875 -0.125);
情况下
4
%作为PCIe配置:P4
TapWeightsOut = (0.000 1.000 0.000);
情况下
5
%作为PCIe配置:P5
TapWeightsOut = (-0.100 0.900 0.000);
情况下
6
%作为PCIe配置:P6
TapWeightsOut = (-0.125 0.875 0.000);
情况下
7
%作为PCIe配置:第七页
TapWeightsOut = (-0.100 0.700 -0.200);
情况下
8
%作为PCIe配置:P8
TapWeightsOut = (-0.125 0.750 -0.125);
情况下
9
%作为PCIe配置:票数
TapWeightsOut = (-0.166 0.834 0.000);
否则
TapWeightsOut = TapWeightsIn;
结束
连接固定资产子系统,以便FFETapWeights和FFEConfigSelect常数块连接到输入的新定义PCIe4FFEconfig MATLAB功能块。的TapWeightsOut信号PCIe4FFEconfig块连接到TapWeights FFE块的港口。
运行仿真软件的并行转换器系统模型金宝app
现在,您可以运行模型来模拟并行转换器系统。许多情节生成,包括现场时域(GetWave)眼图模型运行时更新。
第二个情节包含视图的统计(Init)结果和持续时间域(GetWave)的结果,类似于在并行转换器设计器应用程序可用。
您可能会注意到,眼睛高度统计和时间域之间可以不同。有许多可能的原因更大的眼图在时域开口:一个例子可能是使用的编码刺激控制ISI,另一个例子可能是教育部积极行为,等等。你可以探索系统可视化性能而改变等特点CTLE设置为固定的,等等。
出口IBIS-AMI模型
打开出口选项卡中并行转换器宜必思/ AMI管理器对话框。
验证Tx模型名称是pcie_g5
_tx
。验证Rx模型名称是pcie_g5
_rx
。请注意,Tx和Rx角落百分比被设置为
10
。这将扩展角值的最小/最大模拟模型+ / -10%。验证二元模型被选中为Tx和Rx AMI模型设置。这将创建模型可执行文件,同时支持统计(Init)和时域(GetWave)分析。金宝app
设置Tx模型忽略价值来
3
因为有三个Tx FFE水龙头。设置Rx模型忽略价值来
1000年
允许足够的时间对Rx DFE水龙头在时域仿真来解决。集模型出口作为Tx和Rx这样选择的所有文件生成(AMI宜必思文件,文件和DLL文件)。
设置宜必思文件名pcie5ami。
按下出口按钮来生成模型在目标目录中。
测试生成IBIS-AMI模型
作为PCIe Gen5发射机和接收机IBIS-AMI模型现在完成,可以使用在任何行业标准的EDA工具IBIS-AMI模拟的能力。
引用
[1]一种总线标准团体,https://pcisig.com。