归档发送篇从用户接口一直讲到串行输出。我不会先背全部模块,而会先写下“每个用户时钟沿送什么”:数据字、对应的控制标记,以及当前编码模式。

控制字符标记不是普通valid

原文入门描述容易把字符控制当成数据有效。在启用8B/10B的相应接口中,TXCHARISK用于标记对应字节为K字符,而不是一根通用的数据valid;细节见 UG482发送接口。因此不能通过任意拉低这个标记来表达“当前没有数据”。空闲期发送什么,要由协议约定。

发送接口检查顺序

图是阅读顺序,未画出所有可选硬件模块。检查记录还应包含字节顺序、控制标记与数据的对应、编码启用条件,以及端口使用的时钟。

编码和缓冲都带有条件

PG168编码与可选端口 将编码、接口宽度和缓冲旁路作为需要配置的项目。TX缓冲旁路应连同相位对齐与时钟方案检查,不能只取消一个选项就认为获得了完整的低延迟设计。

线速率也不是应用有效载荷速率。我会在估算吞吐时列出编码、控制字符、帧头、校验和空闲开销,再与用户端持续供数能力比较。未确定模式前,不把教程某一种位宽直接代入所有计算。

后续验证的最小记录

先固定器件与生成配置,检查可重复的数据模式和控制字符;再检查帧序号、长度及错误恢复。PRBS适合独立的物理链路检查思路,但PRBS检查通过不能替代应用帧验收。本文没有跑编码仿真、误码率测试或眼图测试,也不据原作者截图声称已经得到性能结果。

阅读来源

原始阅读材料:沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第五章 GTP发送模块详解_沧小海的FPGA的博客-CSDN博客。

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