在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
123
返回列表 发新帖
楼主: wtj803

[求助] 求助关于Serdes RX中CTLE的评价方式

[复制链接]
发表于 7 天前 | 显示全部楼层


standli 发表于 2025-5-8 00:10
和我说的不同,没有抽象在一个层级。
如果matlab可以做好联合仿真,那要SPICE monkey(analog designer) ...


受教了,我是focus在ADC-Based RX DSP算法上,对SPICE仿真了解的不多,仿真的目的就是试图在DSP中给出一个可供CTLE实现自适应调节的参考,确实没有考虑到s-z变换的高频误差。您说的非常对,我目前入门不深,就处在“侧重算法的快速验证,理论分析和系统级行为的早期探索”这个阶段,对CTLE就简单做了s-z变化,用了128fs就会导致仿真速度非常的慢,只能仿10^-6这个量级的BER。您说的用FPGA来做spice仿真,确实是个非常先进的想法,如果真能实现,确实会大大的提升仿真效率 。我后续也要深入学习一下模拟电路SPICE仿真的内容,会尝试着能不能从您说的这点切入,到时候遇到了问题还得向前辈您讨教,万分感谢
发表于 7 天前 | 显示全部楼层
本帖最后由 standli 于 2025-5-9 02:14 编辑


sjliu0514 发表于 2025-5-8 11:13
受教了,我是focus在ADC-Based RX DSP算法上,对SPICE仿真了解的不多,仿真的目的就是试图在DSP中给出一 ...


你客气的我脸红了,真羡慕你年轻。创新有一个大前提,就是要认为自己是“愚蠢”的,不然新东西进不来。年轻人因为没有老概念束缚,所以很容易接受并做出新东西。

我觉得CTLE如果有一组定义清晰的性能指标(Figure of Merit,FoM),那么可以让DSP来监测这些指标来评估CTLE的效果。比如:眼高/眼宽,或者某个非常关心的频谱分量,DFE系数的大小或者收敛速度?
然后你可以设计一套CTLE的自适应算法。比如你本地扫描CTLE的可能设置,然后选择FoM最优的。
或者借鉴AI的BP(back propergation),设计FoM对CTLE的参数可导,这样做梯度下降就可以找到最优解了。
不过CTLE参数调整之后,一般DFE都需要时间重新收敛。你的算法需要考虑这个嵌套循环,是否需要让DFE收敛之后再来评估CTLE,或者其他好办法?
CLTE通常是从DAC接收一组控制字来进行调整,你可能要考虑这些控制字的数量,分辨率如何影响CTLE,也许一些细节的比如独热码,二进制码?之类的也会影响DFE的收敛性。(不太确定,需要电路验证)但是要避免上面那个嵌套循环的“振荡”。

我觉得你直接涉猎FPGA跨度有点大,当然如果你自学能力很强是可以的。
合理的方案可能是实现一个用C进行模型仿真的程序(或者叫工程)。
而在那之前你可以优化现有的Matlab程序,是不是有一些matlab的性能分析工具?看一下性能瓶颈,然后仅针对这部分瓶颈的算法,用C实现之后编译成MEX文件给Matlab用。全部用Matlab跑肯定还有一些优化程序的办法,预先分配内存或者使用Matlab擅长的向量和矩阵运算之类的。
如果更深入理解CTLE,应当注意的是:
1)带宽有限与群延迟变化。CTLE的带宽是有限的,且其群延迟在频带边缘可能变化剧烈。简单的 s-z 变换可能无法完全捕捉这些特性,尤其是在高数据速率下,这些效应会更明显。这应该会显著影响你DSP算法的性能评估。
2)非线性。输入信号摆幅较大时,CTLE 中的放大器会进入非线性区,产生谐波失真和互调失真。这会改变信号的频谱特性和眼图形状,简单的线性 H(z) 模型无法体现(上次回复有提)。你的DSP算法是否需要考虑或者能检测到这种非线性?
3)噪声。Matlab仿真不太好看到这部分。CTLE本身就会引入热噪声和闪烁噪声,并且会放大前级的噪声。你可以试着了解一下CTLE的噪声特性(如噪声系数随频率和增益的变化)如何影响判决器输入端的SNR。
4)PVT变化,实际上CTLE的许多特性(零极点位置,增益)都会随着PVT变化。你的算法应当能够跟踪这些变化。Matlab仿真可以考虑对H(z)模型的参数引入一定的随机扰动或扫描范围,来模拟PVT影响。
5)阻抗与反射。CTLE的输入输出阻抗匹配会影响信号反射,这在线性H(z)模型中常被忽略。

你如果有模拟的同事,可以请这些SPICE Monkey帮你,看看能不能从SPICE仿真中提取CTLE在不同控制码下的频率响应或者脉冲响应,构造查找表(LUT)。你的 MATLAB 仿真可以根据控制码从 LUT 中插值得到当前的 CTLE 行为。这能更准确地反映真实电路。

你需要仿真的工程和程序的计算能力就像水和面的关系。
水多了加面,面多了再加水,盆小了换缸,缸大了把自己困里面。大概是这么个过程,仿真时候的计算能力对你来说不够用的时候再想FPGA也不迟。

128fs指的是每UI128个采样点,对吧?
对于早期验证可能过高了,尤其如果你的信号带宽远低于 1/(2 * T_sample) (其中 T_sample = UI_duration / 128)。过高的采样率会极大地增加计算量和内存消耗。
你的 CTLE 模型和信道模型的有效带宽是多少?根据奈奎斯特采样定理,仿真所需的最小采样率是多少?通常,4-16 samples/UI 对于很多行为级仿真已经足够,除非你需要精确捕捉非常高频的细节或 ISI。你需要精度和速度之间平衡一下。
我觉得学习模拟电路与SPICE仿真会有利于你和模拟团队协作,并且理解你现在使用的模型的局限性。如果你需要做好目前自己的工作,获取更精确的模型参数是必要的,因为就像刚刚提到的,可以帮你构建LUT或者校准你的Matlab模型。而理解电路和SPICE仿真也许能让你知道如何和模拟工程师对话,比如他们说“臣妾做不到”的时候,你可以“指导”回去。但你可能要规划一个长期的学习路径,我不太清楚你的基础或者本硕的专业方向。
不过你这个工作方向挺好的,特别是如果能与模拟前端(例如CTLE)一起协同优化,目前高速通信里非常核心和热门的技术了。

问题驱动学习挺好的,有具体问题,随时继续讨论。
发表于 3 天前 | 显示全部楼层


standli 发表于 2025-5-8 23:59
你客气的我脸红了,真羡慕你年轻。创新有一个大前提,就是要认为自己是“愚蠢”的,不然新东西进不来。年 ...


我也不年轻了,在接触serdes之前做了几年信号处理方面的工作,后来公司想预研serdes就把我抓来捣鼓了两三年,现在公司暂时不想做了,又把我安排了别的方向,真是郁闷啊。我想换家公司继续从事serdes方向,但我的这点经历不足以支撑我在这个行业找到一个合适的工作,能不能在这条路走下去也是未知数啊。在前辈面前发几句牢骚,小孩子气了。回到正题,我之前工作重点放在了ADC-DSP Rx中的ADC/FFE/DFE/CDR这些模块上了,对CTLE的理解还没有这么深,确实还有很多的东西待学习啊。再说下我为什么要把仿真精度设置的这么高,还有一个考虑是想仿真skew、jitter对链路(ADC-Based)的影响。
最后有一些疑惑想得到您的一些建议,目前我的工作主要是用matlab做一些系统架构和Rx算法仿真,但我了解到国内的serdes公司,这项工作大多是由模拟或数字设计工程师来兼任,不太可能需要一个纯做算法仿真的岗位,所以我想要继续往下走的话,应该是需要选择一个模拟或数字方向吧,希望前辈您给一些建议,万分感谢

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-15 12:15 , Processed in 0.016159 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表