定制并行转换器工具箱Datapath公司控制信号
这个例子展示了如何自定义控制信号并行转换器系统datapath公司通过添加新的自定义AMI参数和使用MATLAB®函数块。这允许您定制现有的控制参数,而无需修改内置模块的并行转换器工具箱™图书馆。
这个例子展示了如何添加一个新的AMI参数来控制操作的三个发射机龙头企业所使用的块。自定义AMI参数同时集所有三个水龙头的十值PCIe4规范定义的或允许您输入三个自定义浮点值。了解如何定义一个PCIe4发射机模型,明白了PCIe4发射机/接收机IBIS-AMI模型。
PCIe4转移模型
发射机模型在本例符合PCIe4规范。接收器是一个简单的传递模型。PCIe4兼容发射机使用3
利用前馈均衡器(FFE)与一个pre-tap post-tap,和十个预设。
打开模型adding_tx_ffe_params
。并行转换器系统仿真软件®模型由配置,金宝app刺激,Tx,模拟通道和Rx块。
open_system (“adding_tx_ffe_params.slx”)
Tx子系统包含一个FFE块模型的时域部分AMI模型和一个初始化块模型统计部分。
模拟通道块PCIe4参数值目标频率,损失,阻抗和Tx / Rx模拟模型参数。
Rx子系统有一个直通块和一个初始化块。
添加新的AMI参数
添加一个新的AMI参数可用的发射机Init和GetWave datapath公司模块和功能。中的参数还包括Tx IBIS-AMI文件。
双击配置块打开参数对话框。单击开放并行转换器IBIS-AMI经理按钮。去AMI-Tx选项卡的并行转换器IBIS-AMI管理器对话框。
选择固定资产参数,然后单击添加参数…添加一个新的固定资产sub-parameter。
设置参数名称
ConfigSelect
。保持当前值作为
0
。在描述中,添加
Pre /主/后点击配置选择器
。保持使用作为
在
。设置类型来
整数
。设置格式来
列表
。下列表格式的细节,设置默认的来
0
。集列表值来
[1 0 1 2 3 4 5 6 7 8 9]
集List_Tip值来
(“用户定义”“P0”“P1”“P2”“P3”“P4”“P5”“P6”“P7”“P8”“票数”]
一个新参数ConfigSelect*添加到AMI-Tx选项卡。
修改初始化
修改初始化MATLAB函数在初始化块Tx子系统使用新添加的ConfigSelect*参数。的ConfigSelect*参数控制现有的三个发射机水龙头。为此,添加一个switch语句的值ConfigSelect*所有三个Tx水龙头并自动设置值,忽略了用户定义的值为每个水龙头。如果一个ConfigSelect的价值1
使用,那么用户定义的Tx利用值通过FFE datapath公司块不变。
Tx子系统内部,双击打开块参数的初始化块对话框并点击刷新Init按钮来传播新的AMI参数初始化子系统。
类型Ctrl-U初始化块的面具下,然后双击打开的初始化块初始化函数。
双击impulseEqualization MATLAB功能块打开在MATLAB函数。这是一个自动生成的函数提供了并行转换器系统的脉冲响应处理块(宜必思AMI-Init)。的% %开始:
和%结束:
行表示可以输入自定义的用户代码的部分。数据在本节中,将不会书写过度运行Init刷新时:
% %开始:自定义用户代码区域(“刷新Init”按钮被按下时保留)FFEParameter.ConfigSelect;%的用户添加AMI参数%:自定义用户代码区域(“刷新Init”按钮被按下时保留)
添加自定义ConfigSelect控制代码,向下滚动客户区域,用户代码注释掉FFEParameter.ConfigSelect
线,然后输入以下代码:
% %开始:自定义用户代码区域(“刷新Init”按钮被按下时保留)% FFEParameter.ConfigSelect;%的用户添加AMI参数开关FFEParameter.ConfigSelect情况下1%用户定义利用权重FFEInit。TapWeights = FFEParameter.TapWeights;情况下0%作为PCIe配置:P0FFEInit。TapWeights = (0.000 0.750 -0.250);情况下1%作为PCIe配置:P1FFEInit。TapWeights = (0.000 0.830 -0.167);情况下2%作为PCIe配置:P2FFEInit。TapWeights = (0.000 0.800 -0.200);情况下3%作为PCIe配置:P3FFEInit。TapWeights = (0.000 0.875 -0.125);情况下4%作为PCIe配置:P4FFEInit。TapWeights = (0.000 1.000 0.000);情况下5%作为PCIe配置:P5FFEInit。TapWeights = (-0.100 0.900 0.000);情况下6%作为PCIe配置:P6FFEInit。TapWeights = (-0.125 0.875 0.000);情况下7%作为PCIe配置:第七页FFEInit。TapWeights = (-0.100 0.700 -0.200);情况下8%作为PCIe配置:P8FFEInit。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。
运行仿真,观察Init统计分析的结果。注意:时域波形不会是正确的,直到你线不断阻止新参数ConfigSelect固定资产在画布上。您将看到如何在下一节。
接下来,设置当前值的ConfigSelect*参数用户定义的
。这对应于用户定义利用权重:Pre = 0.000,主要= 1.000,= 0.000。
运行仿真,观察Init统计分析的结果。
尝试不同的值ConfigSelect*验证正确操作。统计的眼睛打开和关闭基于均衡应用由固定资产的数量。多少变化,和水龙头的值创建基于损失最开放的眼睛变化模拟通道中定义的块。
修改GetWave
修改GetWave,添加一个新的MATLAB函数运行在相同的方式作为初始化函数。
Tx子系统内部,类型Ctrl-U面具下的FFE块。
你可以看到一个常数自动添加了块IBIS-AMI经理的画布恒定值设置为
FFEParameter.ConfigSelect
。添加一个MATLAB仿真软件的功能块到画布/用户定义的库。金宝app
重命名的MATLAB函数块
PCIe4FFEconfig
。双击MATLAB功能块和替换模板使用以下代码:
% PCIe4自来水配置选择器%选择预定义的Tx FFE利用权重基于PCIe4指定%的配置。%%的输入:% TapWeightsIn:用户定义浮点利用重量值。% ConfigSelect: 0 - 9: PCIe4定义配置(P0-P9)。% 1:用户定义的配置(从TapWeightsIn)。%输出:% TapWeightsOut:利用权重数组。%函数TapWeightsOut = PCIe4FFEconfig (TapWeightsIn ConfigSelect)
开关ConfigSelect情况下1%用户定义利用权重TapWeightsOut = TapWeightsIn;情况下0%作为PCIe配置:P0TapWeightsOut = (0.000 0.750 -0.250);情况下1%作为PCIe配置:P1TapWeightsOut = (0.000 0.833 -0.167);情况下2%作为PCIe配置:P2TapWeightsOut = (0.000 0.800 -0.200);情况下3%作为PCIe配置:P3TapWeightsOut = (0.000 0.875 -0.125);情况下4%作为PCIe配置:P4TapWeightsOut = (0.000 1.000 0.000);情况下5%作为PCIe配置:P5TapWeightsOut = (-0.100 0.900 0.000);情况下6%作为PCIe配置:P6TapWeightsOut = (-0.125 0.875 0.000);情况下7%作为PCIe配置:第七页TapWeightsOut = (-0.100 0.700 -0.200);情况下8%作为PCIe配置:P8TapWeightsOut = (-0.125 0.750 -0.125);情况下9%作为PCIe配置:票数TapWeightsOut = (-0.166 0.834 0.000);否则TapWeightsOut = TapWeightsIn;结束
连接固定资产子系统,以便FFETapWeights和FFEConfigSelect常数块连接到输入的新定义PCIe4FFEconfig MATLAB功能块。的TapWeightsOut信号PCIe4FFEconfig块连接到TapWeights港口企业的块。
测试新的固定资产控制参数是否正常工作,打开并行转换器IBIS-AMI管理器对话框的配置块。在AMI-Tx选项卡中,编辑ConfigSelect*参数设置当前值来P7
。这对应于作为PCIe配置P7: Pre = -0.100,主要= 0.700,= -0.200。观察输出波形。
接下来,设置当前值的ConfigSelect*参数用户定义的
。这对应于用户定义利用权重:Pre = 0.000,主要= 1.000,= 0.000。观察输出波形的变化。
尝试不同的值ConfigSelect*验证正确操作。时域的眼睛打开和关闭基于均衡的数量由企业应用。多少变化,和水龙头的值创建基于损失最开放的眼睛变化模拟通道中定义的块。
出口Tx IBIS-AMI模型
验证Init和GetWave都如预期的行为,然后生成最终IBIS-AMI兼容PCIe4模型可执行文件,宜必思和AMI文件。
双击配置块打开参数对话框。单击开放并行转换器IBIS-AMI经理按钮,然后选择出口标签:
更新Tx模型名称来
pcie4_tx
。Tx和Rx角落百分比被设置为
10
。这将扩展角值的最小/最大模拟模型+ / -10%。验证二元模型是选为模型类型Tx。这将创建模型可执行文件,同时支持统计(Init)和时域(GetWave)分析。金宝app
设置Tx模型位忽略参数
3
因为有三个Tx FFE水龙头。设置模型出口来Tx只。
设置宜必思文件名(.ibs)来
pcie4_tx_serdes.ibs
单击出口按钮来生成模型目标目录。
测试生成的IBIS-AMI模型
PCIe4发射机IBIS-AMI模型现在已经完成,准备进行测试在任何行业标准AMI模型模拟器。