Xilinx SRIO_gen2关于时钟的问题

参考时钟(reference clock)

在这里插入图片描述
在一开始,我一直不太清楚参考时钟是什么。其实看框图就很清楚,refclk是由系统时钟(sys_clk_p和sys_clk_n)经过差分信号输入缓冲(IBUFDS)得到的,因此refclk其实是和系统时钟同样频率的一个单端信号。从框图中还可以看出,refclk还连接到了串行收发器端,这也和手册中的文字描述是一致的。
在这里插入图片描述
最让人费解的是,对于不同链路速率的传输,有一张表格给出了特定的参考时钟频率,但表格中用“x”表示支持的参考时钟频率。对!没错!表格中有“x”的地方表示可以支持。在IP的图形化配置界面也可以看到只有表格中有“x”的频率是可选的。
在这里插入图片描述

逻辑时钟(log_clk)

逻辑层时钟的选取相对来说比较任意,因为逻辑层与后续的物理层之间有缓冲层连接,相当于有一个缓冲的FIFO,但是为了最大化数据的吞吐量,log_clk至少要和物理层时钟(phy_clk)相同。

物理层时钟(phy_clk)

物理层时钟是可变的,手册中举了个例子:
物理层时钟的可以根据串行收发器所用的时钟(gt_clk)进行计算,公式是:
phy_clk = ( gt_clk × link_width ) / 4
在链路发生降速(train down)的时候,比如在2x链路无法满足通信需求时,链路可能会降速到1x链路,导致相应的phy_clk也需要减小;
但是在链路本身只有1x模式时,就不会发生降速,因此此时选用“unified clock”也不会有很大的问题。
“unified clock”使得log_clk和phy_clk直连在一起,更加节省时钟资源。

一些典型的时钟速率

在这里插入图片描述
关于这个表格的用处?我觉得主要是用在后续的时钟资源共享环节。
一开始我对这个表格就有疑问,不知道这个表有什么用?在时钟的配置中,用户能给定的就是参考时钟,也就是从IP输入的sys_clk,后续这些子核心(sub-Core)用到的时钟都是用IP内的时钟模块产生的,可以在srio_clk.v文件中看到,对于用户来说,给了sys_clk之后基本不需要再做另外的事。
(补充一下sub-Core,IP core中包含的三个子核心,分别就是逻辑层、缓冲层、物理层)
在这里插入图片描述

时钟资源的部分共享

关于资源共享,这是节约时钟资源最好的方式之一。当两个SRIO实例的链路宽度、链路速率都相同时,可以将全部时钟资源共享,我觉得这是最方便的。
但是如果想仅共享部分时钟,手册中好像没有具体给出方法,只是提到了这样的设计。
所以我猜想,除了部分可以共享的时钟以外,剩余部分不能共享的时钟可以自己参照上面的表格产生;手册中给出的两个例子是:

共享log_clk

一般在链路数不同、或者链路速率不同时,可以仅对log_clk进行共享,使两个SRIO实例采用相同的用户逻辑时钟;
在这里插入图片描述

共享串行传输层的时钟

当两个SRIO实例采用相同的链路速率,但是链路宽度和用户逻辑时钟不同时,可以进行这样的共享,可以看到phy_clk一般是不共享的,这样就可以让两个实例分别支持降速(train down),如果共享phy_clk,那么就不能支持降速了。道理也很简单,出现降速,就意味着要改变phy_clk,但是两个实例一般不会同时出现这样的情况。
在这里插入图片描述

所有时钟资源共享

当所有时钟资源都共享时,只适用于两个实例采用一样的配置,同时不再支持降速,因为phy_clk也被共享了。
在这里插入图片描述

GTREFCLK的共享

FPGA上对于高速串行收发器(GTX tranceiver)的时钟布线有很严格的要求。下图是FPGA内部高速串行收发器的结构,一般就以这样一个Quad为一个单位。一个Quad中有一个GTXE2_COMMON和四个GTXE2_CHANNEL。可以有两对参考时钟输入。这样一个Quad在FPGA内一般就是对应一个bank。
在这里插入图片描述
下图是参考时钟GTREFCLK共享的一种形式,参考文档:ug476
在这里插入图片描述
这样共享要求最多只能在相邻的连续3个Quad之间共享。
在这里插入图片描述
一般如果采用共享时钟,时钟的布线就会更加困难。其实本身每个Quad都有自己相应的参考时钟输入引脚,直接用对应的参考时钟,而不采用共享时钟,往往会更容易实现布局布线。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小裘HUST

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

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

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

打赏作者

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

抵扣说明:

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

余额充值