数据接口与8B/10B编码(一)


上一章阐述了发送部分所有的模块,本章就开始对实现高速串行数据发送所需的模块进行详细的阐述。本章主要描述的有两个模块,一是数据接口,二是8B/10B编码。对于8B/10B编码的实现机制可参考我另一篇文章

第一步,我们先大致了解下用户接口是怎么配置的。

如下图是我们用户接口中涉及到的数据发送相关信号,看到这些信号,我想你会有这样三个疑问,一是这些信号都是干嘛的?如何实现数据发送呢?为啥会有两个时钟呢?接下来就对此一一解答。

image.png 

首先,第一个问题,这些信号都是干嘛的?如下表所示

端口 

方向

时钟域

描述

TXCHARDISPMODE [3:0]

In

TXUSRCLK2

这两个信号是搭配使用的

禁用8B / 10B编码时

用于扩展20位和40TX接口的数据总线。

当启用8B / 10B编码时

用于手动实现运行差异(RD)的控制

TXCHARDISPVAL [3:0]

In

TXUSRCLK2

 

 

 

TXDATA [310]

In

TXUSRCLK2

用于传输数据的总线。此端口的宽度取决于TX_DATA_WIDTH

TX_DATA_WIDTH = 16,20TXDATA [150] = 16
TX_DATA_WIDTH = 32,40TXDATA [310] = 32

当位宽是20或40时,则禁用8B / 10B编码器, TXCHARDISPVAL和TXCHARDISPMODE端口与TXDATA端口连接。

TXUSRCLK

In

Clock

该端口用于为内部TX PCS数据路径提供时钟。

TXUSRCLK2

In

Clokc

该端口用于将FPGA逻辑与TX接口同步。当用户提供TXUSRCLK时,该时钟必须与TXUSRCLK正边沿对齐。






快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~

有建议、有需求、有疑问、联系我

<