完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我希望有人可以帮我确定我是否有可能做的事情。
我在两块PCB上有两个Artix-7 FPGA(参见下面的简单草图;我将左侧FPGA称为“FPGA1”,将右侧FPGA称为“FPGA2”)。 我将数据从FPGA1中的GTP传输到FPGA2中的GTP。 每个FPGA都有自己的本地收发器参考振荡器。 我有两个目标,我想要实现: 频率匹配FPGA1和FPGA2上的TXOUTCLK,和 即使在重新编程FPGA之后,FPGA1和FPGA2上的TXOUTCLK之间也具有相同的相位偏移(但不一定是零偏移)。 我已经通过使用Xilinx PICXO IP实现了第一个目标。 PICXO能够对FPGA2中的RXOUTCLK和TXOUTCLK信号进行频率和相位对齐,并且因为FPGA2中的RXOUTCLK信号与FPGA1中的TXOUTCLK信号具有相同的频率,这意味着FPGA2中的TXOUTCLK信号具有与TXOUTCLK信号相同的频率。 在FPGA1中。 但是,FPGA2中的RXOUTCLK信号与FPGA1中的TXOUTCLK信号的相位不同。 实际上,每当我重新编程FPGA时,FPGA2中的RXOUTCLK信号和FPGA1中的TXOUTCLK信号之间的相位偏移都会发生变化。 因此,我无法找到一种方法来在两个FPGA上的TXOUTCLK之间获得一致的相位偏移,这在FPGA被重新编程时会持续存在。 我希望有一些方法可以实现这一点,或者如果没有,有人可以肯定地告诉我这是不可能的! 感谢您阅读以及您可以给我的任何反馈。 最好的祝福, 戴夫 |
|
相关推荐
7个回答
|
|
你在这里尝试做的很多方面是不可能的,有些方面比其他方面更不可能......
正如@austin提到的,只要你使用“好”的外部抖动清除器,就可以使用MGT的RXOUTCLK作为另一个MGT的REFCLK。 仅使用内部资源,这是不可能的。 PIXCO适应两个时钟之间的比特率差异(只要本地振荡器“足够接近”)。 这使高速串行时钟(以及TXOUTCLK的频率)同步,但不控制TXOUTCLK的相位 - 高速比特率或分频TXOUTCLK速率。 事实上,无法以具体的方式知道TXOUTCLK或RXOUTCLK的相位 - 这些信号相对于PISO时钟的延迟和CDR时钟(产生它们的高速时钟)完全不受约束,并且会有所不同 横跨PVT(可能超过一个比特期)。 但更重要的是,将PISO时钟分频(最终)生成TXOUTCLK的分频器和生成RXOUTCLK的CDR时钟不能确定地重置。 例如,如果您的数据宽度为20位宽,则RXOUTCLK以1/20的CDR速率运行,但除以20的除法器无法复位,这意味着它无法与其他任何内容同步。 此外,这样做是不可能的 - 任何能够做到这一点的复位都必须精确到一个比特周期内并在FPGA之间进行通信 - 再次,这是不能做到的...... 所以,这一切都是不可能的。 我将重复@ austin的问题 - 为什么你需要这样做? 高速串行I / O的重点是使这样的同步无关紧要。 Avrum 在原帖中查看解决方案 |
|
|
|
d,
为什么这很重要? 一旦接收的时钟恢复接收数据,就不需要相位匹配。 匹配频率对于防止FIFO过流或欠流非常重要。 通常A2中的恢复时钟用于A2处理所有接收的数据。 它可以被清理(抖动被移除)然后用作传输时钟返回A1(这是同步两个板的最常用方法,其中链路期望以足够长的间隔运行,否则FIFO缓冲将超过或流过流量) 。 Austin Lesea主要工程师Xilinx San Jose |
|
|
|
你在这里尝试做的很多方面是不可能的,有些方面比其他方面更不可能......
正如@austin提到的,只要你使用“好”的外部抖动清除器,就可以使用MGT的RXOUTCLK作为另一个MGT的REFCLK。 仅使用内部资源,这是不可能的。 PIXCO适应两个时钟之间的比特率差异(只要本地振荡器“足够接近”)。 这使高速串行时钟(以及TXOUTCLK的频率)同步,但不控制TXOUTCLK的相位 - 高速比特率或分频TXOUTCLK速率。 事实上,无法以具体的方式知道TXOUTCLK或RXOUTCLK的相位 - 这些信号相对于PISO时钟的延迟和CDR时钟(产生它们的高速时钟)完全不受约束,并且会有所不同 横跨PVT(可能超过一个比特期)。 但更重要的是,将PISO时钟分频(最终)生成TXOUTCLK的分频器和生成RXOUTCLK的CDR时钟不能确定地重置。 例如,如果您的数据宽度为20位宽,则RXOUTCLK以1/20的CDR速率运行,但除以20的除法器无法复位,这意味着它无法与其他任何内容同步。 此外,这样做是不可能的 - 任何能够做到这一点的复位都必须精确到一个比特周期内并在FPGA之间进行通信 - 再次,这是不能做到的...... 所以,这一切都是不可能的。 我将重复@ austin的问题 - 为什么你需要这样做? 高速串行I / O的重点是使这样的同步无关紧要。 Avrum |
|
|
|
@austinand @avrumw,谢谢你的回复。很抱歉,我真的不能说我希望能够做到这一点,但它与实际发送和接收收发器数据完全没有关系。
正如你所说的那样,收发器发送和恢复数据并不需要这些,我现在已经做了一段时间了。 我认为PICXO会匹配RXOUTCLK的相位(而不仅仅是频率)的原因是因为XAPP589中的这个陈述,但听起来我误解了:“......相位插值器提供相位或频率的能力 调制收发器数据输出直接锁定到输入参考脉冲或时钟......“在我的情况下,PICXO的输入参考时钟是RXOUTCLK,因此我认为它将相位和频率锁定TXOUTCLK到RXOUTCLK。 但我现在从你告诉我的内容中了解到它只是将TXOUTCLK频率锁定到RXOUTCLK。 再说一次,为了澄清,我知道这根本不是串行通信所必需的。 感谢您解释从线速率到数据字速率的分频器如何不能确定性地重置。 我担心可能是这种情况,但我不确定。 这无疑证明了我所尝试的阶段关系是不可能的。 再次感谢你的帮助, 戴夫 |
|
|
|
...相位插值器提供相位或频率调制收发器数据输出的能力,直接锁定到输入参考脉冲或时钟......
措辞有点令人困惑...... 相位插补器允许您使用DRP命令向前或向后移动时钟的相位。 当您(例如)随着时间的推移将相位连续向前移动一定量时,净效应是平均频率的降低。 因此,内插器正在进行连续相移(可以发出DRP命令的速度,并且可能在一个命令中可能移位的相位),以便通过制作这些来锁定TX时钟的频率到RX时钟。 连续相移。 DRP命令速率和最大相位插值器移位的乘法确定了PIXCO可以“修复”的频率不匹配的数量 - 这就是本地REFCLK的频率和恢复的时钟速率必须在每个特定数量的部分内的原因。 百万。 Avrum |
|
|
|
正如之前的用户所提到的,当在2个GT之间进行传输时,相位信息会丢失,因此使用当前图表无法对齐两个阶段。
不确定你要做什么(“为什么”答案),但只是FYI:您可以使用PI来对齐2 GT的输出相位,然后打开连接到这两个GT的单个PICXO以保持频率对齐 到参考时钟(RXOUTCLK,或其他)。这样,输出是相位和频率对齐的。 即使使用这种威廉希尔官方网站 ,您确实需要某种协议来告诉您2 GT的对齐时间。 这两个GT必须在同一个设备中,因此不确定它是否可以帮助您的用例。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2483 浏览 7 评论
2864 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2324 浏览 9 评论
3410 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2506 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
2276浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
647浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
512浏览 1评论
2059浏览 0评论
787浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-9 07:19 , Processed in 1.282319 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191