你在这里尝试做的很多方面是不可能的,有些方面比其他方面更不可能......
正如@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
在原帖中查看解决方案
你在这里尝试做的很多方面是不可能的,有些方面比其他方面更不可能......
正如@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
在原帖中查看解决方案
举报