微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA里面到底什么是同源时钟?

FPGA里面到底什么是同源时钟?

时间:10-02 整理:3721RD 点击:
最近项目调试遇到一些问题,需要对同源问题有充分的理解。
这里有一些想法和问题想向大家请教(同步与否先不讨论)。
同源的含义:我的理解大概就是指各个时钟的来源一致。
(1)同一个晶振进来的时序信号,
      经过“同一个”“PLL或者DCM或者MMCM等时钟模块或者分频逻辑“输出的所有时钟信号,都是同源的?
(2)同一个晶振进来的时钟信号,
        经过 “若干个”   “PLL或者DCM或者MMCM等时钟模块或者分频逻辑“ 输出的所有时钟信号,是否同源?
(3)从不同的晶振进入FPGA的时钟信号,肯定是不同源的?
(4)FPGA里面的一个时钟信号clk1,输出到FPGA外部的某款PLL芯片,
       然后PLL芯片再输出时钟信号到FPGA里面成为clk2。
       那么clk1与clk2是否同源?        
                                      谢谢各位!

我的理解,不一定正确:同源时钟,应该是各个时钟同相位或者工具可计算相位差的时钟,如果两个时钟相位差不固定且不可计算,那么无论如何也不能认为是同源时钟,即使它们是由同一个源时钟产生的。


嗯,你从工具对相位检查的角度来看,这当然没有问题。
但我想从同源时钟的“产生”这个角度来看,便于在源头上去掉隐患。



   回到你的问题,(1)我觉得同一个MMCM或DCM输出的时钟,它们应该是同源时钟;
(2)经过多个MMCM输出的时钟,得具体看是否使用BUFG作为CLK_FB_IN和CLK_FB_OUT的连接,如果使用,输出时钟和输入时钟具有固定的相位关系,这种情况下我觉得也可以认为同源时钟;但如果不是这样使用,那么就不同MMCM输出的时钟就不能认为是同源时钟;
(3)不同的晶振或者不同的外部时钟源进入到FPGA内部,这二者肯定不是同源时钟;
(4)输出后又输入回来的,由于输出后外部延时未知,所以输出的时钟和输入的时钟我觉得也不是同源时钟;
这几点是我的看法,你觉得呢?

我对同源的理解是这样,但是有的地方没把握。
+++++++++同源的概念与目的++++++++++++++++++++
   因为任何时钟源或者时钟信号都是有精度的,在FPGA里面经常要求时钟同源应该是为了以下目的。
(1)保证时钟时钟的精度(即时钟的宽度)一致。
    比如,100MHZ周期都是同样意义上的10ns。
(2)保证时钟变化一致。
   比如,某个晶振在某一时间段某一温度下,精度有变化,那么从其衍生出来的所有输出时钟也会跟着变化。这样处理   
FPGA里面的数据从始至终都是一致的。
+++++++++本帖子的问题++++++++++++++++++
    基于以上的想法,我纠结两个问题:
1.时钟信号经过MMCM等时钟处理模块,
  这些时钟处理模块对时钟信号是否存在精度的影响?
2.如果完全不存在影响。
  那么时钟信号经过在FPGA里面的若干个MMCM,然后再从外面的PLL绕回来,
  然后这些信号仍然是同源。
3.如果存在影响。
  
那么面对2个问题。
(1)FPGA内部不同的MMCM对时钟精度的影响是否一致。
     如果一致,那么同一个晶振的信号经过不同的MMCM之后,仍然同源。
     如果不一致,那么同一个晶振的信号经过不同的MMCM之后,就不同源了。
(2)FPGA内部MMCM对时钟信号的影响  与  FPGA外部若干PLL芯片对时钟信号的影响是否一致。
    如果一致,从外部PLL芯片绕回来的信号与内部MMMCM输出的信号仍然同源。
    如果不一致,从外部PLL芯片绕回来的信号与内部MMMCM输出的信号就不同源。
  
4.至于你说的延时的问题,我觉得如果两个时钟信号“仅仅只有延时的变化,而没有精度的变化”,
  那么我认为应该仍然是同源的。
++++++++++++++++++++++++++++
期待各位的解答。



  假设不同的MMCM不同源, 如果将FPGA内的MMCM级联,即将其中一个MMCM的输出时钟作为另一个MMCM的输入时钟,能否保证两个MMCM的所有相关的时钟信号都同源?



   我不认为精度是判断是否同源的依据,至少举个例子,两个外部晶振,指标完全相同,如果它们均引入到FPGA中,那难道就能认为这两个时钟同源吗?PLL或MMCM都有jitter filter的功能,那么输出的jitter特性会比输入好一些,那难道就能认为二者不同源吗?所以精度的问题,我觉得不是决定是否同源的依据。    对于变化一致,这一点我赞同,时钟的变化主要是频偏和相偏移,同源时钟他们的频率偏移和相位偏移应该是一致的。
    从相位偏移是否可预测这一点,如果输出到外面的时钟再环回来,其相位不可预测的话,我认为它们就不能认为是同源的。


感谢回复。
(1)这里我说的精度,当然不是指晶振的手册上的指标,而是指那个跑起来之后实际运行的具体值。
晶振的指标,无论精度多高(比如0.2ppm),也只是一个范围,实际跑起来的指标我想应该也是在这个范围内波动吧。
    所以,在同一块板子上,最终源头只有来自同一个晶振(或者时钟源)的时钟估计才有可能是真正同源的。
(2)输出到外面的时钟再输回来这个问题,
    目前跑过几次,确实能够正确同步接收数据,我就暂时认为我用的这块板子是同源的吧。
    至于其他板子的情况,只有后面多验证了。


你是指同一个时钟信号经过级联的若干个MMCM,然后这若干个MMCM输出的所有时钟信号吗?
这种情况,我也不确定,但是根据调试情况来看,它们输出的时钟信号应该都是同源的。

(1)(2)(4)同源
(3)不同源

都是同源吧,同源就是来源于一个时钟



   有固定相位关系的时钟就是同源的,否则不同源。

同源很明显就是指来自同一个晶振,来自不同晶振的信号,即便晶振参数一致也会有所差别,晶振有其自有的jitter抖动,一般晶振只是标识其ppm范围,但是各自还是有差异.以前设计过程中的产品发生过挑晶振的现象,就是因为不同的晶振时钟抖动不一样引起的公共相位噪声.此外,晶振温漂也有所差别

源头是同一个时钟,如果偏移会跟着源头一起偏移

由同一时钟派生的时钟称为同源时钟

感谢楼上各位的解释,就是像大家所说的那样。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top