数据接口与8B/10B编码(一)
上一章阐述了发送部分所有的模块,本章就开始对实现高速串行数据发送所需的模块进行详细的阐述。本章主要描述的有两个模块,一是数据接口,二是8B/10B编码。对于8B/10B编码的实现机制可参考我另一篇文章
第一步,我们先大致了解下用户接口是怎么配置的。
如下图是我们用户接口中涉及到的数据发送相关信号,看到这些信号,我想你会有这样三个疑问,一是这些信号都是干嘛的?如何实现数据发送呢?为啥会有两个时钟呢?接下来就对此一一解答。
首先,第一个问题,这些信号都是干嘛的?如下表所示
端口 | 方向 | 时钟域 | 描述 |
TXCHARDISPMODE [3:0] | In | TXUSRCLK2 | 这两个信号是搭配使用的 当禁用8B / 10B编码时: 用于扩展20位和40位TX接口的数据总线。 当启用8B / 10B编码时 用于手动实现运行差异(RD)的控制 |
TXCHARDISPVAL [3:0] | In | TXUSRCLK2 | |
TXDATA [31:0] | In | TXUSRCLK2 | 用于传输数据的总线。此端口的宽度取决于TX_DATA_WIDTH 若TX_DATA_WIDTH = 16,20:则TXDATA [15:0] = 16 当位宽是20或40时,则禁用8B / 10B编码器, TXCHARDISPVAL和TXCHARDISPMODE端口与TXDATA端口连接。 |
TXUSRCLK | In | Clock | 该端口用于为内部TX PCS数据路径提供时钟。 |
TXUSRCLK2 | In | Clokc | 该端口用于将FPGA逻辑与TX接口同步。当用户提供TXUSRCLK时,该时钟必须与TXUSRCLK正边沿对齐。 |
快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~
有建议、有需求、有疑问、联系我