微系统用锁相环内建自测试电路的设计与实现
2023-11-07张丹娅缪旻
张丹娅,缪旻
(1.北京信息科技大学 智能芯片与网络研究中心,北京 100192;2.北京信息科技大学 光电测试技术及仪器教育部重点实验室,北京 100192)
0 引言
在微系统领域,锁相环(phase-locked loop,PLL)用于微系统内数字逻辑芯片及开关电容模块的时钟生成与分配,或高速数据传输通路的时钟数据恢复。集成电路技术演进不仅意味着晶体管尺寸的不断缩减,也带来了时钟频率和数据交换速率的日益上升,对PLL的设计与评测构成了日趋严峻的挑战。微系统PLL的常规测试方法是将输出信号经封装引脚引至外部,再借助高精度的示波器、频谱分析仪[1]等测量仪器提取抖动参数。待测信号容易受到封装体内部/外部电路负载、噪声源、各级互连及引脚寄生效应、串扰等非理想因素影响[2]。从长远来看,微系统外部的抖动测量技术在测试成本、研发周期、测量精度上已无法满足抖动测量需求。内建自测试(built-in self-test,BIST)技术能够对PLL时钟输出进行原位监测,反映其在工作状态下的实际性能,近年来受到了微系统开发者和测试工程师的高度关注。
PLL内建自测试技术主要关注时域参数中的抖动,常见的抖动测量电路中RO电路[3]容易受到工艺电压温度(process voltage temperature,PVT)的影响而引入测量误差;TVC电路[4]将输入两信号的时间差转换为电压差,将测量的电压值直接转换为抖动值,但面积开销大、工作速度慢;VDL电路[5]由于延时单元的不匹配需要校准,并需要电路具有鲁棒性;欠采样电路[6]容易集成、测量分辨率高、受PVT影响小,且面积开销小,同时不需要对输出的待测信号进行额外的校准。综合考虑,本文选用欠采样抖动测量电路作为研究重点。
本文在Simulink中对PLL电路进行建模仿真,得到带有一定抖动的输出信号,作为内建自测试电路设计与实现的研究对象。设计基于边沿对齐的欠采样周期抖动测量电路,依靠欠采样电路对PLL输出的待测信号进行采样。将含有待测信号波形特性的欠采样输出信号输入到抖动提取与处理电路,对抖动进行提取与处理。按照边沿对齐的方式,对抖动引起的跳变过渡区中的不稳定跳变位进行完整提取;并将提取到的抖动信息保存到统计存储器中,计算抖动信息。
1 锁相环抖动来源分析
集成微系统中各芯片间数据通路主要包括发送端(Tx)、互连信道和接收端(Rx)三部分,如图1所示。在发送端,抖动产生的源头主要是锁相环产生的时钟信号。在传输信道中,信号在通过构成信道的各类物理电互连结构时,介质损耗、导体损耗、反射和源于其他信道的串扰,会导致信号高频分量的衰减与畸变[7]。
图1 数据通路Fig.1 Data path
在接收端,时钟数据恢复(clock and data recovery,CDR)电路在对数据进行恢复时,其性能直接影响了数据的采样时刻和判决门限。抖动的来源主要是CDR电路。作为时间基准的PLL需要维持较小的抖动,并且具有一定的抖动跟踪能力,以确保接收端眼图的质量。微系统内部面向各芯片的多路时钟分配网络的传输行为特性往往与数据通路相似[8]。
2 锁相环电路搭建和抖动仿真
在Simulink中对数据通路上作为时间基准的PLL电路进行建模和仿真,以模拟出真实工作环境下的待测时钟信号。PLL电路基本结构由鉴频鉴相器(phase and frequency detector,PFD)、电荷泵(charge pump,CP)、低通滤波器(low-pass filter,LPF)、压控振荡器(voltage-controlled oscillator,VCO)和分频器(divider,DIV)等模块组成,如图2所示。锁相环工作时,输入的参考信号Fref和从VCO反馈的信号Fdiv同时输入到PFD中,进行频率和相位的比较。当Fref超前于(滞后于)Fdiv的相位时,PFD产生相位脉冲误差信号UP(DOWN),控制CP对LPF进行充(放)电,充(放)电电流大小为Icp。Icp会改变VCO控制电压Uctrl,进而导致VCO输出信号Fout的频率发生改变。将VCO输出信号Fout输入到DIV中进行分频,得到Fdiv,将其输入到PFD中与Fref的相位进行比较。这样进行多次比较,当Fref和Fdiv的相位对齐,或者存在很小相位差时,系统达到稳定。此时,Uctrl保持稳定,锁相环输出信号Fout的频率被锁定在某一频率点上。
图2 锁相环电路基本结构Fig.2 Basic structure of phase-locked loop circuit
在Simulink中搭建PLL电路的行为级模型,如图3所示。
图3 锁相环电路的行为级模型Fig.3 Behavioral model of phase-locked loop circuit
图3中,输入参考信号Fref为20 MHz,输出信号为1 GHz,分频比为50。环路带宽ωc一般为Fref的1/20~1/10[9],因此选择ωc为1.5 MHz。相位裕度为60°,满足系统稳定的要求。考虑到面积和功耗,选择CP的Icp为5 μA。选取VCO的增益Kvco=700 MHz/V,求得LPF的电容、电阻值分别为C0=9.049 6×10-14F、C1=1.17×10-12F、R1=3.384 6×105Ω。对整体电路进行仿真,当Uctrl=0.6 V时,环路的锁定时间为2.5 μs,如图4(a)所示。频率为1 GHz时锁相环电路Fout的频谱如图4(b)所示。该PLL电路能够锁定,并且工作在稳定的频率上。抖动测量模块得到抖动值为2.394×10-19s。此时输出信号的抖动值很小,PLL电路工作在接近理想的状态下。
图4 接近理想状态下的锁相环电路输出信号波形Fig.4 Output signal waveform of phase-locked loop circuit in near ideal state
由于PLL电路各个子模块对输出总相位噪声有不同的影响,抖动会随着相位噪声的增加而变大。当Fout的抖动比较小时,噪声对输出波形的影响可以忽略。当抖动比较大时,会导致时序问题,影响接收端眼图的质量。由于VCO的增益Kvco、CP的Icp值、LPF的电容电阻值对环路中的相位噪声影响很大,因此可以通过改变这些参数得到带有一定抖动的Fout。本文选择的抖动值范围在14~20 ps之间[6]。当抖动测量模块得到抖动值为14 ps时,通过示波器和频谱分析仪测量PLL电路的VCO控制电压波形和输出信号频谱图,如图5所示。Uctrl的波形在0.6 V处持续振荡,主频率仍然在1 GHz。随着噪声的增加,边带明显增大,频谱纯度变差,可实现对输出信号抖动值的调整。
图5 抖动为14 ps时锁相环电路输出信号波形Fig.5 Output signal waveform of phase-locked loop circuit when the jitter is 14 ps
3 基于边沿对齐的周期抖动测量电路
3.1 欠采样抖动测量电路原理
欠采样抖动测量电路主要由欠采样电路、移位寄存器、计数器、抖动信息提取与处理模块、统计存储器组等部分组成,如图6所示。将锁相环电路输出信号Fout作为测量电路的待测信号Fd。采样信号Fs与Fd具有微小的频率差。整个电路都用采样信号Fs作为同步时钟触发。
将Fd和Fs同时输入到欠采样电路中。接着,将包含抖动信息的欠采样输出信号Qout输入到移位寄存器中。抖动信息提取与处理模块和计数器配合,提取抖动信息。并将提取到的并行抖动信息保存至统计存储器组中进行计算,得到待测信号Fd的抖动值。
采样信号Fs的频率为fs,周期为Ts,待测信号Fd的频率为fd,周期为Td,它们之间微小的频率差转换为周期差ΔT为
(1)
ΔT决定了测量分辨率R,当ΔT足够小时,R可以达到ps级别,因此可以实现对Fd的高精度抖动测量。
由于ΔT的存在,经过N个周期以后就会累积NΔT的相位差,使得Qout的频率fout相较于输入端的fd和fs都降低很多。因此,可以在低频电路中分析处理更多的高频信息,提高了抖动测量精度,以较低的测试成本实现较高精度的抖动测量。
3.2 基于边沿对齐的欠采样周期抖动测量电路
在Xilinx Vivado环境中设计周期抖动测量电路,如图7所示。带有抖动的时钟信号Fd作为待测信号。Fs作为触发器的时钟信号。将Fd输入到3级D触发器中进行欠采样处理,降低亚稳态对测量精度的影响,得到了带有抖动信息的输出信号Qout。
图7 边沿对齐的周期抖动测量电路Fig.7 Edge-aligned periodic jitter measurement circuit
将包含抖动信息的Qout输入到抖动提取控制器中进行状态转换。图8为状态转移图。测量电路共有4种状态:当Qout为稳定0时,电路进入等待状态,此状态下计数器A处于复位状态;当Qout出现逻辑1,并检测到有0-1跳变位时,计数器A的使能端en_a拉高,开始计数,并将计数值out_a反馈回控制器中,计数器A计满结束计数,此时进入稳定1状态,计数器A进入复位状态;当Qout出现逻辑0,并检测到有1-0跳变位时,en_a拉高,计数器A开始计数,并将计数值反馈回控制器中,当计数器计满结束计数,状态机进入稳定0状态,如此循环往复,便可以将带有抖动的Qout的跳变位提取出来,通过统计存储器输出。
图8 状态转移图Fig.8 State transition diagram
跳变过渡区内的不稳定跳变位在设计时是一个预估值,结束测量之后,若发现计数器A不能为Qout信号的跳变过渡区完整计数,则需要改变R,使跳变过渡区的跳变位都能被计数器的计数值所覆盖,同时也避免了资源的浪费。采样的结束时刻根据不同R下的测量时间t来确定。不同R下的测量时间t通过式(2)确定。
(2)
若待测信号Fd的频率fd为1 GHz,即待测信号Fd的周期Td为1 ns。根据式(1)确定Fs的频率fs。R越大采样越粗略,R变化范围选为1.4~2.2 ps[10]。在R为1.4 ps时,采样信号Fs的周期为1 001.4 ps,测量时间t为12 μs,从式(2)[10]得到测量周期数TQ为16.78。在不改变测量周期数TQ的情况下,通过改变R,计算出不同测量分辨率下一次测量所需的测量时间t,如表1所示。根据国际固态技术协会(joint electron device engineering council,JEDEC)标准[11]规定,测量周期抖动时采样数要大于1 000,本设计的最低采样数为7 640个,符合要求。
表1 fd=1 GHz时不同测量分辨率下的计数器值和测量时间Table 1 Counter values and measurement time at different measurement resolutions when fd=1 GHz
在抖动提取的过程中,需要对Qout跳变过渡区的边沿位进行选择,并做对齐处理。中央对齐和平均对齐的近似处理引入了大量误差。常规的边沿对齐方式采用两个跳变寄存器连续保存数据的抖动信息。当出现溢出位时,会舍弃掉第一个寄存器的不稳定位,而对齐第二个寄存器的边沿位,导致对跳变过渡区的统计不完整。不同的抖动提取技术对比如图9所示。
图9 不同的抖动提取技术对比Fig. 9 Comparison of different jitter extraction techniques
为了将抖动引起的不稳定位完整提取,本文将一次测量中的多组跳变过渡区的数据,按照边沿对齐的方式叠加起来,如图10所示。
图10 改进的边沿对齐方式Fig.10 Improved edge alignment method
采用一个6位加法计数器A作为跳变寄存器A。左侧加粗实线代表边沿对齐的位置,考虑到了信号边沿和理想位置的偏移。当进行0-1跳变时,跳变过渡区出现的0为不稳定位,通过逻辑处理将0值变为1,1值变为0,从而对实际的0值进行计数;当进行1-0跳变时,跳变过渡区出现的1为不稳定位,直接对1值进行计数。因此,当检测到第一个不稳定位的1值时,跳变寄存器A开始计数,计满为止。对跳变过渡区的不稳定位进行提取之后,将每组跳变过渡区的每一位数据都保存到统计存储器组中,提高了抖动提取精度,减少了抖动提取时间。
统计存储器组由64个存储器组成。控制器将去除稳定0和稳定1的跳变过渡区的shift_en信号作为各存储器的使能端En[i]。当某个存储器的使能端拉高时,该存储器的值加1。图11所示为统计存储器组的数据保存流程。因此,可以将跳变过渡区相同位置的值累加得到待测信号的抖动值。
图11 统计存储器组的抖动数据存储过程Fig.11 Jitter data storage process of statistics memory group
将统计存储器组中的并行数据转换成串行数据CDF_shift,将串行抖动数据导入到txt文件中,再将该文件导入到Matlab中,通过式(3)对串行输出的抖动数据求均方根值。
(3)
式中:N为样本数;Ji为样本抖动值;JRMS为计算得到的抖动均方根值。上述完成了在1 GHz频率处某一R下对某一抖动值的测量。通过测量电路的测量结果与PLL电路的仿真结果对比,得出该抖动值下的测量误差。通过改变不同的R和注入抖动值,得到不同的测量结果,进而求出1 GHz时一组数据的测量误差绝对值的中位值。
4 测量结果与仿真结果对比
在Xilinx Vivado平台搭建了基于边沿对齐的周期抖动BIST电路,测量锁相环输出信号的抖动。待测信号Fd的频率为1 GHz,注入抖动值J分别为14 ps、16 ps、18 ps和20 ps,测量分辨率R分别为1.4 ps、1.6 ps、1.8 ps、2.0 ps和2.2 ps。
电路输出信号波形如图12(a)所示。欠采样电路的输出为Qout,可以看出跳变过渡区和稳定区。stata[3∶0]采用独热码作为状态转换。en_a为计数器的使能端,设置为高有效。out_a为6位加法计数器的输出。shift_out和shift_en为处于稳定区的跳变过渡区,为便于观察,将shift_out作为一组输出,shift_en作为存储器的使能端,方便数据写入,当使能端拉高的时候对应的存储器的值加1。out_cnt接入到存储器的写地址位上。jitter_cnt记录每一个跳变过渡区的跳变位的位数。data记录了每组数据的保存过程。通过cycle_cnt周期检测信号计算测量电路的测量时间,所有的数据保存工作都是在周期检测结束之后进行。当达到测量时间时,cycle_cnt拉低,bist_done测试完成信号拉高,接着将统计存储器组中的数据CDF_shift串行输出到txt文件中,从而计算出待测信号的抖动均方根值。图12(b)给出了0到0-1跳变过渡区的转变放大图。
图12 BIST电路测试结果图Fig.12 BIST circuit test results diagram
图13是对待测信号频率为1 GHz时的抖动测量误差分析,可以看出,随着注入抖动值的不断增加,测量误差不断变大。与实际的注入抖动值相比,周期抖动的平均测量误差为2.45%。
图13 待测信号频率fd=1 GHz时的测量误差Fig.13 The measurement error when the frequency of the measured signal is 1 GHz
用相同的方法分别测量800 MHz、500 MHz和300 MHz频率信号的注入抖动值和测量分辨率对抖动测量误差的影响,如图14所示。随着信号频率的减小,抖动测量误差不断增大;在某一个频率点处,测量误差的整体趋势随着注入抖动值的增加而不断增大,最大测量误差不超过8%。800 MHz、500 MHz和300 MHz信号的平均测量误差分别为2.52%、3.52%和3.65%。该测试电路可以满足300 MHz~1 GHz的测试要求。
图14 不同待测信号频率的测量误差Fig.14 Measurement error of different measured signal frequency
5 结束语
为实现对锁相环电路的原位监测,对改进的边沿对齐欠采样抖动测试电路技术开展研究,设计可集成于微系统内部的内建自测试电路,对模拟真实工作环境的输出信号抖动测量精度进行了评估。结果表明,对1 GHz频率信号的周期抖动的平均测量误差为2.45%,且可以满足300 MHz~1 GHz信号的测试要求。所构建的针对微系统的PLL内建自测试电路性能上可以满足应用需求,为微系统PLL的原位监测提供了一种可行的解决方案。