基于Ultrascale+系列GTY收发器64b/66b编码方式的数据传输(四)——Buffer Bypass简单使用及上板测试
一般情况下,GT的TX和RX中都会存在Buffer用于进行XCLK与TXUSRCLK/RXUSRCLK间的时钟域转换。Buffer的存在会带来较长的逻辑级数进而带来额外的数据路径,进而影响延迟。为此,GT支持选择Buffer Bypass模式,通过相位调整电路和延迟调整电路代替Buffer进行时钟域的转换,如下图所示。GT手册中对于Buffer Bypass的介绍十分详细,在实际使用时,GTY I
一般情况下,GT的TX和RX中都会存在Buffer用于进行XCLK与TXUSRCLK/RXUSRCLK间的时钟域转换。Buffer的存在会带来较长的逻辑级数进而带来额外的数据路径,进而影响延迟。
| Buffer | Buffer Bypass(相位对齐) | |
|---|---|---|
| 延时(Latency) | 延时较高 | 相位对齐电路使用更少的寄存器,延时更低且固定 |
| 多lane间偏斜(Skew) | 偏斜较大 | 相位对齐电路能够共享同一TXUSRCLK时钟,减少多GTY的lane间偏斜 |
| TXUSRCLK时钟抖动(Jitter)敏感 | 不敏感 | 对TXUSRCLK时钟抖动敏感,当TXUSRCLK大于325MHz时,不建议直接使用(Contact your local FAE) |

为此,GT支持选择Buffer Bypass模式,通过相位调整电路和延迟调整电路代替Buffer进行时钟域的转换,如下图所示。


GT手册中对于Buffer Bypass的介绍十分详细,在实际使用时,GTY IP核会生成自动相位及延迟对齐模式所需的逻辑电路,无需用户过多参与。在最基本情况下,用户只需要关注gtwiz_buffbypass_tx_done_out与gtwiz_buffbypass_rx_done_out相位对齐电路完成信号。本文基于已有64B66B Sync Gearbox工程,将gtwiz_buffbypass_tx_done_out与gtwiz_buffbypass_rx_done_out作跨时钟域处理(实际实现后发现,GTY IP核内部已将两信号同步到USRCLK2时钟域)后,作为复位完成指示信号。
assign gtwiz_buffbypass_tx_reset_in = 1'b0;
assign gtwiz_buffbypass_tx_start_user_in = 1'b0;
assign gtwiz_buffbypass_rx_reset_in = 1'b0;
assign gtwiz_buffbypass_rx_start_user_in = 1'b0;
logic gtwiz_buffbypass_tx_done_meta, gtwiz_buffbypass_tx_done_usrclk2_r;
logic gtwiz_buffbypass_rx_done_meta, gtwiz_buffbypass_rx_done_usrclk2_r;
logic gtwiz_reset_tx_all_done_out_r, gtwiz_reset_rx_all_done_out_r;
always_ff @(posedge gtwiz_userclk_tx_usrclk2_out) begin
gtwiz_buffbypass_tx_done_meta <= gtwiz_buffbypass_tx_done_out;
gtwiz_buffbypass_tx_done_usrclk2_r <= gtwiz_buffbypass_tx_done_meta;
gtwiz_reset_tx_all_done_out_r <= gtwiz_buffbypass_tx_done_usrclk2_r & gtwiz_reset_tx_done_out;
end
always_ff @(posedge gtwiz_userclk_rx_usrclk2_out) begin
gtwiz_buffbypass_rx_done_meta <= gtwiz_buffbypass_rx_done_out;
gtwiz_buffbypass_rx_done_usrclk2_r <= gtwiz_buffbypass_rx_done_meta;
gtwiz_reset_rx_all_done_out_r <= gtwiz_buffbypass_rx_done_usrclk2_r & gtwiz_reset_rx_done_out;
end
上板测试

完整代码
完整代码可于同名公众号回复GTY_BUFFER_BYPASS下载。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)