现在我正在制作一个与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缓冲区的状态标志(空或满)是什么?
非常感谢
答案 0 :(得分:2)
你不能使用它" as" BRAM,因为它是一个内部收发器组件。它是一个内部异步FIFO,将TXUSERCLK域桥接到XCLK域,仅此而已。看起来你可以得到一个水印'状态信号通过TXBUFSTATUSn信号从缓冲器中输出,但这只是一位信号,表示多于或少于半满,而不是满或空指示。并且无法指示进入FIFO的数据是否有效,TXUSERCLK域中的每个周期都被视为有效数据。相位对齐/去歪斜程序似乎是唯一可以实际改变缓冲区中数据量的东西。那么,并且以不同于XCLK的频率运行TXUSERCLK,但这只会导致缓冲区溢出或缓冲器下溢,从而需要重置发送器。关于偏移校正程序的注意事项是它们被设计成对齐两个相邻发射器通道的XCLK,而不是通过单个通道最小化延迟。
我不知道你的意思是什么"抖动延迟。"