利用传递函数数据对SerDes CTLE建模
取表示连续时间线性均衡器(CTLE)频率响应的传递函数数据,并将其转换为增益极零(GPZ)矩阵,可在SerDes Toolbox™CTLE块中使用,用于统计分析和时域模拟。
在SerDes工具箱中创建精确的行为模型,以再现晶体管级设计工具或测量的结果。该模型精确地再现了CTLE的行为,IBIS-AMI模型可以在通道模拟器中预测硅的行为。SerDes Toolbox CTLE是通过GPZ矩阵配置的,因此需要一种方法从传递函数信息中提取极点和零点。
RF Toolbox™中的有理函数用于拟合传输函数到数据。有理函数使用非迭代插值算法来构造拟合。其结果是一个理性的对象,通过构造是稳定的和因果的,可用于SerDes统计分析和时域模拟。
欢迎来到这个关于SerDes工具箱的视频。在这个视频中,我将解释如何采取传递函数数据表示连续时间线性均衡器,或CTLE的频率响应,并将其转换为增益极零,或GPZ,矩阵,可以加载到SerDes工具箱CTLE块。
在这个视频中,我将讨论转换过程的目标和为什么你想要遵循这种方法,介绍SerDes Toolbox CTLE块,然后展示过程和MATLAB脚本,可以用来将传递函数转换为GPZ矩阵。最后,我将讨论一些为了得到一个好的极点和零集合可能需要做的事情。
我们要解决的问题是什么?我们试图在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赫兹时的增益,单位为dB。峰值增益是DC增益与峰值频率处的增益之差,单位为dB。
第二种选择是直流增益和交流增益。这类似于直流增益和峰值增益,因为有两个增益和一个指定的频率。直流增益是在0赫兹时的增益,单位为dB。交流增益是峰值频率处的增益,单位为dB。
第三个选项是交流增益和峰值增益。这类似于直流增益和峰值增益,因为有两个增益和一个指定的频率。交流增益是峰值频率处的增益,单位为dB。峰值增益是在峰值频率处的增益与在直流处的增益之差,单位为dB。
第四个选项是我将从这里开始讨论的:GPZ矩阵。它是最通用的,但通常需要一些脚本来将数据转换为正确的格式。
总之:有三种规格适合于快速假设分析:直流增益和峰值增益,直流增益和交流增益,交流增益和峰值增益。还有第四种更通用的选择:GPZ矩阵。从这里开始,重点是配置规范的GPZ矩阵选项。
GPZ矩阵每个配置有一行。
增益是以dB为单位的增益。
极点和零点的单位是Hz。
复极和复零必须有共轭。
为了稳定,极点必须多于零。
如果有必要,可以用0Hz极点和零填充数组,使所有行长度相同。
下面是从传递函数数据创建GPZ矩阵的过程概述。
- CTLE配置的传输函数数据从设计数据中获得,最好是csv格式。
- 将数据导入MATLAB中。
- 数据被转换(如果必要)为频率点和实/虚复响应数据。
- 有理函数适合于数据。
- 增益、极点和零点从拟合中提取。
对于传递函数数据,最容易处理的格式是csv文件,其中第一列包含频率点,第二列和第三列是实/虚传递函数数据。
MATLAB有多个有用的函数,可以用来重新格式化其他格式的数据。
有多种方法可以将数据导入MATLAB。函数readmatrix()可以很好地将csv格式的数据读入矩阵。
一旦导入,数据就被分离为一个频率向量和一个复杂数据向量。这就是需要从其他格式(如幅度/相位)转换数据的地方。
这里的示例脚本假设导入的数据在第1列中有频率点,在第2列和第3列中有实/虚数据。
结果是一个频率点的向量和一个复杂数据的向量。
下一步是使用RF工具箱中的有理函数来拟合一个有理函数到数据。有理函数使用一种非迭代间调算法来构造拟合。结果是一个理性的对象。
zpk函数用于从有理数对象中提取增益、极点和零点。SerDes Toolbox CTLE要求增益为dB,极点/零为Hz。在构造gpz矩阵时,将zpk函数输出转换为dB和Hz。结果是一个在MATLAB工作空间变量中的gpz矩阵。
为了检验拟合的准确性,从有理数对象中提取频率响应。
以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国家网站没有针对从您的位置访问进行优化。