【问题标题】:TX buffer of Multi-gigabit transceiver GTP多千兆收发器 GTP 的 TX 缓冲区
【发布时间】:2018-05-23 08:18:10
【问题描述】:

现在我正在做一个与 MGT(多千兆收发器)GTP 相关的项目。

因为我是 Verilog 编程语言的新手,所以我有一个关于 MGT GTP 的问题。

在 Xilinx 文档(Virtex-5 FPGA ROCKETIO GTP 收发器)中,TX 侧(图)有一个 FIFO-TX 缓冲区(相位调整 FiFo 和过采样)。

从我在本文档中看到的信息,我了解到该模块仅用于调整 TX 侧的时钟相位,并最大限度地减少 GTP 收发器的偏移。

生成一个异步或同步 FIFO 连接到 MGT GTP 对我来说并不难,但会增加抖动延迟。

我认为如果我可以在 MGT GTP 内部使用 TX 缓冲区,就可以减少抖动延迟。

因此,我的问题是

我可以使用这个 TX 缓冲区作为同步或异步 FIFO bram 传输数据吗?

如果我可以将此缓冲区用作同步和异步 FIFO,是否有此 TX 缓冲区的状态标志(空或满)?

非常感谢

【问题讨论】:

    标签: verilog xilinx xilinx-ise


    【解决方案1】:

    您不能将它“用作”BRAM,因为它是一个内部收发器组件。它是一个内部异步 FIFO,将 TXUSERCLK 域桥接到 XCLK 域,仅此而已。看起来您可以通过 TXBUFSTATUSn 信号从缓冲区中获取“水印”状态信号,但这只是一个表示多于或少于半满的一位信号,而不是满或空的指示。并且没有办法表明进入 FIFO 的数据是否有效,TXUSERCLK 域中的每个周期都被认为是有效数据。相位对齐/去偏斜例程似乎是唯一可以真正改变缓冲区中数据量的东西。好吧,那并以与 XCLK 不同的频率运行 TXUSERCLK,但这只会导致缓冲区溢出或缓冲区下溢,从而需要重置发送器。关于去偏移例程需要注意的是,它们旨在对齐两个相邻发送器通道的 XCLK,而不是最小化单个通道的延迟。

    我不知道您所说的“抖动延迟”是什么意思。

    【讨论】:

    • 非常感谢您的回答。这个FIFO在MGT中的作用非常详细易懂。关于抖动延迟,我误解了。这只是从 FIFO(例如 BRAM FIFO)写入和读出数据之间的延迟。我想如果我通过使用MGT内部的FIFO跳过这个FIFO,我会在FPGA内部节省更多时间。
    • 您希望节省多少时间? FIFO 读写延迟只有一两个时钟周期,不超过几纳秒。这还没有考虑花在 FIFO 中的时间,但是如果您对延迟很重视,那么无论如何您都应该将其最小化。
    猜你喜欢
    • 2017-05-19
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多