湘攸客

【再说FPGA】PLL那些事之core输出抖动

0
阅读(11766)
 

PLL那些事之core输出抖动

王敏志

概述

         这里的PLL是指ALTERAFPGA内部的PLLPLL的输出有两种,一种是core output,另外一种是external output,由于ALTERA只给出了PLL的输出到外部引脚的jitter,并没有给出PLLcore输出jitter,这里试图通过基于FPGATDC来量测一下该jitter。从ALTERA的器件手册只能查到PLLexternal output的抖动参数,我们使用的ArriaGX系列,在输出时钟频率大于等于100MHz的时候只给出这个参数的最大值即250ps,当时钟频率低于100MHz的时候也只给出最大值,即25mUI

为什么要了解PLLcore输出抖动呢?

         在进行基于FPGATDC设计的时候系统时钟的抖动肯定会影响TDC的精度,这里的抖动(jitter)包括时钟源,即晶振,以及时钟分配器和PLL所产生的抖动。时钟分配器的抖动是可以查厂家手册获取,而且一般都很小,基本都是飞秒级别。由于在设计TDC的时候需要FPGA里的PLL倍频得到一个相对高速的时钟,那么PLL引入的jitter又是多少呢?ALTERA并没有给出答案。

测量方法

FPGA的输入时钟是100MHz,通过第一个PLL产生一个250MHz的时钟作为TDC的高速采样时钟,另外第二个PLL250MHz降频得到一个25MHz的时钟作为TDC的输入HIT(如图1所示)。这个25MHz时钟跟TDC的高速采样时钟只有一种相位关系,所以可以通过PLL的移相功能大致量测出不同相位下该TDC的测量结果,再通过测量结果以及TDCRAW BIN结果来进行分析。

TDCRaw BIN是通过外部随机HIT测量得到,另外,TDC的延时线位置进行了锁定,这样随机HIT Raw BINPLL产生的HIT测量的时候使用的是相同的延时线,这样尽量保证减小测量的误差。还有一点,是在更改PLLHIT的相位的时候使用了ECO的方法(如图2所示),即手动修改,这样工程没进行重新全编译,只是进行了FIT,如此尽量保持了工程的一致性。

我们假定PLL的输出不存在jitter,那么TDC测量出来的结果肯定具有唯一性特点,即某个相位测出来的结果肯定只有一个值,这个可以通过直方图的方法轻易得出。前面的假设肯定是不成立的,所以直方图的结果就一定是某个中心值附件左右偏移,而我们所需要知道的就是这个偏移的大小即抖动(jitter)。

 

 

1:测量示意图

 

2:利用ECO手动修改PLL输出的相位

测量结果

我们的TDC使用了128级延时线(delay-line),在使用PLL产生的HIT进行测量之前,我们使用随机HIT来测量该TDC(主要是延时线)的基本属性。图3显示的是延时线每一级延时单元的延时时间,这里我们称之为TDCRaw BIN

 

3TDCRaw BIN

ArriaGXPLLVCO最大只能到840MHz,而从250MHz产生25MHz的时候,VCO只能是750MHz,所以最小相移是167ps1/(750*8)ns)。那么从0相位开始每次步进167ps测试各个不同相位25MHz作为TDC输入HIT时的结果,由于250MHz的周期是4000ps,所以相移到4000ps即可完成一周测量。

 

40相移测量结果及对应位置Raw BIN数值

 

5167ps相移测量结果及对应位置Raw BIN数值

 

6333ps相移测量结果及对应位置Raw BIN数值

 

7500ps相移测量结果及对应位置Raw BIN数值

 

8667ps相移测量结果及对应位置Raw BIN数值

 

9833ps相移测量结果及对应位置Raw BIN数值

 

101000ps相移测量结果及对应位置Raw BIN数值

111167ps相移测量结果及对应位置Raw BIN数值

121333ps相移测量结果及对应位置Raw BIN数值

131500ps相移测量结果及对应位置Raw BIN数值

141667ps相移测量结果及对应位置Raw BIN数值

151833ps相移测量结果及对应位置Raw BIN数值

162000ps相移测量结果及对应位置Raw BIN数值

172167ps相移测量结果及对应位置Raw BIN数值

182333ps相移测量结果及对应位置Raw BIN数值

192500ps相移测量结果及对应位置Raw BIN数值

202667ps相移测量结果及对应位置Raw BIN数值

212833ps相移测量结果及对应位置Raw BIN数值

223000ps相移测量结果及对应位置Raw BIN数值

233167ps相移测量结果及对应位置Raw BIN数值

243333ps相移测量结果及对应位置Raw BIN数值

253500ps相移测量结果及对应位置Raw BIN数值

263667ps相移测量结果及对应位置Raw BIN数值

273833ps相移测量结果及对应位置Raw BIN数值

284000ps相移测量结果及对应位置Raw BIN数值

分析及结论

4到图28显示了不同的相移对应的测试结果,图的左边是对应HIT在延时线中的位置,而右边对应的是这些延时线单元在随机HIT测得的延时时间。将这些图中的结果总结到一张表中如表1所示。

从表1可以看出所有不同相位测量结果的uncertainty的范围是84.4241.7ps之间。这里之所以叫“uncertainty”而不是直接冠以jitter是因为这个数值范围是由两个时钟的uncertainty来决定的而非单一时钟决定,即这个测量结果应该由25MHz250MHz这两个时钟的抖动共同来决定。如果我们不能证明25MHz250MHz这两个时钟相位是严格对齐的,就不能直接将上述测量所得的结果简单地认为就是PLLcore输出jitter。前面我也有提到,25MHz时钟和250MHz时钟之间的相位关系只有一种组合,这是在相对宏观的角度来说,如果我们考虑到PLL内部引起的jitter,那么这个两个时钟沿是否还是严丝合缝的对齐呢?手册里似乎给出了一个唯一可以作为参考的答案,即在PLLNormal ModePLL的时钟之间的相位关系图,如图29所示。

这里分析的基础就是假定如图29所示PLL的输入时钟和内部寄存器时钟的沿是严格对齐的,而我们实际也正好是使用Normal模式。有了这个基础我们再来分析这个最大uncertainty值范围,最小是84.4ps,最大达到241.7ps。仔细看这两个测量结果,发现84.4ps是相位偏移833ps的测量结果,直方图落在三个cell单元里,且三个cell的延时时间均较小,而这个最大值是相位偏移500ps时候的测量结果,直方图也是落在3cell单元里,只是这三个cell单元中有个cell的延时时间超级大,我们称之为ultra-wide延时单元。另外,从表1同时可以看到相移333ps1833ps2333ps3000ps3333ps以及3667ps的测量结果直方图均落在一个cell里,而这些cell均为ultra-wide延时单元,察看这些ultra-wide延时单元的延时可以知道其最大延时时间为169.9ps,而其中最小的延时时间也有99.8ps。所以84.4ps可以认为是本实验测量到PLLcore输出最大的jitter值范围即±42.2ps


29Normal ModePLL的时钟相位关系

1:不同移相对应测试结果

Phase Difference (ps)

Delay Cell Range

Max Uncertain Time (ps)

0ps

55 ~ 56

117.4+38.5

155.9

167ps

51~54

40.7+23.4+25.5+28.8

118.4

333ps

47

169.9

169.9

500ps

45~47

45.8+26+169.9

241.7

667ps

39~42

115.7+26.8+30.2+38.3

211

833ps

36~38

28.4+22.6+33.4

84.4

1000ps

31~33

147.2+42.2+34.8

224.2

1167ps

30~31

29.7+147.2

176.9

1333ps

24~26

33.98+37.2+34.3

105.48

1500ps

21~23

40+27+99.5

166.5

1667ps

16~18

19.7+37.7+22.4

79.8

1833ps

15

162.2

162.2

2000ps

9~11

45.6+29.8+18.9

94.3

2167ps

6~7

31+108

139

2333ps

95

99.8

99.8

2500ps

90~93

31.9+20.4+19.9+46.4

118.6

2667ps

87~88

102.5+52.7

155.2

2833ps

83~85

28.1+41.7+34.4

104.2

3000ps

79

159.7

159.7

3167ps

74~77

33.6+28.6+34.7+32

128.9

3333ps

71

107.9

107.9

3500ps

66~68

27.8+35.3+39.8

102.9

3667ps

63

137.3

137.3

3833ps

59~62

31.9+24.1+40.5+34.9

131.4

4000ps

55~56

117.4+38.5

155.9