GT Transceiver的TX Buffer功能块
前言
上篇文章讲了8B/10B编码功能模块,这篇文章讲的是TX Buffer,但是在正式进入主题之前,为了内容的完整性,提一下Tx Gearbox,这是个什么?
我们看下图:
TX功能模块示意
TX Gearbox和8B/10B Encoder从电路结构上看,地位相同,都是进入一个选择器。其作用是提供64B/66B编码,一些高速数据率协议使用64B/66B编码,以减少8B/10B编码的开销,同时保留编码方案的好处。关于其具体的功能,以及使用注意事项,一时半会也弄不清楚,这里暂时就不讲了。深入了解,请看手册。
正文
TX buffer的作用
GTX/GTH收发器的TX数据通路有两个用于PCS的内部并行时钟域:PMA并行时钟域(XCLK)和TXUSRCLK域。为了传输数据,XCLK速率必须与TXUSRCLK速率相匹配,并且必须解决两个域之间的所有相位差。下图显示了XCLK和TXUSRCLK域的情况。
TX时钟域
GTX/GTH Transmitter包括一个TX缓冲器和一个TX相位校准电路,以解决XCLK和TXUSRCLK域之间的相位差异。当TX buffer被旁路时,TX相位校正电路(phase alignment)被使用。所有的TX数据路径必须使用TX缓冲器或TX相位对准电路。
TX buffer与TX phase alignment的优缺点
下面给出缓冲区和相位对齐之间的权衡。
- 易用性:
- 在可能的情况下,建议使用TX缓冲器。它很稳定,而且更容易操作。
- 相位对齐是一个高级功能,需要额外的逻辑和对时钟源的额外限制。TXOUTCLKSEL必须选择GTX/GTH收发器参考时钟作为TXOUTCLK的来源,以驱动TXUSRCLK。
- 延迟
- 如果低延迟是关键,必须绕过TX缓冲器。
- 相位对齐在TX数据通路中使用较少的寄存器,以实现较低的和确定的延时。
- TX Lane-to-Lane Deskew
- TX相位对齐电路可用于减少独立的GTX/GTH收发器之间的线路偏移(lane skew)。所有涉及的GTX/GTH收发器必须使用相同的线路速率。
Tx buffer的部分端口与属性
下面介绍一下TX buffer的端口TXBUFSTATUS[1:0]:
TX缓冲区状态。TXBUFSTATUS[1]: TX缓冲区的溢出或下溢状态。当TXBUFSTATUS[1]被设置为高电平时,它一直保持高电平,直到TX缓冲器被复位。1:TX FIFO有溢出或下溢。0:TX FIFO没有溢出或下溢错误。TXBUFSTATUS[0]: TX缓冲区的满度。1:TX FIFO至少满了一半。0:TX FIFO小于半满。
再介绍两个属性:
TX_XCLK_SEL:
选择用于驱动PMA并行时钟域(XCLK)的时钟源。TXOUT: 选择TXOUTCLK作为XCLK的来源。在使用TX缓冲器时使用。TXUSR:选择TXUSRCLK作为XCLK的来源。在绕过TX缓冲器时使用。
TXBUF_RESET_ON_RATE_CHANGE:
GTX/GTH收发器在速率变化时内部产生的TX缓冲器复位。TRUE: 启用速率变化时的自动TX缓冲区复位。FALSE: 禁用速率变化时的自动TX缓冲器复位。
TX buffer的复位
每当TXBUFSTATUS表明出现溢出或下溢情况时,就应复位TX缓冲区。可以通过使用 GTTXRESET、TXPCSRESET 或当 TXBUF_RESET_ON_RATE_CHANGE = TRUE 时 GTX/GTH 收发器内部生成的 TX 缓冲器在速率变化时复位。
GTTXRESET的断言会触发一个序列,复位GTX/GTH收发器的整个发射器。
这些设置用于启用TX缓冲器,以解决XCLK和TXUSRCLK域之间的相位差异:
- TXBUF_EN = TRUE
- TX_XCLK_SEL = TXOUT
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的