使用传递函数数据建模SerDes CTLE
取表示连续时间线性均衡器(CTLE)频率响应的传递函数数据,并将其转换为可在SerDes Toolbox™CTLE块中用于统计分析和时域模拟的增益极零(GPZ)矩阵。
在SerDes工具箱中创建精确的行为模型,以再现晶体管级设计工具或测量的结果。该模型精确地再现了CTLE的行为,IBIS-AMI模型将预测通道模拟器中的硅行为。SerDes Toolbox CTLE是通过GPZ矩阵配置的,因此需要一种方法来从传递函数信息中提取极点和零点。
使用RF Toolbox™中的有理函数来拟合数据的传递函数。有理函数使用非迭代插值算法来构造拟合。所得结果是一个稳定、因果的合理对象,可用于SerDes的统计分析和时域模拟。
欢迎来到这个关于SerDes工具箱的视频。在本视频中,我将解释如何采取传递函数数据表示连续时间线性均衡器,或CTLE的频率响应,并将其转换为增益极零,或GPZ,矩阵,可以加载到SerDes工具箱CTLE块。
在这个视频中,我将讨论转换过程的目标以及为什么要遵循这种方法,介绍SerDes工具箱CTLE块,然后展示可用于转换传递函数到GPZ矩阵的过程和MATLAB脚本。最后,我将讨论一些你可能需要做的事情,以便得到一组好的极点和零。
我们要解决的问题是什么?我们正在尝试在SerDes工具箱中创建一个行为模型,该模型可以模拟在晶体管级设计工具中捕获的行为。行为模型需要足够精确地再现CTLE的行为,以便IBIS-AMI模型能够预测通道模拟器中的硅行为。SerDes Toolbox CTLE是通过GPZ矩阵配置的,因此需要一种方法来从传递函数信息中提取极点和零点。
下面是建模CTLE时需要考虑的一些事情。当上游进行更改时,一个好的模型将很容易更新。例如,在硅设计和表征过程中,CTLE曲线数据可能会发生变化,因此有必要更新模型中的曲线数据。
当模型易于更新时,可以在设计过程的早期制作IBIS-AMI模型,这为系统设计人员和其他人提供了进行初步分析的方便方法。当新数据可用时,IBIS-AMI模型可以使用更新的信息重新生成。
SerDes工具箱中的CTLE块就是为这个过程设计的。这是一种行为模式,所以速度很快。GPZ矩阵易于配置。它既能进行统计分析,又能进行时域分析。CTLE可以通过在统计分析中查看通道的脉冲响应来适应(从所有配置中选择一个配置)。它编译成一个可移植的、完全兼容的IBIS-AMI模型。
SerDes Toolbox CTLE是一个通用的CTLE块。正如您将看到的,它是用户可配置的。重要的一点:当在SerDes Designer应用程序中设置模型时,使用尽可能多的CTLE块。如果您的设备有四个阶段CTLE,那么使用四个CTLE块来建模。这将使配置、更新和模型执行变得简单和高效。
如果您正在使用SerDes Designer应用程序,则通过在平面图区域中选择CTLE块来访问配置参数。参数为:
- 名称:这使得它更容易匹配模型与硅,特别是如果你使用多个CTLE块建模多级CTLE。
- 模式:有三种模式:关闭- CTLE被禁用,是一个直通;适应- CTLE从统计分析期间传递给模型的脉冲响应中选择最佳眼的配置;固定-用户指定要使用的配置。
接下来是控制如何指定配置。第一个选项是直流增益和峰值增益。这是一种进行假设探索的方便方法,因为有两个增益和一个要指定的频率。这里显示了默认配置,它是一组9个配置。你可以修改向量,使其有更多或更少的构型。
“直流增益”是指0 Hz时的增益,单位为dB。峰值增益是直流增益和峰值频率增益之间的差值,单位为dB。
第二种选择是直流增益和交流增益。这类似于直流增益和峰值增益,因为有两个增益和一个频率来指定。“直流增益”是指0 Hz时的增益,单位为dB。交流增益是峰值频率的增益,单位为dB。
第三个选项是AC增益和峰值增益。这类似于直流增益和峰值增益,因为有两个增益和一个频率来指定。交流增益是峰值频率的增益,单位为dB。峰值增益是在峰值频率处的增益与在直流处的增益之差,单位为dB。
第四个选项是我将从这里开始讨论的:GPZ矩阵。它是最通用的,但通常需要一些脚本来将数据转换为正确的格式。
总之:有三种规格适用于快速假设分析:直流增益和峰值增益,直流增益和交流增益,交流增益和峰值增益。还有第四种更通用的选择:GPZ矩阵。从这里开始,重点是配置规范的GPZ矩阵选项。
GPZ矩阵每个配置有一行。
增益为以dB为单位的增益。
极点和零点的单位是Hz。
复极点和复零点必须有共轭。
为了稳定,极点必须多于零。
如果有必要,可以用0Hz的极点和零填充数组,使所有行的长度相同。
这里概述了从传递函数数据创建GPZ矩阵的过程。
- CTLE配置的传递函数数据从设计数据中获得,最好是csv格式。
- 数据导入MATLAB。
- 数据被转换(如有必要)为频率点和实/虚复杂响应数据。
- 有理函数适合于数据。
- 增益、极点和零点从拟合中提取。
对于传递函数数据,最容易处理的格式是csv文件,第1列包含频率点,第2列和第3列是实/虚传递函数数据。
MATLAB有多个有用的函数,可用于重新格式化其他格式的数据。
有多种方法可以将数据导入MATLAB。函数readmatrix()可以很好地将csv格式的数据读入矩阵。
一旦导入,数据被分离成一个频率向量和一个复杂数据向量。这是可能需要从其他格式(如幅度/相位)转换数据的地方。
这里的示例脚本假设导入的数据的频率点在第1列,实/虚数据在第2列和第3列。
结果是一个频率点向量和一个复杂数据向量。
下一步是使用RF工具箱中的有理函数来拟合数据的有理函数。有理函数使用非迭代间隔算法来构造拟合。结果是一个理性的对象。
zpk函数用于从有理数对象中提取增益、极点和零点。SerDes工具箱CTLE要求增益以dB为单位,极点/零以Hz为单位。在构造gpz矩阵时,zpk函数输出被转换为dB和Hz。结果是一个gpz矩阵在MATLAB工作空间变量。
为了检验拟合的准确性,从有理数物体中提取频率响应。
原始数据的dB量级和相位以及拟合的响应都被绘制出来。
gpz矩阵在MATLAB工作空间变量中。它可以复制并粘贴到SerDes Designer应用程序或Simulink中。它也可以直接从SerDes Designer应用程序引用。
下面是一个从SerDes Designer应用程序引用MATLAB工作空间变量的例子。如果增益极零矩阵字段中的值是MATLAB工作空间变量的名称,SerDes Designer将把它用于GPZ矩阵。
在配置CTLE时,CTLE传递函数图是查看CTLE如何解释曲线的方便方法。
下面是创建GPZ矩阵时需要注意的一些事项:
GPZ矩阵必须在整个分析带宽上保持数值稳定。带宽是采样间隔的1 / 2。样本间隔是符号时间除以每个符号的样本。这意味着带宽可以非常宽。例如,如果符号时间为40ps,每个符号的采样为16个,则带宽为200ghz。
最好的方法是将极点和零的数量保持在10或更少。极高频极和极低频极会引起不稳定,应避免使用。
这里有一些技巧来帮助你获得一个好的GPZ矩阵:
使用对有理函数的控制来改变最大极数和调整容错。这两种选择都可以帮助获得与最少的杆的最佳配合。
如果有高频极或低频极,它可以帮助截断原始数据。非常低频数据和高于2倍奈奎斯特频率的数据不影响均衡数据,通常可以被截断。
可能需要尝试和错误来获得与最少极点和零的最佳拟合。
感谢收看本期视频。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。