有个问题请教各位。如果我的PLL的输出和输入频率相同,能够保证两个时钟的相位一致吗?ipqsn6年前发布1072 有个问题请教各位。如果我的PLL的输出和输入频率相同,能够保证两个时钟的相位一致吗?PLL的零延时缓存模式是不是可以实现这个功能?外部给一个参考时钟,然后输出时钟跟输入同频,但是相位差有要求。
这关系到pll的工作方式,如果pll内部使用的是鉴频器,则输入和输出将没有固定的相位差,就是每次锁定都锁定在某个相位,但每次都不一样。如果使用的是鉴相器,则输入和输出为0相位差。早期的器件内部为前者,但现在已经基本绝迹了。因此在不考虑抖动,在pll的输入和输出上相位是保持0相位差的。
在FPGA内部,pll的输出一般驱动全局时钟网络,全局时钟网络是一个树形结构,其目的是为了保证从时钟源到达目的器件的时钟延迟一致,以实现同步。这个延迟在FPGA一般为几个ns。pll为了保证输入时钟和输出时钟的严格相位关系,有一个功能就是clock network deskew。实现的原理就是预先在pll内部预先将输出提前输出,相当于增加了一个负延时,以抵消时钟网络的延时。也就是说实际的输出时钟和输入时钟之间是有相位差的。
只要选择了clock network deskew功能,在FPGA内部的pll上输入时钟和输出时钟是存在严格相位关系的。在外部接口的设计中,经常通过pll调整时钟相对数据窗口的位置以实现正确采样,其背后的基本原理就是这个。同一个时钟源产生的多个时钟为相关时钟,在静态时序分析时,会分析跨相关时钟域的信号的时序。
我只记得PLL的输出是可以调相位,输入和输出应该没什么关系吧。