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