FPGA 阅读笔记:ISERDESE2 解串与字边界对齐

归档文章是 UG471 部分章节的学习解读。它把端口、级联和 BITSLIP 放在一起介绍,适合建立接收链路的概念图。本文重新按“能采到位”和“能识别字”两个问题整理,尚未验证具体摄像头或板卡接口。 解串后的字仍可能错位 ISERDESE2 把串行数据转换为并行输出,但并行字的起点不一定与发送端的协议边界一致。官方将 BITSLIP 描述为重排并行数据顺序的功能,可用于带训练序列的源同步接口;操作同步于 CLKDIV,DDR与SDR行为有区别。参见 AMD UG953:ISERDESE2。 这张图是概念流程。训练比较逻辑产生反馈控制,BITSLIP在ISERDESE2内部改变并行字边界;它不是位于比较器之后的另一条串行数据路径。 采样相位与字边界分别检查 如果采样位置靠近数据跳变边缘,移动字边界不能解决位值不稳定。如果每一位都可靠,但并行字循环错位,训练和位序判断才有意义。因此调试记录需要同时保留误码现象和字模式,避免把所有错误都归结为 BITSLIP。 归档示例给出了某种位宽与模式下的Q输出顺序、移位规律和等待周期。这些不能直接套到另一种配置。我会先明确 DATA_RATE、DATA_WIDTH、INTERFACE_TYPE、D/DDLY路径以及级联方式,再查对应的 UG471 时序要求。使用BITSLIP还应确认选择了支持该功能的NETWORKING接口模式。 训练逻辑如何避免误判 选择训练字时,应先检查它的循环移位是否存在歧义。判定过程中,应在规定等待时间后比较新的输出,并要求连续匹配一定数量的字才宣布对齐。这个数量和失锁策略属于设计参数,需要按实际链路验证。 复位、训练、对齐成功和重新训练最好分别记录状态。跨时钟域传递的有效标志也需要明确处理,不能因为数据已解串就认为全部用户逻辑处在同一个域。 待验证清单 对训练序列施加不同初始位偏移,检查能否找到相同的协议边界。 检查 BITSLIP 脉冲、脉冲间隔和输出等待时间是否符合选定模式。 注入错误位和复位,确认不会立即误报锁定,并能进入重新训练。 用非对称数据确认 Q端口到业务字的映射,记录首位约定。 目前这些都是测试设计问题,尚无仿真成功率、时序裕量或硬件结果。 阅读来源 原始阅读材料:子墨祭:《UG471学习解读:ISERDESE2原语介绍》。 整理日期为2026-10-03;原文发表日期待核实。配图为本笔记原创概念示意,未复制原文截图。 适用范围:本文讨论AMD/Xilinx 7系列器件;不直接套用于UltraScale或Versal。

2026年10月3日 · 1 分钟 · Starry Shine