文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.182211
中文引用格式: 孟博,顏河,管金鳳. 時(shí)鐘模塊自動(dòng)修調(diào)電路設(shè)計(jì)[J].電子技術(shù)應(yīng)用,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.
0 引言
集成電路的生產(chǎn)過(guò)程中,制造工藝會(huì)有一定的偏差,造成生產(chǎn)出的時(shí)鐘模塊的輸出不符合要求[1]。因此需要通過(guò)改變trim值調(diào)節(jié)時(shí)鐘模塊的相關(guān)參數(shù),將其輸出頻率修調(diào)至目標(biāo)頻率范圍,從而提高芯片良率[2-3]。
進(jìn)行修調(diào)時(shí),當(dāng)輸出頻率在目標(biāo)頻率范圍之內(nèi)時(shí),認(rèn)為修調(diào)成功,不再改變trim值,否則繼續(xù)修改trim值直到修調(diào)成功或者達(dá)到最大修調(diào)次數(shù)。改變trim值的方法通常有兩種。一種是遍歷法,一種是二分法。假設(shè)trim值是N bit。使用遍歷法時(shí),trim值每次改變1,最大修調(diào)次數(shù)是2N;使用二分法時(shí),trim值每次改變2n,n為小于N的整數(shù),最大修調(diào)次數(shù)是N。
遍歷法控制簡(jiǎn)單,當(dāng)遍歷了所有的trim值時(shí),能找到最優(yōu)的trim值,但測(cè)試時(shí)間較長(zhǎng)。相比遍歷法,二分法中每次trim值的改變都會(huì)排除當(dāng)前可取trim值范圍內(nèi)一半的trim值,整個(gè)過(guò)程中只取幾個(gè)特殊的trim值,因此測(cè)試時(shí)間短,但存在可能找不到最優(yōu)trim值的問(wèn)題。當(dāng)只要求把時(shí)鐘頻率修調(diào)到目標(biāo)范圍內(nèi)且不需要尋找到最優(yōu)trim值時(shí),使用二分法可以節(jié)省較多的測(cè)試時(shí)間,降低測(cè)試成本,且N值越大,節(jié)省的時(shí)間越多。
本文利用二分法設(shè)計(jì)時(shí)鐘模塊的自動(dòng)修調(diào)電路,可以對(duì)時(shí)鐘模塊進(jìn)行快速修調(diào),降低測(cè)試成本。
1 二分法原理
二分法常用于求函數(shù)零點(diǎn)的近似值,原理是:取函數(shù)f(x)零點(diǎn)所在區(qū)間[a,b]的中點(diǎn),比較區(qū)間中點(diǎn)處的值f((a+b)/2)和0的大小,根據(jù)比較結(jié)果用(a+b)/2代替a或者b,重復(fù)上述步驟,使區(qū)間的兩個(gè)端點(diǎn)逐步逼近零點(diǎn),進(jìn)而就可求得零點(diǎn)近似值。該方法的使用條件是:函數(shù)f(x)在區(qū)間[a,b]上連續(xù)且f(a)·f(b)<0。
將二分法應(yīng)用到時(shí)鐘模塊的修調(diào)中,假設(shè)時(shí)鐘模塊可取的trim值范圍是[trim_l,trim_h],時(shí)鐘頻率和trim值的關(guān)系是f(trim),目標(biāo)頻率范圍是[fl,fh]。根據(jù)二分法的使用條件,可知,當(dāng)[f(trim_l)-fh]·[f(trim_h)-f1]<0時(shí),可以使用二分法來(lái)求滿足條件的trim值。
另外,由于trim值是離散的,當(dāng) trim的step大于目標(biāo)頻率的變化范圍時(shí),可能不存在使時(shí)鐘模塊的輸出處于目標(biāo)頻率范圍內(nèi)的trim值,如圖1所示。
圖1中trim step大于目標(biāo)頻率的變化范圍,導(dǎo)致每個(gè)trim值都無(wú)法對(duì)應(yīng)到目標(biāo)頻率范圍內(nèi),找不到滿足要求的trim值。因此設(shè)定的目標(biāo)頻率變化范圍應(yīng)該大于trim step并且在芯片正常工作要求的范圍之內(nèi)。
2 自動(dòng)修調(diào)電路設(shè)計(jì)
自動(dòng)修調(diào)電路主要由脈沖同步器Syn、計(jì)數(shù)器Counter、比較器Compare、修改trim值模塊Adjust組成。修調(diào)電路的構(gòu)造以及和外部ATE、時(shí)鐘模塊OSC的連接關(guān)系如圖2所示,pulse是ATE提供的慢速脈沖,clk是需要修調(diào)的時(shí)鐘,trim_value[N-1:0]是OSC模塊的trim值。
修調(diào)電路的工作原理如圖3所示,圖中c1是在ATE提供的脈沖高電平期間對(duì)clk進(jìn)行計(jì)數(shù)的計(jì)數(shù)值;c2是脈沖個(gè)數(shù)計(jì)數(shù)器。為了簡(jiǎn)化電路設(shè)計(jì),不采用比較clk實(shí)際頻率和目標(biāo)頻率范圍的方法判斷是否修調(diào)成功,而是將目標(biāo)頻率范圍[fl,fh]轉(zhuǎn)化成計(jì)數(shù)器c1的目標(biāo)取值范圍[Llimit,Hlimit],如果計(jì)數(shù)結(jié)束時(shí)c1的值在[Llimit,Hlimit]之間,則認(rèn)為修調(diào)成功。本文假設(shè)OSC輸出時(shí)鐘頻率隨著trim值的增加大致呈增加趨勢(shì)。
trim的初始值設(shè)為中間值2N-1,c1和c2的初始值設(shè)為0。
修調(diào)電路接收ATE提供的慢速脈沖pulse和OSC的輸出時(shí)鐘clk。在pulse的高電平期間對(duì)clk計(jì)數(shù),高電平結(jié)束后,將計(jì)數(shù)值c1與設(shè)定的計(jì)數(shù)值上下限比較。比較結(jié)果有三種情況:(1)c1大于Llimit并且小于Hlimit,說(shuō)明OSC輸出頻率處于目標(biāo)頻率范圍,修調(diào)成功;(2)c1大于上限Hlimit,說(shuō)明OSC輸出頻率高于目標(biāo)頻率范圍,將trim值向降低OSC輸出頻率的方向調(diào)整;(3)c1小于Llimit,說(shuō)明OSC輸出頻率低于目標(biāo)頻率范圍,將trim值向增高OSC輸出頻率的方向調(diào)整。比較結(jié)果為(2)和(3)兩種情況時(shí),調(diào)整trim值之后重復(fù)上述步驟。如果輸入N次慢速脈沖后仍然沒(méi)有修調(diào)成功,那么認(rèn)為不能通過(guò)改變trim值將時(shí)鐘模塊的輸出頻率修調(diào)到目標(biāo)范圍,修調(diào)失敗。
3 慢速脈沖同步和測(cè)量誤差
ATE輸出的pulse和OSC輸出的clk是異步關(guān)系,所以需要將pulse同步到clk時(shí)鐘域之后使用。同步電路用兩級(jí)級(jí)聯(lián)的寄存器實(shí)現(xiàn),如圖4所示。
假設(shè)pulse寬度等于(m+n)T,其中m為任意正整數(shù),n為小于1的任意實(shí)數(shù),T為clk的周期。同步后的pulse_syn相對(duì)同步前的pulse脈沖寬度會(huì)有所改變,最大誤差是pulse_syn的脈寬比pulse的脈寬近似多一個(gè)clk周期或者少一個(gè)clk周期,因此clk的計(jì)數(shù)結(jié)果cnt1與m+n的最大差值的約等于±1。
以m=2為例對(duì)同步前后的脈沖寬度進(jìn)行分析,如圖5所示。
當(dāng)n=0時(shí),pulse可能會(huì)被2或者3個(gè)clk上升沿采集到。被兩個(gè)上升沿采到時(shí),不會(huì)發(fā)生亞穩(wěn)態(tài),同步前后的脈沖寬度不變,如圖5(a)所示;被三個(gè)上升沿采到時(shí),脈沖的前后沿都會(huì)發(fā)生亞穩(wěn)態(tài),亞穩(wěn)態(tài)穩(wěn)定結(jié)果的隨機(jī)性使得同步前后的脈沖寬度不同[5],如圖5(b)~圖5(e)所示。
從圖5中可以看出當(dāng)同步前的脈沖寬度等于2倍clk周期時(shí),同步后的脈沖寬度可能是1、2、3個(gè)clk周期,同步造成的脈寬誤差最大是1個(gè)clk周期。當(dāng)n≠0時(shí),pulse可能被 2個(gè)或者3個(gè)或者4個(gè)clk上升沿采集到,分析方法同n=0,同步后脈寬最大誤差約等于1個(gè)clk周期。
下面分析因?yàn)槊}寬變化導(dǎo)致的clk頻率測(cè)量誤差。
同步之前的脈沖寬度為:
由式(5)可知,ATE提供的脈沖寬度越寬,頻率測(cè)量誤差越小。
增加脈沖寬度可以減小測(cè)試誤差,但同時(shí)也會(huì)增加測(cè)試時(shí)間,因此需要在測(cè)試誤差和測(cè)試時(shí)間之間進(jìn)行平衡。
另外,為了保證trim值的每次改變都能有效地體現(xiàn)出來(lái),不被脈沖同步所造成的誤差掩蓋,在脈沖寬度不變的情況下,trim值最低位的改變應(yīng)使計(jì)數(shù)器c1的值至少改變2。為了滿足該要求,設(shè)脈沖寬度最少應(yīng)該是b s。假設(shè)OSC的trim step是a Hz,那么:
式中單位是秒。
通過(guò)上述分析,可知慢速脈沖的寬度應(yīng)該由測(cè)量誤差和trim step共同決定。
4 仿真結(jié)果
根據(jù)二分法原理設(shè)計(jì)時(shí)鐘模塊自動(dòng)修調(diào)電路,被修調(diào)的時(shí)鐘模塊的頻率和trim值是單調(diào)增加的關(guān)系,trim位寬為5,trim step大約是fstep=1.5%×2 MHz。目標(biāo)頻率是ftarget=2 MHz,接收的頻率范圍是ftarget±2%,即1.96 MHz~2.04 MHz,要求測(cè)量誤差小于±1%。由式(1)、式(5)得到的最小脈沖寬度為100/(1.96×106)≈51.02 μs;由式(6)得到的最小脈沖寬度為2/fstep=2/(2×106×0.015)≈66.7 μs。因此最小脈沖寬度為66.7 μs。為了減少測(cè)量誤差且測(cè)試時(shí)間在承受范圍內(nèi),此處選擇500 μs的脈沖寬度。計(jì)數(shù)器c1的上下限分別對(duì)應(yīng)于2.04 MHz和1.96 MHz,它們的值分別是1 020和980。仿真結(jié)果如圖6所示,為了方便觀察,將c1的值轉(zhuǎn)化模擬波形顯示。圖6(a)中在輸入第3次脈沖后success信號(hào)變高,表示自動(dòng)修調(diào)成功。修改時(shí)鐘模型后再次進(jìn)行仿真,如圖6(b)所示,在最大修調(diào)次數(shù),即輸入第5次脈沖后fail信號(hào)變高,表示時(shí)鐘模塊的輸出偏離目標(biāo)范圍太多,無(wú)法通過(guò)修調(diào)使其輸出頻率滿足要求。
從仿真結(jié)果可以看出,對(duì)于trim位寬為5的時(shí)鐘模塊,設(shè)計(jì)的自動(dòng)修調(diào)電路能夠在不多于5次輸入脈沖后給出修調(diào)結(jié)果。
5 結(jié)論
對(duì)集成電路的時(shí)鐘模塊進(jìn)行測(cè)試時(shí),需要尋找處于目標(biāo)頻率范圍的trim值。為了減少測(cè)試時(shí)間,設(shè)計(jì)自動(dòng)修調(diào)電路,修調(diào)電路使用二分法改變trim值,二分法相對(duì)遍歷法具有更快的收斂速度,trim值的變化范圍越大,二分法在測(cè)試時(shí)間上的優(yōu)勢(shì)越明顯。ATE提供的最小脈沖寬度應(yīng)該由允許的測(cè)量誤差和trim step共同決定。
參考文獻(xiàn)
[1] 葛南,陳東坡.ATE測(cè)試中的Bandgap Trim技術(shù)研究[J].微電子學(xué)與計(jì)算機(jī),2015,32(4):70-78.
[2] 葛南.DC_DC Buck芯片ATE測(cè)試中的Trim技術(shù)研究[D].上海:上海交通大學(xué),2015.
[3] 李俠.離線式開(kāi)關(guān)電源控制芯片功率器件及部分子電路設(shè)計(jì)[D].成都:電子科技大學(xué),2011.
[4] 李文昌,王繼安,李威,等.修調(diào)技術(shù)在高精度集成電路中的實(shí)現(xiàn)[J].微處理機(jī),2006(1):1-2.
[5] 吳厚航.深入淺出玩轉(zhuǎn)FPGA [M].北京:北京航空航天大學(xué)出版社,2010.
作者信息:
孟 博1,2,顏 河1,2,管金鳳1,2
(1.北京智芯微電子科技有限公司 國(guó)家電網(wǎng)公司重點(diǎn)實(shí)驗(yàn)室 電力芯片設(shè)計(jì)分析實(shí)驗(yàn)室,北京100192;
2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設(shè)計(jì)工程技術(shù)研究中心,北京100192)