基于Ultrascale+系列GTY收发器64b/66b编码方式的数据传输(四)——Buffer Bypass简单使用及上板测试

   一般情况下,GT的TX和RX中都会存在Buffer用于进行XCLK与TXUSRCLK/RXUSRCLK间的时钟域转换。Buffer的存在会带来较长的逻辑级数进而带来额外的数据路径,进而影响延迟。

BufferBuffer 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下载。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wjh776a68

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值