使用 BUFIO 和 BUFG 到达时钟区域

Reaching clock regions using BUFIO and BUFG

我需要在 Virtex 6 中实现源同步接收器,从高速 ADC 接收数据和时钟。 对于 SERDES 模块,我需要两个时钟,它们基本上是输入时钟,由 BUFIO 和 BUFR(推荐)缓冲。我希望我的照片能说明情况。

Clock distribution

我的问题是,我有一些 IOB,BUFIO 无法访问它们,因为它们位于不同的、不相邻的时钟区域。 有朋友推荐使用MMCM,输出接一个BUFG,可以到达所有IOB。 这是一个好主意吗?我不能在不使用 MMCM 的情况下将我的 LVDS 时钟缓冲器直接连接到 BUFG 吗?

我对 FPGA 体系结构和时钟区域的了解仍然非常有限,所以如果有人有一些好的想法、明智的话或者过去可能已经找到类似问题的解决方案,那就太好了。

将 MMCM 用于外部输入是很常见的,即使只是为了清理信号并实现其他一些不错的功能(例如四数据速率采样的 90/180/270 度相移)。

在 7 系列中,他们引入了多区域时钟缓冲器 (BUFMR),这可能会对您有所帮助。 Xilinx 发布了关于在以下情况下使用哪个时钟缓冲器的很好的答复记录:7 Series FPGA Design Assistant - Details on using different clocking buffers

我觉得你朋友的建议是正确的

另请查看此应用笔记以获取一些建议:LVDS 源同步 7:1 序列化和反序列化使用 时钟乘法