赛灵思
直播中

贾飞小

7年用户 1766经验值
私信 关注
[问答]

如何使用相邻GTX磁贴的外部时钟

你好,
我在两个通过串行背板连接的Virtex 6 FPGA中实现了一个简单的4通道Aurora 8b / 10b内核。
每个磁贴的专用GTX时钟是固定的 - 在FPGA0上为312.5Mhz,在FPGA1上为212.5Mhz。
由于212.5Mhz不是线路速率允许的频率(3.125Gbps),我想使用相邻磁贴的312.5Mhz时钟。
串行IO通道在Quad 113上。但是,我想使用的GTX时钟在MGTREFCLK0P_113和MGTREFCLK0N_113上。
我最初尝试只更改UCF文件以使用相邻磁贴的引脚,但我不相信这是正确的。
查看其他帖子,使用多个外部时钟需要使用GTX向导,然后使用GTX收发器多路复用器选择在时钟之间切换(RXPLLREFSELDY和TXPLLREFSELDY)。
但是,由于我没有切换外部时钟,只想连接到相邻磁贴中的GTX时钟,这是必要的吗?
目前,虽然模拟工作正常(并且IBERT正常工作),但我无法通过背板获得链接。
谢谢,
迈克尔

回帖(6)

倪山骋

2020-6-18 10:31:24
事实证明 - 可以使用相邻磁贴的GTX时钟。
并且,更改UCF是执行此操作的正确方法。
GTX通道未正确初始化的真正问题是由于Aurora Core本身存在一些错误的逻辑。
我得到了以下代码更改,修复了我的问题:
在src / _hotplug.v(hd)中
Verilog代码更改自:

分配link_reset_0 =((count_for_reset_r> 14'd5100)&(count_for_reset_r 14'd5100)&(count_for_reset_r
举报

倪山骋

2020-6-18 10:40:15
校正 - 相邻磁贴的GTX时钟为MGTREFCLK0P_112和MGTREFCLK0N_112。
举报

倪山骋

2020-6-18 10:47:16
事实证明 - 可以使用相邻磁贴的GTX时钟。
并且,更改UCF是执行此操作的正确方法。
GTX通道未正确初始化的真正问题是由于Aurora Core本身存在一些错误的逻辑。
我得到了以下代码更改,修复了我的问题:
在src / _hotplug.v(hd)中
Verilog代码更改自:

分配link_reset_0 =((count_for_reset_r> 14'd5100)&(count_for_reset_r 14'd5100)&(count_for_reset_r
举报

江璐

2020-6-18 11:05:40
你好!
我现在正在研究Aurora 8b / 10b protocl,我想在virtex-6系列FPGA中使用极光8b / 10b IP内核,但是
现在我没有关于如何使用这个核心的理想。如果你有关于如何使用这个核心的经验,请帮助我吗?
也许你有一个高速串行数据传输接收实例的例子,请你把它发给我,这对我很有帮助!
期待你的回复!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分