发送缓冲(跨时钟域)


如下图是时钟域的划分,在发送端的PCS子层里面有两个并行时钟域,分别是PMA相连的并行时钟(XCLK)和TXUSRCLK时钟,如下图所示。为了保证数据传输速率一致,XCLK必须和TXUSERCLK时钟的速率匹配,并且要解决2个时钟域之间的相位差异。利用TX BUFFER介于XCLK和TXUSERCLK俩时钟域之间,用于匹配两者的速率和相位偏差。

 image.png

根据上图我们可以看出,这个TX BUFFER是可以旁路掉的,就是配置选项卡里面这个选项,如果不使能缓冲,可以采用相位对齐的方式,我们可以看到在不勾选“Enable TX Buffer”时候,可以选择时钟源和旁路模式,具体可以看ug482.

 image.png

对于我等入门选手还是选择使能吧,界面如下还可以确定TXOUTCLK时钟源。建议打勾

 image.png

此外,关于TX BUFFER还有一个表示状态的信号——TXBUFSTATUS,这是一个可选端口,具体含义如下表所示:

端口

方向

时钟域

描述

TXBUFSTATUS [1:0]

Out

TXUSRCLK2

TX缓冲状态。

TXBUFSTATUS [1]:TX缓冲区溢出或下溢状态。当TXBUFSTATUS [1]设置为高电平时,它将保持高电平,直到TX缓冲区复位。

1:TX FIFO发生上溢或下溢。

0:无TX FIFO溢出或下溢错误。

TXBUFSTATUS [0]:TX缓冲区充满度。

1:TX FIFO至少半满。

0:TX FIFO小于半满。

只要TXBUFSTATUS指示上溢或下溢情况,就应复位TX缓冲区。当TXBUF_RESET_ON_RATE_CHANGE = TRUE时,可以使用GTTXRESET,TXPCSRESET或GTP收发器在内部生成的TX缓冲器复位速率变化来复位TX缓冲器。GTTXRESET的断言触发一个序列,该序列重置GTP收发器的整个发送器。






快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~

有建议、有需求、有疑问、联系我

<