归档连载以6:1改造为例讨论gearbox。我更愿意先在纸上定义输入位流,再检查每次输出从哪个字的哪些位取数,最后才阅读状态机。

位数守恒只是第一步

例如连续三个8位输入合起来有24位,可对应四个6位输出。这个计数能检查一个周期内是否丢位或重复位,但不能单独证明字节顺序、起始相位或时钟关系正确。需要给每一位明确编号,并比较拼接前后的序列。

gearbox审阅检查顺序

图不包含可执行RTL。若输入先后顺序或bit端序改变,拼接表达式也会改变;不能只因总位数相等就照用文章代码。

先区分器件与例程范围

XAPP1315 v1.0 面向UltraScale/UltraScale+的7:1源同步设计,使用ISERDESE3和OSERDESE3等资源。归档连载进一步讨论其他比率,是另一次改造;不能把7:1应用笔记的验证范围扩展为本文的6:1已验证结果。

时钟与复位决定从哪里开始读

我会记录写入、读取和输出时钟的来源与频率关系,缓存中有效位数的变化,以及复位时计数器和残留位如何清空。gearbox本身的宽度转换不自动提供任意异步跨域能力;时钟与缓存结构仍需按目标方案检查。

后续最小验证会用递增位编号建立参考序列,比较每次输出,覆盖复位中断、训练序列边界、不同起始相位和多lane一致性。改造后的资源与时序也要重新检查。本轮未复制连载RTL,没有运行仿真或测量LVDS接口。

阅读来源

原始阅读材料:【技术分享】Xilinx系列FPGA SelectIO简介-连载二。

本文为原创阅读整理,配图为原创检查顺序,未复用原文截图。整理日期不是原文发表日期;未运行RTL仿真或硬件测试。