《电子技术应用》
您所在的位置:首页 > 模拟设计 > 设计应用 > 时钟模块自动修调电路设计
时钟模块自动修调电路设计
2019年电子技术应用第5期
孟 博1,2,颜 河1,2,管金凤1,2
1.北京智芯微电子科技有限公司 国家电网公司重点实验室 电力芯片设计分析实验室,北京100192; 2.北京智芯微电子科技有限公司 北京市电力高可靠性集成电路设计工程技术研究中心,北京100192
摘要: 由于实际生产过程中的工艺偏差,时钟模块输出的实际频率和设计频率相差比较大,因此在测试阶段,需要对输出频率不在目标范围内的时钟模块进行修调。基于二分法相对遍历法具有快速收敛的特点,设计自动修调电路并分析了异步脉冲同步带来的修调误差。自动修调电路通过ATE(Automatic Test Equipment)提供的慢速脉冲对时钟模块输出的时钟计数,用二分法自动改变trim值,从而达到快速修调的目的,节省了测试时间。
中图分类号: TN492
文献标识码: A
DOI:10.16157/j.issn.0258-7998.182211
中文引用格式: 孟博,颜河,管金凤. 时钟模块自动修调电路设计[J].电子技术应用,2019,45(5):14-16,22.
英文引用格式: Meng Bo,Yan He,Guan Jinfeng. Design of auto trim circuit for clock generation module[J]. Application of Electronic Technique,2019,45(5):14-16,22.
Design of auto trim circuit for clock generation module
Meng Bo1,2,Yan He1,2,Guan Jinfeng1,2
1.State Grid Key Laboratory of Power Industrial Chip Design and Analysis Technology, Beijing Smart-Chip Microelectronics Technology Co.,Ltd.,Beijing 100192,China; 2.Beijing Engineering Research Center of High-reliability IC with Power Industrial Grade, Beijing Smart-Chip Microelectronics Technology Co.,Ltd.,Beijing 100192,China
Abstract: Due to the influence of the process, actual frequency of clock generator module always has some deviations from target, it is necessary to trim the clock module whose frequency is not as it was expected. Compared with traversing method, dichotomy has higher convergence rate. Auto trim circuit was designed based on dichotomy, and measurement error caused by synchronous of referenced pulse was analyzed. Auto trim circuit counted output of clock generator module during high level of referenced slow pulse which was generated by automatic test equipment, and trim value was changed using dichotomy, achieving the purpose of saving measure time.
Key words : auto trim;dichotomy;measure time

0 引言

    集成电路的生产过程中,制造工艺会有一定的偏差,造成生产出的时钟模块的输出不符合要求[1]。因此需要通过改变trim值调节时钟模块的相关参数,将其输出频率修调至目标频率范围,从而提高芯片良率[2-3]

    进行修调时,当输出频率在目标频率范围之内时,认为修调成功,不再改变trim值,否则继续修改trim值直到修调成功或者达到最大修调次数。改变trim值的方法通常有两种。一种是遍历法,一种是二分法。假设trim值是N bit。使用遍历法时,trim值每次改变1,最大修调次数是2N;使用二分法时,trim值每次改变2n,n为小于N的整数,最大修调次数是N。

    遍历法控制简单,当遍历了所有的trim值时,能找到最优的trim值,但测试时间较长。相比遍历法,二分法中每次trim值的改变都会排除当前可取trim值范围内一半的trim值,整个过程中只取几个特殊的trim值,因此测试时间短,但存在可能找不到最优trim值的问题。当只要求把时钟频率修调到目标范围内且不需要寻找到最优trim值时,使用二分法可以节省较多的测试时间,降低测试成本,且N值越大,节省的时间越多。

    本文利用二分法设计时钟模块的自动修调电路,可以对时钟模块进行快速修调,降低测试成本。

1 二分法原理

    二分法常用于求函数零点的近似值,原理是:取函数f(x)零点所在区间[a,b]的中点,比较区间中点处的值f((a+b)/2)和0的大小,根据比较结果用(a+b)/2代替a或者b,重复上述步骤,使区间的两个端点逐步逼近零点,进而就可求得零点近似值。该方法的使用条件是:函数f(x)在区间[a,b]上连续且f(a)·f(b)<0。

    将二分法应用到时钟模块的修调中,假设时钟模块可取的trim值范围是[trim_l,trim_h],时钟频率和trim值的关系是f(trim),目标频率范围是[fl,fh]。根据二分法的使用条件,可知,当[f(trim_l)-fh]·[f(trim_h)-f1]<0时,可以使用二分法来求满足条件的trim值。

    另外,由于trim值是离散的,当 trim的step大于目标频率的变化范围时,可能不存在使时钟模块的输出处于目标频率范围内的trim值,如图1所示。

wdz1-t1.gif

    图1中trim step大于目标频率的变化范围,导致每个trim值都无法对应到目标频率范围内,找不到满足要求的trim值。因此设定的目标频率变化范围应该大于trim step并且在芯片正常工作要求的范围之内。

2 自动修调电路设计

    自动修调电路主要由脉冲同步器Syn、计数器Counter、比较器Compare、修改trim值模块Adjust组成。修调电路的构造以及和外部ATE、时钟模块OSC的连接关系如图2所示,pulse是ATE提供的慢速脉冲,clk是需要修调的时钟,trim_value[N-1:0]是OSC模块的trim值。

wdz1-t2.gif

    修调电路的工作原理如图3所示,图中c1是在ATE提供的脉冲高电平期间对clk进行计数的计数值;c2是脉冲个数计数器。为了简化电路设计,不采用比较clk实际频率和目标频率范围的方法判断是否修调成功,而是将目标频率范围[fl,fh]转化成计数器c1的目标取值范围[Llimit,Hlimit],如果计数结束时c1的值在[Llimit,Hlimit]之间,则认为修调成功。本文假设OSC输出时钟频率随着trim值的增加大致呈增加趋势。

wdz1-t3.gif

    trim的初始值设为中间值2N-1,c1和c2的初始值设为0。

    修调电路接收ATE提供的慢速脉冲pulse和OSC的输出时钟clk。在pulse的高电平期间对clk计数,高电平结束后,将计数值c1与设定的计数值上下限比较。比较结果有三种情况:(1)c1大于Llimit并且小于Hlimit,说明OSC输出频率处于目标频率范围,修调成功;(2)c1大于上限Hlimit,说明OSC输出频率高于目标频率范围,将trim值向降低OSC输出频率的方向调整;(3)c1小于Llimit,说明OSC输出频率低于目标频率范围,将trim值向增高OSC输出频率的方向调整。比较结果为(2)和(3)两种情况时,调整trim值之后重复上述步骤。如果输入N次慢速脉冲后仍然没有修调成功,那么认为不能通过改变trim值将时钟模块的输出频率修调到目标范围,修调失败。

3 慢速脉冲同步和测量误差

    ATE输出的pulse和OSC输出的clk是异步关系,所以需要将pulse同步到clk时钟域之后使用。同步电路用两级级联的寄存器实现,如图4所示。

wdz1-t4.gif

    假设pulse宽度等于(m+n)T,其中m为任意正整数,n为小于1的任意实数,T为clk的周期。同步后的pulse_syn相对同步前的pulse脉冲宽度会有所改变,最大误差是pulse_syn的脉宽比pulse的脉宽近似多一个clk周期或者少一个clk周期,因此clk的计数结果cnt1与m+n的最大差值的约等于±1。

    以m=2为例对同步前后的脉冲宽度进行分析,如图5所示。

wdz1-t5.gif

    当n=0时,pulse可能会被2或者3个clk上升沿采集到。被两个上升沿采到时,不会发生亚稳态,同步前后的脉冲宽度不变,如图5(a)所示;被三个上升沿采到时,脉冲的前后沿都会发生亚稳态,亚稳态稳定结果的随机性使得同步前后的脉冲宽度不同[5],如图5(b)~图5(e)所示。

    从图5中可以看出当同步前的脉冲宽度等于2倍clk周期时,同步后的脉冲宽度可能是1、2、3个clk周期,同步造成的脉宽误差最大是1个clk周期。当n≠0时,pulse可能被 2个或者3个或者4个clk上升沿采集到,分析方法同n=0,同步后脉宽最大误差约等于1个clk周期。

    下面分析因为脉宽变化导致的clk频率测量误差。

    同步之前的脉冲宽度为:

     wdz1-gs1-5.gif

    由式(5)可知,ATE提供的脉冲宽度越宽,频率测量误差越小。

    增加脉冲宽度可以减小测试误差,但同时也会增加测试时间,因此需要在测试误差和测试时间之间进行平衡。

    另外,为了保证trim值的每次改变都能有效地体现出来,不被脉冲同步所造成的误差掩盖,在脉冲宽度不变的情况下,trim值最低位的改变应使计数器c1的值至少改变2。为了满足该要求,设脉冲宽度最少应该是b s。假设OSC的trim step是a Hz,那么:

    wdz1-gs6.gif

式中单位是秒。

    通过上述分析,可知慢速脉冲的宽度应该由测量误差和trim step共同决定。

4 仿真结果

    根据二分法原理设计时钟模块自动修调电路,被修调的时钟模块的频率和trim值是单调增加的关系,trim位宽为5,trim step大约是fstep=1.5%×2 MHz。目标频率是ftarget=2 MHz,接收的频率范围是ftarget±2%,即1.96 MHz~2.04 MHz,要求测量误差小于±1%。由式(1)、式(5)得到的最小脉冲宽度为100/(1.96×106)≈51.02 μs;由式(6)得到的最小脉冲宽度为2/fstep=2/(2×106×0.015)≈66.7 μs。因此最小脉冲宽度为66.7 μs。为了减少测量误差且测试时间在承受范围内,此处选择500 μs的脉冲宽度。计数器c1的上下限分别对应于2.04 MHz和1.96 MHz,它们的值分别是1 020和980。仿真结果如图6所示,为了方便观察,将c1的值转化模拟波形显示。图6(a)中在输入第3次脉冲后success信号变高,表示自动修调成功。修改时钟模型后再次进行仿真,如图6(b)所示,在最大修调次数,即输入第5次脉冲后fail信号变高,表示时钟模块的输出偏离目标范围太多,无法通过修调使其输出频率满足要求。

wdz1-t6.gif

    从仿真结果可以看出,对于trim位宽为5的时钟模块,设计的自动修调电路能够在不多于5次输入脉冲后给出修调结果。

5 结论

    对集成电路的时钟模块进行测试时,需要寻找处于目标频率范围的trim值。为了减少测试时间,设计自动修调电路,修调电路使用二分法改变trim值,二分法相对遍历法具有更快的收敛速度,trim值的变化范围越大,二分法在测试时间上的优势越明显。ATE提供的最小脉冲宽度应该由允许的测量误差和trim step共同决定。

参考文献

[1] 葛南,陈东坡.ATE测试中的Bandgap Trim技术研究[J].微电子学与计算机,2015,32(4):70-78.

[2] 葛南.DC_DC Buck芯片ATE测试中的Trim技术研究[D].上海:上海交通大学,2015.

[3] 李侠.离线式开关电源控制芯片功率器件及部分子电路设计[D].成都:电子科技大学,2011.

[4] 李文昌,王继安,李威,等.修调技术在高精度集成电路中的实现[J].微处理机,2006(1):1-2.

[5] 吴厚航.深入浅出玩转FPGA [M].北京:北京航空航天大学出版社,2010.



作者信息:

孟  博1,2,颜  河1,2,管金凤1,2

(1.北京智芯微电子科技有限公司 国家电网公司重点实验室 电力芯片设计分析实验室,北京100192;

2.北京智芯微电子科技有限公司 北京市电力高可靠性集成电路设计工程技术研究中心,北京100192)