xilinx的GT配置说明(二)
一、TXBYBASS8B10B参数
1.Xilinx GTX 的 TXBYPASS8B10B,这个参数和8b/10b编码相关
2.txbypass8b10b是GTX发射端的一个配置参数,控制是否绕过8b10b编码器
TX表示发射方向,Bypass表示跳过,8b10b表示8b10b编码。
TXBYPASS8B10B = FALSE(或0):启用8b/10b编码器,发射的数据会经过8b/10b编码器进行编码。
TXBYPASS8B10B = TRUE(或1):绕过8b/10b编码器,发射端直接发送原始数据,不做编码。
启用8b/10b编码(默认情况):
8b/10b编码有利于DC平衡、时钟恢复和错误检测,常见于PCIe Gen1/2, SATA, 10G Ethernet等协议。
通过编码,可以提供足够的过渡来辅助接收端时钟数据恢复(CDR)。
绕过8b/10b编码(bypass):
用于协议层自己做编码,或者测试和调试需要发送未经编码的裸数据。
某些协议不需要8b/10b编码(比如64b/66b编码的协议),或者用户想用自定义编码时使用。
可以用来测试链路的原始传输能力。
二、TXCHARDISPMODE
1.含义
送端的可选择输入,它指示发送端字符是否应该强制为不定时位(disparity)模式。在8B/10B编码中,每个字符可以有负不定时或正不定时,使用这个信号可以强制输出的字符以某个特定的不定时模式发送。
TXCHARDISPMODE 是 GTX 发射端用于控制 字符显示模式(Character Disparity Mode) 的一个配置选项。
主要涉及到8b/10b编码中的码间差异(disparity)控制,也就是编码中“+1”或“-1”差异的处理方式。
8b/10b编码需要保证编码的 DC 平衡,通过控制差异(disparity)来实现。
TXCHARDISPMODE 决定了发送端在遇到某些编码字符时,是否以及如何修改码间差异信号。
三、TXCHARDISPVAL
TXCHARDISPVAL: 在发送端,用来指定当TXCHARDISPMODE激活时使用的实际不定时值
四、RXCHARISCOMMA
1.接收端的一个状态输出,指示接收到的字符是否为逗号字符(comma character)。逗号字符在高速数据传输中用作对齐信号,帮助接收方进行字节对齐和同步
2.RXCHARISCOMMA 是一个 接收端输出的指示信号,表示当前接收到的字符是不是“逗号字符(Comma Character)”。
3.逗号字符是一类特殊的 8b/10b 编码字符(通常是 K28.1、K28.5、K28.7 等),在高速串行链路中用作 帧同步、字对齐 和 通道绑定 的关键标志。
4.当接收端检测到某个接收的字符是逗号字符时,RXCHARISCOMMA 信号会被置高(1)
五、RXCHARISK
接收端的状态输出,表示接收到的字符是否被标记为K字符,也就是控制字符。在8B/10B编码中,K字符被用于标识一些特殊情况或非数据字如帧开始、结束等。
1. 基本含义
信号名 | 含义 |
---|---|
RXCHARISK | 接收端指示当前字符是一个特殊字符(K-character),即8b/10b编码中的控制字符(包括逗号、控制符等)。 |
RXCHARISCOMMA | 接收端指示当前字符是逗号字符(Comma Character),逗号是特殊字符(K字符)中的一种,用于对齐和同步。 |
2. 关系与区别
-
所有的逗号字符都是特殊字符(K字符),所以:
如果RXCHARISCOMMA = 1
,那么RXCHARISK
必然为1。 -
但是并非所有的特殊字符都是逗号字符,
因此当RXCHARISK = 1
时,RXCHARISCOMMA
可以是0或1,取决于是否是逗号字符。
3. 作用上的区别
信号 | 作用说明 |
---|---|
RXCHARISK | 标识当前接收字符是否为特殊字符(K字符),例如控制符、逗号、结束符等。用于协议中识别控制字符。 |
RXCHARISCOMMA | 更细化的标识,专门指明当前字符是不是逗号字符,通常用于字对齐和帧同步。 |
4. 举例说明
当前字符类型 | RXCHARISK | RXCHARISCOMMA |
---|---|---|
数据字符(D-character) | 0 | 0 |
逗号字符(K28.1, K28.5等) | 1 | 1 |
其他控制字符(K29.7等) | 1 | 0 |
5. 总结
信号 | 表示内容 | 典型用途 |
---|---|---|
RXCHARISK | 当前字符是特殊字符(任意K字符) | 用于区分控制字符与数据字符 |
RXCHARISCOMMA | 当前字符是逗号字符 | 用于字对齐、帧同步 |