用以在操作系統(tǒng)中掃描測試閑置功能單元的系統(tǒng)及方法
【專利說明】
【背景技術(shù)】
[0001]大多數(shù)現(xiàn)代化數(shù)字系統(tǒng)都花太多的操作時(shí)間,而系統(tǒng)一些或所有的主要部分閑置或者接近閑置。即使快速打字員也很少能提供超出每100毫秒輸入一個(gè)字符。雖然手機(jī)或平板計(jì)算機(jī)當(dāng)在“待機(jī)”時(shí)也必須保持?jǐn)?shù)字無線電守聽,但這些手機(jī)會在大半的生命過程中使顯示器無顯示、音頻處理電路斷訊、及相機(jī)關(guān)機(jī),以節(jié)省電池電量的損耗。舊的以“CRT”為基礎(chǔ)的電視和監(jiān)視器具有垂直和水平回掃間隔,在此期間內(nèi)沒有視頻被顯示。
[0002]理想的情況是定期測試數(shù)字系統(tǒng),因?yàn)橐慌c所有其它的人造設(shè)備一樣一它們已經(jīng)知道失敗都是出在永續(xù)的問題,以及對操作條件的敏感,如高溫、輻射和電壓不足的電池。
[0003]雖然許多數(shù)字系統(tǒng)在“啟動”,或電力開啟、時(shí)間上執(zhí)行至少一些自測試,但對于許多使用現(xiàn)代設(shè)備(包括筆記本電腦、移動電話及類似的設(shè)備)的用戶會遇到一個(gè)挫折,就是“啟動”設(shè)備需要花很長的時(shí)間。
[0004]掃描鏈測試是本領(lǐng)域中常見的方式。在傳統(tǒng)的掃描測試中,如第I圖的公知技術(shù)圖所示,功能單元100具有需測試的邏輯塊102。通常情況下,該單元的所有寄存器和狀態(tài)機(jī)從邏輯塊102分離成可掃描的寄存器104。可掃描的寄存器104包括可掃描的“觸發(fā)器”106,每個(gè)觸發(fā)器106具有兩個(gè)模式,正常操作模式和掃描模式,在正常操作模式中,輸入從邏輯塊102輸往該觸發(fā)器,在掃描模式中,輸入從在該可掃描的寄存器的另一觸發(fā)器輸往該觸發(fā)器;每個(gè)可掃描的觸發(fā)器還提供輸出到邏輯塊102。在許多系統(tǒng)中,都是使用“D”觸發(fā)器108,2:1的多路轉(zhuǎn)換器110可將觸發(fā)器從正常模式切換至掃描模式。該可掃描的觸發(fā)器在掃描模式中作為移位寄存器,被稱作掃描鏈,在正常模式中作為正常的寄存器,或?yàn)橐唤M觸發(fā)器。
[0005]典型地,數(shù)據(jù)輸入112自測試模式的接口電路120提供到該掃描鏈,及數(shù)據(jù)輸出114自該掃描鏈提供到該測試接口電路120。
[0006]每個(gè)可掃描的觸發(fā)器中的共同時(shí)鐘118在一些系統(tǒng)中可用于兩種模式,在一些系統(tǒng)中,時(shí)鐘切換電路在測試接口電路120被提供,及在其他系統(tǒng)中,提供兩個(gè)時(shí)鐘給每個(gè)可掃描的觸發(fā)器106,在測試期間系統(tǒng)時(shí)鐘失效。典型地,當(dāng)測試模式被啟動,測試接口電路120從外部測試器122將數(shù)據(jù)及時(shí)鐘信號帶進(jìn)該掃描鏈,并提供數(shù)據(jù)輸出到測試器122。邏輯時(shí)鐘102可接收來自其他子系統(tǒng)或芯片的附加的輸入124,并提供輸出126到那些子系統(tǒng)或芯片中;在許多此種系統(tǒng)中,任何與這些輸入及輸出有關(guān)的觸發(fā)器或寄存器,通常連同身為掃描鏈一部分的可掃描的觸發(fā)器106實(shí)施。在較大的系統(tǒng)中,可能有多于一個(gè)的掃描鏈,其中,測試接口電路120包括用以從所提供的掃描鏈選擇有效掃描鏈的邏輯。
[0007]典型地,掃描測試是在生產(chǎn)測試環(huán)境期間運(yùn)行,其中被測試的系統(tǒng)執(zhí)行非正常的操作,且外部測試器122提供“測試矢量”的序列練習(xí)邏輯塊102,該矢量通常包括與輸入124相關(guān)聯(lián)的刺激,以及用于初始化該掃描鏈的每個(gè)可掃描的觸發(fā)器106到期望的狀態(tài)的數(shù)據(jù)。該測試器將每個(gè)矢量裝載到該掃描鏈及輸入124上,對一個(gè)時(shí)鐘周期切換該掃描鏈到正常模式以加載邏輯102的輸出到該掃描鏈的觸發(fā)器,然后切換該掃描鏈回到掃描模式并依序地從掃描鏈中讀取出數(shù)據(jù),將從該掃描鏈讀取的數(shù)據(jù)與期望值進(jìn)行比較。同樣地,在正常模式的時(shí)鐘周期期間,將輸出126與預(yù)期值進(jìn)行比較。
[0008]典型地,在系統(tǒng)操作期間,甚至在啟動時(shí)間都不執(zhí)行掃描測試。
【發(fā)明內(nèi)容】
[0009]一種系統(tǒng),其在集成電路中具有晶種內(nèi)存,晶種內(nèi)存耦合以提供晶種至矢量產(chǎn)生器,該矢量產(chǎn)生器提供矢量到第一功能單元中的至少一個(gè)掃描鏈。簽名產(chǎn)生器被配置以產(chǎn)生來自掃描鏈數(shù)據(jù)的簽名,該簽名在簽名內(nèi)存中與預(yù)期的簽名進(jìn)行比較。狀態(tài)存儲器被提供用以儲存該功能單元的狀態(tài),并當(dāng)測試完成時(shí)恢復(fù)該功能單元的該狀態(tài)。該系統(tǒng)還具有配置以判定該功能單元的閑置情況的裝置,盡管該系統(tǒng)處于非閑置狀態(tài)下;以及一配置以操作測試序列的控制單元,當(dāng)該功能單元是閑置時(shí),該測試序列儲存該單元的狀態(tài)、產(chǎn)生向量和簽名,并驗(yàn)證該簽名,及恢復(fù)該單元的該狀態(tài)。
[0010]一種在該系統(tǒng)操作期間測試系統(tǒng)的方法,其包含:判定該系統(tǒng)的特定的功能單元為閑置的;選取晶種并將該晶種加載矢量產(chǎn)生器;當(dāng)該功能單元的先前狀態(tài)移入狀態(tài)存儲器,將來自該矢量產(chǎn)生器的矢量移入該功能單元的掃描鏈;計(jì)時(shí)以捕獲在該掃描鏈中的該功能單元的輸出邏輯;從該掃描鏈將數(shù)據(jù)移入該簽名產(chǎn)生器且產(chǎn)生簽名;將該簽名與在簽名內(nèi)存中的期望的簽名進(jìn)行比較并產(chǎn)生不匹配下的失敗信號;將該功能單元恢復(fù)至儲存在該狀態(tài)存儲器的該狀態(tài);以及將該功能單元返回至正常操作。
【附圖說明】
[0011]第I圖描繪配置來用于傳統(tǒng)掃描測試的公知的子系統(tǒng)的塊階示意圖;
[0012]第2圖描繪系統(tǒng)的塊階示意圖,該系統(tǒng)具有配置來當(dāng)閑置時(shí)用于掃描測試的復(fù)數(shù)個(gè)子系統(tǒng),該掃描測試使用內(nèi)部式樣產(chǎn)生器及式樣驗(yàn)證電路。
[0013]第3圖描繪第2圖的系統(tǒng)的掃描控制及驗(yàn)證單元的塊階示意圖。
[0014]第4圖描繪第2圖的系統(tǒng)的閑置單元寄存器的2位。
[0015]第5圖描繪第2圖及第3圖的系統(tǒng)的操作流程圖。
【具體實(shí)施方式】
[0016]系統(tǒng)200(第2圖)具有一個(gè)、兩個(gè)、或更多個(gè)單元或子系統(tǒng)202、204,每一個(gè)被配置來用于掃描測試,并且每一個(gè)具有一個(gè)或多個(gè)邏輯段206、208、210及一個(gè)或多個(gè)掃描鏈212、214、216。此外,還有晶載測試控制單元220,具有整體矢量發(fā)生器、簽名產(chǎn)生器和驗(yàn)證器、狀態(tài)內(nèi)存、晶種內(nèi)存和簽名內(nèi)存,該測試控制單元220被配置來如本文所述操作,及根據(jù)第5圖的該測試控制器的流程圖操作,并具有與第3圖所示相同的結(jié)構(gòu)。如第4圖所示,系統(tǒng)200也具有閑置單元寄存器222,其具有單元閑置、單元請求,及在測試標(biāo)記下的單元,和系統(tǒng)剩余部分224,其具有附加的功能單元,能夠在操作期間的特定時(shí)間識別單元的單元或子系統(tǒng)202,204是閑置的。在具體的實(shí)施例中,系統(tǒng)剩余部分224包括處理器226和內(nèi)存228與其它功能單元,盡管在其他實(shí)施例中,系統(tǒng)剩余部分224具有附加的固線式邏輯,附加的固線式邏輯執(zhí)行由處理器226執(zhí)行的根據(jù)本文所述的步驟。
[0017]測試控制單元220(第3圖)具有晶種內(nèi)存302和簽名內(nèi)存304。該晶種內(nèi)存和簽名內(nèi)存由地址尋址,該地址通過連接單元計(jì)數(shù)器306、鏈計(jì)數(shù)器308,及晶種計(jì)數(shù)器310而產(chǎn)生。在只有一個(gè)測試單元的實(shí)施例中,單元計(jì)數(shù)器可被省略。同樣地,在所有單元僅具有一個(gè)鏈的實(shí)施例中,鏈計(jì)數(shù)器308可被省略。在具有兩個(gè)或更多個(gè)單元或兩個(gè)或更多的鏈的實(shí)施例中,用相同的地址尋址的鏈及晶種計(jì)數(shù)限制內(nèi)存312被提供以指示去控制邏輯314,當(dāng)前單元的若干鏈的限制、指示若干晶種對每個(gè)特定單元使用的限制、及當(dāng)前鏈的位計(jì)數(shù)或長度。內(nèi)存304、302、312可被配置為單一的、寬的、內(nèi)存陣列。
[0018]該晶種內(nèi)存302的輸出被耦合到矢量產(chǎn)生器316,其被配置以生成冗長位序列,在實(shí)施例中,該矢量產(chǎn)生器為N位線性回饋移位寄存器(LFSR),其被配置以當(dāng)從N位寬晶種內(nèi)存接種N位晶種時(shí),生成2N位偽隨機(jī)序列。在具體實(shí)施例中,LFSR被配置以生成2N位的偽隨機(jī)序列,其至少與該系統(tǒng)最長的掃描鏈一樣長。
[0019]該簽名內(nèi)存304的輸出被耦合到簽名比較器318,其被配置來比較來自簽名內(nèi)存304的期望的簽名與簽名產(chǎn)生器320生成的簽名。在實(shí)施例中,簽名產(chǎn)生器320為第二線性回饋移位寄存器,其被配置以從位串行序列生成循環(huán)冗余校驗(yàn)字,由該單元和鏈計(jì)數(shù)器所控制的多路轉(zhuǎn)換器324提供該位串行序列,以選擇該位串行序列作為掃描鏈的輸出,如當(dāng)前選擇的單元和鏈的掃描鏈212、214或216。
[0020]來自多路轉(zhuǎn)換器324的該位串行序列亦耦合到字平行器326移位寄存器,其提供數(shù)據(jù)給靜態(tài)RAM狀態(tài)內(nèi)存328且由狀態(tài)內(nèi)存地址計(jì)數(shù)器330尋址。狀態(tài)內(nèi)存328的輸出耦合到字符串列器332。該平行器326、狀態(tài)內(nèi)存328、地址計(jì)數(shù)器330和串行器332的組件,在此被稱為狀態(tài)存儲器,其被配置以接收位串行序列、儲存該序列,并在較晚的時(shí)間重新生成相同的位串行序列。
[0021]來自串行器332的位串行序列作為輸入耦合到多路轉(zhuǎn)換器334。多路轉(zhuǎn)換器334還具有作為來自矢量生成器316的偽隨機(jī)序列的輸入,并且提供比特流336至當(dāng)前選擇的掃描鏈。
[0022]控制邏輯314被配置以結(jié)合測試啟用和閑置單元寄存器222進(jìn)行操做。測試控制和閑置單元寄存器222包含測試使能位350 (第4圖),其致使該測試控制單元220的操作及由該系統(tǒng)剩余部分224設(shè)定。測試控制和閑置單元寄存器還包含,對于每一單元202、204,可由該系統(tǒng)剩余部分224設(shè)置的單元閑置標(biāo)記352、354。該測試啟用和閑置單元寄存器322還具有,對于每個(gè)單元,可由該控制邏輯314單位設(shè)置的在測試標(biāo)記356、358下的單元,以及可由系統(tǒng)剩余部分224設(shè)置的單元請求標(biāo)記360,362。
[0023]在操作中,,該系統(tǒng)剩余部分224判定402(第5圖)單元202、204的特定的功能單元何時(shí)閑置,并且當(dāng)其發(fā)生時(shí),在該單元閑置寄存器222中設(shè)定相關(guān)聯(lián)的單元閑置標(biāo)記352,354ο在相機(jī)實(shí)施例中,單元202可與光傳感器和圖像壓縮電路相關(guān)聯(lián),而另一單元204可與主機(jī)接口電路相關(guān)聯(lián)。由于照片拍攝通常是在相機(jī)沒有連接到主機(jī)進(jìn)行上傳和進(jìn)行下載圖片時(shí)發(fā)生,單元202將趨向于當(dāng)單元204為忙碌時(shí)閑置,反之亦然。應(yīng)當(dāng)注意的是,盡管該系統(tǒng)整體上的非閑置狀態(tài),特定的功能單元的閑置狀態(tài)可被檢測且設(shè)置在該單元閑置標(biāo)記中。
[0024]控制邏輯314被配置以當(dāng)該測試啟動位350被設(shè)置而開始測試,及至少一個(gè)單元閑置標(biāo)記352、354被設(shè)置;當(dāng)這種情況發(fā)生時(shí),該控制單元被配置來從單元352、354選擇單元用于測試,在實(shí)施例中,直至與當(dāng)前單元計(jì)數(shù)相關(guān)聯(lián)的單元被發(fā)現(xiàn)閑置時(shí),都是由遞增單元計(jì)數(shù)器306去選擇,該控制邏輯繼而設(shè)置404相關(guān)聯(lián)的測試下單元標(biāo)記356、358,以警告該系統(tǒng)剩余部分224,該單元現(xiàn)在是非可用的,并且清除鏈計(jì)數(shù)器308。測試下單元標(biāo)記356、358被配置來當(dāng)設(shè)定時(shí)禁用該功能單元的操作,使得輸入引腳被忽略及該功能單元的輸出保持