TWI781634B - 用以測試一或多個受測裝置之自動化測試裝備、方法及電腦程式,其中不同測試活動使用受測裝置資源之子集 - Google Patents
用以測試一或多個受測裝置之自動化測試裝備、方法及電腦程式,其中不同測試活動使用受測裝置資源之子集 Download PDFInfo
- Publication number
- TWI781634B TWI781634B TW110118712A TW110118712A TWI781634B TW I781634 B TWI781634 B TW I781634B TW 110118712 A TW110118712 A TW 110118712A TW 110118712 A TW110118712 A TW 110118712A TW I781634 B TWI781634 B TW I781634B
- Authority
- TW
- Taiwan
- Prior art keywords
- test
- testing equipment
- activities
- automated testing
- controller
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 872
- 230000000694 effects Effects 0.000 title claims abstract description 196
- 238000004590 computer program Methods 0.000 title claims description 13
- 238000000034 method Methods 0.000 title description 33
- 230000008569 process Effects 0.000 title description 2
- 238000010801 machine learning Methods 0.000 claims description 24
- 238000013473 artificial intelligence Methods 0.000 claims description 9
- 230000003213 activating effect Effects 0.000 claims description 2
- 239000012085 test solution Substances 0.000 claims description 2
- 238000012549 training Methods 0.000 description 17
- 238000010998 test method Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 101100117775 Arabidopsis thaliana DUT gene Proteins 0.000 description 1
- 101150091805 DUT1 gene Proteins 0.000 description 1
- 101100444142 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) dut-1 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013098 chemical test method Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
- G01R31/286—External aspects, e.g. related to chambers, contacting devices or handlers
- G01R31/2868—Complete testing stations; systems; procedures; software aspects
- G01R31/287—Procedures; Software aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
- G01R31/2872—Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation
- G01R31/2879—Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation related to electrical aspects, e.g. to voltage or current supply or stimuli or to electrical loads
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
- G01R31/31908—Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Environmental & Geological Engineering (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
根據本發明之一實施例包含一種用於測試一或多個受測裝置之自動化測試裝備。該自動化測試裝備被組配用以自動地、動態地產生包含複數個測試活動之一或多個、較佳為複數個測試方案。不同測試活動使用可重疊之受測裝置資源之子集。該自動化測試裝備被組配用以產生複數個測試方案,使得與一測試方案之複數個測試活動相關聯之該等受測裝置之資源彼此不衝突。
Description
根據本發明之實施例係有關於自動化測試裝備。根據本發明之進一步實施例係有關於系統級測試。根據本發明之進一步實施例係有關於晶片上系統測試。根據本發明之實施例係有關於覆測(covering test)。
一些裝置雖然通過結構化及/或參數性測試但在系統級測試(SLT)失敗係一種經驗觀察或事實。這通常歸因於結構化測試期間不切實際之測試條件。
舉例而言,相較於系統級測試,結構化測試期間橫跨晶粒區域之一活動型樣非常不同。結構化測試大部分時間都用於頻率非常低、但型樣活動非常高之移位操作。這導致電力供應器之負載不自然,從而導致電壓剖面與晶粒上之位置及時間的關係不切實際。
一進一步實例在於,由於自動測試型樣產生有困難,結構化測試中通常不包括電力域交叉及/或時脈域交叉。此區域中之故障將感應不到,也檢測不到。
結構化測試蒙受不切實際之測試條件,其係為了優異之故障檢測
能力而予以最佳化。反之,SLT完全由合法之使用者方案所組成。在不知道任何故障模型之情況下,同意或普遍相信一失敗SLT識別一真正有問題之裝置。
系統級測試有某些缺點,諸如SLT絕非屬於徹底囊括,因為在一個所選擇環境中,諸如供應電壓、頻率、溫度,一受測裝置(DUT)僅運行可能使用及方案之一小子集。
另一缺點在於SLT失敗難以除錯,因為故障感應及檢測之間的時間可能極長及/或所有活動之確切順序不明及/或SLT之一模擬時間太長。
再者,SLT具有很長之運行時間,十分鐘或更長時間並非例外。
此外,SLT難以部署在測試室中,因為各DUT均必須維護大量之系統板。
需要改善系統級測試,在可能之使用者方案、運行時間之持續時間與實用性之間提供一更好之取捨。
根據本發明之一實施例包含一種用於測試一或多個受測裝置(DUT),例如系統單晶片(SoC),之自動化測試裝備。該自動化測試裝備(ATE)被組配用以自動地、動態地產生包含複數個測試活動之一或多個、較佳為複數個測試方案。不同測試活動,例如A1、A2、A3,使用可重疊之DUT資源之子集,例如A1:CPU2、Mem3、A2:Mem3、A3:MPEG。該自動化測試裝備被組配用以產生複數個測試方案,使得與一測試方案之複數個測試活動相關聯之該DUT之資源彼此不衝突。
可期望一晶片上系統測試(OCST)比SLT找到更多相關問題,因為相比於SLT,其使DUT曝露於更多種類之合法測試條件。一測試活動組合期間出現之一問題可視為相關,該測試活動組合可模擬一真實使用案例或可以是其部分。
OCST可改變外部測試條件,諸如供應電壓及頻率,以感應故障及/或內部測試條件,諸如測試活動之一強度,例如資料移動之速度,以便感應工作負載相關故障。一旦感應到一故障,OCST便提供良好之可觀測性來檢測失敗行為。
一OCST可藉由展示其能夠找到哪個SLT失敗子集來證明其有效性。換句話說,OCST可有能力找到SLT之失敗子集。
理想情況下,OCST測試可在一模擬環境中重現,例如用於除錯。OCST還應該善用現有之晶片上資源,諸如測試用設計(DFT)、除錯用設計(DFD)、掃描鏈、邏輯內建自測試(LBIST)及/或記憶體內建自測試(MBIST)。亦可在多核心DUT與多個ATE資源之間的介面處支援多執行緒。
在一較佳實施例中,一給定測試方案之複數個測試活動被組配用以並行執行。
由於ATE被組配用以產生測試方案,其中測試活動使用非重疊DUT資源,使得一測試方案之測試活動彼此不衝突。也就是說,測試可藉由並行執行一給定測試方案之測試活動來加速。
本發明之一般想法是要使用DUT資源在DUT上並且運行大量簡單、實際、自檢測試活動,諸如以測試活動強度與並行性之一變動組合進行之資料塊移動或內建自測試。各測試活動均可檢查所選擇或涉及之IP區塊,但亦透過供應負載、時脈樹及熱耦合來促成其他區塊之測試條件。
根據一實施例,測試活動中之一或多者與一或多個測試參數相關聯,諸如電壓、速度、資料轉移尺寸、資料轉移之間的次數、拆分總資料轉移之區塊尺寸等。測試參數控制測試活動之行為。測試參數係藉由諸如開啟/關閉、5V、50GB/s等相應測試參數值來特性化,及/或與一或多個限制條件或限制相關聯,舉例而言,用於測試參數值之動態建立。
可在包含一或多個測試方案之一測試序列中執行帶有不同參數值之相同測試活動。測試活動可與多於一個測試參數及/或限制條件相關聯。舉例而言,一測試參數值係一測試參數之一值,諸如電壓,可隨著測試活動之不同而變化。測試活動亦可能具有一些限制條件或限制,舉例而言,用以保護DUT或DUT資源,或用以避免實際使用中不會出現之方案。此類限制條件可能係一有限寫入速度、一溫度限制、一有限記憶體使用量等。
根據一實施例,測試活動中之一或多者係藉由諸如電壓值太低及/或頻率太快等預定義限制外或晶片規格外之一或多個測試參數值來特性化。
在或稍微在預定義限制、或晶片規格外測試DUT之結果可能與預定義限制或晶片規格內DUT之效能相關。也就是說,在晶片規格外帶有良好測試結果之DUT可能提示晶片規格內DUT之一良好效能。反之,晶片規格外測試之一失敗不視為晶片規格內一失敗測試之一硬性提示或證明,而是指出一弱點。
根據一實施例,在與一給定測試方案之複數個測試活動相關聯之受測裝置之資源彼此不衝突之限制條件下,隨機選擇該給定測試方案之複數個測試活動,以便避免不同測試活動對使用量或測試參數值之衝突要求。
需要一測試方案內測試活動之一隨機混合才能對活動或測試活動之間的不明互動進行測試,其出現在真實工作環境中。可參數化測試活動之隨機化涵蓋許多局部工作負載組合,從而模仿大量視為導致許多系統級故障之實際工作負載型樣。
在一較佳實施例中,自動化測試裝備包含用於產生測試方案之一限制條件求解器,以便防止在受測裝置之資源之間出現衝突。
各測試活動均可具有測試參數及任選之限制條件。舉例而言,一資料塊寫入及讀回測試活動可具有初始時間延遲、區塊尺寸、起始位址、子塊尺寸、讀回前之時間延遲等測試參數。限制條件亦可處於測試方案層級,涉及
來自多個測試活動之測試參數。
一工作站或一控制器,諸如一晶片上OCST控制器一或OCST卡,可將一限制條件求解器用於從測試活動自動產生測試方案。限制條件求解器匹配可並行共存而不違反資源限制條件之測試活動。
在一較佳實施例中,測試活動中之一或多者包含啟動布置在受測裝置上之一應力產生器,例如一晶片上應力產生器,諸如連至內部及/或外部匯流排之一流量產生器。
舉例而言,現有或新測試用設計(DFT)結構可產生受控制應力,並且提升可觀測性,以便提升檢測之可能性(或用於更可能之故障檢測)。應力產生器可包含連至內部匯流排之一流量產生器、及/或連至外部輸入之一流量產生器,以便模仿來自遺漏之外部裝置的流量。應力產生器允許運行內建自測試(BIST),諸如所選擇已包裝IP區塊中之記憶體或邏輯內建自測試(MBIST、LBIST)。再者,應力產生器可運行輸入/輸出(I/O)回看測試。應力產生器亦可使用諸如IEEE1500包裝器之一包裝器來隔離IP區塊,並且將其掃描鏈切換到一線性回授移位暫存器(LFSR)。
根據一實施例,自動化測試裝備被組配用以產生一測試序列,例如測試方案之一測試步驟序列。
產生測試方案之一測試序列,以便為了模仿可能之實際工作負載組合而測試並行測試活動之不同混合。
根據一實施例,該測試序列包含帶有相同測試活動之二或更多個測試方案,其中該等測試方案相差至少一個測試參數值。
測試序列可包含帶有相同測試活動之測試方案,該等相同測試活動帶有不同測試參數值,以便就測試參數對測試結果之衝擊進行測試。僅變更DUT之一IP區塊之一個測試參數值也可能衝擊或影響DUT之另一IP區塊。
再者,進行帶有相同測試活動但測試參數值不同之測試方案可進一步幫助在測試評估程序中定位一故障IP區塊。
在一較佳實施例中,測試序列之複數個測試方案係例如藉由自動化測試裝備或藉由一控制器來隨機選擇及/或排序,以便模仿實際之工作負載型樣。
測試序列之測試方案之一隨機化係藉由建立或產生實際工作負載來進一步改善測試程序。理想情況下,測試方案彼此獨立,也就是說,不預期執行測試方案順序之變更使DUT之行為改變。該方案之執行順序隨機化舉例而言,可測試來自先前測試方案之靜置熱或靜置資料是否會影響目前測試方案。
在一較佳實施例中,自動化測試裝備被組配用以產生測試序列,使得測試序列被組配用以藉由一控制器執行以便收集測試資料。
產生之測試序列係藉由控制器或OCST控制器執行。控制器之任務是用來觸發多個測試活動之執行並讀出測試結果,諸如通過/失敗結果及/或測量結果。控制器知道哪些測試方案正在憑藉哪些測試參數值執行。出現錯誤時需要進行除錯。
根據一實施例,控制器係一晶片上處理器,舉例而言,連同一作業系統、或一控制器卡,例如作為自動測試裝備之部分,該部分被組配用以與自動測試裝備及與受測裝置通訊。
控制器在DUT上執行測試序列,並且向ATE提供測量資料或測量結果。ATE中帶有作業系統或控制器卡之晶片上處理器將測量值或測試結果或所收集資料從DUT傳遞至ATE。
在一較佳實施例中,控制器包含一或多個介面,該一或多個介面被組配用以讀出DUT資料,諸如記憶體資料及/或受測裝置感測器資料,例如晶片上感測器資料。因此,ATE被組配用以設置控制器以讀出DUT資料及/或DUT
感測器資料。
藉由允許將結果資料及/或結果感測器資料與期望結果資料或期望感測器資料作比較,透過一介面讀出DUT測試資料及/或DUT感測器資料進一步改善測試。控制器、OCST控制器較佳為連同一任選測試作業系統之一晶片上處理器,其介接至晶片上IJTAG介面以讀出晶片上感測器資料。
根據一實施例,控制器介接至分布於受測裝置區域上方之一或多個感測器,使得該控制器被組配用以讀出該一或多個感測器之感測器測試資料。因此,自動化測試裝備被組配用以設置控制器以讀出分布於控制器所包含之受測裝置區域上方的一或多個感測器之感測器測試資料。
無論控制器是否係與DUT或ATE工作站通訊之一晶片上處理器還是一OCST控制卡,控制器仍可包含分布於DUT晶粒區域上方之附加感測器,以便檢測局部異常現象。施用之感測器舉例而言,可包含溫度、電流及/或電壓感測器。
在一較佳實施例中,控制器被組配用以在所收集測試資料滿足一預定條件之狀況中,諸如超出一或多個預定義條件門檻,作出反應,例如,收集額外資料,諸如儲存之系統資料、程式計數器或記憶體暫存器資訊。因此,自動化測試裝備被組配用以設置控制器以在所收集測試資料滿足預定條件之狀況中作出反應。
舉例而言,例如在剃刀電路中,對於一溫度值,諸如電流/最大/最小峰值溫度,對於一電壓值,諸如電流/最大/最小峰值電壓,及/或時序違規,一控制器可介接至帶有任選定限警報能力之一或多個感測器。警報能力舉例而言,可觸發重要系統資料之儲存,舉例如程式計數器、記憶體控制器暫存器,以便簡化除錯。
根據一實施例,控制器被組配用以將所收集測試資料傳遞至自動
化測試裝備。
所收集測試資料無論是測試結果資料或所測得資料、或任何藉由所測得資料或藉由測試結果資料觸發之任何所收集資料,均係藉由控制器向ATE提供。
根據一實施例,該控制器或該自動化測試裝備被組配用以基於該等測試活動限制條件及/或基於該等所收集測試資料來動態地建立測試參數值。
所收集測試資料可在測試程序期間藉由ATE或藉由控制器來分析,以便修改現有測試參數值、或將一或多個測試方案新增至帶有新測試參數值之測試序列。新測試參數值之建立可視為給定測試活動之限制條件。
在一較佳實施例中,控制器或自動化測試裝備被組配用以分析所收集測試資料,以便最佳化測試序列,舉例而言,用以解決最小覆設(covering set)問題,減少冗餘及/或永不失敗測試活動。
所收集測試資料不僅用於動態建立測試參數值,還用於最佳化測試序列。測試之一般想法是要識別那些影響測試失敗出現之測試參數。冗餘測試活動可有助於評估例如單一或一小型測試參數群組之效應。在識別影響最大之測試活動及/或測試方案之後,可將測試方案或測試方案中測試活動之數量縮減至一最小測試活動集合,以便縮短測試序列之運行時間。
根據一實施例,自動化測試裝備之控制器被組配用以比較或計算預定義限制內系統級測試之結果與例如預定義限制內及/或外之受測裝置資料、受測裝置感測器資料、感測器測試資料等所收集測試資料的相關性,以便最佳化測試時間。
測試係於DUT之預定義限制或規格外進行,並且係與預定義限制內之系統級測試作比較。預定義限制外帶有正測試結果之測試活動可指出預定義限制內之一通過系統級測試。將預定義限制內之測試結果與預定義限制外之
測試結果作比較可有助於減少測試方案及/或測試方案內測試活動之數量。其亦可有助於識別或決定測試參數值可在預定義限制外之程度,以便在預定義限制內及外進行之測試之間提供良好之相關性。
在一較佳實施例中,自動化測試裝備包含一人工智慧或一機器學習單元,其中該控制器或該自動化測試裝備被組配用以憑藉系統級測試之結果、及/或憑藉該等所收集測試資料、及/或憑藉該等系統級測試與該等所收集測試資料之該比較來訓練該人工智慧或該機器學習單元,以便最佳化測試序列。
再者,在一較佳實施例中,該受訓練人工智慧或機器學習單元被組配用以基於該等所收集測試資料來預測系統級測試之該等結果。
人工智慧或機器學習單元可憑藉與所收集測試資料及/或與所收集感測器資料組合之系統級測試之結果受訓練,用以將系統級測試結果與所收集測試資料作比較,以便基於所收集測試資料或測量資料來預測系統級測試之結果。
使用基於所收集測試資料之系統級測試結果的一預測可進一步減少測試方案之數量、及/或測試序列之一測試方案中測試活動之數量。
在一較佳實施例中,控制器或自動化測試裝備被組配用以分析所收集測試資料,以便取得一測試結果,舉例而言,用以識別一故障受測裝置及/或一故障受測裝置資源,及/或用以對一受測裝置進行分類。
藉由例如使用統計方法分析所收集測試資料可能必須定義DUT之故障IP區塊、或對DUT之一IP區塊進行分類。
在一較佳實施例中,該受訓練人工智慧或機器學習單元被組配用以分析該等所收集測試資料,以便最佳化測試序列及/或取得之測試結果。
已受訓練機器學習單元可進一步改善測試序列及/或改善統計方法以對DUT之IP區塊進行分類及/或定義DUT之故障IP區塊。
根據本發明之進一步實施例建立相應方法及相應電腦程式。
然而,應知,該等方法係基於與對應自動化測試裝備相同之考量因素。此外,該等方法可藉由本文中針對自動化測試裝備所述之任何特徵、功能及細節來補充,無論是個別補充還是組合起來補充皆然。
100:測試布置結構
110,220:ATE
120,282:DUT
130a~130e,214:DUT資源
140a~140c,262:測試方案
150a~150c,212,212a~212d:測試活動
200:方塊圖
210,300:測試活動表
216:測試參數
216a~216e:測試參數值
218:限制條件
250:限制條件求解器
260:測試序列表
270:控制器
280:測試結果表
288:測試結果
292:結果表
298:通過/失敗測試結果
400:資源衝突表
500:測試方案表
600:測試步驟表
700:空測試結果表
800:每測試步驟失敗表
900:比較表
1000,1100:訓練表
根據本申請案之實施例隨後將參照附圖作說明,其中:圖1根據一實施例,展示一測試布置結構的一示意性表示型態,其包含用於測試一或多個受測裝置之一自動化測試裝備;圖2根據一實施例,展示一方塊圖,其說明藉由一測試布置結構進行之一測試程序;圖3根據一實施例,展示一例示性測試活動表、一限制條件求解器之輸入;圖4根據一實施例,展示由一限制條件求解器使用之一例示性資源衝突表;圖5根據一實施例,展示由一限制條件求解器使用之一例示性測試方案;圖6根據一實施例,展示由一限制條件求解器使用之一例示性測試步驟;圖7根據一實施例,展示帶有藉由一限制條件求解器建立之一例示性測試序列的一空測試結果表;圖8根據一實施例,展示用於最佳化測試步驟數量之一例示性每測試步驟失敗表;圖9根據一實施例,展示SLT測試與OCST測試之間的一比較表;圖10根據一實施例,展示將所收集測試資料與當作一訓練資料集用於一機器學習模組之SLT結果組合之一表格;圖11根據一實施例,展示將所收集測試資料與當作一訓練資料集用於一機器學習模組之OCST結果組合之一表格。
不同發明性實施例及態樣將在下文中作說明。進一步實施例亦將藉由所附請求項來定義。
應知,如請求項所定義之任何實施例均可藉由本文中所述之任何細節、特徵及/或功能來補充。同樣地,本文中所述之實施例可予以個別使用,而且還可任選地藉由請求項中所包括之任何細節、特徵及功能來補充。同樣地,應知,本文中所述之個別態樣可予以個別或組合使用。因此,可將細節新增至該等個別態樣中之各者,不用將細節新增至該等態樣中之另一者。亦應知,本揭露明確或隱含地說明一自動化測試裝備中可用之特徵。因此,本文中所述之任何特徵均可在自動化測試裝備之脈絡中使用。
此外,本文中所揭示與一方法有關之特徵及功能亦可在被組配用以進行此類功能之一設備中使用。再者,本文中針對一設備所揭示之任何特徵及功能亦可在一對應方法中使用。換句話說,本文中所揭示之方法可藉由關於該等設備所述之任何特徵及功能來補充。
經由下文提供的詳細說明且經由本發明之實施例的附圖將會更完整理解本發明,然而,詳細說明與附圖不應該拿來將本發明限制於所述特定實施例,而應該只是用於解釋與理解。
根據圖1之實施例
圖1展示一測試布置結構100的一示意性表示型態,其包含用於測試一或多個受測裝置(DUT)120之一自動化測試裝備(ATE)110。圖1更包含一例示性DUT 120,其包含複數個DUT資源130a-e。DUT資源130a-e可包含不同IP區塊,諸如CPU、記憶體、MPEG等。
ATE 110被組配用以產生複數個測試方案140a-c,各測試方案包含複數個測試活動。舉例而言,測試方案140c包含測試活動150a-c。
各測試活動被組配用以使用一或多個DUT資源130a-e。舉例而
言,測試活動150a被組配用以使用DUT資源130e。或舉例而言,測試活動150b被組配用以使用DUT資源130c及130d。另一實例可以是測試活動150c,其被組配用以使用DUT資源130a及130b。
自動化測試裝備110被組配用以產生複數個測試方案,諸如測試方案140a-c,使得與複數個測試活動,如測試活動150a-c,相關聯之DUT資源,如DUT資源130a-e,彼此不衝突。舉例而言,測試活動150a-c係分組到測試方案140c,使得測試活動150a-c之DUT資源130a-e不起衝突,允許給定測試方案140c之測試活動150a-c之並行執行。
晶片上系統測試(OCST)之一般想法是用來使用DUT資源130a-e在DUT 120上並行運行大量簡單、實際之測試活動,其中並行測試活動之組合及/或一強度有不同。各測試活動均可檢查涉及之IP區塊,但亦透過供應負載、時脈樹及熱耦合來促成其他IP區塊之測試條件。測試活動之實例可包含移動資料塊或執行內建自測試,諸如記憶體內建自測試(MBIST)、或邏輯內建自測試(LBIST)。
舉例而言,OCST控制器在一些IP區塊中局部運行結構化測試,諸如LBIST、MBIST等。這些測試活動顯然有在進行自測試,但亦可用於應力產生器以控制其他同時運行測試活動之測試條件。在測試方案中,一些IP核心運行結構化測試,而一些其他核心則涉及例如基於代碼之測試活動。
涉及之IP區塊可施用測試用設計(DFT)結構或技巧,諸如產生應力,以便感應故障及/或提升可觀測性,以使得可能檢測感應之故障及/或為了除錯或為了系統內測試而對現有結構提供存取。
測試活動或可參數化測試活動之一隨機化涵蓋許多局部工作負載組合,從而模仿大量視為導致許多系統級故障之實際工作負載型樣。現有或新測試用設計(DFT)結構可產生受控制應力,並且提升可觀測性,以便提升故障檢測之可能性(或用於更可能之故障檢測)。
DFT結構可藉由例如連至晶片上IJTAG之晶片上OCST控制器介面來提升可觀測性,以便讀出晶片上感測器資料。
舉例而言,例如剃刀電路中對於電流/最大峰值/最小峰值溫度、及/或對於電流/最大峰值/最小峰值電壓、及/或時序違規,帶有任選定限警報能力之新增感測器可進一步提升可觀測性。警報可觸發重要系統狀態之儲存或保存,諸如程式計數器、記憶體控制器暫存器,以便簡化除錯。
可觀測性可藉由分布於晶粒區域上方之額外感測器來進一步提升以檢測局部異常現象。或藉由連接一處理器,以便追蹤記憶體,將其內容與期望作比較。再者,可新增宣告檢查器,諸如協定檢查器、或CRC、或一匯流排流量記錄器,以測量涵蓋範圍並協助除錯。
測試活動係藉由例如一晶片上系統測試(OCST)控制器以一受控制方式來協調,以使得可確定最有效之測試條件,並且可將失敗歸因於特定測試活動及其測試參數值。
根據圖2之實施例
圖2展示一方塊圖200,其說明藉由與圖1之測試布置結構100類似之一測試布置結構所進行之一測試程序。
方塊圖200以一測試活動表210開始。測試活動表210包含一欄測試活動212,其中各測試活動212可使用一或多個DUT資源214。一DUT資源214欄中提供對應DUT資源214。再者,測試活動212可具有在單獨欄中提供之對應測試參數216及/或限制條件218。限制條件可處於測試方案層級,並且參照來自多個測試活動之測試參數。
測試活動表210係饋送到限制條件求解器250。限制條件求解器250可由一ATE 220、由一控制器270所包含,或其可以是一單獨實體,如圖2所示。圖2之限制條件求解器250具有一個輸入及一個輸出。限制條件求解器250之輸入
係藉由測試活動表210饋送。限制條件求解器之輸出係一測試序列表260。
測試序列表260包含測試方案262,類似於圖1上之測試方案140a-c。測試方案可包含一或多個測試活動212a-e,其中各測試活動212a-e可包含測試參數值216a-e。向ATE 220或向控制器270提供測試序列表260。
舉例而言,第一方案可包含帶有測試參數P1 216a、P2 216b之一第一測試活動212a、及帶有測試參數P3 216c及P4 216d之測試活動212b。第二方案可包含帶有測試參數P3 216c及測試參數P4 216d之第二測試活動212b。一第三方案可包含帶有測試參數P3 216c及P5 216e之一第三測試活動212c。一第四方案可包含帶有測試參數P2 216b及測試參數P4 266d之一第四測試活動212d。
控制器270取用測試序列表260作為輸入,並且輸出一測試結果表280。由測試塊270所提供之測試結果表280包含在DUT 282上執行之測試方案262之一或多個測試活動212之測試結果288。測試結果表280係饋送到ATE 220及/或饋送回到控制器270。
ATE 220或控制器270已接受測試結果表280作為輸入,並且提供一改良型測試序列表260及/或一結果表292作為一輸出。
改良型測試序列表260可進一步當作控制器270之輸入用於提供可饋送回到ATE 220或控制器270之一新測試結果表280。
由ATE 220或控制器270所提供之結果表292包含DUT資源296之通過/失敗測試結果298。另外及/或替代地,結果表292可包含DUT資源296之一分類。
向限制條件求解器250提供帶有測試活動212所要求之限制條件218、測試參數216及資源214的測試活動表210。測試活動表210或一測試活動庫可更包含用於控制器270或OCST控制器270之一代碼池,以啟動或執行測試活動212。該庫亦可知道一給定測試活動212使用的是哪些DUT或晶片上及ATE資源。
限制條件求解器250被組配用以從測試活動表210建立一測試序列表260。測試序列表260包含測試方案262,其中測試方案262包含一或多個測試活動212a-e,其可共存或並行執行而不違反資源限制條件218。測試方案262係藉由在工作站上及/或在諸如一OCST卡或一晶片上OCST控制器之控制器270上運行之限制條件求解器250來自動產生。可在PSS中建模限制條件。
由限制條件求解器250所提供之測試序列表260包含方案262,其中可並行執行與一或多個測試參數216a-e相關聯之一或多個測試活動212a-d。特性化相應測試參數216a-e之測試參數值係採用隨機方式選擇,或重點放在極值上。測試方案262之順序舉例而言,係採用隨機方式產生,以便模擬現實生活工作負載。
產生之測試序列表260係提供至控制器270,諸如一晶片上OCST控制器,其被組配用以執行測試序列表260之測試方案262,以便收集測試資料280。控制器270可包含用以與ATE通訊之介面及/或用以與DUT通訊之介面。控制器270可讀出DUT測試資料及/或DUT感測器資料,及/或該控制器可包含位在DUT區域或晶粒區域上方之感測器以檢測局部異常現象。如果測量值及/或感測器值滿足某些預定義條件,則所測得值或所收集資料280可觸發控制器270以收集進一步資訊,諸如DUT之記憶體資訊或狀態資訊。
控制器270被組配用以向ATE 220傳遞所收集測試資料280或方案262之測試活動212之測試結果288。ATE 220或控制器270被組配用以進一步改善測試程序及/或除錯或診斷DUT。
諸如一晶片上OCST控制器或一OCST卡之控制器270、或一ATE 220被組配用以動態建立或修改測試方案之測試參數集合,其可符合限制條件並且可允許知道目前測試參數以供除錯。為測試活動212建立測試參數值集合之方法包括隨機化,其將例如一限制條件求解器用於使涵蓋範圍達到最大,或將例
如巢狀迴圈用於些許測試參數之一窮舉涵蓋範圍,遵循任選地將重點放在極值之一所欲分布。
為了進一步改善測試環境,可能需要一測試學習環境。延伸特性化測試係測試學習之基礎,其中許多DUT係曝露於許多測試步驟或曝露於許多測試方案。較佳的是,為了涵蓋測試參數216之大量組合,並非所有DUT 282都曝露於相同之測試步驟或測試方案。為了避免測試方案偏向某些DUT 282,測試步驟或測試方案係以隨機排列順序執行。
ATE 220或控制器270也可使用機器學習或AI模組,憑藉所收集測試結果資料280及系統級測試結果進行訓練。機器學習模組可分析所收集測試結果資料280及系統級測試結果,並且可基於所收集測試資料280之一新集合來預測系統級測試結果。
AI模組可進一步藉由沒有規格限制之所測得結果資料,諸如晶片上感測器資料,或藉由規格限制外之測試參數,諸如太低之電壓或太快之頻率,進行訓練,以便從測試結果預測系統級測試失敗。規格限制外之失敗測試步驟或測試活動並非DUT不良之一證據。
然而,可建構機器學習模組或模型以從測試步驟或測試活動結果預測系統級測試結果,包括無規格限制或規格限制外之所測得結果、以及包括有不符合規格之測試參數及測試步驟或方案相關屬性之測試步驟或方案,諸如涉及之測試活動及測試資源。
此類模型可能找到一些先前逸出之SLT失敗,但亦可導致通過SLT及通過所有其他合法OCST測試之一些DUT失敗。這些狀況可視為測試導致之良率損耗,並且可針對另外找到之SLT失敗仔細交換,較佳為基於一成本模型來交換。僅那些附加測試步驟或方案可包括於此類模型所需要之生產步驟中。可再次將其他附加測試步驟移除。
ATE 220或控制器270可更被組配用以對DUT進行除錯及/或診斷。由於測試結果表280包含測試方案262之並行執行測試活動212之結果288,因此需要對所收集測試資料280進行進一步分析,以便對有故障之DUT或DUT資源進行識別及/或分類。
除錯或診斷之一般想法是要識別最影響OCST失敗出現之那些測試參數216。測試參數216與涉及特定IP區塊中某些動作之測試活動212相關聯,有在為除錯提供資訊性提示。
由任選地為了多個DUT而將測試步驟或方案與測試活動、DUT資源、測試參數、測試結果及總體OCST結果組合之一表格所訓練之一機器學習模組可用於對有故障之DUT資源進行分類或識別。機器學習模組或機器學習特徵選擇演算法可識別哪些測試活動、測試或DUT資源及測試結果對於解釋促成OCST失敗出現之OCST結果具有重要性。
換句話說,控制器270有在控制測試程序。控制器或OCST控制器較佳為連同一任選測試作業系統之一晶片上處理器,但也可以是與DUT或ATE工作站通訊之一OCST卡。
OCST控制器之一任務舉例而言,可以是觸發多個測試活動之執行,並且讀出其通過/失敗結果及/或測量結果。測試活動可包括任選應力產生及/或任選故障檢測之一組合。
下面列出測試活動之進一步實例:
●ATE設定DUT之外部測試條件,例如DUT供應電壓或頻率,亦即OCST控制器可控制ATE資源。
●ATE進行測量,例如供應電流測量。
●在IP核心之間移動資料塊,並且在之前及/或之後檢查內容。
●在晶片上CPU上運行記憶體測試。
●運行記憶體自測試。
●壓縮及解壓縮影像,並且檢查原始影像與解壓縮影像之間的差異。(應力與檢查)
●運行I/O回送測試。
●使用DFT技巧施用應力產生。
●使用DFT技巧啟動及讀出任何可觀測性結構。
控制器始終知道哪個測試方案是憑藉哪些測試(活動)參數執行,其對於出現錯誤時進行除錯有必要。
再者,控制器或OCST控制器可基於限制條件來動態建立或修改測試活動參數,及/或可對其進行作業或從預運算清單匯入。同樣地,控制器、或運行OCST控制器代碼之處理器亦可產生測試活動。
根據圖3之例示性測試活動表
圖3根據一實施例,展示一例示性測試活動表300。測試活動表300類似於圖2之測試活動表210或係為其一實例。
測試活動表300包含測試活動、資源、測試參數以及可能結果等欄。測試活動表被組配用以隨著所需資源、可調整參數及可能成果或結果列出要在一DUT上執行之所有可能測試。
測試活動表300可由一限制條件求解器,諸如圖2之限制條件求解器250,用作為輸入,以便建立測試序列。一測試序列可定義哪個DUT上以何順序執行帶有哪些測試參數之哪個測試活動。
測試活動表300可包含常見測試活動或DUT特有測試活動。例示性測試活動表300含有測試活動之一些實例。
舉例而言,一第一測試活動A1可包含將資料寫入記憶體3(MEM3)並對MEM3之內容進行檢查之一處理單元2(CPU2)。活動A1需要用於核
心供應之資源R1:CPU2、R2:MEM3、R3:ATE DPS。測試活動A1之可調整測試參數係P1:頻寬、P2:DPS電壓。結果可包括兩個值,一失敗/通過值r1及一電流值r2。
舉例而言,一測試活動A2係MEM3之一記憶體內建自測試(MBIST),其需要資源R2,即MEM3,沒有任何可調整參數而帶有一通過/失敗值之一成果作為一結果。
舉例而言,一測試活動A3係一MPEG自測試,需要具有可調整區塊尺寸之一MPEG資源作為測試參數P3,成果為一通過/失敗值。
根據圖4之資源衝突表
圖4展示可能藉由圖2之限制條件求解器250使用及/或建立之一資源衝突表400。資源衝突表400具有一測試活動欄,且DUT之每資源也擁有一欄。表格400之各測試活動均使用一或多個DUT測試資源,其係在相應資源欄中藉由一「X」表示。
一限制條件求解器,如圖2之限制條件求解器250,可取用一測試活動表,如圖3之表格300,作為一輸入以便建立一測試序列。建立測試序列之一步驟是要建立一資源衝突表,諸如一資源衝突表400。資源衝突表400展示哪些測試活動正在使用相同之DUT資源,從而展示哪些測試活動無法並行運行。
舉例而言,資源衝突表400展示測試活動表300之測試活動之衝突資源。舉例而言,測試活動A1使用資源R1、R2、R3,而不使用R4。舉例而言,測試活動A2僅使用R2作為一資源。舉例而言,測試活動A3使用DUT資源R4。
如資源衝突表400所示,測試活動A1及測試活動A2係衝突之測試活動,因為兩者都需要測試資源R2。測試活動A1及A2兩者都需要測試資源R2,從而無法並行運行。也就是說,測試活動A1及測試活動A2無法並行運行,舉例而言,無法放在相同測試方案中。沒有資源衝突之測試活動可組合成測試方案。
根據圖5之測試方案表
圖5展示可能藉由圖2之一限制條件求解器250使用或建立之一測試方案表500。測試方案表500包含一測試方案欄,且提供之各測試活動也擁有一欄。測試方案表500包含所有可能之測試方案。測試方案之一或多個測試活動係並行運行。
測試方案表500展示可能從測試活動,如圖3之測試活動表300之測試活動A1、A2及A3,建立之所有測試方案。測試方案之測試活動必須是非衝突之測試活動。類似於圖4之資源衝突表400,一資源衝突表中展示衝突之測試活動。帶有取自資源衝突表之衝突測試活動的測試方案在從所有可能之測試方案排除後,導致帶有非衝突測試活動之測試方案表,諸如測試方案表500。
舉例而言,測試方案表500包含測試方案欄,且諸如A1、A2、A3等每個測試活動也擁有一欄。根據圖4之資源衝突表400,A1及A2使用相同之資源R2,因此測試活動A1及測試活動A2無法並行運行,且無法處於相同之測試方案中。
舉例而言,圖3之例示性測試活動之測試方案係帶有測試活動A1之測試方案S1、帶有測試活動A2之測試方案S2、帶有測試活動A3之測試方案S3、帶有並行測試活動A1、A3之測試方案S4、以及帶有並行測試活動A2、A3之測試方案S5。由於資源限制條件的關係,沒有測試方案並行運行測試活動A1及A2。
測試活動是否真正並行運行可取決於測試參數設定及其他不明因素。一測試序列或測試套件由多個測試步驟所組成,該等測試步驟憑藉指定之測試參數值就其測試活動執行一給定測試方案。
根據圖6之測試步驟表
圖6展示可藉由圖2之一限制條件求解器250使用或建立之一測試
步驟表600。測試步驟表包含測試步驟、測試方案、測試活動等欄以及對應於測試活動之測試參數欄。
測試步驟表600之測試步驟欄包含一運行號碼,以便識別不同測試步驟。測試方案欄可包含所有可能之測試方案至少一次。測試方案可憑藉數個不同測試參數測試多於一次。類似於圖5之測試方案表500,測試方案之測試活動係在對應之測試活動欄中藉由「X」表示。
如果測試方案包含測試活動,則對應之測試參數欄包含測試參數值。測試參數值較佳為隨機產生,任選地遵循一預定義分布,及/或任選地帶有集中於極值之某一百分比,該等極值傾向於比隨機產生之測試參數值激出更多問題。
一測試序列,諸如圖2之測試序列表260,係藉由將測試步驟表600之測試步驟採用隨機方式、或遵循一預定義分布映射至DUT,從測試步驟表600產生,以便比一隨機映射之測試序列激出更多問題。
測試方案欄包含所有可能之測試方案,諸如出自測試方案表500之測試方案S1至S5,其中該等測試方案可憑藉數個不同測試參數進行測試。
舉例而言,一第一測試步驟可能係帶有一測試活動A1之第一測試方案S1,與頻寬為10GB/S之測試參數P1、及DPS電壓為0.9V之測試參數P2對應。舉例而言,一測試步驟2包含相同之測試方案S1,帶有一頻寬為20GB/S之P1、及一DPS電壓為0.86V之P2等不同測試參數。
舉例而言,一測試步驟3可包含測試方案S2,其包含沒有任何可調整測試參數之一測試活動A2。
舉例而言,一測試步驟4包含帶有一測試活動A3之測試方案S3,其中測試參數P3係一128kB區塊尺寸。舉例而言,一測試步驟5包含相同之方案S3,其帶有一1MB區塊尺寸之一測試參數P3。
舉例而言,一測試步驟6包含帶有測試活動A1及A3之測試方案S4,帶有一50GB/S頻寬之測試參數P1、1.04V DPS電壓之P2、以及一6MB區塊尺寸之一測試參數P3。舉例而言,一步驟7包含相同之方案S4,其帶有一3GB/S頻寬之測試參數P3、一0.97VDPS電壓之P2、一500KB區塊尺寸之一P3。舉例而言,一步驟8包含相同之方案S4,其帶有一27GB/S頻寬之測試參數P1、一0.88VDPS電壓之P2以及一21MB區塊尺寸之P3。
舉例而言,一測試步驟9包含一測試方案S5,其帶有無測試參數之一測試活動A2、以及附一測試參數P3之測試活動A3,測試參數P3係一7MB區塊尺寸。舉例而言,一測試步驟10包含與S5相同之測試方案,其帶有一780KB區塊尺寸之一測試參數P3。舉例而言,一測試步驟11包含與S5相同之測試方案,其帶有一13MB區塊尺寸之一測試參數P3。
根據圖7之測試結果表
圖7展示一空測試結果表700,其可能係由控制器在進行圖2之測試序列表260之測試活動之後填寫。測試結果表包含DUT、測試步驟、測試活動之測試結果等欄、以及一總體測試結果欄。
測試結果表700包含測試序列,諸如圖2之測試序列表260。測試結果表700中DUT及測試步驟欄這前兩欄定義對哪個DUT進行哪個測試步驟。測試序列係藉由將測試步驟表600之測試步驟採用隨機方式或遵循一預定義分布及/或滿足預定義條件映射至DUT,從圖6之測試步驟表600產生,以便激出比隨機映射之測試序列更多之問題。
一例示性測試序列舉例而言,可包含藉由測試步驟6、11、7、1及8測試之一DUT1、以及藉由測試步驟5、2、10、4及9測試之一DUT2。
控制器,諸如一晶片上控制器或一控制器卡,根據測試序列進行測試。測試活動之結果以r1(#失敗)、r2(電流)、r3(#失敗)、r4(p/f)等欄表示,
係藉由控制器收集。總體OCST結果可基於測試活動之所有結果、或基於測試活動結果之一子集。另外或替代地,OCST結果可基於測試活動結果或一些測試活動結果而包含DUT之一分類。
在這項實例中,總體OCST結果係從結果r1、r3及r4計算出來,亦即,所測得結果r2未對過測試結果作出貢獻,因為其在這項實例中沒有規格限制。
根據圖8之每測試步驟失敗表
圖8展示一每測試步驟失敗表800,其包含一DUT欄及每個測試步驟之欄。受測DUT列在DUT欄中。一受測DUT之一列在DUT經受給定測試步驟通過時於一給定測試步驟欄中包含一字母「P」,並且在DUT經受給定測試步驟失敗時包含帶有一彰顯背景之一字母「F」。
控制器或ATE被組配用以將每測試步驟失敗表800用於最佳化、較佳為減少測試步驟之數量。舉例而言,可減少永不失敗測試及/或冗餘測試步驟之數量。控制器或ATE之任務可包含選擇測試步驟之一最小集合,這稱為最小覆設問題,其具有一已知解答。
舉例而言,以每測試步驟失敗表800來說明,可包含DUT 1-4這四個DUT之測試結果。舉例而言,DUT 1可通過測試步驟6除外之所有測試步驟。舉例而言,DUT 2可通過測試步驟2及4除外之所有測試步驟。舉例而言,DUT 3可通過測試步驟1及6除外之所有測試步驟。舉例而言,DUT 4可通過測試步驟8除外之所有測試步驟。
舉例而言,隨著控制器或ATE分析每測試步驟失敗表800,控制器可得出測試步驟3、5及7永不失敗之結論,因此可從生產測試移除。再者,測試步驟4對於測試步驟2屬於冗餘,並且亦可移除。
根據圖9將OCST與SLT作比較
圖9展示OCST測試結果與SLT測試結果之間的一例示性比較表900。例示性比較表900展示可在憑藉OCST及SLT測試方法測試相同DUT集合時出現之差異。
在這項實例中,OCST及SLT這兩種測試方法有9900個裝置通過及70個裝置失敗。有25個裝置或DUT在OCST測試失敗,但通過SLT測試,而只有5個DUT通過OCST測試但在SLT測試失敗。
換句話說,在以上實例中,OCST遺漏5個SLT失敗之裝置,但在25個DUT中找到SLT未找到之問題,此為一良好平衡,假設所有測試步驟都描述帶有實際測試參數值之實際方案。
根據圖10將測試結果與SLT結果組合之訓練表
圖10展示將所收集測試資料與SLT結果組合之一訓練表1000。訓練表1000被組配用以當作一訓練表或訓練資料集用於一機器學習或AI模組。訓練表1000可包含在帶有對應SLT結果之DUT上進行之測試步驟之所有測試活動、測試資源及測試結果。訓練表1000可包含在多個DUT上執行之多個測試步驟。
訓練表1000可包含與SLT結果組合之在或稍微在DUT之規格外所收集之測試資料,其中SLT測試係在DUT之規格內進行。舉例而言,在這種狀況中,一失敗OCST結果不視為一失敗DUT之一強烈標誌,但規格外之一通過OCST測試可視為一良好DUT之一強烈標誌,並且可導致將DUT分類為一高品質DUT。
ATE或控制器可包含一機器學習單元或AI模組,其可藉由訓練表1000訓練,並且可被組配用以從一DUT上一新進行之測試步驟預測SLT結果。機器學習單元也可用於改善測試程序。
根據圖11帶有測試結果之訓練表
圖11展示包含所收集測試資料及總體OCST結果之一訓練表1100。訓練表1100被組配用以當作一訓練表或訓練資料集用於一機器學習或AI模組。訓練表1100可包含在帶有對應總體OCST結果之DUT上進行之測試步驟之所有測試活動、測試資源及測試結果。
表格1100係用於除錯及診斷目的。除錯之一般想法是要識別最影響OCST失敗出現之那些測試參數。ATE或控制器可包含AI或機器學習單元,以便對頻繁失敗之DUT資源或DUT進行識別及/或分類。為了效率理由,表格可能受限於失敗裝置。分析器可橫跨許多DUT完成,以對頻繁出現之故障機制進行識別。
機器學習單元或模組可藉由測試結果表1100訓練,以便預測失敗之DUT、或DUT資源。
實作態樣替代方案
雖然已在一設備的背景下說明一些態樣,清楚可知的是,這些態樣也代表對應方法之說明,其中一程序塊或裝置對應於一方法步驟或一方法步驟之一特徵。類似的是,以一方法步驟為背景說明之態樣也代表一對應方塊或一對應設備之項目或特徵的說明。
取決於某些實作態樣要求,本發明之實施例可實施成硬體或軟體。此實作態樣可使用一數位儲存媒體來進行,例如軟式磁片、CD、ROM、PROM、EPROM、EEPROM或快閃記憶體,此數位儲存媒體上有儲存電子可讀控制信號,此等電子可讀控制信號與一可規劃電腦系統相配合(或能夠相配合)而得以進行各別方法。
根據本發明之一些實施例包含有一具有電子可讀控制信號之資料載體,可等電子可讀控制信號能夠與一可規劃電腦系統相配合而得以進行本文中所述方法之一。
一般而言,本發明之實施例可實施成一具有一程式碼之電腦程式產品,當此電腦程式產品在一電腦上執行時,此程式碼係運作來進行此等方法之一。此程式碼可例如儲存在一機器可讀載體上。
其他實施例包含有用於進行本方法所述方法之一、儲存在一機器可讀載體上之電腦程式。
換句話說,本發明方法之一實施例因此係具有一程式碼之一電腦程式,當該電腦程式在一電腦上運行時,該程式碼係用於進行本文中所述方法之一。
本發明方法之再一實施例因此係一資料載體(或一數位儲存媒體、或一電腦可讀媒體),其包含有、上有記錄用於進行本文中所述方法之一的電腦程式。一資料載體、數位儲存媒體或經記錄媒體典型屬於有形及/或非暫時性。
本發明方法之再一實施例因此係一資料串流或一信號串,其代表用於進行本文中所述方法之一的電腦程式。此資料流或信號串可例如組配來經由一資料通訊連線來轉移,例如經由網際網路轉移。
再一實施例包含有例如一電腦之一處理手段、或一可規劃邏輯裝置,係組配來或適用於進行本文中所述方法之一。
再一實施例包含一電腦,該電腦具有安裝於其上用於進行本文中所述方法之一的電腦程式。
根據本發明之再一實施例包含一設備或一系統,其係組配來(例如以電子方式或以光學方式)將用於本文中所述其中一種方法之一電腦程式轉移至一接收器。接收器舉例而言,可以是一電腦、一行動裝置、一記憶體裝置或類似者。該設備或系統舉例而言,可包含用於轉移此電腦程式至此接收器之一檔案伺服器。
在一些實施例中,一可規劃邏輯裝置(例如一可現場規劃閘陣列)可用於進行本文中所述方法之功能的一些或全部。在一些實施例中,一可現場規劃閘陣列可與一微處理器相配合,以便進行本文中所述方法之一。一般而言,該等方法較佳的是藉由任何硬體設備來進行。
本文中所述之設備可使用一硬體設備、或使用一電腦、或使用一硬體設備與一電腦之一組合來實施。
本文中所述之設備、或本文中所述設備之任何組件可予以至少部分實施成硬體及/或軟體。
本文中所述之方法可使用一硬體設備、或使用一電腦、或使用一硬體設備與一電腦之一組合來進行。
200:方塊圖
210:測試活動表
212,212a~212d:測試活動
214:DUT資源
216:測試參數
216a~216e:測試參數值
218:限制條件
220:ATE
250:限制條件求解器
260:測試序列表
262:測試方案
270:控制器
280:測試結果表
282:DUT
288:測試結果
292:結果表
298:通過/失敗測試結果
Claims (25)
- 一種用於測試一或多個受測裝置之自動化測試裝備,其中該自動化測試裝備被組配用以產生包含複數個測試活動之一或多個測試方案;其中不同測試活動使用在一受測裝置中之資源之子集;其中該自動化測試裝備被組配用以產生該等複數個測試方案使得與一測試方案之複數個測試活動相關聯之該受測裝置中之該等資源彼此不衝突。
- 如請求項1之自動化測試裝備,其中一給定測試方案之該等複數個測試活動被組配用以並行執行。
- 如請求項1或2之自動化測試裝備,其中該等測試活動中之一或多者與藉由相應測試參數值來特性化之一或多個測試參數相關聯及/或與一或多個限制條件相關聯。
- 如請求項1或2之自動化測試裝備,其中該等測試活動中之一或多者係藉由預定義限制外之一或多個測試參數值來特性化。
- 如請求項1或2之自動化測試裝備,其中在與一測試方案之該等複數個測試活動相關聯之該受測裝置中之資源彼此不衝突之限制條件下,隨機選擇該測試方案之該等複數個測試活動。
- 如請求項1或2之自動化測試裝備,其中該自動化測試裝備包含一限制條件求解器,其用於產生測試方案以防止在該受測裝置中之該等資源之間出現衝突。
- 如請求項1或2之自動化測試裝備,其中該等測試活動中之一或多者包含啟動布置在該受測裝置上之一應力產生器。
- 如請求項1或2之自動化測試裝備,其中該自動化測試裝備被 組配用以產生測試方案之一測試序列。
- 如請求項8之自動化測試裝備,其中該測試序列包含帶有相同測試活動之二或更多個測試方案,其中該等測試方案相差至少一個測試參數值。
- 如請求項8之自動化測試裝備,其中該測試序列之該等複數個測試方案被隨機選擇及/或隨機排序。
- 如請求項7之自動化測試裝備,其中該自動化測試裝備被組配用以產生該測試序列,使得該測試序列被組配用以藉由一控制器執行,以便收集測試資料。
- 如請求項11之自動化測試裝備,其中該控制器係被組配用以與該自動化測試裝備及與該受測裝置通訊之一晶片上處理器或一控制器卡。
- 如請求項11之自動化測試裝備,其中該控制器包含被組配用以讀出受測裝置資料及/或受測裝置感測器資料之一或多個介面。
- 如請求項11之自動化測試裝備,其中該控制器包含分布於受測裝置區域上方之一或多個感測器,使得該控制器被組配用以讀出該一或多個感測器之感測器測試資料。
- 如請求項11之自動化測試裝備,其中該控制器被組配用以在該所收集測試資料滿足一預定條件之狀況中作出反應。
- 如請求項11之自動化測試裝備,其中該控制器被組配用以將該所收集測試資料傳遞至該自動化測試裝備。
- 如請求項11之自動化測試裝備,其中該控制器或該自動化測試裝備被組配用以基於該等測試活動限制條件及/或基於該所收集測試資料來動態地建立測試參數值。
- 如請求項11之自動化測試裝備,其中該控制器或該自動化測試裝備被組配用以分析該所收集測試資料,以便最佳化測試序列。
- 如請求項11之自動化測試裝備,其中該控制器或該自動化測試裝備被組配用以將該等預定義限制內之系統級測試之結果與該等預定義限制內及/或外之該所收集測試資料作比較,以便最佳化測試序列。
- 如請求項11之自動化測試裝備,其中該自動化測試裝備包含一人工智慧或一機器學習單元,其中該控制器或該自動化測試裝備被組配用以憑藉系統級測試之結果、及/或憑藉該所收集測試資料、及/或憑藉該等系統級測試與該所收集測試資料之該比較來訓練該人工智慧或該機器學習單元,以便最佳化測試序列。
- 如請求項20之自動化測試裝備,其中該受訓練人工智慧或機器學習單元被組配用以基於該所收集測試資料來預測該等系統級測試之結果。
- 如請求項11之自動化測試裝備,其中該控制器或該自動化測試裝備被組配用以分析該所收集測試資料,以便取得一測試結果。
- 如請求項20之自動化測試裝備,其中該受訓練人工智慧或機器學習單元被組配用以分析該所收集測試資料,以便最佳化測試序列及/或取得測試結果。
- 一種用於藉由一自動化測試裝備對一或多個受測裝置進行測試之程序,其中該自動化測試裝備產生包含複數個測試活動之一或多個測試方案;其中不同測試活動使用在受測裝置中之資源之子集;其中該自動化測試裝備產生該等複數個測試方案使得與一測試方案之複數個測試活動相關聯之該受測裝置中之資源彼此不衝突。
- 一種電腦程式,其用於在一電腦或信號處理器上受執行時實施如請求項24之程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/070599 WO2022017589A1 (en) | 2020-07-21 | 2020-07-21 | An automated test equipment, a process and a computer program for testing one or more devices under test, wherein different test activities make use of subsets of the device under test resources |
WOPCT/EP2020/070599 | 2020-07-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202206835A TW202206835A (zh) | 2022-02-16 |
TWI781634B true TWI781634B (zh) | 2022-10-21 |
Family
ID=71786920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110118712A TWI781634B (zh) | 2020-07-21 | 2021-05-24 | 用以測試一或多個受測裝置之自動化測試裝備、方法及電腦程式,其中不同測試活動使用受測裝置資源之子集 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220253375A1 (zh) |
JP (1) | JP2023534966A (zh) |
KR (1) | KR20230038407A (zh) |
CN (1) | CN114631031A (zh) |
DE (1) | DE112020007444T5 (zh) |
TW (1) | TWI781634B (zh) |
WO (1) | WO2022017589A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11010281B1 (en) * | 2020-10-12 | 2021-05-18 | Coupang Corp. | Systems and methods for local randomization distribution of test datasets |
US20240085477A1 (en) * | 2022-09-09 | 2024-03-14 | Cisco Technology, Inc. | Stress-testing electrical components using telemetry modeling |
CN116774017A (zh) * | 2023-08-22 | 2023-09-19 | 南京宏泰半导体科技股份有限公司 | 一种基于机器学习的芯片测试效率提升系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201504647A (zh) * | 2013-07-24 | 2015-02-01 | 愛德萬測試股份有限公司 | 測試片與托盤間之高速測試儀通訊界面 |
US20180313891A1 (en) * | 2017-04-28 | 2018-11-01 | Advantest Corporation | Test program flow control |
TW201842349A (zh) * | 2017-04-28 | 2018-12-01 | 日商愛德萬測試股份有限公司 | 支援使用不同應用程式之多個使用者的測試系統 |
US20200033409A1 (en) * | 2018-07-27 | 2020-01-30 | Advantest Corporation | Integrated protocol analyzer configured within automated test equipment (ate) hardware |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6801869B2 (en) * | 2000-02-22 | 2004-10-05 | Mccord Don | Method and system for wafer and device-level testing of an integrated circuit |
US6618682B2 (en) * | 2001-04-20 | 2003-09-09 | International Business Machines Corporation | Method for test optimization using historical and actual fabrication test data |
US7823128B2 (en) * | 2004-04-19 | 2010-10-26 | Verigy (Singapore) Pte. Ltd. | Apparatus, system and/or method for combining multiple tests to a single test in a multiple independent port test environment |
US7809520B2 (en) * | 2007-11-05 | 2010-10-05 | Advantest Corporation | Test equipment, method for loading test plan and program product |
US9959186B2 (en) * | 2012-11-19 | 2018-05-01 | Teradyne, Inc. | Debugging in a semiconductor device test environment |
US9274911B2 (en) * | 2013-02-21 | 2016-03-01 | Advantest Corporation | Using shared pins in a concurrent test execution environment |
US9465071B2 (en) * | 2014-03-04 | 2016-10-11 | Mediatek Inc. | Method and apparatus for generating featured scan pattern |
US9588177B1 (en) * | 2016-01-05 | 2017-03-07 | International Business Machines Corporation | Optimizing generation of test configurations for built-in self-testing |
DE102017117322A1 (de) * | 2017-07-31 | 2019-01-31 | Infineon Technologies Ag | Verfahren zur Herstellung eines Halbleiterbauelementes mittels computergestütztem Entwurf von Testszenarien |
US10746790B1 (en) * | 2019-03-25 | 2020-08-18 | International Business Machines Corporation | Constrained pseudorandom test pattern for in-system logic built-in self-test |
DE102019111881A1 (de) * | 2019-05-07 | 2020-11-12 | Infineon Technologies Ag | Verfahren und vorrichtung zum senden von daten gemäss einem signalzeitablauf |
-
2020
- 2020-07-21 DE DE112020007444.7T patent/DE112020007444T5/de active Pending
- 2020-07-21 KR KR1020227014223A patent/KR20230038407A/ko unknown
- 2020-07-21 CN CN202080076051.6A patent/CN114631031A/zh active Pending
- 2020-07-21 JP JP2023503050A patent/JP2023534966A/ja active Pending
- 2020-07-21 WO PCT/EP2020/070599 patent/WO2022017589A1/en active Application Filing
-
2021
- 2021-05-24 TW TW110118712A patent/TWI781634B/zh active
-
2022
- 2022-04-28 US US17/732,345 patent/US20220253375A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201504647A (zh) * | 2013-07-24 | 2015-02-01 | 愛德萬測試股份有限公司 | 測試片與托盤間之高速測試儀通訊界面 |
CN104345231A (zh) * | 2013-07-24 | 2015-02-11 | 爱德万测试公司 | 测试片与托盘间的高速测试机通信接口 |
US20180313891A1 (en) * | 2017-04-28 | 2018-11-01 | Advantest Corporation | Test program flow control |
TW201842349A (zh) * | 2017-04-28 | 2018-12-01 | 日商愛德萬測試股份有限公司 | 支援使用不同應用程式之多個使用者的測試系統 |
US20200033409A1 (en) * | 2018-07-27 | 2020-01-30 | Advantest Corporation | Integrated protocol analyzer configured within automated test equipment (ate) hardware |
Also Published As
Publication number | Publication date |
---|---|
CN114631031A (zh) | 2022-06-14 |
JP2023534966A (ja) | 2023-08-15 |
TW202206835A (zh) | 2022-02-16 |
WO2022017589A1 (en) | 2022-01-27 |
KR20230038407A (ko) | 2023-03-20 |
US20220253375A1 (en) | 2022-08-11 |
DE112020007444T5 (de) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI781634B (zh) | 用以測試一或多個受測裝置之自動化測試裝備、方法及電腦程式,其中不同測試活動使用受測裝置資源之子集 | |
US20190311290A1 (en) | Deep Learning Based Test Compression Analyzer | |
Ziade et al. | A survey on fault injection techniques | |
US8943377B2 (en) | On-chip detection of types of operations tested by an LBIST | |
US10768230B2 (en) | Built-in device testing of integrated circuits | |
US9588177B1 (en) | Optimizing generation of test configurations for built-in self-testing | |
US10509072B2 (en) | Test application time reduction using capture-per-cycle test points | |
US20190250210A1 (en) | System Architecture Method and Apparatus for Adaptive Hardware Fault Detection with Hardware Metrics Subsystem | |
Chen | Beyond structural test, the rising need for system-level test | |
US7228262B2 (en) | Semiconductor integrated circuit verification system | |
Polian et al. | Exploring the mysteries of system-level test | |
US9864004B1 (en) | System and method for diagnosing failure locations in electronic circuits | |
US6707313B1 (en) | Systems and methods for testing integrated circuits | |
JP2006105997A (ja) | 電子デバイスにスキャンパターンを提供する方法および装置 | |
US8843796B2 (en) | Profiling-based scan chain diagnosis | |
Pevtsov et al. | Design for testability of integrated circuits and project protection difficulties | |
Bernardi et al. | Applicative system level test introduction to increase confidence on screening quality | |
US10963612B2 (en) | Scan cell architecture for improving test coverage and reducing test application time | |
US10325048B1 (en) | Virtual directory navigation and debugging across multiple test configurations in the same session | |
US8719651B1 (en) | Scan chain diagnostic using scan stitching | |
US11681843B2 (en) | Input data compression for machine learning-based chain diagnosis | |
US10338137B1 (en) | Highly accurate defect identification and prioritization of fault locations | |
Han et al. | A New Multi‐site Test for System‐on‐Chip Using Multi‐site Star Test Architecture | |
US20180217204A1 (en) | Counter-Based Scan Chain Diagnosis | |
Gurumurthy et al. | Comparing the effectiveness of cache-resident tests against cycleaccurate deterministic functional patterns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |