TW201809709A - 在半導體裝置之測試環境中偵錯 - Google Patents

在半導體裝置之測試環境中偵錯 Download PDF

Info

Publication number
TW201809709A
TW201809709A TW106139945A TW106139945A TW201809709A TW 201809709 A TW201809709 A TW 201809709A TW 106139945 A TW106139945 A TW 106139945A TW 106139945 A TW106139945 A TW 106139945A TW 201809709 A TW201809709 A TW 201809709A
Authority
TW
Taiwan
Prior art keywords
test
dut
debugging
instrument
commands
Prior art date
Application number
TW106139945A
Other languages
English (en)
Inventor
馬克 魯本 赫特納
約翰F 羅
Original Assignee
泰瑞達公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 泰瑞達公司 filed Critical 泰瑞達公司
Publication of TW201809709A publication Critical patent/TW201809709A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31707Test strategies
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

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)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

一測試系統,其致能使用本機客戶碼之一待測裝置(DUT)的即時互動式偵錯。一轉譯模組可對應一使用者輸入即時將偵錯指令格式化為測試器中的儀器認得的格式。使用者輸入可為以高階程式語言寫入的測試程式或測試指令。轉譯模組可將使用者的偵錯指令轉譯為較低階的測試儀器指令,測試器可基於此施加控制訊號至DUT中的處理器,以測試DUT的子系統。測試結果可提供給轉譯模組,其可即時格式化另一偵錯指令或提供結果指示給使用者。轉譯模組可因此致能使用者以互動式方式逐步通過並修改本機客戶碼,以進行DUT的偵錯。

Description

在半導體裝置之測試環境中偵錯
本發明一般係關於電子系統(例如,單晶片半導體裝置)的測試。
已知自動測試設備(通常稱為「測試器」)係用於測試許多類型的電子待測裝置(DUT)。例如,已知用於測試印刷電路板及半導體裝置的測試器。
在一些情境下,測試器係在電子裝置的製造期間使用。以此能力,測試器係用於鑑別缺陷,以致可使用測試結果,以藉由基於測試結果調節某些操作來影響DUT的製造。例如,典型只有裝置測試指示裝置正常工作才會執行導致裝置封裝並運送至客戶的製造步驟。若這類測試指示裝置無法正常工作,常使裝置轉向,以致執行再加工或報廢裝置的不同操作。
測試器典型係配置為運行測試情境,其仿效DUT在操作中可能經歷的各種真實世界條件。例如,每一測試情境可具有步驟序列,其啟動或利用特殊使用情境下牽涉到DUT的不同部分。可選擇收集測試情境,以確認是否已正確地製造DUT的所有部分。
測試器可藉由執行一或多個測試程式來實現這類測試情 境。測試程式具體指定欲藉由測試器執行的操作,以產生刺激訊號及測量回應,以用於與來自適當操作之裝置所預期的回應進行比較。執行測試程式可致使施加「測試圖案」,以控制在連接至DUT之眾多測試點處產生或測量數位訊號的電路系統。測試圖案為固定的二進位資料集,針對多個連續測試器循環的每一個指示測試器中的儀器是否欲產生或測量測試訊號。圖案亦可指示關於測試訊號的其他資訊(例如,其數位值)。
測試器亦在開發產品裝置時使用一測試晶片以驗證特定的產品特徵。在開發期間,設計工程師可使用測試器來執行測試程式。這些測試程式係設計為DUT的運用部分,且常寫入至DUT中的表面設計缺陷。為此目的產生的測試程式可限制為一次測試DUT的小部分。
開發程序對工程師而言常是迭代的,不管是開發DUT或測試程式、產生測試程式以及之後將該測試程式載入測試器均是如此。測試程式可以連接至測試器的DUT執行。基於執行測試程式的結果,可對DUT設計作出改變。不過,亦可導致對測試程式進行改變。例如,可作出改變來對付測試程式中的初始缺陷或作為部分的增量設計方法,其中一旦驗證部分的測試程式或DUT,便可添加與那些部分互動的其他部分。
隨著測試程式改變,可將之重新載入測試器,並可執行執行測試程式、評估結果及修改測試程式之程序的進一步迭代。若在測試期間,鑑別出DUT設計的問題,需要對設計作出改變,則可混合這些迭代。
亦可在已製成裝置後使用測試系統。例如,若已製成並投入使用的多個裝置經歷類似缺陷,裝置製造商可希望測試樣本來決定故障是關於設計中的潛在缺陷或裝置製造中的系統缺陷。這類測試亦可藉由可能 是迭代地開發測試程式以鑑別缺陷來源來執行。
本發明者已認知並了解到可藉由提供具有至偵錯器之介面的測試系統來加速引領新半導體裝置上市的時間。偵錯系統可提供一使用者介面,經此使用者可互動地提供偵錯指令及接收施加實現那些偵錯指令之測試訊號至DUT的結果。那些偵錯指令可例如允許使用者逐步通過測試程式並觀察在程式中將每一步驟施加至DUT的結果,運行測試程式直到抵達偵錯指令具體指定的斷點或其他基於測試程式的方式。
這一類介面可將基於測試程式及偵錯指令得到的指令轉譯為可由測試系統處理的高階指令。測試系統的處理最終可即時產生測試圖案及其他儀器控制訊號。藉由使用偵錯系統,使用者可在不重新寫入及重新加載測試程式的情況下執行多個操作。結果,可縮短偵錯DUT及/或測試程式的時間。
因此,在至少一個實施態樣中,本發明係關於至少一個電腦可讀取儲存媒體,其包含電腦可執行指令,當在一計算裝置的至少一個處理器上執行時,其實現一偵錯方法,該方法包含互動地接收來自該計算裝置之一使用者的偵錯輸入以及存取一測試程式,該測試程式包含複數個測試程式指令。該方法亦可包含產生儀器指令,其係配置為控制一測試器的儀器,以刺激一待測裝置(DUT),並根據該偵錯輸入與該測試程式指令接收來自該DUT的回應;以及施加該儀器指令至該測試器中的儀器。
在另一實施態樣中,本發明可關於一操作測試系統的方法。該方法可包含以至少一個偵錯工具接收使用者輸入,並回應該使用者輸入 產生複數個偵錯指令。該方法亦可包含在一介面處接收複數個偵錯指令,並在該介面內即時格式化該複數個偵錯指令,以用於施加至一測試系統;施加該經格式化的指令至該測試系統;以及在該測試系統內,控制一或多個儀器來刺激一待測裝置,並根據該複數個偵錯指令及與一待測裝置相關的協定資訊測量該待測裝置的回應。
在其他實施態樣中,本發明可關於一測試設備。該測試設備可包含複數個儀器,其係配置在一測試器內,每一該儀器係配置為產生及/或測量用於施加至一待測裝置的至少一個訊號。該測試設備亦可包含至少一個處理器,其係配置為實現一偵錯器模組,該偵錯器模組包含一介面,其中該偵錯器模組係配置為回應透過該介面接收的資訊執行至少一個偵錯工具,以產生偵錯指令。該測試設備亦可包含一測試器控制模組,該測試器控制模組包含一輸入,其中該測試器控制模組係配置為即時產生控制複數個儀器的控制訊號,以基於透過該輸入接收的儀器指令產生及/或測量用於施加至該待測裝置的訊號;及一轉譯模組,其係耦合在該偵錯器模組及該測試器控制模組之間,其中該轉譯模組係配置為接收來自該偵錯器模組之一第一組偵錯指令,基於該第一組產生一第二組儀器指令,並針對收到的該第一組偵錯指令將該第二組即時施加至該測試器控制模組的該輸入。
前述者為本發明的非限定性摘要,本發明係由隨附之申請專利範圍來定義。
100‧‧‧測試系統
102‧‧‧使用者
104‧‧‧測試電腦
106‧‧‧測試器
108‧‧‧待測裝置(DUT)
110‧‧‧插口
200‧‧‧測試系統
202‧‧‧轉譯模組
204‧‧‧偵錯器模組
206‧‧‧測試器
208‧‧‧DUT
210‧‧‧協定知覺引擎
212‧‧‧偵錯指令
214‧‧‧測試器指令
216‧‧‧位元
300‧‧‧測試系統
302‧‧‧轉譯模組
304‧‧‧偵錯器模組
306‧‧‧測試器
308‧‧‧DUT
310‧‧‧PA引擎
312‧‧‧測試電腦
314‧‧‧使用者介面
316‧‧‧處理器
318‧‧‧線
320a‧‧‧子系統
320b‧‧‧子系統
320c‧‧‧子系統
320d‧‧‧子系統
322a‧‧‧儀器
322b‧‧‧儀器
322c‧‧‧儀器
400‧‧‧程序
402‧‧‧步驟
404‧‧‧步驟
406‧‧‧步驟
408‧‧‧步驟
410‧‧‧步驟
412‧‧‧步驟
414‧‧‧步驟
416‧‧‧步驟
418‧‧‧步驟
420‧‧‧步驟
422‧‧‧步驟
424‧‧‧步驟
500‧‧‧程序
502‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
510‧‧‧步驟
512‧‧‧步驟
600‧‧‧計算裝置
602‧‧‧處理器
604‧‧‧記憶體
606‧‧‧非揮發性儲存媒體
隨附圖式並不意欲依比例繪製。在圖式中,不同圖中所繪示之各相同或接近相同的組件係以類似的標號來表示。為清楚起見,並未將 每一個組件標示在每一個圖式。在圖式中:圖1為根據一些實施例之一例示性測試系統的示意圖;圖2為根據一些實施例之顯示一轉譯模組及一測試器細節之一例示性測試系統的示意圖;圖3為根據一些實施例之顯示一例示性測試系統之進一步細節的示意圖;圖4為根據一些實施例之一測試程式的開發與偵錯程序的流程圖;以及圖5為根據一些實施例之一使用轉譯模組互動地應用偵錯指令至待測裝置之方法的流程圖;以及圖6為一代表性計算裝置的示意圖,其可用來實現一或多個本文所述之技術。
使用本文所述之技術,一測試系統可適於提供待測裝置(DUT)的即時、互動式偵錯。該系統可槓桿投資半導體裝置製造商可以其他方式獲取的測試器,以用於工程工作的製造測試。更甚者,與習知的測試器使用相比,這類測試器可以加速半導體裝置上市或幫助鑑別及校正裝置之設計或系統製造缺陷的方式使用。
根據一些實施例,客戶可提供含有多個測試程式指令的測試程式。偵錯器可回應使用者提供的偵錯輸入產生偵錯指令。這些偵錯指令可基於測試程式指令,例如藉由指示測試程式指令必須不時執行或藉由偵錯輸入所決定的方式執行。這類偵錯指令可包括逐步通過測試程式或執行 測試程式直到偵測到依據DUT之操作條件具體指定的程式斷點或陷阱條件為止。不過,偵錯指令可獨立於測試程式指令具體指定測試系統欲執行的動作。這類偵錯指令的實例包括讀取或設定內部暫存器的值或DUT內的記憶體位置。
可將轉譯模組設置為偵錯器及測試器間之介面的一部分,以將偵錯指令即時格式化為可應用至測試器的格式。此格式可為獨立於DUT所用之特定協定的高階格式。結果,不管欲用於執行偵錯的特定DUT為何,可提供有用的一般性偵錯器及介面。
為了控制特定的DUT,測試器可以針對DUT配置的協定知覺引擎進行程式設計。協定知覺引擎可接受以高階具體指定欲藉由DUT執行之操作的指令。協定知覺引擎可以較低階產生指令,以控制測試器中的儀器產生或測量執行操作之DUT處的訊號。協定知覺引擎可例如產生用於DUT的測試圖案。此測試圖案甚至可動態地產生,避免預先產生並儲存測試圖案的需求。例如,可具體指定高階操作(例如,從DUT內之一位置讀取值)。協定知覺引擎可產生儀器控制訊號,其具體指定存取及讀取值之特定訊號的位準及時序。
在某些實施例中,轉譯及格式化程序可反向重複,以返回對偵錯器執行偵錯指令的結果。
偵錯器可轉而將結果呈現給使用者或可將之用來有條件地產生另一偵錯指令。這些動作可即時執行,意指使用者將在無改變及重新載入測試程式之延遲的情況下體驗系統對來自使用者之輸入的回應。轉譯模組因而可致能客戶以互動方式執行偵錯操作。
此外,在某些實施例中,系統可使用以本機客戶碼寫入的測試程式操作,其可幫助測試程式的開發。藉由允許以高階程式設計語言寫入測試程式,使用者可輕易編輯測試程式。此外,由於測試程式的執行可藉由寫入測試程式後提供的偵錯輸入來控制,可避免DUT或測試程式上的偵錯疊代。
這一類即時偵錯環境可用在各種應用中。例如,使用者可為在裝運前首次測試新裝置的設計工程師或測試工程師。傳統上,測試程式或測試圖案係藉由設計工程師離線產生,並藉由測試工程師執行來測試DUT。若在測試期間發生某些問題,則測試工程師及設計工程師典型合作以嘗試解決問題。此程序可耗費長達數天或數星期的時間。本文所述之實施例可藉由致能設計工程師及/或測試工程師編輯/修改測試程式來縮短產生適用測試程式的循環時間,並在不須離線重新設計新測試圖案的情況下即時從DUT見到結果。結果,可縮短新裝置的裝運時間。
作為另一實例,使用者可為測試已從現場返回之終端產品的設計工程師或測試工程師。在一些情況下,裝置可初始已經測試為良好,但一旦在特殊使用情況下運行裝置碼,可能遇到意想不到的問題(例如,由於初始並未測試所有狀況)。在不了解原因的情況下,可能難以設計重現這類故障的測試圖案,但在沒有適當測試圖案的情況下,可能難以了解原因。診斷測試常是不足的,並可產生「未發現故障」的結果。不過,本文所述之實施例可藉由在裝置上互動地執行輸入-輸出操作以找出故障而致能測試工程師及/或設計工程師更高效率地重現在現場失敗的測試情況。此互動式偵錯可致能更迅速且準確地診斷出裝置中的特殊問題。
本發明者已認知並了解到互動式偵錯可藉由用於將偵錯指令自動轉譯為控制測試器內之儀器的格式之技術的幫助。在某些實施例中,轉譯可牽涉以多個步驟將高階偵錯指令即時轉譯為較低階的儀器指令。高階偵錯指令可轉譯為高階測試器指令,之後再將之轉譯為控制測試器內之儀器的較低階指令。
在某些實施例中,經格式化的偵錯指令可包含具體指定為決定性或非決定性操作之任一者的指令。作為實例,若操作係關於協定,則其可為決定性,或者若操作涉及用於DUT的指令,則其可為非決定性。在某些實施例中,測試器可包含ATE儀器引擎,其不管偵錯指令是否具體指定決定性或非決定性操作均產生適當指令。
為了支援多步驟格式轉譯,可設置轉譯模組執行接收來自客戶輸入之偵錯工具與高階測試器指令輸入間的即時轉譯。在某些實施例中,若偵錯工具基於客戶碼或即時客戶輸入產生偵錯指令,則轉譯模組可將那些偵錯指令轉譯為測試器認得的指令。測試器轉而可包含一部件,其產生特定針對DUT的二進位測試圖案刺激或控制測試器內之儀器的其他指令。在某些實施例中,測試器可包含協定知覺引擎,其發出用於測試DUT的儀器指令,並基於來自DUT的回應自動發出後續的儀器指令。
在某些實施例中,轉譯模組結合協定知覺引擎可提供各種類型的指示,例如,完成儀器指令、測試程式成功地執行直達預定位置或執行儀器指令時發生誤差。回應這類指示,使用者可輸入後續的高階指令,其係自動轉譯為儀器指令來控制測試器施加適用的控制訊號(例如,二進位測試圖案)至DUT。此可致能使用者體驗DUT的即時、互動式測試。
作為這些功能如何可共同工作之一實例,若偵錯工具產生記憶體讀取/寫入偵錯指令,則轉譯模組可自動將此轉譯為適當的高階測試器指令(例如,「從記憶體位置XXX讀取資料」)。使用協定知覺引擎的測試器可認得此指令而產生適用的二進位測試圖案,其根據DUT協定及時序實現高階測試器指令。轉譯模組與測試器內的協定知覺引擎相結合可因而提供致能使用者對DUT之下的協定及時序不可知的抽象層,並針對使用者(例如,設計工程師或測試工程師)降低基於特定協定以及在某些實施例中,基於DUT配置手動離線產生測試程式的需求。
本發明者已認知並了解到這一類系統可具有若干優點,包括致能使用者:1)在非必須離線開發二進位測試圖案,且之後必須將測試圖案移回測試系統的情況下,互動/線上偵錯;以及2)使用高階偵錯指令偵錯,降低對中間低階離線二進位測試圖案開發的需求。
本發明者已認知並了解到,藉由提供偵錯工具及測試器間的抽象層,不同類型的偵錯工具可與測試器併用,即使偵錯工具發出的偵錯指令獨立於DUT所用的特殊協定亦然。在某些實施例中,轉譯模組可以遵守DUT認得之特殊協定的方式自動格式化偵錯指令。
本發明者已認知並了解到即時互動式偵錯環境可具有若干優點,包括,但不限於降低對下列的需求:a)使用中間工具/步驟將高階程式設計語言轉換為欲用在測試器中的二進位碼;以及b)使用測試台重現用於DUT的工作環境,以便可產生逼真的測試程式。
本文所述之技術可藉由在不須離線的情況下致能偵錯工具及測試器間之直接且互動式的「聯結」來提供這類優點。這一類「聯結」 可例如藉由本文所述之實施例的至少兩項成就來致能:(1)經由將高階程式設計語言轉譯為二進位碼的抽象層即時互動式地產生刺激訊號;以及(2)經由可仿效功能正確之用於DUT之工作環境的協定知覺或其他ATE引擎提供即時「測試台」。
圖1為根據一些實施例之例示性測試系統100的示意圖。在圖1中,使用者102(例如,設計工程師或測試工程師)與測試電腦104互動。基於使用者輸入,測試電腦104控制執行待測裝置(DUT)108之測試的測試器106。例如,在一些情境下,測試器106可為使用此項技藝中已知之技術構成的自動化測試設備(ATE)。DUT可為用於測試的任何適用裝置。在此實例中,DUT 108可為半導體裝置。半導體裝置例如可為包含處理器及一或多個功能區段的單晶片(SOC)。
DUT 108可放置在插口110中用於測試。不過,須了解如本文所述之測試系統可測試任何適用類型的裝置,且不同類型的裝置可固持在用於測試之不同類型的夾具中。此外,雖然未顯示,任何數目的裝置可放置在插口110中用於並行測試。因此,插口110為例示性,而非本發明之限制。
進一步地,須了解如所繪示的其他部件係例示性而非限制。例如,雖然在圖1中將測試電腦104繪示為個人電腦(PC),須了解任何適用的計算裝置可用來實現測試電腦(例如,手持可攜裝置或電腦工作站)。
測試電腦104可具有實現偵錯工具的軟體。這些偵錯工具可連同可以高階碼寫入的測試程式操作,以用於測試DUT 108。高階碼例如可獨立於用來與DUT交換資訊的特定協定以及獨立於將產生並測量DUT訊號 之測試器106內的特定儀器而具體指定。測試程式中的一些參數值可具體指定DUT內欲執行某些操作的部件。欲執行的操作可在高階碼中以一般性施加至任何DUT及測試器配置的方式具體指定。操作例如可關於讀取或寫入值。
偵錯工具可共同提供偵錯器,並可使用此項技藝中已知的技術來實現,以支援任何適用的偵錯操作。這些偵錯操作可包括此項技藝中已知的偵錯操作。例如,偵錯操作可包括逐步通過測試程式或在測試程式中設定將停止執行的斷點。偵錯操作亦可包括設定陷阱條件,指示DUT上可導致測試程式之執行免於停止的條件。此外,偵錯操作可包括讀取或設定暫存器或DUT內之其他部件中的值。
測試電腦104中的偵錯工具可基於使用者輸入及/或測試程式輸出偵錯指令。偵錯指令的輸出亦可基於從DUT讀取的值或測試系統的狀態。從DUT讀取的資訊或測試系統的狀態可由測試器106提供。例如,當使用者輸入已指示通過測試程式的單步操作,偵錯工具可產生偵錯指令,指示測試程式中之一步驟的執行。當偵錯工具接收從測試器106回傳之指示步驟完成的資訊時,偵錯工具可產生一或多個偵錯指令,以具體指定測試程式中之下一步驟的執行。
在某些實施例中,轉譯模組可設置在測試電腦104中,其將偵錯工具發出的偵錯指令轉譯為測試器106認得的測試器指令。基於從測試電腦104接收到的測試器指令,測試器106可產生控制訊號(例如,二進位測試圖案),並將控制訊號施加至DUT 108來在一些偵錯情境下運行。
測試電腦104中的轉譯模組可允許以測試器106實現各種偵 錯工具。轉譯模組可提供使用者級指令和測試器級指令間的抽象層。這一類轉譯模組可允許使用者102對測試器106及/或DUT 108的確切性質與需求不可知。和使用與特殊測試器及/或DUT相容之特定的偵錯儀器配置相比,此可提供用於偵錯更多種類DUT之更廣義的方法論。
除了提供測試電腦104中之偵錯工具與測試器106間的抽象層之外,測試電腦104中的轉譯模組亦可致能使用者102執行DUT 108的即時互動式偵錯。這類即時互動式偵錯可致能使用者102互動地控制測試器106。例如,使用者102可以DUT 108執行刺激-回應操作的序列,或可基於DUT 108輸出的訊號即時運行測試程式指令或測試程式中的特定指令。
由於偵錯工具允許動態地選擇來自測試程式的指令並將之施加至測試器106,遂不需要預先準備測試程式。反之,測試程式可即時開發或修改。在此情況下,即時修改發生在進行DUT測試時。這類測試程式的修改因而以線上方式完成。相較於在未測試DUT時離線準備測試程式,之後再將準備好的程式載入執行的習知方法,這類線上程式設計及修改更為強而有力。
因此,這一類轉譯模組不僅可提供致能使用者103使用高階客戶碼的抽象層,且亦可提供使用者102可在其中基於DUT 108輸出的回應訊號動態地執行偵錯的即時互動式環境。雖然圖1的實例已敘述為在測試電腦104中實現轉譯模組,須了解實施例並未受限於此方面,且轉譯模組可以任何適用的計算裝置實現。
圖2為根據一些實施例之使用轉譯模組之例示性測試系統200的示意圖。在此實例中,提供偵錯器模組及產生與測量DUT訊號的測 試系統儀器間之抽象層的進一步細節。在此實例中,進一步提供協定知覺引擎210。協定知覺引擎將藉由轉譯模組202從偵錯指令產生的高階測試器指令轉換為儀器指令,其控制測試器206內的儀器操作,以施加或測量DUT208的訊號。
在圖2的實施例中,轉譯模組202提供實現一或多個偵錯工具之偵錯器模組204以及在DUT 208上執行測試之測試器206間的介面。在某些實施例中,轉譯模組202致能以客戶語言(例如,C++、Java)寫入之測試程式的使用,以互動地偵錯DUT 208。在某些實施例中,轉譯模組202可在偵錯器模組204及測試器206間的應用程式設計介面(API)內實現。
偵錯器模組204可以任何適用的方式實現,包括使用第三方偵錯工具,其可設計為理解使用者想要以DUT 208做什麼的邏輯。這些偵錯工具可與由使用者提供之實現測試程式的客戶碼互動。基於使用者輸入、測試程式及/或由測試器206提供的測量或其他資訊,偵錯器模組204可產生偵錯指令212。例如,偵錯器模組204可產生偵錯指令212,其包含在DUT 208上執行一操作的指令。在某些實施例中,至偵錯器模組204的單一使用者輸入可導致偵錯指令的串流。例如,指示將軟體載入DUT 208上的記憶體之指令的使用者輸入可導致偵錯指令212的串流。
不過,偵錯器模組204發出的偵錯指令212可非適於直接施加至測試器206的格式。例如,偵錯指令212可為非為測試器206特別準備的高階程式設計語言。轉譯模組202可提供偵錯指令212及測試器指令214間的必要轉譯。
這些測試器指令214仍可為相對高階。例如,測試器指令 214可具體指定在DUT內的位置讀取及寫入,但非DUT 208導致具體指定之操作執行會需要的一系列特定值。系統200中的抽象層可進一步包括將較高階測試器指令214轉換為控制測試器206內之儀器產生或測量適當訊號之較低階儀器指令的部件。
這一類部件可包括一測試器控制模組。例如,測試器控制模組可為協定知覺(PA)引擎210。然而,須了解其他適用的ATE引擎可用作測試器控制模組,例如,數位訊號源與擷取(DSSC)。在某些實施例中,PA引擎210可配置為產生儀器指令214,其導致測試器內側的儀器產生位元216的序列,以控制DUT 208中的硬體執行由回應一或多個偵錯指令212所產生之測試器指令具體指定的操作。
協定知覺引擎的實例可在美國專利第8,195,419號及申請案第2010/0312516號中找到,藉此將其全文併入以供參照。不過,可使用任何適用部件將測試器指令轉換為控制產生具有適當位準及時序的訊號之儀器的指令,以用於施加至特定的DUT。協定知覺引擎可根據協定操作,其不時產生訊號或具有取決於DUT上所產生之訊號狀態的值。例如,當資料可用於讀取時,DUT可宣稱「就緒」訊號,且協定知覺引擎可回應這一類就緒訊號發出導致欲讀取的值的儀器指令。在某些實施例中,協定知覺引擎可在數位訊號上操作。然而,須了解協定引擎在某些實施例中可在類比及/或數位訊號上操作。
因此,須了解任何適用的測試器控制模組可充當PA引擎210。此外,將較高階測試器指令轉換為控制DUT訊號產生的儀器指令的任何適用模組可充當PA引擎210。
雖然已知提供具有PA引擎210的測試器來在測試器指令214及儀器控制訊號間轉換,轉譯模組202及PA引擎210可提供額外的抽象。這類額外的抽象可例如致能使用者使用較高階、更為人性化的程式語言,亦即,客戶語言(例如,C、C++、Java)準備測試程式。此外,其允許測試系統可輕易地配置為與任何測試系統或DUT一起操作。不論測試器或DUT為何,偵錯器模組204可產生一般性輸出。轉譯模組202可特定用於測試器,但獨立於DUT。然而,PA引擎210可配置用於特定的DUT。
圖3為根據一些實施例之顯示例示性測試系統300之進一步細節的示意圖。圖3繪示轉譯模組302,其提供偵錯器模組304及測試器306間之用於控制DUT 308的抽象層。測試器306在某些實施例中可包含PA引擎310,以用於接收來自轉譯模組302的測試器指令,作為回應產生儀器指令,其將導致測試器306內的儀器產生或測量來自DUT 308的訊號。
在某些實施例中,轉譯模組302及偵錯器模組可配置在測試電腦312(例如,圖1的測試電腦104)中,然而實施例並未在此方面受限。偵錯器模組304可具有使用者介面314,經此使用者可與藉由偵錯器模組304實現的各種偵錯工具互動。
在某些實施例中,使用者輸入可控制偵錯工具產生偵錯指令,其最終導致數位儀器經由根據PA引擎310支援的協定操作之線318控制DUT 308的處理器316。在某些實施例中,該協定可根據測試行動聯合組織(Joint Test Action Group,JTAG)協定,其允許透過具有有限數目接腳的測試介面(例如,串列輸入及串列輸出接腳、時序接腳及一或多個控制接腳)控制部件。JTAG協定可允許將程式載入DUT 308內側的記憶體或者將值載 入特定暫存器或儲存位置。類似地,JTAG協定可允許從DUT 308內的特定暫存器或儲存位置讀取值。不過,須了解實施例並未受限於使用JTAG,因為可使用其他適用的協定(例如,Mipi、SPI、I2C)來控制DUT。
例如,可使用此加載程式的能力來允許偵錯工具將測試碼載入與處理器316相關的韌體。測試碼可有條件地執行操作,例如,基於寫入DUT之記憶體中的特定位置的值。替代地或額外地,測試碼可將值寫入記憶體中的位置。這些能力可用來控制DUT 308所執行之操作的時序或進程,且亦用來提供測試器306存取執行操作的結果。這些能力例如可用來實現具體指定對測試程式的操作之控制的偵錯指令。以此方式,系統可支援例如測試程式的單步執行,在其中使用者可檢視執行每一步驟的結果。此能力亦可支援執行至斷點或在可基於DUT 308內側的值之特定條件上設陷阱。
加載用於處理器316之程式的能力亦可允許處理器316控制DUT 308中的其他處理器或子系統,以執行作為用於DUT 308之測試的操作。例如,在圖3中,顯示子系統320a、320b、320c及320d。子系統的非限制性實例包括類比至數位轉換器(ADC)、數位至類比轉換器(DAC)、串化器/解串化器或混合訊號單晶片內含的其他核心。使用者可使用在DUT 308的處理器316中實現之他們的碼/程式來控制DUT 308的這些子系統。作為可行的控制類型之一非限制性實例,DAC可受控產生具有特定位準的輸出,而ADC可受控測量此輸出。藉由比較測量與期望值,可偵測ADC或DAC的不適當操作。
此外或作為一替代,測試器306的其他儀器(例如,儀器 322a、322b及322c)可受控執行刺激及/或擷取DUT 308中的子系統(例如,子系統320a至320d)。儀器可直接由測試器指令控制或可非直接地由另一部件(例如,PA引擎310)發出的指令控制。此控制可與處理器316執行的測試操作同步。
不管此控制的性質及來源為何,測試器306的儀器322a至322c可產生及/或測量DUT 308的訊號,直接或非直接地基於從轉譯模組302接收到的測試器指令。例如,此可用於RF、AC、DC及數位儀器族。
在上述實施例中,PA引擎310用來與DUT 308通訊的協定可為四線線路上的測試行動聯台組織(JTAG)協定,如同此項技藝中已知者(IEEE標準1149.1)。不過,須了解可使用例如Mipi、SPI、I2C之任何適用的協定家族,因為實施例在此方面並未受限。
DUT 308中的處理器316可配置為接收測試碼並將之儲存在韌體中。不過,測試碼可以任何適用方式儲存在DUT 308內。另外,將處理器316敘述為可經程式設計,以便其可受控執行通過使用者測試程式的單步操作。在某些實施例中,處理器316可受控逐步通過載入DUT 308的測試碼,且在每一步驟後的結果可用於測試器306(以致這些結果之後可用於偵錯器模組304)。如在此項技藝中已知,這類能力可存在於DUT處理器中。例如,若處理器316為ARM處理器,則其可具有至控制協定之已定義的控制介面以及一個步驟一個步驟檢查測試指令的能力。例如,控制介面可為至JTAG或另一適用控制協定的介面。在某些實施例中,DUT處理器316具有偵錯支援能力,且轉譯模組302能夠發出儀器指令來存取處理器316中的偵錯支援能力。
不管是由哪些部件執行測試,在這類測試期間所作的測量可透過轉譯模組302返回偵錯器模組304。當資訊沿此方向通過轉譯模組302時,其可轉換自指示施加一或多個偵錯指令之結果的高階測試器資訊(例如,從DUT 308讀取的值或獲得的狀態)。偵錯器模組304可取得這類測試的結果並提供各種輸出。
在所繪示的實施例中,這些輸出係在使用者介面314處提供。這類輸出可指示由DUT 308的不同子系統320a至320d執行之讀取、寫入或其他操作的結果。例如,若子系統320a為類比至數位轉換器(ADC),則至DUT 308的輸入可代表擷取到的類比波形。這一類波形可例如藉由載入DUT以控制處理器316準備ADC來擷取類比輸入波形之測試碼的操作進行擷取。因此,可回應指示擷取波形之使用者輸入進行擷取。轉譯模組302可將指令轉換為高階測試器指令,以導致用於處理器316的測試碼加載、觸發該測試碼執行以及之後控制測試器306內的一或多個儀器讀取所得的資料。資料可因此提供給使用者,允許使用者觀察DUT 308是否準確地測量施加至DUT 308的類比訊號。使用者之後可回應觀察到的資料輸入額外的指令。不過,不管使用者輸入的確切性質為何,所繪示的部件可致能互動式測試環境,在其中藉由使用者指令即時控制部件。
圖4為根據一些實施例之偵錯程序的流程圖,其在此實例中包括測試程式的開發及偵錯。在圖4的例示性程序400中,顯示設計工程師及測試工程師所採取之程序步驟的互動。在兩路徑中,如本文所述之部件係用於致能DUT的即時互動式偵錯。
測試工程師可使本文所述之部件執行DUT的互動式偵錯。 在步驟402中,測試工程師可以現存的測試程式開始偵錯。測試程式可為例如意欲控制測試系統操作同時在製造DUT時進行測試的測試程式。然而,在可使用這一類測試程式之前,可進行偵錯,以確保根據該程式執行之任何測試的結果準確地特徵化DUT。
在步驟404中,測試工程師使測試程式開始動作,並在步驟406中使轉譯模組開始動作。在步驟408中,轉譯模組可轉換得自測試程式的指令,以用於施加至測試系統。這些指令可藉由偵錯器模組回應使用者輸入來選定。可以任何適用方式選定指令。
一部分測試程式的執行可藉由加載至DUT上的韌體碼來控制,其控制內部處理器的執行。因此,程序400可包括將韌體載入DUT。此韌體可作為根據偵錯輸入(例如,藉由運行測試程式直到斷點)執行測試程式的一部分執行,如動作408中所繪示的。
在該點,使用者可於動作410開始互動式偵錯測試程式。互動式偵錯可致使使用者輸入(例如,執行具體指定之部分的測試程式、在DUT上設定條件的輸入)產生測試情境或從DUT讀取值。例如,互動式偵錯在步驟412中可包含步進至下一測試程式指令或測試程式的指令。在每一步驟,使用者可再次具體指定進一步的動作。在某些實施例中,使用者可修改測試程式(使用編輯器或其他程式修改指令),直到運行測試程式測試DUT時得到所需或預期的結果。一旦完成偵錯,互動式偵錯可在步驟414中停止。
在一些情境下,測試程式可藉由設計工程師提供。例如,設計工程師可開發設計為在裝置中測試特殊子系統或實際使用情境的測試程式。轉譯模組可藉由測試工程師或設計工程師的任一者來致能這類經設計 之程式的測試及偵錯。
例如,在步驟416中,設計工程師可開始開發測試物件。測試物件可為測試程式或部分的測試程式。這些物件可以使用者本機的高階語言寫入,以致物件與用來控制測試器或DUT所用之特定協定的語言不需相依。這類程式物件可設計為測試DUT的各種功能。作為非限制性實例,測試程式可包含用於將資料寫入DUT之暫存器及在DUT的埠讀取輸出的測試程式指令。
在步驟418中,設計工程師可以本機語言(例如,C++或Java)開發碼。若以經過編譯的語言寫入,碼之後可在步驟420中進行編譯。一旦碼已經過編譯,在步驟422中,可將經過編譯的碼載入測試系統電腦。在所繪示的實施例中,設計者亦可如上述般加載偵錯器模組。寫入、編譯及加載客戶開發碼的步驟可由設計工程師重複,直到每一開發的其餘程式物件如所需般執行為止。
接著可偵錯由開發程式物件組成的程式。此偵錯可由設計工程師或測試工程師使用上述步驟執行。程式物件可在動作410由包括上述之設計工程師或測試工程師的任何適用方進行測試。此偵錯可致使包括如上述之轉譯模組及PA引擎之部件的使用,以抽象化來自偵錯工具產生的偵錯指令之DUT的實施細節。
如本文所述之系統可因此提供一整合環境,在其中設計與測試工程師兩者可互動地使用高階客戶碼測試程式。此可允許設計工程師及測試工程師兩者更為自給自足,並減少開發測試程式的循環時間,以準確地測試或診斷裝置。
圖5為根據一些實施例之一方法的流程圖,該方法包含轉譯模組(例如,圖2及3中的轉譯模組202或302)作為部分之即時互動地施加偵錯指令至待測裝置的操作。在例示性程序500中,偵錯模組在步驟502中存取測試程式,其可包含以高階客戶語言寫入的測試程式指令。回應使用者輸入,偵錯模組可基於所加載的測試程式以及可能的使用者輸入與其他資訊產生偵錯指令。
在步驟504中,轉譯模組可接收例如來自偵錯器模組(例如,圖2及3中的偵錯器模組204或304)的偵錯指令。偵錯指令可呈現測試程式中的指令及/或可呈現即時使用者輸入的指令。
不管偵錯指令的確切性質為何,轉譯模組可在步驟506中產生測試器(例如,圖2及3中的測試器206或306)認得的測試器指令。在步驟508中,轉譯模組可施加測試器指令至測試器,且測試器可使用適當的協定在DUT上執行各種輸入/輸出操作。測試器可藉由使用DUT知覺PA引擎(例如,圖2及3中的PA引擎210或310)來決定如何施加測試器指令至DUT。測試器可接著得到指令的結果,其在步驟510中將之傳遞至轉譯模組,並可轉而透過藉由偵錯器實現的介面提供給使用者。
在步驟512中,若完成程式偵錯,則可完成程序。否則,程序返回步驟504,且轉譯模組可從下一個客戶碼中的指令或從另一個即時使用者輸入的指令的任何一個接收下一個偵錯指令。以此方式,偵錯指令遂提供給轉譯模組,之後藉由測試器執行,並不需要例如預先產生並儲存在測試器硬體中的測試圖案。結果,就使用者看來偵錯指令的即時執行就如同其產生一般。
轉譯模組可因而針對偵錯工具及使用偵錯工具的使用者提供隱藏測試器細節的抽象層。同樣地,PA引擎及與DUT通訊所必須的DUT特定協定隱藏與DUT互動所必須之控制訊號的細節。這些部件致能偵錯工具更簡單地使用偵錯工具的本機指令與DUT及/或測試系統接合。就這一點而言,使用者能夠以線上方式執行高階互動式偵錯,不必依靠離線產生用於測試器及DUT的低階二進位測試圖案。
圖6為代表性計算裝置600的示意圖,其可用於實現一或多個本文所述的技術,以執行偵錯指令轉譯為儀器指令(例如,圖2及3中的轉譯模組202或302)或提供使用者DUT的互動式偵錯(例如,圖1及3中的測試電腦104或312)。計算裝置600亦可代表DUT本身(例如,圖2及3中的DUT 208或308)。電腦裝置600可包括一或多個處理器602及一或多個非暫時性電腦可讀取儲存媒體(例如,記憶體604及一或多個非揮發性儲存媒體606)。處理器602可以任何適用方式控制寫入資料至或讀取資料自記憶體604及非揮發性儲存裝置606,因為本文所述之本發明的實施態樣並未在此方面受限。為了執行本文所述之功能及/或技術,處理器602可執行儲存在一或多個電腦可讀取儲存媒體(例如,記憶體604、儲存媒體等)中之一或多個指令,該些儲存媒體可作為儲存用於藉由處理器602執行之指令的非暫時性電腦可讀取儲存媒體。計算裝置600亦可包括任何其他處理器、控制器或控制單元,其係選路資料、執行計算、執行I/O功能等所需。
關於本文中所述之變換技術,偵錯程式、將偵錯指令轉譯為儀器指令或提供互動式偵錯環境的一或多個程式可儲存在計算裝置600的一或多個電腦可讀取儲存媒體上。處理器602可執行這類程式的任何一個 或其組合,這類程式可藉由局部儲存在計算裝置600上或可透過網路存取而為處理器所用。本文所述之任何其他軟體、程式或指令亦可藉由計算裝置600儲存及執行。電腦600可為獨立電腦、行動裝置等,並可連接至網路且能夠透過網路存取資源及/或與一或多個連接至網路的其他電腦通訊。
雖然已在本文敘述及繪示本發明的若干個實施例,那些在此項技藝中具有普通技能者將輕易預想各種其他裝置及/或結構,以用於執行功能及/或獲得結果及/或一或多個本文所述之優點,且咸認為每一這類變化及/或修改係屬於本發明的範圍。
例如,雖然偵錯器及轉譯模組係顯示為分開的部件。此實施方式係為了簡化解釋而顯示。這些部件的特定架構並非本發明的關鍵。例如,轉譯可作為部分的偵錯模組來執行。替代或額外地,系統支援的一些或全部的偵錯指令可在轉譯模組內實現。
更一般性地,那些熟悉此項技藝者將輕易了解本文所述之所有參數、尺寸、材料及配置係打算作為例示性之用,且實際的參數、尺寸、材料及/或配置將取決於使用本發明之教義的一或多個特定應用。那些熟悉此項技藝者僅使用常規實驗便將了解或能夠確認本文所述之本發明的特定實施例的許多等同物。因此,須了解前述實施例係僅經由實例提出,且在附加之專利申請項及其等同物的範圍內,本發明可以除了具體敘述及主張外的其他方式實行。本發明係關於本文所述之每一個別的特徵、系統、物件、材料、套件及/或方法。此外,若這類特徵、系統、物件、材料、套件及/或方法並未互相矛盾,則二或多個這類特徵、系統、物件、材料、套件及/或方法的任何組合係包含在本發明的範圍內。
須了解除非清楚指示相反意義,否則如本文在本專利說明書與申請專利範圍中之所用的不定冠詞「一(“a”and“an”)」意指「至少一」。
須了解如本文在本專利說明書及申請專利範圍中所用的「及/或」一詞意指如此連接之元件的「任一者或兩者」,亦即,在一些情況下元件係連接地存在而在其他情況下則是分離地存在。除了藉由「及/或」子句具體鑑別的元件之外,其他元件可選擇性地存在,除非清楚指示相反意義,否則不論與那些具體鑑別的元件相關或無關均是如此。因此,作為非限制性實例,當與例如「包含」之開端式語言聯合使用時,在一實施例中提到「A及/或B」可指稱有A無B(選擇性地包括除了B之外的元件);在另一實施例中則是有B無A(選擇性地包括除了A之外的元件);在尚有另一實施例中有A及B兩者等。(選擇性地包括其他元件);須了解如本文在本專利說明書及申請專利範圍中所用的「或」具有與「及/或」相同之如上文所定義的意義。例如,當分開列表中的項目時,「或」或者「及/或」應當解譯為包含,亦即,包含至少一個,但亦包含多於一個的一些元件或列表元件以及選擇性地額外未列表項目。僅清楚指示相反意義的項目(例如,「僅有一個」或「正好一個」)或者在用於申請專利範圍中時的「由……構成」將指稱包含一些元件或列表元件的正好一個元件。一般而言,當例如「任一」、「其一」、「僅其一」或「正好一」之排外性用詞先行時,如本文所用之「或」一詞應當僅解譯為指示排除的替代物(亦即,「一或其他但非兩者」)。當用在申請專利範圍中時,「本質上由……構成」應當具有如其在專利法領域中所用的普通意義。
如本文在本專利說明書及申請專利範圍中所用的,須了解在提到一或多個元件列表之「至少一」的用詞意指至少一個選自該元件列表之任何的一或多個元件的至少一個元件,但不必包括具體列示於元件列表內的每個元件的至少一個,且不排除元件列表中之元件的任何組合。此定義亦允許除了在「至少一」一詞所指的元件列表內具體鑑別的元件外之元件可選擇性地存在,不管與具體鑑別的那些元件相關或無關均是如此。因此,作為非限制性實例,「A及B的至少一個」(或者等同地,「A或B的至少一個」或者等同地,「A及/或B的至少一個」)在一實施例中可指稱至少一個,選擇性地包括多於一個A,但無B存在(且選擇性地包括除了B之外的元件);在另一實施例中,至少一個選擇性地包括多於一個B,但無A存在(且選擇性地包括除了A之外的元件);在尚有另一實施例中,至少一個選擇性地包括多於一個A,且至少一個選擇性地包括多於一個B(且選擇性地包括其他元件);等。
在申請專利範圍以及在上述專利說明書中,例如「包含」、「包括」、「帶有」、「具有」、「含有」、「牽涉到」、「持有」之類的所有過渡詞組須理解為開端式,亦即,意指包括但非受限於此。僅「由……構成」及「本質上由……構成」的過渡詞組分別應當為閉合或半閉合式過渡詞組,如在美國專利局之專利審查程序手冊第2111.03節中提出的。
200‧‧‧測試系統
202‧‧‧轉譯模組
204‧‧‧偵錯器模組
206‧‧‧測試器
208‧‧‧DUT
210‧‧‧協定知覺引擎
212‧‧‧偵錯指令
214‧‧‧測試器指令
216‧‧‧位元

Claims (27)

  1. 一種至少一個非暫態電腦可讀取儲存媒體,其包含電腦可執行指令,當在一計算裝置的至少一個處理器上執行時,其在待測裝置(DUT)上實現一偵錯方法,該偵錯方法包含以下步驟:透過該計算裝置之一使用者介面互動式接收來自至少一人類操作者的偵錯輸入;存取一測試程式,該測試程式包含複數個測試程式指令;以及控制自動測試設備,其包括複數個儀器,以進行:基於從該待測裝置接收的一回應以從複數個協定中選擇與該待測裝置相關的一協定;根據該偵錯輸入及該複數個測試程式指令而產生被配置為控制該複數個儀器以刺激一待測裝置並接收來自該待測裝置的回應之儀器指令,其中至少部分地基於與所選擇之與該待測裝置相關的協定來產生該儀器指令;以及將該儀器指令施加至該自動測試設備中的儀器,其中該儀器指令係具體指定由該儀器所產生的一訊號之位準和時序中的至少一者。
  2. 如請求項1所述之非暫態電腦可讀取儲存媒體,其中:互動式接收偵錯輸入包含:接收來自該使用者介面之一第一偵錯輸入與一第二偵錯輸入;根據該第一偵錯輸入產生一第一偵錯指令;將該第一偵錯指令施加至該自動測試設備;以及回應施加該第一偵錯指令至該自動測試設備的結果,根據該第二偵 錯輸入產生一第二偵錯指令。
  3. 如請求項1所述之非暫態電腦可讀取儲存媒體,其中:互動式接收偵錯輸入包含在收到該偵錯輸入後即時產生該儀器指令。
  4. 如請求項1所述之非暫態電腦可讀取儲存媒體,其中:刺激一DUT及接收來自該DUT的回應係配置為藉由透過一協定知覺引擎或儀器引擎提供即時測試台而根據一用於該DUT之功能正確的工作環境來執行的。
  5. 如請求項1所述之非暫態電腦可讀取儲存媒體,其中:產生儀器指令之該電腦可執行指令包含電腦可執行指令,其用於將該偵錯輸入及測試程式指令轉譯為一二進位測試圖案。
  6. 如請求項1所述之非暫態電腦可讀取儲存媒體,其中:該偵錯輸入包含至少一個指令,以在該測試程式內之一預定位置暫停執行該測試程式;根據該偵錯輸入及該測試程式指令而產生配置為控制儀器之儀器指令係包含產生配置為控制儀器以在該測試程式中執行測試程式指令直達該預定位置之儀器指令。
  7. 如請求項6所述之非暫態電腦可讀取儲存媒體,其中該偵錯方法進一步包含以下步驟:將已執行該測試程式中直達該預定位置的測試程式指令之一指示呈現給該使用者。
  8. 如請求項1所述之非暫態電腦可讀取儲存媒體,其進一步包含:電腦可執行指令,當執行時,該電腦可執行指令接收來自該計算裝置 之該使用者的程式修改指令,並基於所接收的該程式修改指令來修改該測試程式。
  9. 如請求項1所述之非暫態電腦可讀取儲存媒體,其中:該偵錯輸入包含至少一個從該DUT讀取資料的指令;該偵錯輸入獨立於用來從該DUT讀取資料之一協定。
  10. 如請求項1所述之非暫態電腦可讀取儲存媒體,其進一步包含該測試程式,其中:該測試程式包含用於在該DUT內之一處理器上執行的指令,以控制該處理器與該DUT上之一核心互動,以產生及/或測量關於該核心的測試資料。
  11. 一種操作自動測試設備以測試一待測裝置的方法,該方法包含以下步驟:以至少一個偵錯工具接收使用者輸入,並回應該使用者輸入產生複數個偵錯指令;在一介面處接收該複數個偵錯指令;在該介面內,即時格式化該複數個偵錯指令,以用於施加至一測試系統,其中經格式化的偵測指令包含至少一指令,其係具體指定一非決定性操作;施加該經格式化的指令至該自動測試設備;以及在該自動測試設備內,根據該經格式化的指令而產生複數個儀器指令,並且控制一或多個儀器以刺激一待測裝置(DUT),並根據該複數個儀器指令及與一待測裝置相關的協定資訊測量該待測裝置的回應,其中該儀器 指令係具體指定由該儀器所產生的一訊號之位準和時序中的至少一者。
  12. 如請求項11所述之方法,其中:刺激一待測裝置及測量該待測裝置的回應係配置為藉由透過一協定知覺引擎或儀器引擎提供即時測試台而根據一用於該DUT之功能正確的工作環境來執行的。
  13. 如請求項11所述之方法,其中:格式化該複數個偵錯指令包含產生複數個高階儀器指令。
  14. 如請求項11所述之方法,其中:控制一或多個儀器包含至少部分基於該高階儀器指令及該協定資訊產生一二進位測試圖案。
  15. 如請求項11所述之方法,其中:控制該自動測試設備內的該一或多個儀器包含操作該自動測試設備內之一協定知覺引擎或儀器引擎,以產生訊號而在藉由來自該待測裝置之回應所決定的時間點刺激該待測裝置。
  16. 如請求項15所述之方法,其進一步包含以下步驟:基於與該待測裝置相關的協定資訊配置該協定知覺引擎或儀器引擎,以致該偵錯指令獨立於該待測裝置所用的協定。
  17. 如請求項11所述之方法,其進一步包含以下步驟:在該介面處接收完成執行一第一經格式化偵錯指令之一指示。
  18. 如請求項17所述之方法,其中該第一經格式化偵錯指令包含一藉由該待測裝置具體指定一非決定性操作的指令。
  19. 如請求項11所述之方法,其中: 該經格式化指令係以一獨立於該待測裝置之第一程式語言格式化;以及控制該一或多個儀器包含以一第二程式語言產生指令,該第二程式語言係配置以控制該一或多個儀器產生或測量在該待測裝置處的訊號。
  20. 如請求項11所述之方法,其中:該待測裝置包含一處理器核心;以及該複數個偵錯指令包含一指令,以將一測試程式透過一JTAG介面或其他控制介面載入該待測裝置,該測試程式為了由該處理器核心執行而經格式化,以控制該處理器核心執行牽涉到與該待測裝置中之一或多個其他子系統互動的測試功能。
  21. 如請求項20所述之方法,其中:控制該測試系統內的該一或多個儀器包含控制該一或多個儀器,以:產生訊號,該訊號控制由該處理器核心執行的該測試程式的一部分;以及在與該測試程式之該部分的執行同步的時間點測量藉由該待測裝置輸出的訊號。
  22. 一種測試設備,其包含:複數個儀器,其係配置在一自動測試設備內,每一該儀器係配置為產生及/或測量用於施加至一待測裝置的至少一個訊號;在該自動測試設備內的一測試器控制模組,該測試器控制模組包含一輸入,其中該測試器控制模組包含一協定知覺引擎,其係配置為即時產生控制訊號,該控制訊號係控制該複數個儀器以基於透過該輸入所接收的儀 器指令而產生及/或測量用於施加至該待測裝置的至少一非決定性訊號,其中該儀器指令係具體指定由該儀器所產生的一訊號之位準和時序中的至少一者;以及至少一處理器,其係配置為實現:一偵錯器模組,該偵錯器模組包含一介面,其中該偵錯器模組係配置為回應透過該介面接收的資訊執行至少一個偵錯工具,以產生偵錯指令;以及一轉譯模組,其係耦合在該偵錯器模組及該測試器控制模組之間,其中該轉譯模組係配置為:接收來自該偵錯器模組之一第一組偵錯指令;基於該第一組產生一第二組儀器指令;以及相對於該第一組偵錯指令的接收即時將該第二組施加至該測試器控制模組的該輸入。
  23. 如請求項22所述之測試設備,其中:該測試器控制模組進一步係配置為藉由透過一協定知覺引擎或儀器引擎提供即時測試台而根據一用於該待測裝置之功能正確的工作環境來即時產生控制訊號。
  24. 如請求項22所述之測試設備,其中:該至少一個處理器包含至少一第一處理器及一第二處理器;該第一處理器係配置為實現該偵錯器模組;該第二處理器係配置在該自動測試設備內;以及該第二處理器係配置為實現該測試器控制模組。
  25. 如請求項22所述之測試設備,其中:該測試器控制模組包含至少一個協定知覺引擎或儀器引擎。
  26. 如請求項22所述之測試設備,其中:該測試器控制模組進一步係配置為:從以複數個協定透過該輸入接收的該儀器指令產生該控制訊號;以及接收一控制訊號,其選擇該複數個協定之一協定。
  27. 如請求項22所述之測試設備,其中:該偵錯器模組係配置為以一獨立於該儀器指令之一格式的格式產生偵錯指令。
TW106139945A 2012-11-19 2013-10-24 在半導體裝置之測試環境中偵錯 TW201809709A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/680,407 US9959186B2 (en) 2012-11-19 2012-11-19 Debugging in a semiconductor device test environment
US13/680,407 2012-11-19

Publications (1)

Publication Number Publication Date
TW201809709A true TW201809709A (zh) 2018-03-16

Family

ID=50729128

Family Applications (2)

Application Number Title Priority Date Filing Date
TW106139945A TW201809709A (zh) 2012-11-19 2013-10-24 在半導體裝置之測試環境中偵錯
TW102138432A TWI619955B (zh) 2012-11-19 2013-10-24 用於在半導體裝置之測試環境中偵錯的非暫態電腦可讀取儲存媒體、方法和測試設備

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW102138432A TWI619955B (zh) 2012-11-19 2013-10-24 用於在半導體裝置之測試環境中偵錯的非暫態電腦可讀取儲存媒體、方法和測試設備

Country Status (5)

Country Link
US (1) US9959186B2 (zh)
KR (1) KR102104915B1 (zh)
CN (1) CN104797948B (zh)
TW (2) TW201809709A (zh)
WO (1) WO2014078196A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030381B2 (en) 2019-01-16 2021-06-08 Taiwan Semiconductor Manufacturing Co., Ltd. Leakage analysis on semiconductor device
TWI762538B (zh) * 2017-12-13 2022-05-01 英業達股份有限公司 電路板的電壓腳位導通檢測系統及其方法

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430348B2 (en) * 2013-01-24 2016-08-30 Xcerra Corporation Scalable test platform in a PCI express environment with direct memory access
US9336108B2 (en) 2013-01-24 2016-05-10 Xcerra Corporation Scalable test platform
US9459978B2 (en) * 2013-01-24 2016-10-04 Xcerra Corporation Automated test platform utilizing segmented data sequencers to provide time controlled test sequences to device under test
US9430349B2 (en) * 2013-01-24 2016-08-30 Xcerra Corporation Scalable test platform in a PCI express environment with direct memory access
US20140230052A1 (en) * 2013-02-11 2014-08-14 Motorola Mobility Llc System and method for testing a secured manufactured device
CN104133745A (zh) * 2013-04-30 2014-11-05 鸿富锦精密工业(深圳)有限公司 具有测试功能的电子装置及测试方法和系统
US9244126B2 (en) * 2013-11-06 2016-01-26 Teradyne, Inc. Automated test system with event detection capability
CN105446866A (zh) * 2014-08-22 2016-03-30 全智科技股份有限公司 一种跨平台测试装置
US9514032B2 (en) * 2014-09-23 2016-12-06 International Business Machines Corporation Real-time usage checking of dynamically generated program output
EP3213214B1 (fr) * 2014-10-30 2021-03-03 SPHEREA Test & Services Banc et logiciel pour tester un appareillage electrique, notamment un calculateur
TWI628942B (zh) * 2015-02-05 2018-07-01 絡達科技股份有限公司 可自我檢測操作狀態之通訊模組、通訊裝置及其檢測方法
FR3033412B1 (fr) * 2015-03-06 2019-04-12 Starchip Testeur de circuits integres sur une galette de silicium et circuit integre.
US10429437B2 (en) * 2015-05-28 2019-10-01 Keysight Technologies, Inc. Automatically generated test diagram
KR20160148921A (ko) * 2015-06-17 2016-12-27 에스케이하이닉스 주식회사 반도체 장치를 위한 휴대 가능한 테스트 장치 및 이를 이용한 테스트 방법
CN106330593B (zh) * 2015-07-01 2021-03-26 中兴通讯股份有限公司 协议检测方法及装置
CN105044508B (zh) * 2015-07-10 2017-10-27 珠海格力电器股份有限公司 产品测试方法和装置及测试系统
CN106569970A (zh) * 2015-10-08 2017-04-19 中兴通讯股份有限公司 Smi接口器件的调试装置及方法
CN105445644A (zh) * 2015-11-18 2016-03-30 南昌欧菲生物识别技术有限公司 多类型芯片测试板、测试系统及测试机台
US10235272B2 (en) * 2017-03-06 2019-03-19 Xilinx, Inc. Debugging system and method
US10782348B2 (en) * 2017-03-10 2020-09-22 Keithley Instruments, Llc Automatic device detection and connection verification
US11295051B2 (en) * 2018-03-13 2022-04-05 Hcl Technologies Limited System and method for interactively controlling the course of a functional simulation
US10789153B2 (en) * 2018-04-03 2020-09-29 Xilinx, Inc. Debug controller circuit
KR102569335B1 (ko) * 2019-01-22 2023-08-22 주식회사 아도반테스토 커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램
WO2021023372A1 (en) * 2019-08-06 2021-02-11 Advantest Corporation An automated test equipment for testing a device under test which comprises a processing unit and a program and/or data memory, an automated test equipment which comprises a test controller, one or more interfaces to the device under test, a shared memory and a method for testing a device under test
CN110634530B (zh) * 2019-09-10 2021-05-25 珠海博雅科技有限公司 芯片的测试系统和测试方法
CN111258826B (zh) * 2020-01-09 2023-08-15 深圳市德明利技术股份有限公司 一种存储设备的命令序列测试方法和装置以及设备
DE112020007444T5 (de) * 2020-07-21 2023-06-15 Advantest Corporation Automatische Testeinrichtung, Prozess und Computerprogramm zum Testen eines oder mehrerer zu testender Geräte, wobei unterschiedliche Testaktivitäten Teilsätze von Ressourcen des zu testenden Geräts nutzen
CN111984435A (zh) * 2020-08-20 2020-11-24 中电科仪器仪表有限公司 一种测试程序的执行与调试方法及系统
CN112630651A (zh) * 2020-11-27 2021-04-09 四川诚邦浩然测控技术有限公司 一种电机性能测控管理平台
US20220309106A1 (en) * 2021-03-29 2022-09-29 Microsoft Technology Licensing, Llc Natural language query processing and debugging
US11620176B2 (en) 2021-07-15 2023-04-04 Beijing Tenafe Electronic Technology Co., Ltd. Visualization system for debug or performance analysis of SOC systems
US11544210B1 (en) 2021-07-15 2023-01-03 Beijing Tenafe Electronic Technology Co., Ltd. Collection of runtime information for debug and analysis
CN114646867B (zh) * 2022-05-18 2022-10-28 南京宏泰半导体科技有限公司 一种集成电路并发测试装置及方法

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4894829A (en) * 1988-04-21 1990-01-16 Honeywell Inc. Comprehensive design and maintenance environment for test program sets
US5668745A (en) * 1995-10-20 1997-09-16 Lsi Logic Corporation Method and apparatus for testing of semiconductor devices
US6134707A (en) * 1996-11-14 2000-10-17 Altera Corporation Apparatus and method for in-system programming of integrated circuits containing programmable elements
US6182258B1 (en) 1997-06-03 2001-01-30 Verisity Ltd. Method and apparatus for test generation during circuit design
US6128759A (en) * 1998-03-20 2000-10-03 Teradyne, Inc. Flexible test environment for automatic test equipment
US6681351B1 (en) * 1999-10-12 2004-01-20 Teradyne, Inc. Easy to program automatic test equipment
US6581191B1 (en) 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language
US6622272B1 (en) * 2000-03-10 2003-09-16 Teradyne, Inc. Automatic test equipment methods and apparatus for interfacing with an external device
JP4574894B2 (ja) * 2001-05-10 2010-11-04 株式会社アドバンテスト 半導体試験用プログラムデバッグ装置
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US6941504B2 (en) * 2001-11-15 2005-09-06 International Business Machines Corporation Method and apparatus for test case evaluation using a cyclic redundancy checker
US6973607B2 (en) * 2001-11-29 2005-12-06 International Business Machines Corporation Method and apparatus for testing electronic components
US20030115517A1 (en) * 2001-12-18 2003-06-19 Rutten Ivo Wilhelmus Johaooes Marie Microprocessor-based probe for integrated circuit testing
US7085980B2 (en) * 2002-05-02 2006-08-01 International Business Machines Corporation Method and apparatus for determining the failing operation of a device-under-test
TWI328164B (en) 2002-05-29 2010-08-01 Tokyo Electron Ltd Method and apparatus for monitoring tool performance
JP4009517B2 (ja) * 2002-10-18 2007-11-14 株式会社アドバンテスト プログラム開発支援装置およびコンパイル方法
US7139949B1 (en) * 2003-01-17 2006-11-21 Unisys Corporation Test apparatus to facilitate building and testing complex computer products with contract manufacturers without proprietary information
CN100412811C (zh) * 2003-10-07 2008-08-20 爱德万测试株式会社 测试程序除错装置与方法、半导体测试装置及测试方法
US7107173B2 (en) * 2004-02-03 2006-09-12 Credence Systems Corporation Automatic test equipment operating architecture
US7362089B2 (en) * 2004-05-21 2008-04-22 Advantest Corporation Carrier module for adapting non-standard instrument cards to test systems
DE602004020401D1 (de) * 2004-10-08 2009-05-14 Verigy Pte Ltd Singapore Merkmalorientierte testprogrammentwicklung und ausführung
US7552360B2 (en) * 2005-03-21 2009-06-23 Texas Instruments Incorporated Debug and test system with format select register circuitry
US7376876B2 (en) * 2004-12-23 2008-05-20 Honeywell International Inc. Test program set generation tool
US7251763B2 (en) * 2005-03-07 2007-07-31 Motorola, Inc. Boundary scan testing system
US7343558B2 (en) * 2005-03-31 2008-03-11 Teradyne, Inc. Configurable automatic-test-equipment system
US7536597B2 (en) * 2005-04-27 2009-05-19 Texas Instruments Incorporated Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores
JP4427002B2 (ja) * 2005-05-20 2010-03-03 株式会社アドバンテスト 半導体試験用プログラムデバッグ装置
WO2007000806A1 (ja) 2005-06-28 2007-01-04 Genesis Technology Inc. 半導体集積回路開発支援システム
US20070262879A1 (en) * 2006-05-12 2007-11-15 Robert Greiner I/O bus for analog sensors in an IC
US7590903B2 (en) * 2006-05-15 2009-09-15 Verigy (Singapore) Pte. Ltd. Re-configurable architecture for automated test equipment
JP2009544012A (ja) * 2006-07-10 2009-12-10 アステリオン・インコーポレイテッド 試験システムで処理を実行するシステムおよび方法
US20080126655A1 (en) * 2006-09-06 2008-05-29 Heinz Baier Single pci card implementation of development system controller, lab instrument controller, and jtag debugger
US20090113245A1 (en) 2007-10-30 2009-04-30 Teradyne, Inc. Protocol aware digital channel apparatus
US20090112548A1 (en) * 2007-10-30 2009-04-30 Conner George W A method for testing in a reconfigurable tester
JP5022262B2 (ja) * 2008-02-12 2012-09-12 株式会社アドバンテスト デバッグ中にツールを使用可能な試験システム及び方法
WO2010054669A1 (en) 2008-11-11 2010-05-20 Verigy (Singapore) Pte.Ltd. Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment
US8677198B2 (en) * 2009-03-04 2014-03-18 Alcatel Lucent Method and apparatus for system testing using multiple processors
US8195419B2 (en) 2009-03-13 2012-06-05 Teradyne, Inc. General purpose protocol engine
US9164859B2 (en) * 2009-09-25 2015-10-20 Qualcomm Incorporated Computing device for enabling concurrent testing
TWI463502B (zh) * 2010-11-17 2014-12-01 Hoy Technologies Co 內嵌式測試模組
US8639981B2 (en) * 2011-08-29 2014-01-28 Apple Inc. Flexible SoC design verification environment
US8806453B1 (en) * 2011-09-15 2014-08-12 Lockheed Martin Corporation Integrating disparate programming languages to form a new programming language
US20130227367A1 (en) * 2012-01-17 2013-08-29 Allen J. Czamara Test IP-Based A.T.E. Instrument Architecture
US9311201B2 (en) * 2012-08-22 2016-04-12 International Business Machines Corporation Real-time rule engine for adaptive testing of integrated circuits

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI762538B (zh) * 2017-12-13 2022-05-01 英業達股份有限公司 電路板的電壓腳位導通檢測系統及其方法
US11030381B2 (en) 2019-01-16 2021-06-08 Taiwan Semiconductor Manufacturing Co., Ltd. Leakage analysis on semiconductor device
TWI738180B (zh) * 2019-01-16 2021-09-01 台灣積體電路製造股份有限公司 分析半導體裝置上漏電流的方法與系統
US11714949B2 (en) 2019-01-16 2023-08-01 Taiwan Semiconductor Manufacturing Co., Ltd. Leakage analysis on semiconductor device
US11720738B2 (en) 2019-01-16 2023-08-08 Taiwan Semiconductor Manufacturing Co., Ltd. Leakage analysis on semiconductor device

Also Published As

Publication number Publication date
KR20150087227A (ko) 2015-07-29
CN104797948B (zh) 2017-08-08
TWI619955B (zh) 2018-04-01
US9959186B2 (en) 2018-05-01
US20140143600A1 (en) 2014-05-22
KR102104915B1 (ko) 2020-04-27
TW201421053A (zh) 2014-06-01
CN104797948A (zh) 2015-07-22
WO2014078196A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
TWI619955B (zh) 用於在半導體裝置之測試環境中偵錯的非暫態電腦可讀取儲存媒體、方法和測試設備
US9836372B1 (en) Device verification system with firmware universal verification component
US9910086B2 (en) Test IP-based A.T.E. instrument architecture
US9164859B2 (en) Computing device for enabling concurrent testing
JP4608516B2 (ja) モジュール式試験システムに試験モジュールを統合する方法およびモジュール式試験システム
JP2009116876A (ja) 試験装置のシミュレーションシステム、方法、及びプログラム製品
KR20210116604A (ko) 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비
US20130227367A1 (en) Test IP-Based A.T.E. Instrument Architecture
JP2009116878A (ja) 試験装置のシミュレーションシステム、方法、及びプログラム製品
JP2004509425A (ja) テストコントローラアクセスデータを用いて回路をテスト及び/または診断する方法及びシステム
JP2016537619A (ja) プログラム可能なインタフェースベースの検証及びデバッグ
WO2014172001A1 (en) Implementing edit and update functionality within a development environment used to compile test plans for automated semiconductor device testing
US7047174B2 (en) Method for producing test patterns for testing an integrated circuit
JP4959941B2 (ja) ソフトウェアの双方向プロービング
CN112444731A (zh) 芯片测试方法、装置、处理器芯片及服务器
JPWO2005036402A1 (ja) テストプログラムデバッグ装置、半導体試験装置、テストプログラムデバッグ方法、及び試験方法
JP4213306B2 (ja) 半導体試験用プログラムデバッグ装置
TWI287639B (en) A distributed operating system for a semiconductor test system for testing at least one device under test
JP5269450B2 (ja) 試験システム及びバックアノテーション方法
Lam New design-to-test software strategies accelerate time-to-market
US9791506B1 (en) Cross-platform device testing through low level drivers
Schott et al. Closed-Loop Approach on Formal Specification for Semiconductor Test
KR100633449B1 (ko) 반도체 테스터 인터페이스 시스템
Dushistova et al. Debugging with JTAG
Erikslund Development and Implementation of a Test Sequence for a Functional Tester