崔海龍 田愛國
摘要:在數(shù)字芯片測試中,當遇到芯片的數(shù)據(jù)輸出時間點不確定的情況時,測試儀無法編寫嚴格時序的測試向量,而采用match loop向量編程的測試方法可有效的解決以上問題。本文分析了兩種基本match loop方法,針對一款基帶芯片,采用match loop測試方法進行了詳細的分析,最終完成測試。
關(guān)鍵詞:ATE;match loop;數(shù)字芯片測試;時鐘同步
中圖分類號:TN407 文獻標識碼:A 文章編號:1007-9416(2018)04-0112-02
數(shù)字芯片以其優(yōu)于模擬芯片的先天優(yōu)勢,在集成性、高速性上有著飛速的發(fā)展。得益于相同的技術(shù)基礎(chǔ),自動測試儀器(ATE)自動化地完成測試序列,通過測試響應(yīng)采檢驗芯片是好是壞[1]。在如何使測試儀基于芯片內(nèi)部時鐘向芯片加載向量的問題上,當前主流自動測試儀均未有高精度的解決方案。測試工程師在深入理解測試機硬件和測試原理的基礎(chǔ)上,通過向量編程可實現(xiàn)兩者的同步,主流解決方案為match loop向量編程。
1 向量編程原理
數(shù)字芯片測試時,通常數(shù)據(jù)向量都是由測試儀按照嚴格的時序供給被測芯片,但有些情況下,芯片處理數(shù)據(jù)的時間是不確定的,測試儀需等待芯片數(shù)據(jù)處理完成輸出后,再加載向量,因此加載向量的時間點是不確定的。match loop向量編程的方法可以解決這一問題。
match loop向量編程首先分析芯片功能生效前后電平狀態(tài)區(qū)別,通過不間斷比對一段固定數(shù)據(jù)的向量,當匹配到預(yù)期的正確向量,則向量跳至正常功能測試部分,通過測試儀找到芯片開始工作的真實時間點。采用循環(huán)的方法減少了向量長度對測試儀通道向量深度的要求,并節(jié)約了編程時間。match loop有以下兩種典型的應(yīng)用。
1.1 相位匹配但芯片輸出時間不定
如一款數(shù)字芯片,依靠測試儀加載的輸入時鐘工作,輸入時鐘頻率CLKIN為40MHz,輸出時鐘頻率CLKOUT為10MHz,芯片初始工作時,CLKIN和CLKOUT相位不一致,當CLKIN與CLKOUT上升沿完全對應(yīng)時,芯片才可正常工作,且和輸入信號有著嚴格的相位關(guān)系,即每4個完整CLKIN周期對應(yīng)一個CLKOUT周期,且每2個CLKIN上升沿會引發(fā)CLKOUT的跳轉(zhuǎn),測試儀端需要匹配的是在第3個CLKIN上升沿,CLKOUT由低到高的跳轉(zhuǎn)的正確周期。
如圖1所示,因為無法預(yù)期到精確的CLKOUT周期起始時間點,用 match loop的方法進行匹配。
首先編寫匹配的測試向量,即4個CLKIN周期對應(yīng)1個CLKOUT由低到高變化的周期,可對CLKOUT管腳采用window檢測方式,通過設(shè)置首尾兩個比較沿,檢測在前兩個CLKIN周期時間內(nèi)CLKOUT保持低電平。對該行向量進行if(pass)jump判決,若fail,則插入1個CLKIN周期,并向上跳轉(zhuǎn)到判斷語句繼續(xù)判斷,進入循環(huán),可以看出,最多經(jīng)過3次循環(huán)即可以匹配到正確的時序關(guān)系,一旦pass則跳出循環(huán)繼續(xù)執(zhí)行后續(xù)向量。通過設(shè)置循環(huán)3次,在芯片失效后,通過函數(shù)語句控制報錯。
該種測試方法是match loop最常用的一種形式,也可用于輸出同周期但時間不確定的向量檢測。
1.2 相位不匹配且芯片輸出時間不確定
對于數(shù)據(jù)處理時間長且完成時間不固定芯片來說,測試儀需要要等待其處理,然后在正確的時間點繼續(xù)進行向量傳輸。如一款數(shù)字芯片,在初始向量輸入完成后,測試儀需等待芯片數(shù)據(jù)處理,在其狀態(tài)管腳電平由低變高后,測試機需立即開始向量對比。
match loop對該情況的處理方式是:選擇滿足芯片時序誤差要求的較小的時鐘周期編寫探測向量,設(shè)置循環(huán)次數(shù)防止死循環(huán),然后通過if(pass/fail)jump語句不斷對比循環(huán)對比,一旦匹配則執(zhí)行后續(xù)向量。如圖2所示。
該程序中設(shè)置10000次循環(huán)(push_loop c0),以fail為跳轉(zhuǎn)標識(branch_expr=fail),邏輯采用if(fail)jump形式,始終循環(huán)比較電平低,一旦出現(xiàn)fail,即跳變完成后,則跳轉(zhuǎn)到Matchhead_label執(zhí)行后續(xù)向量,若循環(huán)耗盡仍沒有匹配上則功能fail。最終實現(xiàn)測試儀依照芯片狀態(tài)管腳跳變進行向量加載。
2 match loop的應(yīng)用
基帶芯片是整個手機的核心部分,用來合成即將發(fā)射的基帶信號,或者對接收到的基帶信號進行解碼[2]。如一款基帶芯片,外部時鐘接口為10MHz,并引發(fā)芯片內(nèi)部鎖相環(huán)起振產(chǎn)生62MHz內(nèi)部時鐘,并以該時鐘作為工作時鐘,對接收自射頻前端的數(shù)據(jù)進行解調(diào),在設(shè)計時為了方便測試留出了切換端口,可繞過鎖相環(huán)由測試儀直接供給芯片62MHz時鐘對芯片進行功能測試,再單獨測試鎖相環(huán)的性能。但該芯片在封裝時未能將切換管腳封出,對測試造成了一定的困難,其功能測試具體要求如下:
由測試儀或者晶振供給芯片10MHz時鐘,芯片內(nèi)部鎖相環(huán)會在100ms左右時間起振,并輸出62MHz工作時鐘,測試儀需依照接收到的62MHz時鐘向芯片加載向量,完成功能測試。62MHz時鐘和輸入數(shù)據(jù)的時序關(guān)系見圖3。
由于輸入的10MHz和芯片鎖相環(huán)產(chǎn)生的62MHz時鐘沒有嚴格的時間對應(yīng)關(guān)系,造成了無法依照嚴格的時序編寫完整的功能測試向量,需要測試儀先探測并同步芯片鎖相環(huán)時鐘相位再向芯片的加載向量??梢圆捎胢atch loop的方法對該問題進行分析處理。
由于10MHz時鐘測試過程始終保持,不影響后續(xù)的功能測試且無時序關(guān)系,可由晶振代替。芯片在100ms起振后,輸出穩(wěn)定的62MHz時鐘。
測試方案:通過向量時序設(shè)置和向量匹配抓取一個完整的由高到低的時鐘周期。探測向量采用同樣62MHz時鐘編寫,周期內(nèi)設(shè)置2個測試沿,第1測試沿設(shè)在周期開始端,t1=2ns,設(shè)為比較高;第2個測試沿設(shè)在周期結(jié)束端,t2=14ns,設(shè)為比較低;設(shè)置步進周期,考慮到10ns誤差許可,采用T=1ns步進已可滿足測試精度。
執(zhí)行過程:待芯片內(nèi)部鎖相環(huán)起振穩(wěn)定后,首先執(zhí)行探測向量,確保經(jīng)過pipeline后,進行if(pass)jump判決,若fail則插入1ns周期步進,并返回含測試沿向量行,進入循環(huán),若pass則跳至數(shù)據(jù)輸入行進入功能測試。流程如圖4所示。
其中,用于通過pipeline的向量行采取同樣62MHz頻率,以確保向量和時鐘的相對相位保持不變,僅僅通過每次循環(huán)插入1ns周期無對比向量行,改變其相對相位,保證遍歷連續(xù)完整相位位置,最多經(jīng)過24次測試既可以匹配到正確的相位,完成同步,繼而開始功能向量輸入。
在上機測試中,根據(jù)芯片實際輸出時鐘性能,適當調(diào)節(jié)向量測試沿t1和t2時間和對比電平值,避免誤判。
3 結(jié)語
通過match loop向量編程,測試機可依據(jù)芯片輸出信號控制向量的加載,實現(xiàn)對某些管腳輸出時間不確定芯片的測試,也可基本實現(xiàn)測試機向量時鐘與芯片內(nèi)部時鐘的同步。但也可以看出,當芯片的輸入輸出周期不同且沒有嚴格的時序關(guān)系時,match loop所實現(xiàn)的“匹配”或“同步”存在著不可避免的誤差,這主要取決于測試機硬件頻率,采樣頻率越高則誤差越小。對以上問題的理想的解決方法是,高頻測試機以最高頻率不間斷對芯片輸出進行探測,計算波形后自動完成匹配對準,實現(xiàn)同步或測試輸出信號,隨著科技的進步,相信這一技術(shù)不久即可以實現(xiàn)。
參考文獻
[1]劉子龍,孫佳郡,韓光鮮.一種基ATE的FPGA測試方法研究[J].上海:信息技術(shù),2014,(09):47-49.
[2]潘應(yīng)進.基帶芯片架構(gòu)及驗證研究[J].電子世界,2016,(05):179-180.