什么是最好的,第一步调试循环回16位数据与8B10B编码?

对于这种类型的SerdE应用,8位逗号字符总是出现在16位RX数据中相同的8位字位置,只要发送器从不发送背对背逗号或发送奇数个周期的逗号。
如果16位边界与TX数据相同,则无需校正;数据在发送时被接收。
如果16位边界被一个8位字关断,则对齐需要校正。
例如,假设B4是K23.5逗号。如果传输的数据是B0B1 B2B3 B4B5 B6B7(其中偶数索引字节是16位TX数据的较低的8位),并且接收的数据是相同的,则不需要校正。
另一方面,如果传输的数据是B0B1 B2B3 B4B5 B6B7,但接收到的数据是B1B2 B3B4 B5B6,那么16位边界被一个8位字关断,并且对齐应该被校正。为了纠正对齐,可以编写一个简单的代码来替换当前循环的上8位字,与当前循环的低8位字替换,并用前一个周期的上部单词替换当前循环的低8位字。接收到的数据将看起来像传输的数据。
请参阅FAQ 354,用于字节移位校正逻辑的Verilog源代码实现。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 12:05:00 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它