TWI853053B - 使用晶片上系統測試控制器之自動測試設備 - Google Patents
使用晶片上系統測試控制器之自動測試設備 Download PDFInfo
- Publication number
- TWI853053B TWI853053B TW109122800A TW109122800A TWI853053B TW I853053 B TWI853053 B TW I853053B TW 109122800 A TW109122800 A TW 109122800A TW 109122800 A TW109122800 A TW 109122800A TW I853053 B TWI853053 B TW I853053B
- Authority
- TW
- Taiwan
- Prior art keywords
- test
- chip
- device under
- interface
- controller
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 1565
- 238000011161 development Methods 0.000 claims description 155
- 238000000034 method Methods 0.000 claims description 61
- 238000004891 communication Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 8
- 230000018109 developmental process Effects 0.000 description 150
- 230000002093 peripheral effect Effects 0.000 description 39
- 239000002184 metal Substances 0.000 description 25
- 239000000243 solution Substances 0.000 description 21
- 230000008901 benefit Effects 0.000 description 19
- 238000013459 approach Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 17
- 238000012795 verification Methods 0.000 description 15
- 238000005259 measurement Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000010998 test method Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 229910052710 silicon Inorganic materials 0.000 description 5
- 239000010703 silicon Substances 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 210000003484 anatomy Anatomy 0.000 description 2
- 238000013142 basic testing Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000000053 physical method Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000009662 stress testing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100444142 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) dut-1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 239000012085 test solution Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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/31712—Input or output aspects
-
- 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/31712—Input or output aspects
- G01R31/31713—Input or output interfaces for test, e.g. test pins, buffers
-
- 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/31724—Test controller, e.g. BIST state machine
-
- 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/3177—Testing of logic operation, e.g. by logic analysers
-
- 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/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
-
- 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/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
-
- 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/31905—Interface with the device under test [DUT], e.g. arrangements between the test head and the DUT, mechanical aspects, fixture
-
- 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/31907—Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
-
- 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
- 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/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31919—Storing and outputting test patterns
-
- 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/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31926—Routing signals to or from the device under test [DUT], e.g. switch matrix, pin multiplexing
-
- 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/3193—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
- G01R31/31935—Storing data, e.g. failure memory
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
一種用以測試一受測裝置之自動測試設備包含一晶片上系統測試控制器。該晶片上系統測試控制器包含經組配以與該受測裝置通訊之至少一個除錯介面或控制介面。該晶片上系統測試控制器任選地包含經組配以與該受測裝置通訊之至少一個高頻寬介面。該晶片上系統測試控制器經組配以控制一受測裝置之一測試,該受測裝置為一系統單晶片。
Description
發明領域
根據本發明之實施例建立一種自動測試設備。
一般而言,根據本發明之實施例建立一種用於晶片上系統測試之有效測試環境。
根據本發明之其他實施例建立一種晶片上系統測試。
發明背景
在下文中,將描述可使用根據本發明之實施例的一些技術領域。
近年來,對測試具有至少一個整合式處理器之系統單晶片(SOC)、系統級封裝(SIT)或模組的需求日益增加。應注意,以下揭露內容僅列出「SOC」或「DUT」,但適用於封裝中或實施(子)系統之任何種類之模組上的較高層級之整合。
在下文中,將描述一些系統單晶片(SoC或SOC)趨勢。最近,中央處理單元核心(CPU核心)趨向於無處不在。舉例而言,應注意,過去一年已出貨具有ARM CPU核心之大約170億個單元。又,純硬體設計趨向於改變為硬體/軟體協同設計。
此外,IP資源趨向於廣泛地散佈。此例如使得能夠在新處理節點上進行極高度的整合。此外,例如,建立共同的晶片上互連架構以支援此趨勢。作為實例,用於此等互連之廣泛使用的標準為用於ARM之AMBA。
此外,行動應用趨向於驅動進階功率管理技術。舉例而言,需要以最佳時脈速率及供應電壓運行核心。此外,需要動態地改變時脈範圍及供應電壓。此外,需要動態地切斷閒置核心。
此外,多晶片模組產品之數目亦趨向於增加。舉例而言,減少模組介面上之接腳計數會簡化印刷電路板設計(PCB設計)。此外,作為實例,2½D及3D封裝技術使得用於行動應用之外觀尺寸較小。
在下文中,將簡要地描述典型SoC之剖析結構。應注意,可例如使用本文中所揭露之概念來測試此系統單晶片。
圖4展示系統單晶片之示意性方塊圖。該系統整體上以400指明。舉例而言,該系統包含中央處理單元核心(CPU核心) 410、靜態隨機存取記憶體(SRAM) 404、L2快取記憶體408、非依電性隨機存取記憶體(NVRAM) 412及唯讀記憶體416。舉例而言,CPU核心410、SRAM、L2快取記憶體、NVRAM及ROM皆可耦接至非同步應用互連420。
此外,該系統可包含除錯/測試設計(DFT)存取區塊430、周邊區塊440及共處理器450。舉例而言,周邊區塊440及共處理器450亦可藉由非同步應用互連420耦接。
此外,應注意,除錯/DFT存取區塊430亦可耦接至非同步應用互連420以將資料傳送至連接至非同步應用互連之區塊中的任一者。
此外,CPU核心410及除錯/DFT存取區塊430亦可耦接至非同步除錯互連460。周邊區塊440及共處理器450亦可任選地耦接至非同步除錯互連460。
除錯/DFT存取區塊430可例如耦接至用於除錯存取之專用輸入/輸出(I/O)。舉例而言,用於除錯存取之專用輸入/輸出可為JTAG介面或串列線除錯(SWD)介面。
此外,系統400任選地包含輸入/輸出多工器470,該輸入/輸出多工器可經組配以判定SoC 400之哪些輸入/輸出線連接至SoC 400之封裝的哪些接腳。舉例而言,系統400可包含用於低速數位掃描(例如,用於讀取及/或設定暫存器之掃描鏈)及追蹤輸出之共用輸入/輸出。然而,應注意,可能存在用於除錯存取之專用輸入/輸出,且亦可能存在用於由一或多個周邊區塊440提供及/或由一或多個周邊區塊440接收之類比信號、射頻(RF)信號及/或高速數位信號的專用輸入/輸出。
此外,應注意,I/O多工器470可例如與除錯/DFT存取區塊430耦接,其中除錯/DFT存取區塊430可例如控制I/O多工器之功能性。然而,一或多個信號自或至除錯/DFT存取區塊430之路由亦可由I/O多工器470判定。
此外,應注意,可存在對SoC之區塊中之一或多者內的信號(例如,暫存器內容)之掃描存取,例如對CPU核心410內之信號、一或多個周邊區塊440內之信號及一或多個共處理器450內之信號的掃描存取。舉例而言,該掃描存取可允許設定該等區塊中之信號(例如,暫存器內容)及/或自該等區塊讀出信號(例如,暫存器內容)。舉例而言,該掃描存取可由除錯/DFT存取區塊430控制或可替代地由一或多個其他信號控制。
然而,應注意,SoC 400應僅被視為實例。
圖5展示典型模組之剖析結構。換言之,圖5展示模組500之示意性方塊圖,該模組可根據本文中所論述之概念或藉由本文中所揭露之自動測試設備來測試。
模組500可例如類似於關於圖4所描述之SoC 400,使得此處將不再描述相同或對應區塊。確切而言,參考上文的解釋。
模組500包含例如CPU核心510、SRAM 504、L2快取記憶體508、非依電性隨機存取記憶體512、唯讀記憶體516、非同步應用互連520、除錯/DFT存取區塊530、一或多個周邊區塊540、一或多個共處理器550及非同步除錯互連560。區塊510、504、508、512、516、520、530、540、550、560可對應於區塊410、404、408、412、416、420、430、440、450、460。
然而,應注意,模組512在一些狀況下可能不包含輸入/輸出多工器。
另一方面,模組500任選地包含一或多個主機介面580、一或多個記憶體控制器584及一或多個快閃記憶體控制器588。舉例而言,一或多個主機介面580可與非同步應用互連520耦接,且可例如提供模組之外部高頻寬介面(比如PCIe介面、USB介面或SDIO介面)。一或多個記憶體控制器可例如與非同步應用互連520耦接,且亦可與動態隨機存取記憶體(DRAM)耦接。因此,一或多個記憶體控制器584可提供相對較大記憶體以供CPU核心使用。
此外,一或多快閃記憶體控制器588可與非同步應用互連520耦接,且亦可與快閃記憶體(例如,NAND快閃記憶體)耦接。因此,CPU核心510可能夠經由一或多個快閃記憶體控制器588存取快閃記憶體。
此外,應注意,一或多個主機介面580、一或多個記憶體控制器584及一或多個快閃記憶體控制器588亦可任選地耦接至非同步除錯互連560,該非同步除錯互連可例如允許設定可由除錯/DFT存取區塊530控制之該等區塊580、584、588的內部信號(或內部狀態)或對該等信號進行除錯。
然而,已發現SOC測試及驗證引發了數個挑戰。
舉例而言,已發現,非同步通訊缺陷無法由AC掃描充分涵蓋。確切而言,已發現,應(或在一些狀況下,甚至必須)對非同步通訊通道進行功能測試。
此外,已發現,動態功率管理缺陷亦無法由AC掃描充分涵蓋。已得出結論,應(或在一些狀況下,必須)對晶片上功率管理進行功能測試(潛在地由參數DFT支援)。
此外,已發現,由於複雜度及非同步結構,可僅藉助於行為模型評估裝置回應。亦已發現且得出結論,傳統的ATE功能型樣不再起作用。
此外,結果已發現,涵蓋範圍間隙不斷增大。已得出結論,藉由利用應用程式環境及軟體之系統層級測試來增強ATE測試。
此外,已發現,在應用程式環境及軟體之情況下,並未涵蓋所有極端狀況。已得出結論,在系統層級測試(SLT)之後仍存在涵蓋範圍間隙。
亦已發現,設計邊限可能會激發軟體錯誤。已得出結論,經由矽後(post silicon)驗證運行幾個樣本不足以發現所有相關的硬體及軟體問題。
總之,已發現,需要測試系統單晶片之改善的概念。
發明概要
根據本發明之實施例建立一種用以測試受測裝置(例如,系統單晶片)之自動測試設備,其中該自動測試設備包含晶片上系統測試控制器。
該晶片上系統測試控制器包含經組配以與受測裝置通訊之至少一個除錯介面或控制介面(例如,JTAG、SWD、SPI、I2C、UART)。該晶片上系統測試控制器較佳但不必包含經組配以與受測裝置通訊之至少一個高頻寬介面(例如,USB或PCI),且該晶片上系統測試控制器經組配以控制作為系統單晶片之受測裝置(例如,具有單個嵌人式處理器之相當簡單的受測裝置,或複雜的多核心裝置)的測試(例如,程式之上傳,及/或測試程式之一或多個部分的執行,及/或結果資料之獲得,及/或除錯)。應注意,根據本發明之實施例可用於測試許多不同類型之受測裝置,只要其具有嵌人式處理器即可,該受測裝置包括具有嵌人式處理器之相當簡單的裝置(亦即,簡單SoC)及多核心裝置(亦即,複雜SoC)二者。
此自動測試設備係基於如下發現:可使用自動測試設備在測試工作量、測試涵蓋範圍及測試速度之間具有良好折衷的情況下測試系統單晶片或模組,該自動測試設備包含專用晶片上系統測試控制器,該晶片上系統測試控制器經調適以經由除錯介面或控制介面且任選地經由高頻寬介面與受測裝置通訊(其中應注意,可實施本發明之許多態樣且該等態樣將在無HSIO之情況下工作,其中所有控制係經由除錯介面及/或控制介面)。
藉由具有此專用晶片上系統測試控制器,例如有可能利用受測裝置之除錯介面或控制介面的能力及高頻寬介面之速度優點二者,同時避免在習知測試器組態中可能出現之任何瓶頸。
舉例而言,使用除錯介面或控制介面,有可能對受測裝置進行非常基本的調整(例如,調整CPU暫存器內容或記憶體內容),而不依賴於受測裝置上之任何軟體。
相比之下,任選的高頻寬介面允許自動測試設備與受測裝置之間的資料之極快速交換,其中在受測裝置上執行之作業系統或驅動程式軟體通常支援通訊。
因此,包含晶片上系統測試控制器之自動測試設備可高效地執行:基本硬體測試,其可例如使用受測裝置之掃描鏈來執行;及系統層級測試,其中受測裝置與自動測試設備之間存在大量資料交換。舉例而言,除錯介面可用以組配測試且控制基本測試流程。在不存在高頻寬介面之簡單實施例中,除錯介面亦可用以經由除錯介面或控制介面上傳較大測試程式及/或測試資料及/或測試參數。
然而,在晶片上系統測試控制器亦包含任選高頻寬介面之狀況下,較大測試程式及/或測試資料可經由高頻寬介面傳達,藉此提高測試效率且減少測試時間。
此處應注意,高頻寬介面可例如能夠處置比除錯介面或控制介面之(最大)資料速率高至少10倍且在一些狀況下甚至可比由除錯介面或控制介面處置之(最大)資料速率快至少100倍的資料速率。然而,專用晶片上系統測試控制器通常經設計以處置高頻寬介面之極高資料速率而無問題,同時仍經由除錯介面或控制介面「完全存取」受測裝置。
在較佳實施例中,該自動測試設備經組配以將除錯介面或控制介面或高頻寬介面以可變方式分配至受測裝置介面。
藉由將除錯介面或控制介面或高頻寬介面以可變方式分配至受測裝置介面,自動測試設備可組配以處置任意受測裝置及/或任意負載板。舉例而言,該自動測試設備可經設計使得有可能將除錯介面或控制介面以可變方式分配至受測裝置介面之不同接腳(例如,在測試組態資訊之控制下),且該自動測試設備亦可經調適以將高頻寬介面以可變方式分配至受測裝置介面之不同接腳(例如,在測試組態資訊之控制下)。因此,達成高度靈活性。
在較佳實施例中,該自動測試設備經組配以將一或多個參數測試資源以可變方式分配至受測裝置。
藉由例如在晶片上系統測試控制器之控制下將一或多個參數測試資源以可變方式分配至受測裝置,有可能顯著地增加測試涵蓋範圍。
一或多個參數測試資源可例如包含一或多個可調整裝置電源供應器及/或一或多個可調整時脈源。因此,有可能在極廣泛範圍之條件下測試受測裝置,此允許識別受測裝置之大量缺陷或問題。此外,一或多個參數測試資源亦可包含信號產生器,該信號產生器可例如使用可調整參數將類比信號或射頻信號提供至受測裝置。因此,受測裝置可在晶片上系統測試控制器之控制下藉由不同刺激來測試,該晶片上系統測試控制器可使用除錯介面或控制介面且亦使用高頻寬介面來控制測試流程。
此外,一或多個參數測試資源亦可包含一或多個量測裝置,該一或多個量測裝置可界定受測裝置之信號輸入及/或受測裝置之信號輸出及/或由受測裝置產生之信號的類比屬性之特徵。因此,晶片上系統測試控制器可例如控制測試程式至受測裝置中之上傳,受測裝置上之測試程式的執行以及受測裝置之操作條件(比如供應電壓或時脈頻率)的變化。因此,可探究改變之操作條件對受測裝置之影響且可與受測裝置上之測試程式的執行同步地獲得類比(參數)測試結果。
在較佳實施例中,該晶片上系統測試控制器經組配以運行軟體堆疊,該軟體堆疊包含作業系統、晶片上系統測試服務軟體及用於經由介面與受測裝置通訊之一或多個驅動程式。
藉由使用作業系統、晶片上系統測試服務軟體及用於經由介面與受測裝置通訊之驅動程式,晶片上系統測試控制器可經調適以用極高效方式改變要求。作業系統之使用允許極高效軟體開發,且用於經由介面與受測裝置通訊之驅動程式的使用帶來極高效能以及允許以適度努力且在不重新設計整個軟體環境之情況下適於不同類型之介面。
在較佳實施例中,該晶片上系統測試控制器經組配以運行由使用者提供之應用程式特定常式(例如,其超出作業系統且適合於特定受測裝置)。
藉由允許執行可由自動測試設備之使用者提供的應用程式特定常式,可將極高自由度提供至使用者。特定而言,使用者不僅可開發在受測裝置上運行之應用程式特定常式,而且可開發由晶片上系統測試控制器執行之應用程式特定常式。因此,自動測試設備之使用者可例如使用晶片上系統測試控制器之高頻寬介面產生由晶片上系統測試控制器執行且與在受測裝置上運行之常式通訊的常式。因此,可顯著改善測試,且自動測試設備之使用者非常靈活地存取由晶片上系統測試控制器控制之任何硬體資源。
在較佳實施例中,晶片上系統測試控制器經組配以將晶片上系統測試環境(例如,控制一或多個晶片上系統測試之執行的軟體,該一或多個晶片上系統測試可例如提供用於存取DUT之介面的驅動程式)載入至受測裝置上(例如,經由一或多個受測裝置介面)。舉例而言,晶片上系統測試環境(例如,實施晶片上系統測試環境之程式)儲存於晶片上系統測試控制器之記憶體中。
替代地或另外,晶片上系統測試控制器經組配以將晶片上系統測試(例如,用於執行多個測試步驟中之一個測試步驟的個別晶片上系統測試程式)載入至受測裝置上(例如,經由一或多個受測裝置介面)。舉例而言,晶片上系統測試(例如,實施晶片上系統測試之程式)儲存於晶片上系統測試控制器之記憶體中。
替代地或另外,晶片上系統測試控制器經組配以初始化受測裝置上之晶片上系統測試環境。
藉由將晶片上系統測試環境載入至受測裝置上,晶片上系統測試控制器可組配受測裝置以用於測試。舉例而言,晶片上系統測試環境可為與晶片上系統測試控制器通訊之軟體,使得晶片上系統測試控制器對受測裝置上之測試執行具有影響。此外,應注意,此晶片上系統測試環境自晶片上系統測試控制器之記憶體的上傳通常極快,其中應注意,晶片上系統測試環境可包含大量資料。因此,藉由直接使用晶片上系統測試控制器之記憶體,可避免自動測試設備中之瓶頸,尤其在測試多個受測裝置時,此係因為晶片上系統測試控制器通常直接存取除錯介面或控制介面及高頻寬介面。因此,晶片上系統測試控制器甚至可使用高頻寬介面將晶片上系統測試環境上傳至受測裝置。
總之,使用此概念,促進多個受測裝置之同時測試,且可達成受測裝置與晶片上系統測試控制器之間的緊密協作。
類似地,在晶片上系統測試控制器之控制下將單個晶片上系統測試上傳至受測裝置上允許以細粒度方式調整測試程序。因此,晶片上系統測試控制器可例如載入新晶片上系統測試(亦即,用於執行多個測試步驟中之一個測試步驟的個別晶片上系統測試程式)且任選地,每當先前測試步驟已完成,便載入其測試參數。
晶片上系統測試可任選地判定已載入晶片上系統測試,且可僅設定用於晶片上系統測試之新測試參數。
任選地,晶片上系統測試控制器亦可根據先前測試結果動態地調適載入至受測裝置上之晶片上系統測試,此允許特別合適的測試。
此外,藉由初始化受測裝置上之晶片上系統測試環境,晶片上系統測試控制器可將受測裝置準備好用於測試且組配測試流程。此外,藉由初始化晶片上系統測試環境,晶片上測試控制器可例如控制測試之時序,例如以便使多個受測裝置之測試同步。
在自動測試設備之較佳實施例中,晶片上系統測試控制器經組配以將參數化晶片上系統測試之參數集上傳至受測裝置上。舉例而言,晶片上系統測試控制器亦可經組配以使用新上傳之參數集起始先前上傳之晶片上系統測試(其在之前已藉由受測裝置使用另一參數集執行)的重新執行,以藉此使得利用不同參數集執行晶片上系統測試。
因此,有可能利用不同參數集多次執行晶片上系統測試,而無需多次將整個晶片上系統測試上傳至受測裝置。確切而言,僅將晶片上系統測試之程式碼部分上傳至受測裝置一次,且在執行晶片上系統測試之後更新用以參數化晶片上系統測試之執行的參數集。然而,構成參數集之資料(例如,參數值)的量通常遠小於構成晶片上系統測試本身之日期(例如,程式碼)的量。此外,應注意,參數化晶片上系統測試之參數集可為預定的(例如,可由測試流程預定)或可回應於來自受測裝置之結果而動態地調適(例如,藉由晶片上系統測試控制器)。因此,典型的程序可包含將晶片上系統測試上傳至裝置受測試,將第一參數集上傳至受測裝置,使用第一參數集執行受測裝置上之晶片上系統測試,將結果資訊提供至晶片上系統測試控制器,將第二參數集(參數之第二集合)上傳至受測裝置,使用第二參數集重新執行受測裝置上之晶片上系統測試(而無需重新上傳晶片上系統測試),及另外將結果資訊提供至晶片上系統測試控制器。
舉例而言,該等參數集可包含定義待在運行晶片上系統測試中處理之資料量及/或待同時啟動之受測裝置組件的數目(其定義施加至受測裝置之應力)及/或經由介面傳送之資料的資料速率的一或多個參數,及/或類比介面之參數(例如,高頻介面之頻率參數或調變參數),及/或描述在執行晶片上系統測試期間產生之應力的其他參數,及/或描述dut組件在執行晶片上系統測試期間的測試涵蓋範圍,或其類似者。
總之,根據本發明之態樣,有可能獨立於載入晶片上系統測試本身而將測試參數載入至DUT上:例如,可保持載入OCST (例如,先前載入之OCST),但在其下一次執行(例如,重新執行)之前,參數可改變。舉例而言,當界定OCST之特徵時,此更高效且通常如此進行。
在較佳實施例中,晶片上系統測試控制器經組配以啟動載入至受測裝置上之晶片上系統測試(例如,特定OCST) (例如,使用與晶片上系統測試環境之通訊,或使用除錯介面)。
藉由啟動晶片上系統測試,晶片上系統測試控制器可對測試流程實行高度控制。舉例而言,晶片上系統測試控制器可使用除錯介面(或控制介面)或甚至使用經由高頻寬介面之資料傳輸來啟動晶片上系統測試。因此,晶片上系統測試控制器可協調多個受測裝置之測試的執行,且晶片上系統測試控制器亦可與其他測試器資源協調受測裝置上之晶片上系統測試的執行。
在較佳實施例中,晶片上系統測試控制器經組配以基於呈測試定序語言(例如,通用測試定序語言)之總體測試執行程式(例如,藉由使用者程式設計)而控制受測裝置之測試。
藉由基於總體測試執行程式而控制受測裝置之測試,晶片上系統控制器可例如指導多個晶片上系統測試之執行,其中例如可評估某些中止準則以便避免在先前測試已失敗之情況下進行其他測試。此外,藉由處理呈測試定序語言之總體測試執行程式,可在總體測試流程之組態中獲得高度靈活性。
在較佳實施例中,晶片上系統測試控制器經組配以例如直接控制一或多個類比測試資源(例如,受測裝置電源供應器及/或類比量測單元),例如無需與較高層級軟體通訊,該晶片上系統測試控制器及該一或多個類比測試資源從屬於該較高層級軟體(或其階層上高於晶片上系統測試控制器及一或多個類比測試資源)。
替代地或另外,除介面以外,晶片上系統測試控制器亦經組配以例如直接控制一或多個數位測試資源(例如,數位輸出或數位輸入),例如無需與較高層級軟體通訊,該晶片上系統測試控制器及該一或多個數位測試資源從屬於該較高層級軟體(或其階層高於晶片上系統測試控制器及一或多個數位測試資源)。
替代地或另外,晶片上系統測試控制器經組配以例如直接使一或多個類比測試資源(例如,受測裝置電源供應器及/或類比量測單元)同步,例如無需與較高層級軟體通訊,該晶片上系統測試控制器及該一或多個類比測試資源從屬於該較高層級軟體(或其階層高於晶片上系統測試控制器及一或多個類比測試資源)。
替代地或另外,除介面以外,晶片上系統測試控制器亦經組配以例如直接使一或多個數位測試資源(例如,數位輸出或數位輸入)同步,例如無需與較高層級軟體通訊,該晶片上系統測試控制器及該一或多個數位測試資源從屬於該較高層級軟體(或其階層高於晶片上系統測試控制器及一或多個數位測試資源)。
藉由直接控制一或多個類比測試資源或一或多個數位測試資源而無需與較高層級軟體通訊,可避免瓶頸,此在同時測試多個受測裝置之情況下尤其重要。因此,晶片上系統測試控制器可執行測試流程之至少部分,而無需與較高層級軟體(例如,在控制總體測試處理程序之工作站上運行)互動。舉例而言,晶片上系統測試控制器可使用連接資源耦接至一或多個數位測試資源及/或一或多個類比測試資源,該等連接「專用」於晶片上系統測試控制器或不在不同的晶片上系統測試控制器之間共用。替代地,晶片上系統測試控制器可經由連接資源與一或多個類比測試資源及/或一或多個數位測試資源耦接,該等連接資源係與一或多個其他晶片上系統測試控制器共用,但可在晶片上系統測試控制器之控制下使用,而不涉及較高層級(階層)組件或較高層級(階層)軟體。因此,可增加測試速度且可避免存在瓶頸。
類似地,藉由具有經組配以使一或多個數位測試資源及/或一或多個類比測試資源同步之晶片上系統測試控制器,可以高時序準確度執行受測裝置之完整測試。特定而言,藉由具有使一或多個類比測試資源及/或一或多個數位測試資源同步之功能性,晶片上系統測試控制器可執行受測裝置之測試,其中類比品質之產生或類比量之量測或數位刺激信號之產生或數位輸出信號之俘獲(其可藉由一或多個類比測試資源及/或一或多個數位測試資源執行)的調適可與一或多個晶片上系統測試之執行緊密時間同步,該一或多個晶片上系統測試亦(至少部分地)由晶片上系統測試控制器控制。換言之,晶片上系統測試控制器可充當分散控制實體,該分散控制實體接近個別受測裝置且可使受測裝置上之程式執行與額外測試資源(類比測試資源及/或數位測試資源)二者準確地同步。
在較佳實施例中,晶片上系統測試控制器包含本端通訊介面以控制一或多個類比測試資源及/或一或多個數位測試資源。替代地或另外,晶片上系統測試控制器包含本端同步介面以使一或多個類比測試資源及/或一或多個數位測試資源同步(例如,將晶片上系統測試控制器直接連接至類比測試資源及/或數位測試資源)。
藉由使用例如不與任何其他晶片上測試控制器共用之本端通訊介面及/或本端同步介面,可確保高時序準確度且可避免可同時測試不同受測裝置之不同晶片上系統測試控制器之間的影響。因此,可達成高時序準確度及再現性。
在較佳實施例中,晶片上系統測試控制器經組配以自在受測裝置上運行之晶片上系統測試接收命令及/或資料,且取決於所接收命令及/或所接收資料而調適測試執行流程。
藉由使測試執行流程適於來自在受測裝置上運行之晶片上系統測試的命令及/或資料,可促進測試程式之開發,此係因為對測試流程之控制可至少在一定程度上包括於在受測裝置上運行之程式中。另一方面,測試流程亦可動態地適於在受測裝置上運行之程式的非判定性執行。特定而言,當測試執行測試程式之系統單晶片時,測試流程之時序不再可易於預測。藉由將命令提供至晶片上系統測試控制器而使受測裝置有可能對測試流程進行一些控制,可達成:自動測試設備適於受測裝置上之程式非判定性執行。因此,自動測試設備可在適當時間將適當輸入信號提供至受測裝置,及/或可在適當時間進行對由受測裝置提供之信號的量測。
在較佳實施例中,晶片上系統測試控制器經組配以自在受測裝置上運行之晶片上系統測試接收命令及/或資料,且取決於所接收命令及/或所接收資料而調適測試資源(例如,類比量,如一或多個供應電壓,或提供至受測裝置之一或多個刺激信號,或用於判斷由受測裝置提供之信號的一或多個評估參數,例如臨限值)。
藉由回應於自受測裝置(其可能正運行測試程式,亦即,晶片上系統測試)接收到命令及/或資料而調適測試資源,可達成受測裝置上之程式的通常非判定性執行與自動測試設備之活動(例如,提供供應電壓或刺激信號或評估來自受測裝置之信號)之間的良好協調。
在較佳實施例中,晶片上系統測試控制器包含經組配以提供嵌入式軟體環境之中央單元(例如,系統SOC)及實施除錯介面及/或控制介面及/或高頻寬介面之一或多個介面區塊。
晶片上系統測試控制器包含用於將一或多個信號提供至受測裝置及自受測裝置接收一或多個信號之前端電子裝置。
晶片上系統測試控制器亦包含經組配以與自動測試設備之一或多個其他組件通訊及/或與自動測試設備之一或多個其他組件同步的一或多個後端介面。
藉由在晶片上系統測試控制器上提供中央單元、前端電子裝置以及一或多個後端介面,晶片上系統測試控制器可獨立於較高層級控制而高效地執行測試流程之至少部分。舉例而言,晶片上系統測試控制器可經由後端介面中之一者自較高層級控制接收組態資訊,且亦可控制一或多個其他測試器資源,例如裝置電源供應器及/或一或多個數位通道及/或一或多個類比信號產生裝置及/或一或多個類比量測裝置。然而,藉由在晶片上系統測試控制器上具有前端電子裝置,晶片上系統測試控制器可例如直接自受測裝置接收最具時間關鍵性的信號及/或將最具時間關鍵性的信號直接發送至受測裝置而不涉及任何其他組件。換言之,上文所描述之晶片上系統測試控制器能夠獨立於其他測試資源而執行一些基本的測試功能性,但仍可控制此等額外測試資源以執行更複雜的測試(例如,改變受測裝置之供電電壓,或施加至受測裝置之時脈頻率,或任何其他額外參數)。總之,此處所描述之晶片上系統測試控制器可獨立地執行(或至少控制)用以測試受測裝置之測試流程的大部分,該受測裝置為系統單晶片。
在較佳實施例中,自動測試設備包含至一或多個開發及除錯環境之介面。
藉由提供至一或多個開發及除錯環境之介面,可促進測試程式之開發。就此而言,應注意,用於系統單晶片之測試程式的開發極具挑戰性,此係因為此「測試程式」通常包含待在受測裝置上執行之測試程式部分及待由自動測試設備或由自動測試設備之晶片上系統測試控制器執行的測試程式部分。因此,由於必須開發用於二個實體(dut及自動測試設備)之程式碼,因此需要支援常常藉由自動測試設備至少部分地使用第三方軟體執行之此開發。
自動測試設備與一或多個開發及除錯環境之間的介面可例如允許第三方開發及除錯環境使用晶片上系統測試控制器(或一般而言,使用自動測試設備之硬體)將程式上傳至受測裝置,且亦可允許開發及除錯環境經由晶片上系統測試控制器(或一般而言,使用自動測試設備之硬體)自受測裝置獲得除錯資訊。此外,自動測試設備與開發及除錯環境之間的介面亦可向開發及除錯環境提供關於測試器資源之資訊及/或應用程式設計介面,以控制自動測試設備之一或多個資源(例如,類比資源或數位資源)。一般而言,自動測試設備與開發及除錯環境之間的介面可向開發及除錯環境提供(軟體)模組(比如,API)中之一或多者或甚至任一者,該等(軟體)模組為存取測試器資源或協調受測裝置之活動與自動測試設備之活動所需的。此外,可由介面提供對程式上傳功能性及/或受測裝置之除錯資訊的存取,使得可使用第三方開發及除錯環境高效地執行軟體開發及除錯。
在較佳實施例中,自動測試設備包含開發及除錯環境,該開發及除錯環境經調適以開發用於在受測裝置上執行之晶片上系統測試軟體及待由自動測試設備執行之測試程式二者且對該晶片上系統測試軟體及該測試程式進行除錯。
藉由提供開發及除錯環境作為自動測試設備之部分,可顯著促進測試軟體之開發,該開發及除錯環境經調適以開發用於在受測裝置上執行之晶片上系統測試軟體及待由自動測試設備執行之測試程式二者且對該晶片上系統測試軟體及該測試程式進行除錯。特定而言,提供聯合開發及除錯環境,其提供用於自動測試設備與受測裝置之間的控制資訊或資料之交換的對應(配合)常式。由於聯合開發及除錯環境可知曉自動測試設備與受測裝置之間的介面,因此聯合開發及除錯環境甚至可允許在受測裝置側及自動測試設備側兩側存取相同變數,其中此等變數自受測裝置至自動測試設備之傳達或自自動測試設備至受測裝置之傳達可由聯合開發及除錯環境自動處置,例如藉由將對應通訊程式碼部分插入至用於在受測裝置上執行之晶片上系統測試軟體及待由自動測試設備執行之測試程式中。因此,藉由在聯合開發及除錯環境中處置通訊關係兩側(亦即,受測裝置及自動測試設備)之軟體開發,可顯著簡化開發處理程序,且可使用通用變數名稱、介面名稱等向軟體開發者提供同質環境。
特定而言,聯合除錯及開發環境可提供回應於單個使用者互動而引入用於單個動作(例如,將資料自受測裝置傳達至自動測試設備)之程式碼部分的工具,該單個使用者互動指示需要此動作。因此,軟體開發者不再需要使用不同的程式設計概念、變數名稱、API等在分開的開發環境之間切換。
此外,每當需要除錯功能性(用於對受測裝置上之程式碼進行除錯),聯合開發除錯環境便可自動地產生用於待在自動測試設備上執行之測試程式、用於自受測裝置擷取除錯資訊且用於將該除錯資訊轉遞至聯合開發及除錯環境之程式碼部分。因此,開發者可專注於受測裝置需要哪一除錯功能性之問題,且聯合開發及除錯環境自動地產生用於自動測試設備之程式碼,該程式碼將除錯資訊自受測裝置轉遞至開發及除錯環境(例如,經由晶片上系統測試控制器)。
總之,針對晶片上系統測試軟體及待由自動測試設備(例如,由晶片上系統測試控制器)執行之測試程式二者的開發及除錯環境之使用允許極高效的軟體開發,而習知地,用於在受測裝置上執行之晶片上系統測試軟體及待由自動測試設備執行之測試程式二者的開發對於測試工程師將為極難的。
在較佳實施例中,當開發待在受測裝置上執行之晶片上系統測試軟體及/或對該晶片上系統測試軟體進行除錯時,開發及除錯環境允許(例如,提供介面或API)存取自動測試設備之測試資源。
允許存取自動測試設備之測試資源會在很大程度上支援晶片上系統測試軟體之開發及/或除錯,此係因為存取自動測試設備之測試資源可支援將程式碼上傳至受測裝置,上傳測試參數,下載結果資訊及將追蹤自受測裝置串流傳輸至開發及除錯環境中,在受測裝置上之程式執行與由自動測試設備提供至受測裝置之環境之間進行協調,等等。舉例而言,開發及除錯環境可提供介面或應用程式設計介面(API),該介面在包括於在受測裝置上運行之程式中時允許受測裝置存取測試器資源及/或與自動測試設備通訊。
因此,可在DUT之測試中高效地利用自動測試設備之功能性,且DUT可甚至獲得對自動測試設備之測試資源的一些控制(或甚至完全控制),使得可簡化或甚至避免在測試受測裝置時待由自動測試設備執行之測試程式的開發。
在較佳實施例中,開發及除錯環境包含允許經由自動測試設備之介面(例如,HSIO)自晶片上系統存取(例如,自動測試設備之記憶體之)記憶體內容的程式碼。
藉由提供允許經由自動測試設備之介面自晶片上系統(自受測裝置)存取記憶體內容的程式碼,可仿真記憶體之存在。此在受測裝置通常將藉由不存在於實際測試環境中之某一外部記憶體操作的狀況下為有幫助的。在此狀況下,受測裝置可由開發及除錯環境所提供之程式碼啟用,以存取自動測試設備(例如,晶片上系統測試控制器)之記憶體,從而有效地替換通常應直接連接至受測裝置之記憶體。因此,甚至在不可能提供直接耦接至受測裝置之實際記憶體的情形中,仍可合理地操作受測裝置,其中允許經由高速輸入輸出介面或經由高頻寬介面存取自動測試設備之記憶體之記憶體內容的程式碼可充當驅動程式,以仿真缺失的實體記憶體。特定而言,該程式碼通常知曉可如何經由介面(例如,高速IO或高頻寬介面)存取(例如,定址)通常儲存於晶片上系統測試控制器之記憶體中的記憶體內容,且因此允許受測裝置在程式碼執行於受測裝置上時正確地存取記憶體內容。因此,記憶體之仿真對於開發用於受測裝置之程式的程式設計師為實質上透明的,此係因為自動測試設備之開發及除錯環境負責佈建適當的仿真程式碼。
在較佳實施例中,開發及除錯環境包含允許除錯軟體控制程式至受測裝置上(例如,至晶片上系統上)之上傳的介面。
藉由提供允許除錯軟體控制程式至受測裝置上之上傳的介面,有可能使用開發用於受測裝置之程式碼的軟體工程師可能熟悉的第三方開發軟體或除錯軟體。因此,甚至在受測裝置被置於測試環境中(亦即,耦接至晶片上系統測試控制器)時,軟體工程師亦可測試用於受測裝置之軟體且對其進行除錯。
在較佳實施例中,開發及除錯環境包含允許除錯軟體存取受測裝置之除錯介面(例如,JTAG) (例如,至晶片上系統上)的介面。
藉由提供允許除錯軟體存取受測裝置之除錯介面的介面,可在受測裝置被置於實際測試環境中(例如,耦接至晶片上系統測試控制器)之狀況下啟用使用第三方除錯軟體之除錯。因此,待由受測裝置執行之晶片上系統測試的除錯可在真實測試條件下執行。
在較佳實施例中,開發及除錯環境經組配以提供對受測裝置之除錯介面(例如,JTAG) (例如,至晶片上系統上)的除錯軟體直接存取(例如,避免或繞過開發及除錯介面)。舉例而言,直接存取可藉由在通過晶片上系統測試控制器以及開發及除錯環境的路徑與朝向除錯軟體之直接路徑(例如,繞過晶片上系統測試控制器以及開發及除錯環境)之間切換DUT之JTAG連接來提供。
藉由提供對除錯介面之直接存取,可避免可能由除錯介面經由晶片上系統測試控制器之轉遞引起的任何潛時。又,亦可使用不能夠處理自動測試設備之介面以存取受測裝置之除錯介面的除錯軟體。換言之,藉由提供對受測裝置之除錯介面的存取,此繞過晶片上系統測試控制器以及自動測試設備之開發及除錯環境,可維持與第三方除錯軟體之最大相容性。
在較佳實施例中,開發及除錯環境包含供用於晶片上系統軟體之開發中的應用程式設計介面,以在所開發之晶片上系統測試軟體執行於受測裝置上時允許受測裝置與自動測試設備之測試資源之間的通訊(例如,以便自自動測試設備接收測試參數及/或以便將控制命令發送至自動測試設備或晶片上系統測試控制器)。
藉由在除錯環境中提供此應用程式設計介面,可易於開發在受測裝置上執行且與自動測試設備通訊之晶片上系統測試軟體。基於對自動測試設備之測試資源之行為的瞭解,可提供應用程式設計介面使得應用程式設計介面完全適合自動測試設備之測試資源。因此,待在受測裝置上執行之晶片上系統測試軟體的開發者無需對自動測試設備具有詳細瞭解,而可簡單地依賴於以抽象方式表示自動測試設備之測試資源的應用程式設計介面。又,有可能修改自動測試設備之測試資源的細節,而無需重新設計晶片上系統測試軟體。確切而言,在此狀況下,僅需要調適應用程式設計介面。此外,例如若應用程式設計介面經設計以獨立於介面之實際實體實施方案或若與不同類型之介面相關聯的應用程式設計介面類似,則亦可易於在受測裝置與自動測試設備之間的不同介面之間切換。因此,促進開發晶片上系統測試軟體,此亦節省成本。
在較佳實施例中,開發及除錯環境亦包含測試器軟體以支援自動測試設備與運行所開發之晶片上系統測試軟體(其使用該應用程式設計介面)之受測裝置的通訊。
藉由亦提供測試軟體以支援自動測試設備與受測裝置的通訊,除錯及開發環境允許受測裝置與自動測試設備之間的簡單通訊。特定而言,有可能容易地以良好同步之方式開發待在受測裝置上執行之晶片上系統測試軟體以及測試器軟體。特定而言,應注意,受測裝置與自動測試設備之間的通訊需要「配合」待在受測裝置上執行之晶片上系統測試軟體與待例如由晶片上系統測試控制器執行之測試器軟體。特定而言,開發及除錯環境可為受測裝置及自動測試設備二者提供此「配合」軟體組件,且可因此允許功能測試軟體之迅速開發。
在較佳實施例中,開發及除錯環境包含供用於晶片上系統測試軟體之開發中(例如,用於包括至晶片上系統測試軟體中)的程式(例如,「OCST測試運行器」),以允許將另一軟體(例如,另一晶片上系統測試軟體)自自動測試設備上傳至受測裝置及/或允許由自動測試設備控制受測裝置上之程式執行(例如,晶片上系統測試軟體)。
藉由提供允許將另一軟體自自動測試設備上傳至受測裝置及/或允許受測裝置上之程式執行的程式碼,可解決在測試系統單晶片時出現的若干問題。舉例而言,受測裝置上之記憶體通常不足,無法在單個步驟中上傳整個晶片上系統測試軟體(待在受測裝置上執行)。因此,藉由提供處置軟體至受測裝置上之「動態」載入(自自動測試設備之記憶體,例如自晶片上系統測試控制器之記憶體)的程式,可支援受測裝置之測試。由於此軟體常式由除錯及開發環境提供,因此開發晶片上系統測試軟體之軟體工程師可完全集中於實際晶片上系統測試常式。此外,藉由亦提供允許由自動測試設備控制受測裝置上之程式執行的程式,可由自動測試設備(例如,由晶片上系統測試控制器)執行對測試執行之總體控制。因此,晶片上系統測試控制器可易於協調受測裝置上之晶片上系統測試軟體的執行與自動測試設備(例如,類比測試資源及/或數位測試資源)之額外功能性。特定而言,藉由在自動測試設備之開發及除錯環境中提供此類軟體模組,開發晶片上系統測試軟體之軟體工程師無需知曉關於用於藉由自動測試設備控制受測裝置之機制的細節,此促進及加速軟體開發。
在較佳實施例中,開發及除錯環境包含供用於晶片上系統測試軟體之開發中(例如,用於包括至晶片上系統測試軟體中)的程式(例如,「OCST測試運行器」),以監督受測裝置上(例如,晶片上系統測試軟體)之程式執行,例如藉由實施看門狗功能性,且任選地確保受測裝置之回應性。
藉由提供程式以監督受測裝置上之程式執行,可易於偵測到受測裝置之故障。舉例而言,由開發及除錯環境提供以用於晶片上系統測試軟體之開發中的該程式可接管「看門狗」之功能性,亦即,辨識在受測裝置上執行之晶片上系統測試程式是否「卡住」,亦即,停止正常運作。程式執行之此中止可指示受測裝置之問題,且看門狗程式可向例如自動測試設備發信此事件。因此,自動測試設備可例如藉由中止受測裝置之測試及藉由將受測裝置標記為失敗來相應地作出回應。因此,可藉由使用此監督程式或看門狗程式快速地辨識受測裝置失敗來節省測試時間。再次,軟體工程師可能無需專注於細節,此係因為該程式由自動測試設備之開發及除錯環境提供。
在較佳實施例中,自動測試設備經組配以使一或多個測試器資源、晶片上系統測試控制器及在受測裝置上執行之晶片上系統測試同步。
藉由使一或多個測試器資源、晶片上系統測試控制器及在受測裝置上執行之晶片上系統測試同步,可執行利用晶片上系統測試控制器、一或多個額外測試器資源及受測裝置之間的協作的測試。換言之,當執行晶片上系統測試時,可應用自動測試設備之資源,此導致特別徹底之測試。
在較佳實施例中,自動測試設備經組配以回應於由在受測裝置上運行之晶片上系統測試提供的控制資訊而執行條件性跳躍(例如,在由自動測試設備執行之測試程式中)。
藉由回應於由在受測裝置上運行之晶片上系統測試提供的控制資訊而執行條件性跳躍,自動測試設備之操作可適於在受測裝置上運行之晶片上系統測試的非判定性行為(例如,非判定性或非可預測時序)。舉例而言,可能無法知曉將以何次序執行在受測裝置上運行之晶片上系統測試的部分,此係因為此次序可取決於難以預測或甚至不可預測之因素。因此,受測裝置可將控制資訊提供至自動測試設備,以發信關於晶片上系統測試之執行的細節,藉此允許自動測試設備相應地作出回覆(例如,藉由提供適當刺激信號)。
因此,自動測試設備可非常適於晶片上系統測試之非判定性質。
在較佳實施例中,自動測試設備經組配以等待在受測裝置上運行之晶片上系統測試的完成。
藉由等待在受測裝置上運行之晶片上系統測試的完成,可達成晶片上系統測試之(通常非判定性)執行與自動測試設備之功能性之間的同步。
較佳實施例之詳細說明
1. 根據圖1之自動測試設備
圖1展示根據本發明之實施例的自動測試設備100之示意性方塊圖。應注意,自動測試設備100經調適用於測試受測裝置104,該受測裝置可例如為系統單晶片(SoC)。
自動測試設備100包含晶片上系統測試控制器110。晶片上系統測試控制器110包含經組配以與受測裝置104通訊之至少一個除錯介面或控制介面112。此外,晶片上系統測試控制器110亦任選地包含至少一個高頻寬介面114 (其可例如為USB介面,或PCI介面,或快速PCI介面,或快速PCI相容介面,或雷霆(thunderbolt)介面),或乙太網路介面,或IEEE-1394介面,或SATA介面,或IEEE-1149介面,或IEEE-1500介面,或IEEE-1687介面)。
此外,應注意,晶片上系統測試控制器110經組配以控制受測裝置104之測試,該受測裝置為系統單晶片。
藉由具有可用於與受測裝置104通訊之二個或多於二個不同介面,晶片上系統測試控制器110可能夠在例如硬體層級之極低層級上控制受測裝置104 (例如,經由直接存取受測裝置之硬體組件的除錯介面),且晶片上系統測試控制器亦能夠經由高頻寬介面以高速向受測裝置104傳達大量程式碼或資料。因此,晶片上系統測試控制器可管理需要對受測裝置之低層級硬體存取(較佳使用除錯介面或控制介面112)之測試任務及需要高頻寬通訊之測試任務二者,該高頻寬通訊通常由在受測裝置104上執行之軟體(例如,晶片上系統測試程式)控制。因此,可在晶片上系統測試控制器110之控制下執行受測裝置之寬涵蓋範圍測試。
此外,藉由使用包含除錯介面或控制介面112及高頻寬介面114之專用晶片上系統測試控制器110來控制測試,可在自動測試設備中避免瓶頸且可達成使用除錯介面或控制介面112實行之控制與使用高頻寬介面114之資料交換之間的高度同步。因此,在具有包含介面112及介面114二者之晶片上系統測試控制器110的情況下,提供高效結構。
此外,應注意,自動測試設備100可任選地由本文中所揭露之特徵、功能性及細節中之任一者個別地或以組合方式補充。
2. 根據圖2之自動測試設備
圖2展示根據本發明之實施例的自動測試設備200之示意性方塊圖。
自動測試設備200包含可例如對應於晶片上系統測試控制器110之晶片上系統測試控制器210。此外,自動測試設備200包含可例如組合介面112、114之功能性的受測裝置介面216。自動測試設備200進一步包含一或多個參數測試資源或類比測試資源220及一或多個數位測試資源230。自動測試設備進一步包含開發及除錯環境240。
在下文中,將更詳細地描述晶片上系統測試控制器210。晶片上系統測試控制器210包含例如中央單元250,該中央單元可例如為系統單晶片。然而,亦可使用微處理器、使用應用程式特定個別電路或使用場可規劃閘陣列來實施中央單元250。晶片上系統測試控制器210進一步包含除錯介面252、控制介面254且任選地包含高頻寬介面256。此外,晶片上系統測試控制器包含軟體堆疊258,該軟體堆疊可由中央單元250或甚至由多個中央單元或中央處理單元執行。此外,晶片上系統測試控制器210可包含軟體存放庫260,該軟體存放庫包含DUT軟體,亦即,待由受測裝置之中央處理單元執行的軟體。
然而,應注意,晶片上系統測試控制器未必需要具有所有組件250、252、254、256、258、260。確切而言,任選地,可省略或變更該等組件中之一或多者。
在下文中,將描述不同組件之一些額外細節。
特定而言,應注意,可例如使用可組配路由矩陣將由除錯介面252提供至受測裝置之信號或由除錯介面252自受測裝置接收之信號以可變方式分配至受測裝置介面216。類似地,可將由控制介面254提供至受測裝置之一或多個信號及/或由控制介面254自受測裝置接收之一或多個信號以可變方式分配至受測裝置介面216。類似地,可將由高頻寬介面256提供至受測裝置之一或多個信號及/或由高頻帶介面256自受測裝置接收之一或多個信號以可變方式分配至受測裝置介面216。因此,晶片上系統測試控制器(或一般而言,自動測試設備)可例如使用可調整路由矩陣將除錯介面252及/或控制介面254及/或高頻寬介面256之一或多個受測裝置埠以可變方式分配至受測裝置介面216之接腳。
可例如由中央單元250執行之軟體堆疊258可包含多個層。舉例而言,軟體堆疊可包含作業系統、晶片上系統測試服務軟體及用於與受測裝置通訊之驅動程式。舉例而言,作業系統可控制軟體之總體執行。晶片上系統測試服務系統軟體可例如控制與其他測試器資源(或測試資源)及/或與較高階層控制器(例如,控制整個測試處理程序之工作站)通訊。晶片上系統測試服務軟體可例如基於自受測裝置獲得之資料而執行測試結果之評估。
亦為軟體堆疊258之部分的驅動程式可控制例如經由除錯介面252及/或經由控制介面254及/或經由高頻寬介面256與受測裝置之通訊。在一些狀況下,驅動程式可甚至經設計以取決於實體介面之實際類型而為高層級軟體提供通用介面。因此,驅動程式可例如向較高層級軟體「隱藏」高頻寬介面之實際類型,使得不必使高層級軟體適於特定類型之高頻寬介面。因此,驅動程式有助於簡化軟體開發且避免需要軟體設計師知曉關於晶片上系統測試控制器與受測裝置之間的實體介面之細節。此外,軟體堆疊258亦可包含由使用者提供之一或多個應用程式特定常式。由使用者提供之應用程式特定常式可經調適以測試特定之類型受測裝置。由使用者提供之應用程式特定常式可依賴於由作業系統提供之功能,且亦可能夠使用軟體堆疊之驅動程式與受測裝置通訊。
此處應注意,晶片上系統測試控制器210可例如使用軟體堆疊258執行與受測裝置之高度互動及通訊。舉例而言,晶片上系統測試控制器210可將一或多個程式及/或測試參數集上傳至受測裝置,其中除錯介面252及/或控制介面254及/或高頻寬介面256可用以經由受測裝置介面216將一或多個程式及/或測試參數集上傳至受測裝置。舉例而言,可自軟體存放庫260獲取待上傳至受測裝置之一或多個程式及/或測試參數集,該軟體存放庫可為晶片上系統測試控制器之部分且可儲存dut軟體。舉例而言,晶片上系統測試控制器可經組配以將晶片上系統測試環境上傳至受測裝置,且亦可經組配以經由受測裝置介面216將一或多個晶片上系統測試上傳至受測裝置。舉例而言,晶片上系統測試環境可充當受測裝置上之作業系統,且可例如在受測裝置上提供用於與自動測試設備通訊之一或多個驅動程式。此外,個別晶片上系統測試可例如定義經執行用於測試受測裝置之整個測試程序的步驟(或子步驟)。
此外,晶片上系統測試控制器210可例如啟動一或多個晶片上系統測試,其中可應用不同概念。一或多個晶片上系統測試可例如由對受測裝置之硬體存取觸發(或啟動),該硬體存取可例如經由除錯介面252執行(且可例如為受測裝置之CPU的一或多個暫存器)。替代地,可藉由將對應命令提供至最初上傳至受測裝置且在受測裝置上運行之晶片上系統測試環境來啟動一或多個晶片上系統測試。
此外,晶片上系統測試控制器亦可例如基於整個測試執行程式而控制受測裝置之測試。舉例而言,晶片上系統測試控制器210可調整用於晶片上系統測試程式之參數,對多個晶片上系統測試程式之執行進行排程,在適當時中止一或多個晶片上系統測試程式之執行,等等。
此外,晶片上系統測試控制器250亦可回應於一或多個先前執行之晶片上系統測試程式的完成而上傳其他晶片上系統測試程式。
對受測裝置之測試的控制可經由對受測裝置之硬體層級存取(例如,經由除錯介面)及/或使用發送至在受測裝置上運行之晶片上系統測試環境的命令來執行。
此外,晶片上系統測試控制器210亦可經由介面252、254、256中之一者自受測裝置接收命令及/或控制資訊,且對該等命令及/或控制資訊作出反應。舉例而言,受測裝置可請求調適某些測試條件(例如,供應電壓或時脈頻率),且晶片上系統測試控制器210可藉由適當地調適測試環境來對此等命令或控制資訊作出回應。
此外,晶片上系統測試控制器210亦可自受測裝置接收資料(例如,使用介面252、254、256中之一者)。晶片上系統測試控制器210可使用該資料來決定受測裝置是否滿足要求(亦即,決定受測裝置是否應分類為可接受或失敗)。此外,晶片上系統測試控制器亦可使用自受測裝置接收到之資料,以便取決於資料而調適測試執行流程。舉例而言,可回應於自受測裝置接收到之資料與參考資料的比較而調適測試執行流程。舉例而言,自受測裝置接收到之資料可界定測試執行之特徵,且可例如描述由受測裝置接收之信號的特性(比如,信雜比、位元錯誤率或其類似者)。舉例而言,測試流程之調適可由使用者所提供之應用程式特定常式執行。然而,不同概念可用於取決於自受測裝置接收到之資料而調適測試流程執行。
然而,應注意,晶片上系統測試控制器210未必需要實施本文中所描述之所有功能性。確切而言,在一些實施例中,若晶片上系統測試控制器實施此處所描述之功能性中之一或多者,則此可為足夠的。另一方面,晶片上系統測試控制器亦可具有此處未描述之不同功能性。
此外,應注意,晶片上系統測試控制器亦可控制一或多個額外測試資源及/或使一或多個額外測試資源同步。舉例而言,晶片上系統測試控制器可控制比如以下各者之一或多個參數測試資源或類比測試資源220及/或使一或多個參數測試資源或類比測試資源同步:電源供應器、電壓源、電流源、電壓量測裝置或電流量測裝置。舉例而言,晶片上系統測試控制器可取決於由晶片上系統測試控制器之中央單元250執行的程式而控制一或多個參數測試資源。晶片上系統測試控制器可例如自行決定如何設定一或多個參數測試資源,或晶片上系統測試控制器可取決於自受測裝置接收到之命令或控制資訊(亦即,回應於來自受測裝置之請求)而設定一或多個參數測試資源。然而,應注意,參數測試資源或類比測試資源亦可包含射頻信號之產生或射頻信號之接收及/或評估。類似地,參數測試資源因此包含在測試受測裝置時使用之光學信號的產生或接收或評估。
類似地,晶片上系統測試控制器可控制一或多個數位測試資源230及/或使一或多個數位測試資源同步,該一或多個數位測試資源例如提供用於測試受測裝置之數位刺激信號及/或評估來自受測裝置之數位回應信號。然而,應注意,參數測試資源/類比測試資源220及數位測試資源230亦可使用可變分配耦接至受測裝置介面216,使得參數測試資源/類比測試資源及/或數位測試資源可以可變方式與受測裝置介面216之不同接腳耦接。
然而,晶片上系統測試控制器210可經組配以使用不與可存在於自動測試設備中之其他晶片上系統測試控制器共用的一或多個「本端」通訊介面來控制參數測試資源/類比測試資源220及/或數位測試資源230及/或使該等資源同步。因此,當控制參數測試資源/類比測試資源220及/或數位測試資源230及/或使該等資源同步時,晶片上系統測試控制器可包含極好的即時能力。
此外,應注意,自動測試設備可提供受測裝置之晶片上系統測試控制器與額外測試資源220、230的同步。舉例而言,自動測試設備之另一組件可將同步信號提供至晶片上系統測試控制器、受測裝置及其他測試資源220、230。因此,可達成高度同步。
在下文中,將參看圖3描述可任選地包括於自動測試設備200中之開發及除錯環境240。
開發及除錯環境240可例如經調適以提供用於在DUT上執行之可例如儲存於軟體存放庫260中的晶片上系統測試軟體及用於在自動測試設備上執行(例如,用於在軟體堆疊258中執行)之測試程式二者。然而,開發及除錯環境亦可提供控制資訊,該控制資訊可由晶片上系統測試控制器210考慮。
開發及除錯環境240可例如包含使用者介面以允許軟體工程師開發晶片上系統測試軟體及/或測試程式。此外,開發及除錯環境可任選地包含介面242,該介面經調適以允許除錯軟體控制程式至受測裝置上之上傳。因此,開發及除錯環境240可與第三方除錯軟體協作以允許晶片上系統測試軟體之高效除錯。此外,開發及除錯環境240亦包含介面244以允許除錯軟體存取DUT之除錯介面。舉例而言,對DUT之除錯介面的存取可經由直接存取除錯介面252之晶片上系統測試控制器進行。
此外,開發及除錯環境可支援軟體工程師開發待在受測裝置上執行之晶片上系統測試軟體以及開發用於在自動測試設備上執行之測試程式。
出於此目的,開發及除錯環境可包含提供對ATE之測試資源之存取的程式碼。舉例而言,該程式碼246a可允許受測裝置經由晶片上系統測試控制器存取ATE之測試資源,使得例如受測裝置可使用對程式246a之函式呼叫來改變測試資源220及/或230之特性,該程式可應軟體工程師之請求而由開發及除錯環境包括至晶片上系統測試軟體中。
此外,開發及除錯環境亦可包含程式246b以允許將另一軟體自自動測試設備上傳至受測裝置。舉例而言,該程式246b可組配受測裝置之高頻寬介面以接收待在受測裝置上執行之程式碼。此程式246b可應軟體工程師之請求而包括至晶片上系統測試軟體中。對應地,開發及除錯環境可將允許另一軟體自自動測試設備(例如,自晶片上系統測試控制器之軟體存放庫)上傳至受測裝置之程式包括至用於在自動測試設備上(例如,在晶片上系統測試控制器上)執行之測試程式中。因此,開發及除錯環境可包括配合程式碼,該配合程式碼用於包括至晶片上系統測試軟體中及包括至用於在自動測試設備上執行之測試程式中。
此外,開發及除錯環境包含程式246c以允許控制受測裝置上之程式執行。舉例而言,該程式246c可應軟體工程師之請求而包括至晶片上系統測試軟體中。程式246c可例如經調適以經由受測裝置之介面中之一者自晶片上系統測試控制器接收程式控制命令。然而,晶片上系統測試軟體可例如將對應程式包括至用於在自動測試設備上執行之測試程式中。因此,有可能自晶片上系統測試控制器側控制受測裝置上之程式的執行,其中存在應軟體工程師之請求而包括於晶片上系統測試軟體中及包括至用於在自動測試設備上執行之測試程式中的「配合」程式模組。
此外,開發及除錯環境包含經調適以監督受測裝置上之程式執行的程式246d。舉例而言,該程式246d可應軟體工程師之請求而包括至晶片上系統測試軟體中。程式246d可例如監督晶片上系統測試軟體是否經適當地執行或晶片上系統測試軟體是否處於失敗狀態。因此,程式246d可告知晶片上系統測試控制器在受測裝置上運行之軟體是否處於失敗狀態,且晶片上系統測試控制器可相應地作出反應(例如,藉由將裝置分類為失敗,或藉由重設受測裝置,或藉由上傳新晶片上系統測試軟體或啟動受測裝置上之新晶片上系統測試軟體)。
開發及除錯環境亦包含程式246e以允許經由自動測試設備之介面自晶片上系統存取(例如,ATE之)記憶體內容。此程式可應軟體工程師之請求而包括至晶片上系統測試軟體中。因此,受測裝置可藉由呼叫該程式碼246e自自動測試設備之記憶體(例如,自晶片上系統測試控制器之記憶體)讀取資料。替代地或另外,受測裝置可藉由呼叫程式碼246e將資料寫入至自動測試設備(例如,晶片上系統測試控制器)之記憶體。此外,開發及除錯環境亦可提供用於晶片上系統測試控制器之程式或組態資訊,以支援受測裝置對自動測試設備之記憶體的此存取,其中可確保包括至晶片上系統測試軟體(用於在dut上執行)中之程式碼與晶片上系統測試控制器之組態資訊匹配。
開發及除錯環境亦可包含應用程式設計介面246f,該應用程式設計介面允許受測裝置與自動測試設備之測試資源(例如,測試資源220、230)之間的通訊。因此,藉由應軟體工程師之請求使用此應用程式介面246f,可使得受測裝置能夠控制自動測試設備之測試資源。
此外,開發及除錯環境亦包含測試器軟體246g以支援自動測試設備與受測裝置之通訊。此測試器軟體246g可例如應軟體工程師之請求而包括至用於在自動測試設備上執行之測試程式中,且支援自動測試設備與受測裝置之間的通訊。
此外,開發及除錯環境亦包含程式246h以允許將參數集自ATE上傳至DUT。因此,有可能例如在晶片上系統測試之後續執行之間更新用於晶片上系統測試(例如,使用程式246b上傳且由程式246c啟動)之執行的參數,以藉此克服多次上傳僅相差數個參數之類似晶片上系統測試的需要。
總之,開發及除錯環境240可包含支援晶片上系統測試軟體以及用於在自動測試設備上執行之測試程式之開發的數個軟體區塊246a至246h。舉例而言,可藉由開發及除錯環境將配合軟體組件自動地引入至晶片上系統測試軟體及用於在自動測試設備上執行之測試程式二者中,其中例如亦可藉由開發及除錯環境將組件之參數集自動地調整為適當值。
然而,應注意,開發及除錯環境未必需要包含本文中所描述之所有軟體部分246a至246g。確切而言,在一些狀況下,開發及除錯環境240包含該等軟體部分中之一或多者便已足夠。
根據另一態樣,有可能獨立於載入晶片上系統測試本身而將測試參數載入至DUT上(例如,將參數集上傳至受測裝置)。舉例而言,可保持載入晶片上系統測試(OCST),但在其下一次執行之前,可改變參數。此更高效且通常在界定OCST之特徵時進行。
此外,應注意,本文中所描述之自動測試設備200可任選地由此文件中所揭露之特徵、功能性及細節中之任一者個別地及以組合方式補充。
3. 根據圖6之晶片上系統測試
圖6展示根據本發明之實施例的晶片上系統測試之示意性表示。
根據圖6之晶片上系統測試係基於三個主要組件:工作站610、測試系統620及SoC 630。舉例而言,SoC 630可對應於圖4中所展示之SoC 400,使得參考上文解釋。
可為自動測試設備之部分的工作站610包含例如整合式開發環境612及整合式測試執行程式614。
舉例而言,整合式開發環境612可包含自動測試設備程式開發、除錯及執行,且亦可包含嵌入式軟體開發、除錯及執行。舉例而言,整合式開發環境612可包含開發及除錯環境240之功能性。然而,應注意,對於習知開發環境,重要差異為所指示開發環境612允許嵌入式軟體(亦即,在受測裝置630上運行之軟體)的開發、除錯及執行。
此外,整合式測試執行程式614可例如包含ATE測試程式,且可與測試系統620協作。舉例而言,整合式執行程式可執行ATE測試程式,其中該ATE測試程式可控制測試系統620之功能性且可自測試系統620接收資料(例如,測試結果資訊)。
通常亦為自動測試設備之部分的測試系統620包含可例如對應於晶片上系統測試控制器110或晶片上系統測試控制器210之一或多個晶片上系統測試控制器622。
測試系統620亦包含可例如對應於前文所描述之數位測試資源230的一或多個數位輸入/輸出儀器624。此外,測試系統620亦包含可例如對應於參數測試資源220之一或多個類比/射頻(RF)/高速輸入輸出(HSIO)儀器626。
測試系統620亦包含可例如亦對應於數位測試資源230之一或多個數位輸入/輸出儀器628。此外,測試系統620包含可例如對應於參數測試資源220之一或多個裝置電源供應儀器629。此外,測試系統620包含同步匯流排629a,其中一或多個晶片上系統測試控制器622、一或多個數位輸入/輸出儀器624、一或多個類比/RF/HSIO儀器626、一或多個數位輸入/輸出儀器628及一或多個裝置電源供應儀器629皆耦接至同步匯流排629。因此,晶片上系統測試控制器622可例如使儀器624、626、628、629同步,該等儀器可例如充當上文所描述之參數測試資源220及數位測試資源230。
舉例而言,數位輸入/輸出儀器624可耦接至SoC 630之輸入/輸出多工器,且可將一或多個數位信號提供至SoC及/或自SoC 630接收一或多個數位信號。類比/射頻/HSIO儀器626可例如耦接至SoC之一或多個周邊介面。
一或多個數位輸入/輸出儀器628可例如提供用於SoC之輔助信號,如時脈信號、重設信號及其類似者,且因此可能亦有助於控制測試程序。一或多個裝置電源供應器629可提供用於SoC之一或多個供應電壓,且可例如亦用以改變SoC之測試環境,以便在晶片上系統測試控制器622之控制下針對不同供應電壓而測試SoC。
整合式測試執行程式614可例如控制由自動測試設備執行之整個測試流程,且可例如組配晶片上系統測試控制器622以執行某一測試流程。舉例而言,整合式測試執行程式614可初始化晶片上系統測試控制器,其中晶片上系統測試控制器隨後自主地執行及控制測試處理程序。然而,整合式測試執行程式614亦可執行對由晶片上系統測試控制器執行之測試的一些控制。
舉例而言,整合式測試執行程式614可發指令給晶片上系統測試控制器以例如經由SoC之除錯介面將晶片上系統測試軟體上傳至受測裝置630。因此,可在受測裝置630上執行晶片上系統測試程式碼(亦指明為晶片上系統測試程式或簡言之,晶片上系統測試),其中該執行可由SoC之CPU核心執行,從而利用SoC之記憶體(例如,利用SRAM、L2快取記憶體及NVRAM)。
由SoC執行之晶片上測試程式碼可例如在整合式開發環境612中開發及除錯,且可在整合式測試執行程式之控制下經由OCST控制器622及SoC之除錯介面上傳至SoC。
總之,本文中所描述之自動測試設備可執行SoC (或一般而言,受測裝置)之測試,其中OCST控制器接管測試之控制中的重要部分且可負責一或多個儀器之同步。OCST控制器亦可將晶片上系統測試軟體上傳至受測裝置上,其中例如使用工作站610執行該晶片上系統測試軟體(「嵌入式軟體」)之開發,該工作站為自動測試設備之部分。整個測試流程可由ATE測試程式控制,該ATE測試程式亦由工作站610使用整合式測試執行程式614執行。
在具有負責與受測裝置之直接通訊以及(任選地)多個儀器之同步的OCST控制器622之情況下,可避免通訊瓶頸且可達成高輸送量,此可為使用高頻寬介面之許多現代受測裝置所需要的。
然而,應注意,圖6中所展示之晶片上系統測試可任選地由本文中所揭露之特徵、功能性及細節中之任一者個別地及以組合方式補充。
4. 晶片上系統測試核心概念
在下文中,將描述一些晶片上系統測試核心概念,該等概念可任選地實施於本文中所描述之自動測試設備中之任一者中。
根據第一態樣,有可能將嵌入式軟體開發、除錯及部署環境包括至現有ATE測試控制器軟體中。
根據第二態樣,需要為在Dut之CPU上運行之測試程式片段提供執行階段及API。
根據第三態樣,需要提供用於主測試程式片段與控制ATE儀器之主ATE測試程式之間的同步及資料傳送的設施。
根據第四態樣,需要使得此對於普通測試工程師(或軟體工程師)為容易使用的。舉例而言,需要使得該等工程師易於自其驗證或軟體/韌體開發群組得到所需DUT特定軟體。
根據第五態樣,需要使得環境能夠在有限資源(例如,在晶圓分選中缺失記憶體)上運行。
根據第六態樣,需要提供就緒測試程式片段以應對廣泛使用之基礎架構上的常見測試挑戰(例如,AMBA匯流排應力測試)。
總之,可任選地將上文所提及之態樣中之任一者個別地及以組合方式引入至本文中所描述之自動測試設備中。
5. 應用
在下文中,將參看圖7至圖11描述一些應用。
圖7展示執行類比/RF接收器測試之第一情境的示意性表示。在此狀況下,使用自動測試設備,該自動測試設備包含可例如對應於工作站610之工作站710且亦包含可例如對應於測試系統620之測試系統720。此外,受測裝置730可例如對應於受測裝置630。
如可看出,例如由整合式測試執行程式執行之自動測試設備程式發指令給晶片上系統測試控制器以將允許類比/RF接收器測試之晶片上系統測試程式碼上傳至受測裝置上。舉例而言,在受測裝置上執行之該晶片上系統測試程式碼可組配受測裝置730之周邊介面,以用於接收類比信號或射頻信號。
此外,整合式測試執行程式可控制測試系統720之類比/射頻產生器以將類比信號或射頻信號提供至受測裝置730之周邊介面。舉例而言,整合式測試執行程式及工作站710可直接控制類比/射頻產生器。然而,在較佳實施例中,晶片上系統測試控制器實際上控制測試系統之類比/射頻產生器且使類比/射頻產生器同步。因此,受測裝置之周邊介面通常產生反映所接收類比信號或射頻信號(由周邊介面接收)之數位資訊,且晶片上測試程式碼可例如評估由周邊介面提供之數位資料及/或將自周邊介面接收到之數位資料轉遞至測試系統以用於評估(例如,藉由OCST控制器)。因此,可藉由OCST控制器將測試結果提供至整合式測試執行程式,該控制器允許將受測裝置判斷為例如正常或失敗。
總之,可執行受測裝置之類比/RF接收器測試,該測試可由晶片上測試程式碼支援,該晶片上測試程式碼在受測裝置上執行且亦可由OCST控制器支援,該控制器可例如將晶片上測試程式碼上傳至受測裝置,控制類比/射頻產生器以及處置結果資訊自受測裝置之獲得及結果資訊至工作站710之轉遞。
圖8展示執行類比測試/射頻傳輸器測試之第二情境的示意性表示。
在第二情境中,存在可對應於工作站610或工作站710之工作站810、可對應於測試系統720或測試系統620之測試系統820,且存在可對應於受測裝置730或受測裝置630之受測裝置830。特定而言,應注意,第二情境極類似於第一情境。
然而,在第二情境中,將晶片上測試程式碼上傳至受測裝置830 (例如,經由OCST控制器),其使受測裝置830經由周邊介面傳輸類比信號或射頻信號。舉例而言,藉由在受測裝置830上運行之晶片上測試程式碼提供待經由受測裝置830之周邊介面傳輸的資料。此外,測試系統820之類比取樣器/射頻取樣器接收由受測裝置830產生之類比信號或射頻信號。關於由測試系統820自受測裝置830接收到之類比信號或射頻信號的資訊可例如藉由OCST控制器評估,或可例如藉由OCST控制器轉遞至工作站810上之整合式測試執行程式。因此,可例如藉由OCST控制器或藉由在工作站810上運行之整合式測試執行程式判斷由受測裝置提供之類比信號是否滿足預期或要求。因此,可決定受測裝置應分類為正常抑或失敗。
此處應注意,自動測試設備(包含工作站810及測試系統820)與受測裝置830之間存在協作。上傳至受測裝置830之晶片上測試程式碼(或晶片上系統測試軟體)控制類比信號或射頻信號之提供,且測試系統較佳在OCST控制器之控制下接收及評估類比信號,該控制器通常具有至類比/射頻取樣器之快速且直接的介面。由於OCST控制器通常亦能夠以非常直接之方式與受測裝置830通訊,因此OCST控制器亦可對由受測裝置提供之類比信號及對提供類比信號之時序具有某種程度之控制。
總之,本文中所揭露之自動測試設備可任選地經調適以處置第二情境。
圖9展示執行高速輸入輸出(HSIO)參數測試之第三情境的示意性表示。在第三情境中,工作站910及測試系統920用以測試受測裝置930,其中工作站910可對應於前文所描述之工作站610、710、810,且其中測試系統920可對應於前文所描述之測試系統620、720、820。
然而,在第三情境中,測試系統920之高速輸入輸出儀器可用以將資料傳輸至受測裝置及自受測裝置接收資料。舉例而言,測試系統920之高速輸入輸出儀器可耦接至受測裝置之周邊介面(例如,HSIO周邊介面)。舉例而言,測試系統可經由測試系統920之HSIO介面將資料提供至受測裝置930,其中該資料可由在整合式測試執行程式上運行之ATE測試程式判定。舉例而言,對經由測試系統920之高速輸入輸出介面將資料傳輸至受測裝置的控制可由OCST控制器執行,該控制器自在整合式測試執行程式上運行之ATE測試程式接收資料。
DUT 930之周邊介面可例如藉由周邊介面之適當組態(例如,利用用於周邊介面之測試的一些設計)來環回由測試系統提供之資料。然而,環回功能性亦可由晶片上測試程式碼提供,該晶片上測試程式碼可自周邊介面讀取所接收資料且將所讀取資料複製回至周邊介面之輸出緩衝器。
測試系統920可接收由受測裝置930之周邊介面傳輸的資料,且所接收資料可由OCST控制器評估及/或被轉遞至在整合式測試執行程式上運行之ATE測試程式。因此,可測試受測裝置930之高速輸入輸出介面,其中可藉由測試系統920之高速輸入輸出儀器例如在OCST控制器之控制下調整傳輸之參數,使得可判定受測裝置930之高速輸入輸出介面的參數。此外,例如,若OCST控制器控制資料至受測裝置之周邊介面的傳輸以及資料自周邊介面之接收且此外控制受測裝置之組態,則達成尤其高的效率。因此,可以極高效方式執行高速輸入輸出參數測試。
圖10展示執行HSIO協定引擎測試之第四情境的示意性表示。在第四情境中,工作站1010及測試系統1020用以測試受測裝置1030,其中工作站1010可對應於工作站610、710、810、910,其中測試系統1020可對應於測試系統620、720、820、920,且其中受測裝置1030可對應於受測裝置630、730、830、930。
在第四情境中,受測裝置1030之周邊介面可經組配以處於環回模式中,該環回模式可例如使用測試設計電路系統來達成。因此,自動測試設備可將晶片上測試程式碼上傳至受測裝置1030上,該受測裝置將周邊介面組配為處於環回模式中且將資料發送至周邊介面,且接收及評估由周邊介面環回之資料。舉例而言,在受測裝置上執行之晶片上測試程式碼可甚至評估自周邊介面環回之資料是否符合預期資料。因此,可測試高速輸入輸出介面之協定引擎。特定而言,晶片上測試程式碼亦可評估由周邊介面提供之協定資訊。
總之,在第四情境中,晶片上系統測試控制器可例如僅負責將適當的晶片上測試程式碼上傳至受測裝置1030及自受測裝置接收結果資訊,以及將結果資訊轉遞至工作站(例如,至整合式測試執行程式)。因此,可高效地執行高速輸入輸出協定引擎測試。
圖11展示執行互連應力測試之第五情境的示意性表示。在第五情境中,工作站1110及測試系統1120用以測試受測裝置1130。舉例而言,包含工作站1110及測試系統1120之自動測試設備經組配以將晶片上測試程式碼上傳至受測裝置,該測試程式碼經組配以執行受測裝置之不同區塊之間的資料傳送,以藉此對非同步應用互連「加壓」。舉例而言,資料傳送可在CPU核心與SRAM之間、受測裝置之周邊區塊與SRAM之間及受測裝置之共處理器與SRAM之間進行。舉例而言,晶片上測試程式碼可經組配以經由非同步應用互連起始此「有應力的」資料訊務,且亦可監視資料傳送之完整性。因此,測試系統1120之OCST控制器可例如經由除錯介面自受測裝置1130獲得結果資訊,且可例如將結果資訊轉遞至在整合式測試執行程式上運行之自動測試設備測試程式。因此,可高效地測試受測裝置1130之互連,其中測試系統之負載相對較小。
6. 受測裝置(SoC)之操作模式
在下文中,將描述用於操作受測裝置之不同模式。又,將論述關於開機處理程序之一些細節及關於自動測試設備之任選細節。
在作業系統環境下之OCST
在下文中,將描述可如何在作業系統環境下執行晶片上系統測試。圖12展示在作業系統環境下之此晶片上系統測試的示意性表示。
如圖12中可見,自動測試設備可例如包含工作站1210及自動測試設備硬體1220。舉例而言,工作站1210可對應於上文所描述之工作站610、710、810、910、1010、1110,且自動測試設備硬體可例如對應於測試系統620、720、820、920、1020、1120。然而,自動測試設備1202可例如包含本文中所揭露之自動測試設備的功能性中之一些或全部。然而,替代地,可任選地將此處關於自動測試設備所描述之功能性中之任一者個別地及以組合方式接管至本文中所揭露之其他自動測試設備中之任一者中。
應注意,工作站1210通常運行數個軟體模組。舉例而言,工作站可經組配以運行可例如對應於早先所描述之開發及除錯環境240的整合式開發環境1212。整合式開發環境可包含嵌入式軟體除錯器1214a及ATE除錯器1214b或與該等除錯器協作。舉例而言,嵌入式軟體除錯器可經調適以對「嵌入式軟體」,亦即,待在受測裝置上執行之軟體(在本文中亦簡要地指明為「晶片上系統測試」)進行除錯。ATE除錯器1214b可例如經組配以對自動測試設備軟體進行除錯,該自動測試設備軟體比如可例如為使用者提供之ATE流程1216。舉例而言,整合式開發環境1212可經組配以與嵌入式軟體除錯器1214a及自動測試設備除錯器1214b通訊,且編輯ATE流程1216。此外,ATE除錯器1214b可經組配以評估ATE流程1216。嵌入式軟體除錯器1214a可例如經由工作站1210及ATE硬體1220與受測裝置通訊。此外,亦存在在工作站上運行之自動測試設備測試套件1218以及自動測試設備執行階段環境1219。舉例而言,自動測試設備執行階段環境1219為工作站(或工作站之作業系統)與ATE測試套件1218a之間的軟體層。此外,應注意,ATE測試套件1218通常執行ATE流程1217且與ATE除錯器1214b協作。
總之,整合式開發環境1212可例如提供(例如,使用者)對嵌入式軟體除錯器1214、ATE除錯器1214b之存取,且進一步允許控制ATE流程之執行。
此外,受測裝置硬體1230亦可運行多種軟體模組。舉例而言,存在作業系統內核1232,該作業系統內核使用一或多個裝置驅動程式1234a、1234b以存取受測裝置之硬體(例如,一或多個介面)。此外,作業系統內核可存取「裝置樹」 1236,該裝置樹可例如定義DUT硬體之介面及可能亦定義耦接至DUT硬體之記憶體。此外,通常存在可例如控制晶片上測試程式碼1240之執行的「OCST運行器」 1238。晶片上測試程式碼1240可例如利用晶片上系統測試執行階段環境1242,該晶片上系統測試執行階段環境可例如提供一些功能。OCST執行階段環境1242經組配以與作業系統內核1232協作(例如,藉由呼叫OS內核1232之函式)。此外,應注意,OCST運行器1238亦可與DUT硬體直接通訊,例如以允許ATE硬體與OCST運行器1238之間的直接通訊。此外,應注意,晶片上測試程式碼1240可例如直接存取OS內核1232之函式,且亦可存取OCST執行階段環境1242之函式,該OCST執行階段環境又存取OS內核1232之函式。此外,除經由一或多個裝置驅動程式1232a、1232b存取DUT硬體以外,OS內核1232亦可例如與DUT硬體直接通訊。
應注意,在受測裝置硬體1230上運行之軟體模組中的任一者可例如由如本文中所描述之自動測試設備之開發及除錯環境提供。因此,開發及除錯環境可包含定義軟體模組1232、1232a、1232b、1238、1244之一或多個程式,其中晶片上測試程式碼1240通常係基於至開發及除錯環境之使用者輸入。
嵌入式作業系統開機序列
在下文中,將參看圖13描述嵌入式作業系統開機序列之實例,該圖展示此嵌入式作業系統開機序列之示意性表示。圖13展示可類似於前文所描述之受測裝置的受測裝置,例如SoC 1310。如可看出,系統單晶片1310包含皆耦接至同步應用互連之CPU核心1320、SRAM 1322、L2快取記憶體1324、NVRAM 1326及ROM 1328。此外,系統單晶片1310可包含周邊介面1330及記憶體控制器1332,其中該周邊介面可例如經調適以存取不同類型之快閃記憶體及/或經由直接記憶體存取(例如,PCIe DMA)來存取記憶體。此外,記憶體控制器1332可例如經組配以存取動態隨機存取記憶體DRAM。
在開機序列中,儲存於例如ROM 1328中之主要開機載入程式可使得經由周邊介面1330將次要開機載入程式載入至SRAM 1322中。此外,次要開機載入程式可接著使得將作業系統程式自快閃記憶體或自另一「外部」記憶體複製至DRAM,其中經由周邊介面1330存取快閃記憶體或外部記憶體且其中經由記憶體控制器1332存取DRAM。因此,將作業系統複製至DRAM,其存取通常遠快於外部記憶體(快閃記憶體或可經由直接記憶體存取DMA存取之記憶體)。隨後,可由CPU核心1320執行作業系統程式,其中L2快取記憶體1324可根據快取策略來快取作業系統程式之部分。然而,應注意,習知作業系統之執行通常需要DRAM存在,此在一些測試環境中無法得到保證。特定而言,在一些測試環境中難以佈建DRAM。
在下文中,將提供對OS候選者(亦即,SoC上之Linux)之簡短論述。
此OS候選者在多種嵌入式CPU核心上皆得到支援,且亦經良好地記載。
OS候選者利用裝置樹來描述嵌入式CPU之常見變化。此使得易於調整新CPU變體。
上文所提及之OS候選者並不處置基本系統組態(亦即,初始化記憶體控制器)。確切而言,OS候選者依賴於開機載入程式來處置此基本系統組態。
對於上文所提及之OS候選者,存在對多個CPU核心及記憶體虛擬化之現成(out-of-the-box)支援。
此外,對於上文所提及之OS候選者,內核與使用者空間分開。
自使用者空間,經由通用的抽象API存取所有硬體。
此外,上文所提及之OS候選者包含模組化硬體驅動程式。許多驅動程式可易於藉由內核程式碼分散獲得。又,可易於整合客戶特定驅動程式。
此外,對於上文所提及之OS候選者,軟體除錯在無硬體除錯支援(GDB)之情況下為可能的。
對於上文所提及之OS候選者,經由JTAG/SWD之除錯需要除錯器知曉內核位址轉譯及處理表(例如,來自Lauterbach)。
關於上文所提及之作業系統候選者,亦應注意,在(開放原始碼)建置根環境下,可易於建置僅包括內核、必要硬體驅動程式及單個使用者空間程式之精簡的Linux系統。已發現,此系統可在幾秒內開機。
總之,已發現SoC上之Linux可用作例如用於在受測裝置上執行之作業系統。
在裸機環境下之OCST
在下文中,將參看圖14描述在裸機環境下之晶片上系統測試,該圖展示在裸機環境下之此晶片上系統測試的示意性表示。
關於此問題,應注意,包含工作站1410及自動測試設備硬體1420之自動測試設備1402原則上可與自動測試設備1202相同。又,整合式開發環境1412可對應於整合式開發環境1212,嵌入式軟體除錯器1414a可對應於嵌入式軟體除錯器1214a,ATE除錯器1414b可對應於ATE除錯器1214b,ATE測試套件1418可對應於ATE測試套件1218,且ATE執行階段環境1419可對應於ATE執行階段環境1219。然而,應注意,軟體模組1412、1414a、1414b、1418、1419可經調適以反映不存在運行於受測裝置上之作業系統。
關於受測裝置硬體1430,應注意,在此情境下,無作業系統內核軟體在受測裝置硬體上執行。確切而言,存在可直接存取DUT硬體1430之OCST執行階段環境1442。OCST執行階段環境1442可例如由裝置樹1444支援,該裝置樹可例如定義DUT硬體1430之介面。此外,存在晶片上測試程式碼1440,該晶片上測試程式碼可存取OCST執行階段環境1442之功能且亦可直接存取DUT硬體1430。此外,存在可例如與晶片上測試程式碼1440通訊(或控制晶片上測試程式碼)之OCST運行器1438。OCST運行器1438亦可與DUT硬體1430直接通訊,且可例如直接自DUT硬體1430接收控制命令(其中該等控制命令例如由自動測試設備之晶片上系統測試控制器提供)。因此,晶片上系統測試運行器1438可控制晶片上測試程式碼1440之執行,且晶片上測試程式碼1440可在執行DUT硬體1430之測試時使用晶片上系統測試執行階段環境1442。
總之,晶片上系統測試亦可在不在受測裝置上運行作業系統之情況下執行,其限制條件為晶片上系統測試執行階段環境支援對DUT硬體之存取。
經由除錯埠之嵌入式裸機開機
在下文中,將描述用於將不運行作業系統(「裸機」)之受測裝置(SoC)開機的概念。圖15展示經由除錯埠之此嵌入式裸機開機的示意性方塊圖。
應注意,受測裝置1510可例如類似於本文中所描述之其他受測裝置中的任一者。
然而,受測裝置1510包含通常儲存於ROM中之主要開機載入程式。
然而,當使用經由除錯埠之裸機開機時,通常不使用主要開機載入程式。確切而言,例如在晶片上測試系統控制器之控制下使用除錯介面來組配裝置。舉例而言,晶片上系統測試控制器可經由除錯介面(例如,JTAG介面或SWD介面)存取CPU核心,且可組配CPU核心以將裸機程式複製至SRAM中。舉例而言,晶片上系統測試控制器可提供適當的除錯命令或掃描資訊以使CPU核心將所欲裸機程式複製至SRAM中。然而,替代地,晶片上系統測試控制器亦可經由除錯介面直接存取SRAM,前提係鑒於受測裝置之設計,此存取為可能的。當進行裸機程式之此上傳時,晶片上系統測試控制器可例如停止執行主要開機載入程式。此外,晶片上系統測試控制器亦可發指令給CPU核心以執行已儲存至SRAM中之裸機程式,例如藉由經由除錯埠將CPU核心之程式計數器設定為SRAM之適當記憶體位址。此概念可為有利的,此係因為避免了可能未經良好記載之作業系統的可能非判定性行為。確切而言,提供裸機程式,該裸機程式可由軟體工程師更詳細地理解且可因此在一些狀況下提供可再現性較佳的測試結果。
又,使用裸機程式可具有以下優點:該程式更「精簡」使得可能不必使用外部DRAM。
裸機候選U-BOOT開機載入程式
已發現,所謂的「U-Boot」開機載入程式可為系統單晶片上之良好候選者。
已發現,此裸機候選者為SoC上最常用之開機載入程式。
此外,已發現,裸機候選者利用裝置樹來描述嵌入式CPU之常見變化。此使得易於調整新CPU變體。
此外,上文所提及之裸機候選者處置基本硬體初始化。
另外,已發現,上文所提及之裸機候選者不使用記憶體虛擬化且具有最小記憶體使用量。
此外,已發現,上文所提及之現成裸機候選者僅在單個CPU上運行-甚至在多核心系統上運行。然而,上文所提及之裸機候選者支援用於OS載入之本端及網路介面的基本集合。
上文所提及之裸機候選者提供可經由串列介面存取之命令列介面。
已發現上文所提及之裸機候選者在毫秒範圍內開機。
此外,上文所提及之裸機候選者為開放原始碼且可擴充。因此,藉由添加缺失特徵(例如,多CPU支援),使用開機載入程式作為嵌入式測試執行階段環境之基礎可為有可能的。
嵌入式測試架構:OS對比裸機
在下文中,將描述使用作業系統之一些優點及使用裸機(例如,無作業系統)之一些優點。
OS優點:
1. 可「按原樣」使用現有裝置驅動程式。對於最常見之周邊介面,裝置驅動程式已經可用。
2. 對多個CPU上之多任務的現成支援
3. 記憶體虛擬化隱藏實體記憶體佈局。此簡化程式設計及除錯。
裸機優點:
1. 開機時間自秒減少至微秒
2. 顯著減小記憶體使用量
3. 由於低層級存取之完全硬體控制。此改善測試涵蓋範圍及可重複性
4. 較易於調整不完整硬體資源,如缺失的DRAM。
作為結論,可據稱裸機方法最佳地適合於晶圓分選情況下之嵌入式測試。此外,作為結論,可據稱OS方法提供簡化的使用模型。已發現,延長的開機時間及較大的記憶體使用量可為可接受的—尤其對於矽後驗證。
7. 實體OCST控制器
在下文中,將描述實體晶片上系統測試控制器之實施例。然而,應注意,本文中所描述之實體晶片上系統測試控制器可任選地由關於本文中之晶片上系統測試控制器所描述的特徵、功能性及細節中之任一者個別地及以組合方式補充。此外,應注意,可任選地將關於圖16之晶片上系統測試控制器所描述的特徵、功能性及細節中之任一者個別地及以組合方式接管至其他晶片上系統測試控制器中之任一者中。
圖16展示可為自動測試設備之部分的實體晶片上系統測試控制器之示意性表示。此外,圖16亦展示與實體晶片上系統測試控制器協作之工作站的示意性表示。換言之,自動測試設備包含工作站硬體1610及晶片上系統測試控制器硬體1620。
工作站硬體1610經調適以執行工作站軟體1612,且晶片上系統測試控制器硬體1620經組配以執行晶片上系統測試控制器軟體1622。工作站軟體1612可例如包含整合式開發環境1612a,該整合式開發環境可例如對應於上文所描述之開發及除錯環境240。然而,此工作站軟體1612之任何特徵、功能性及細節亦可任選地包括至開發及除錯環境240中。
特定而言,工作站軟體包含可例如對應於嵌入式軟體除錯器1214a之嵌入式除錯器1612b。此外,工作站軟體亦可包含可例如對應於ATE除錯器1214b之ATE除錯器1612c。工作站軟體1612可進一步包含可例如對應於ATE測試套件1218之ATE測試套件1612d。工作站軟體1612可進一步包含可例如對應於ATE執行階段環境1219之ATE執行階段環境1612e。
此外,工作站軟體可例如在內核空間中包含Linux內核1612f,該內核可例如藉由ATE執行階段環境1612e經由通訊端存取。類似地,亦可包含硬體介面抽象之嵌入式除錯器1612b可經由Linux內核之通訊端與Linux內核1612f通訊。
此外,Linux內核可使用可允許與OCST控制器硬體通訊之所謂的「測試資料匯流排驅動程式」 1612g。然而,亦可使用允許與OCST控制器硬體通訊之任何其他驅動程式。
此外,OCST控制器軟體1622包含例如在使用者空間中執行之所謂的OCST精靈協助程式1622a。此外,OCST控制器軟體1622亦包含可例如在內核空間中運行之Linux內核1622b。舉例而言,可使用Linux內核之一或多個通訊端執行OCST精靈協助程式1622a與Linux內核1622b之間的通訊。
此外,OCST控制器軟體1622可包含多個驅動程式,比如JTAG驅動程式1622c、PCIe驅動程式1622d、「測試資料匯流排驅動程式」 1622e及同步匯流排驅動程式1622f。舉例而言,測試資料匯流排驅動程式1622e可支援與工作站之通訊。然而,允許與工作站之通訊的任何其他驅動程式亦將為適當的。同步匯流排驅動程式1622f允許存取同步匯流排,該同步匯流排允許與其他測試資源(比如上文所描述之測試資源220、230)同步。此外,JTAG驅動程式(或一般而言,任何除錯介面驅動程式)允許經由除錯介面與受測裝置通訊。類似地,PCIe驅動程式(或任何其他高頻寬介面驅動程式)允許經由高頻寬介面與受測裝置通訊。
在下文中,亦將描述實體OCST控制器之硬體特徵。舉例而言,實體OCST控制器可包含可例如經組配以實施一或多個中央處理單元CPU之場可規劃閘陣列1640。此外,場可規劃閘陣列1640可經組配以與例如DRAM 1642之任何內部或外部隨機存取記憶體通訊。場可規劃閘陣列1640可例如與同步匯流排1644耦接,該同步匯流排亦可例如與其他ATE儀器耦接。舉例而言,同步匯流排可允許實體晶片上系統測試控制器與如參數測試資源及/或數位測試資源(例如,如上文所描述)之其他測試資源之間的同步。此外,場可規劃閘陣列1640亦耦接至資料匯流排(或一般而言,耦接至資料介面) 1646,該資料匯流排允許與工作站1610通訊。在所提供之實例中,使用所謂的「測試資料匯流排」,但亦可使用至工作站之其他介面。
晶片上系統測試控制器進一步包含多個位準移位器1650,且亦任選地包含PCIe實體介面1652及USB實體介面1654 (例如,USB3實體介面)。舉例而言,位準移位器1650耦接至場可規劃閘陣列1640之通用輸入/輸出接腳。另一方面,任選PCIe實體介面及任選USB實體介面可耦接至場可規劃閘陣列1640之高速接腳(例如,LVDS接腳)。
位準移位器1650、PCIe實體介面1652及USB實體介面1654之裝置側接腳可例如經由多個輸入/輸出多工器1660a、1660b (任選)、1660c (任選)耦接至DUT介面。
使用輸入/輸出多工器1660a、1660b、1660c,位準移位器1650、PCIe實體介面及USB實體介面1654可耦接至受測裝置之適當接腳。舉例而言,由位準移位器1650提供之信號可較佳耦接至受測裝置之除錯介面或控制介面,例如耦接至JTAG介面、SWD介面、UART介面、TWI介面或其類似者。然而,由PCIe實體介面提供之信號通常經由各別輸入/輸出多工器1660b連接至受測裝置之PCIe介面,且由USB實體介面1654提供之信號通常經由各別輸入/輸出多工器1660c耦接至受測裝置之USB介面(例如,USB3介面)。此外,輸入/輸出多工器1660a、1660b、1660c可經組配而以可調整(可變)方式耦接參數量測單元1670與受測裝置之一或多個接腳。因此,受測裝置之各別接腳的類比特性可藉由實體量測單元1670來界定特徵。
總之,已參看圖16描述實體OCST控制器之實例實施方案。舉例而言,描述於圖16中之晶片上系統測試控制器硬體可任選地用以實施本文中所描述之晶片上系統測試控制器中的任一者。然而,任選地,根據圖16之晶片上系統測試控制器的一或多個組件可用於本文中所揭露之晶片上系統測試控制器中的任一者中。
此外,應注意,此處所描述之自動測試設備可任選地由本文中所揭露之特徵、功能性及細節中之任一者個別地或以組合方式補充。
8. 鑒於替代解決方案進行的論述
在下文中,將論述一些替代解決方案,且將指出使用晶片上系統測試控制器之優點。
第一替代解決方案為執行系統層級測試。在此方法中,採用現有評估板或自其導出特殊版本。工作台設備用以提供外部環境。特殊化系統層級測試設備用於測試自動化。運行對應用程式之現有驗證測試,且執行對正確執行之檢查。
此方法具有數個益處。舉例而言,使用用於設計師及驗證工程師之原生環境。充分利用現有應用程式/驗證軟體。該方法良好地用於模組測試,且原始解決方案可用。該方法亦適用於廉價設備。
然而,該方法亦具有將在下文中概述之數個缺點。舉例而言,存在由於使用應用程式板之不良可重複性及可觀察性。此外,當使用應用程式軟體時,測試時間長且涵蓋範圍有問題。無法應用最大應力條件,且可僅在時脈及供應電壓可在應用程式板上控制時應用該等條件。通常並非如此狀況。此外,該方法無法在晶圓分選中部署。通常,整合應用程式板與晶圓探針存在技術困難。此外,在昂貴的探測設備上,長測試時間亦存在商業問題。此外,該方法通常需要製造製程後期之額外測試步驟。
此外,所謂的「端對端測試」可被視為另一種方法。此方法採用具有特殊化「協定感知」儀器之ATE。藉由端對端通訊來測試DUT內部信號路徑。
此方法具有數個益處。舉例而言,該方法支援觀察裝置介面之傳統ATE想法。此外,該方法一次性涵蓋了內部互連組構、協定引擎及類比介面電路。該方法允許施加時脈及供應電壓應力。此外,該方法在晶圓分選期間已消除大量缺陷。該方法使得能夠在晶圓分選期間進行矽後驗證且使得能夠對設計進行早期反饋。
然而,端對端測試方法亦具有數個缺點。特定而言,該方法不足以使內部互連具有最大訊務,此係因為內部互連通常比介面更快。此外,高速訊務無法由通用ATE儀器涵蓋,此係因為即時協定處理通常需要專用ASIC設計。此外,驗證測試狀況很可能不涵蓋端對端通訊,此係因為自白盒測試視角來看,驗證測試狀況為無效的。測試狀況必須由測試工程師從頭開始產生。
在下文中,將描述「統計相關」方法。在此方法中,在生產量增加期間,幾乎所有的可用掃描向量在晶圓分選中皆在不同時脈及電壓應力條件下運行。然而,僅捨棄在標稱條件下失敗之DUT。此外,運行SLT測試以識別晶圓分選逃逸。此外,在應力條件下,整體失敗DUT與失敗掃描向量相關。在最終製造分選程式中添加此等失敗測試以消除SLT。
此方法具有以下優點:分級處理程序可完全自動化且不需要任何人類互動。
然而,該方法具有將在下文中描述之一些缺點。AC掃描方法經設計以涵蓋卡住及延遲故障。尚不清楚測試逃逸實際上是否映射至此等類別—即使在電壓及時脈應力條件下亦如此。此外,該方法無法確保第三方周邊IP符合規格。又,使用者可能並不信任以此IP供應之掃描向量。此外,該方法需要在最終測試程式中添加掃描向量及切換測試條件。此導致晶圓分選中之測試時間增加。
在下文中,將描述晶片上系統測試(OCST)方法。該方法使用DUT之嵌入式CPU以運行測試程式之部分。又,為此等片段提供執行階段環境作為ATE產品之部分。
該方法包含數個優點。舉例而言,該方法一次性涵蓋了內部互連組構、協定引擎及類比介面電路。又,該方法允許施加時脈及供應電壓應力。此外,該方法在晶圓分選期間已解決所有類別之潛在測試逃逸。此外,該方法可自驗證運行稍微經修改之核心邏輯測試。該方法適用於標準化之靈活ATE儀器。此外,該方法使得能夠在晶圓分選期間進行聚矽氧後驗證,以及使得能夠對設計進行早期反饋。
然而,該方法亦包含一些缺點。特定而言,該方法為MPU業務之外的新方法。該方法使測試工程師能夠進行嵌入式軟體開發,使設計師及驗證工程師能夠操作ATE。此外,除非可提供標準化之存錄測試狀況,否則必須手動地產生測試狀況。測試涵蓋範圍取決於此等狀況之品質。此外,該方法依賴於測試設計(DFT)以消除對特殊化HSIO儀器之需要。
在下文中,將提供不同方法之間的比較。
應注意,SLT及端對端測試為許多使用者(尤其為驗證工程師)熟悉的二種方法。
此外,應注意,SLT需要額外測試插入—將其與任何ATE測試步驟組合在商業上不可行。
此外,應注意,端對端測試可整合於其他ATE測試設置中。然而,其需要「協定感知」ATE儀器。又,極難將DUT置於最大應力狀態中。
此外,在時序位準應力條件下與掃描型樣之統計相關為一種涵蓋傳統掃描型樣中之間隙的感興趣的方法。然而,掃描測試係基於相異故障模型。尚不清楚是否可以此方式涵蓋現今之ATE逃逸。
藉由嵌入式測試,有可能在晶圓分選期間便已識別出ATE上之現今測試逃逸。僅可藉由適當DFT消除對新的特殊化ATE儀器之需要。為了成功地應用其,需要在測試工程中不可用但在驗證及設計中可用之DUT知識。
咸信,自長遠來看,嵌入式測試應為正確的選擇。
9. 結論-部分1
在下文中,將提供一些結論。
已發現,SoC設計之複雜度增加推動了聚矽氧後驗證與ATE測試之間的融合:
1. 需要ATE能力以在驗證中之硬體/軟體互動中找到極端狀況;及
2. 需要在嵌入式CPU上運行之測試以識別極端狀況缺陷。
因此,在ATE上運行嵌入式軟體測試為驗證及裝置製造二者提供極大的益處。然而,由於ATE上之應用程式環境不完整,因此存在高的進入阻障。
此為新類型之ATE產品開放了機會:晶片上系統測試環境。
已發現,用於此等環境之技術組件可用,可充分利用現有ATE生態系統之大多數部分。
亦已發現,SoC組件之融合允許專注於標準化產品。ARM在市場中之主導地位甚至允許在開始便專注於一個特定架構。
總之,根據本發明之實施例可用以用高效方式測試系統單晶片,且因此優於其他概念。
10. 結論-部分2
先前解決方案
在下文中,將描述及論述一些習知解決方案,且將提供亦可任選地應用於根據本發明之實施例中的背景資訊。
晶片上系統測試(OCST)係指藉助於在SOC之嵌人式處理器核心上運行之嵌入式軟體對彼SOC之一或多個區塊或介面的功能測試。嵌入式軟體可直接產生測試刺激且接收測試回應及/或控制測試設置(例如,暫存器規劃)或測試分析及報告:例如,分析測試回應及儲存/傳達結果使得外部(例如,測試器)可存取測試結果。
-先前解決方案依賴於在用於嵌入式軟體開發之系統環境中對測試進行開發及除錯,但不依賴於測試環境。在測試環境上,除錯支援不存在或較弱:例如,經由串列埠列印中間值及文字字串
-先前解決方案依賴於OCST以使用專屬的方式來接收測試控制/條件命令且將測試結果傳達至外部。此亦需要用於測試環境之專屬解決方案以發送/接收此等命令/結果。此常常需要測試器資源(例如,用於UART、SWD、I2C或專屬GPIO通訊)、分別專用之測試器控制器介面(例如,若使用其USB埠)的繁瑣低層級程式設計,以實現測試器環境與OCST之間的通訊及控制。此增加開發工作量且限制OCST之可重用性。
-先前解決方案依賴於將OCST (亦即,測試內容)儲存於可用於測試環境中之SOC以載入OCST的非依電性記憶體上。挑戰為:
o 通常在軟體開發環境中規劃NV記憶體且接著將其載送至測試環境。
o NV記憶體可藉助於SOC在測試環境中規劃,但此為不適用於其他類型之SOC的專屬解決方案
o 重新規劃NV記憶體為在製造現場進行之一種例外、無效、易錯的處理程序。
-先前解決方案常常儲存在一個執行回合中執行之OCST的套件,而非提供對個別OCST之控制,此使得難以對各測試進行除錯、界定特徵及開啟/關閉(其為測試系統之典型需要)。
-先前解決方案可依賴於可用於執行OCST之大RAM,其可能不可用(例如,用於探針測試)。典型的狀況為將豐富的OS開機,其接著為其他OCST之基礎
根據本發明之實施例完全解決或至少緩解前文在習知解決方案之描述中提及的所有(或一些)缺點。
由本發明之實施例解決的問題
在下文中,將論述本發明之實施例優於習知解決方案的一些優點。然而,應注意,根據本發明之實施例不必包含下文所提及之優點的中之一些或全部。
根據本發明之一些實施例完全解決或緩解先前解決方案之描述中所列出的所有缺點
此外,根據所描述之本發明的實施例任選地啟用未來解決方案:
- 藉由定義標準介面,本發明使得SOC驗證測試(實施為嵌入式軟體)之自動流程能夠進入測試環境,以用於各測試之有效執行及檢核
- 進階測試及診斷方法依賴於DUT狀態之高頻寬追蹤及傾印:例如,如描述於「錯誤定位系統(Bug Positioning Systems)」中之統計方法用以判定有效執行行為且識別失敗區域以用於根因分析。
- 藉由在測試環境與SOC之間提供有效功能介面,其他測試方法可受益:例如,將結構性測試刺激靈活地饋送至分別接收其的DUT中。
本發明優於先前發明的優點
根據本發明之實施例藉由將OCST本身之DUT特定性質與測試所需之基礎架構及能力分開而建立用於晶片上系統測試之有效測試環境。因此,提議用於OCST之靈活解決方案作為新測試類型,對於該新測試類型,測試環境需要支援所有標準的測試使用狀況:例如
- 開發
- 除錯
- 特徵界定
- 高效執行
- 資料記錄
- 在製造現場之部署
此使得OCST開發者(通常為設計、工作台或嵌入式軟體開發者)與測試工程師之間能夠進行有效合作。各使用者可直觀地繼續在其環境中工作:例如
-OCST開發者在測試器上找到高效的開發及除錯環境。此在高壓第一矽開啟期間尤其關鍵。
-測試工程可以針對其他測試類型進行之相同方式界定各OCST之特徵:例如,掃掠Vdd以判定Vmin。
-當將OCST部署至製造現場時,操作者不需要額外步驟來將OCST之最新版本安裝於位於載板上之NV記憶體上。
此外,有可能針對上文所提及之各問題列出優點。
根據本發明之實施例的建構及操作之描述
在下文中,將提供根據本發明之一些實施例的建構操作之描述。然而,應注意,可個別地使用在下文中所描述之實施例。然而,亦應注意,可將在下文中所提及之實施例的特徵、功能性及細節個別地及以組合方式引入至其他實施例中之任一者中。
在最高層級上,解決方案提議經組合用於有效OCST環境之以下關鍵組件(其中亦可個別地使用該等組件):
1. OCST測試控制器:
a. 新穎的測試組件提供以下能力(或在一些實施例中,提供以下能力中之一或多者):
i. 經由其實體介面與DUT通訊:例如
1. 低潛時除錯及控制介面:例如,JTAG、SWD、SPI、I2C、UART
2. 高頻寬功能介面:例如,USB、PCI
ii. 將正確通訊介面靈活分配至DUT介面或分配通常用於測試實體DUT介面之接觸及DC的參數測試資源
iii. 運行通用軟體堆疊,該軟體堆疊通常包括OS (例如,嵌入式Linux)、用於OCST之通用服務、用於經由實體介面與DUT通訊之驅動程式、由使用者提供之應用程式特定設置及常式(亦即,可執行程式碼)。
iv. 在DUT及DUT介面上分別載入初始化OCST環境之能力。舉例而言,將其準備且維持為測試程式之部分且儲存於OCST測試控制器記憶體中以用於各DUT之迅速初始化
v. 在DUT介面上將OCST載入至DUT RAM、DUT NV記憶體或NV記憶體中之能力。舉例而言,將各OCST準備且維持為測試程式之部分且儲存於OCST測試控制器記憶體中以用於迅速載入至各DUT中。
vi. 在DUT介面上將OCST參數集載入至DUT RAM、DUT NV記憶體或NV記憶體中之能力。舉例而言,將各OCST參數集準備且維持為測試程式之部分且儲存於OCST測試控制器記憶體中以用於迅速載入至各DUT中。
vii. 啟動載入於DUT上之特定OCST的能力
viii. 如由使用者以適用於所有測試器資源之通用測試定序語言來程式設計之總體測試執行控制:例如,由93000 SmarTest 8使用之操作序列。
ix. 其他測試資源之高效控制及同步:例如,OCST測試控制器可直接控制施加至DUT之功率。較佳地,此等動作之執行不需要與通常在測試器控制器上運行之較高層級軟體通訊。實情為,其例如由直接連接測試器資源之本端通訊及同步介面實施。
x. 自在DUT上運行之OCST接收命令及資料以控制測試執行流程及其所涉及測試資源的能力:例如,取決於由在DUT上運行之OCST所做的觀察,實施條件性執行或改變外部測試條件。
b. 實體實施方案及虛擬實施方案二者為可能的,且具有各種優點及缺點:例如
i. 實體:較佳實施於通用的專用測試器子系統中,該子系統包括例如
1. 系統SOC (例如,Xilinx Zync),其提供嵌入式軟體環境、FPGA區塊以及用於通訊之各種實體執行個體(例如,USB、GPIO);替代地,作為另一實例,可使用x86嵌入式PC。
2. 朝向DUT之前端電子裝置:例如,用於DC量測之PMU、用於路由之交換器、適於特定介面標準之位準移位器。
3. 與其他測試器組件通訊及同步之後端介面
ii. 虛擬:較佳由重複使用通用測試模組(例如,數位測試器卡)實施。通常,此卡之前端及後端能力可用於OCST。然而,可能需要添加以下能力:
1. 有效的高層級程式設計模型,該模型經由其實體介面與DUT/OCST通訊。此可由擴展之測試模組在速度及功能性上進行限制。
2. 分解OCST軟體堆疊以直接在模組上(假定可用嵌入式處理器)或在測試器控制器上運行之能力
2. OCST開發及除錯工具(任選;可實施特徵中之一或多者)
a. 工具集:
i. 通常,負責開發OCST之嵌入式軟體開發者具有較佳或預定的開發及除錯環境。所提議解決方案提供例如支援變化之工具集的介面。
ii. 該解決方案提供整合至測試器環境(例如,93000之Eclipse工作中心)中之特定OCST開發及除錯環境。
1. 此簡化OCST原始程式碼及在測試器上運行之測試程式中的組件之一致命名及使用:例如,OCST開發及除錯工具可知曉OCST原始程式碼能夠存取(經由OCST執行階段環境)之測試資源:例如,其他測試之測試限制、測試條件或結果。
2. 支援將經編譯程式碼映射至可用的有限記憶體資源:例如,整合式SRAM、L2快取記憶體。視需要包括程式碼以調節SOC之記憶體子系統。
b. 除錯軟體、測試器環境及DUT之間的介面
i. 除錯軟體與測試器環境之間的介面:
1. 遠端控制:在除錯及測試執行期間,測試環境可使用除錯軟體(通常來自第3方或開放原始碼)以執行其被開發以用於的特定操作:例如,將OCST載入至DUT上。測試環境依賴於「遠端控制API」以將除錯環境用於此等目的。
2. DUT驅動程式:在除錯及測試執行期間,除錯軟體可能需要經由其如下實體介面存取DUT:例如JTAG。替代具有其自身的至DUT之實體介面,除錯軟體可依賴於OCST測試控制器之至DUT的實體介面。因此,測試環境實施支援除錯軟體之功能的DUT驅動程式。
ii. 除錯軟體與DUT之間的實體介面
1. 藉由除錯環境之直接實體存取:例如,可在載板上切換之JTAG埠
2. 使用OCST測試控制器作為通訊通道。
3. 使得能夠有效使用OCST之軟體組件及環境
a. 支援測試方法之無縫開發及執行的分散式環境包含在測試器環境(亦即,測試器控制器工作站及OCST測試控制器)中以及在DUT環境(亦即,OCST本身以及DUT介面上之其他組件:例如NV記憶體)中運行之測試設置及程式碼。其獨立於OCST測試控制器與DUT之間的變化之通訊介面而實施。
i. OCST執行階段環境(在DUT上):
1. OCST可依賴以一般與測試器環境通訊(例如,接收測試參數及將控制命令發送至OCST測試控制器)及與在測試器環境上運行之特定測試方法通訊(例如,充分利用測試器工作站之較高計算能力交換中間變數)的API及服務
2. OCST執行階段環境經標準化以使得能夠跨越各種DUT重複使用OCST。此係藉由抽象化變化之硬體環境的底層軟體來實現:例如,使用描述硬體差異之Linux裝置樹。
ii. OCST測試運行器(在DUT上):
1. 與測試器環境合作以載入及執行OCST之程式(較佳作為分開的處理程序運行)。又,儘管DUT部分損壞或OCST失敗,該程式仍可充當看門狗,從而確保測試器環境之持續執行及回應性。
2. 此運行器為任選的,此係因為其關鍵功能亦可使用DUT之除錯介面自測試器環境完成
iii. 針對OCST擴展之測試器執行階段環境
1. 使用者之測試方法可依賴以設置OCST測試控制器且與該OCST測試控制器通訊的API及服務
2. 使用者之測試方法可依賴以設置在DUT上運行之OCST且與該OCST通訊的API及服務
iv. 測試器資源、OCST測試控制器及OCST之同步:
1. OCST測試控制器可在測試執行期間執行以支援OCST之動作:例如,取決於來自OCST之控制資訊的條件性跳躍
2. 測試器模組之能力或動作集的擴充以便支援OCST:例如,等待OCST完成
3. 所需硬體基礎架構,其用以跨越測試器資源及OCST測試控制器高效地發信及通訊,而無需測試器控制器工作站軟體。
b. 替代軟體環境
i. 使用OCST作業系統:提供豐富的執行環境(例如,足夠RAM),DUT可載入OS及所需裝置驅動程式。此可增加測試涵蓋範圍且為OCST、OCST執行階段環境及OCST運行器提供進階服務:例如,存取檔案系統。
1. OCST OS為依賴於DUT之有限系統環境的OS之特定版本:例如,無實體顯示器。因此,標準裝置驅動程式之集合受到限制且可經組配
2. OCST OS經標準化以使得能夠跨越各種DUT重複使用OCST。此係藉由抽象化變化之硬體環境的底層軟體來實現:例如,使用描述硬體差異之Linux裝置樹。
3. OCST OS支援DUT或應用程式特定裝置驅動程式
ii. 裸機:DUT之執行環境可能受約束且不需要進階OS服務。因此,可能不使用OCST作業系統,且直接在硬體上實施OCST執行階段環境之功能(與開機載入程式之環境相當)。
對於應全部被視為任選之細節,參考完整描述。
根據本發明之實施例可例如用於測試具有至少一個嵌人式處理器之SOC、SIP或模組。以下揭露內容僅列出「SOC」或「DUT」,但其適用於封裝中或實施(子)系統之任何種類之模組上的較高層級之整合。
根據本發明之實施例可例如用於93000晶片測試器中,但通常可用作任何測試解決方案之擴充。
11. 實施方案替代例
儘管已在設備之上下文中描述一些態樣,但顯然,此等態樣亦表示對應方法之描述,其中區塊或裝置對應於方法步驟或方法步驟之特徵。類似地,在方法步驟之上下文中描述的態樣亦表示對應設備之對應區塊或項目或特徵的描述。可由(或使用)比如微處理器、可規劃電腦或電子電路之硬體設備執行方法步驟中之一些或全部。在一些實施例中,可由此設備執行最重要方法步驟中之一或多者。
取決於某些實施方案要求,本發明之實施例可以硬體或軟體實施。可使用例如軟碟、DVD、藍光(Blu-Ray)、CD、ROM、PROM、EPROM、EEPROM或快閃記憶體之數位儲存媒體來執行實施方案,該數位儲存媒體具有儲存於其上之電子可讀控制信號,該等電子可讀控制信號與可規劃電腦系統協作(或能夠協作)以使得執行各別方法。因此,數位儲存媒體可為電腦可讀的。
根據本發明之一些實施例包含具有電子可讀控制信號之資料載體,該等控制信號能夠與可規劃電腦系統協作,使得執行本文中所描述之方法中之一者。
一般而言,本發明之實施例可實施為具有程式碼之電腦程式產品,當電腦程式產品在電腦上運行時,該程式碼操作性地用於執行該等方法中之一者。該程式碼可例如儲存於機器可讀載體上。
其他實施例包含儲存於機器可讀載體上的用於執行本文中所描述之方法中之一者的電腦程式。
換言之,本發明方法之實施例因此為電腦程式,該電腦程式具有用於在電腦程式運行於電腦上時執行本文中所描述之方法中之一者的程式碼。
因此,本發明方法之另一實施例為資料載體(或數位儲存媒體,或電腦可讀媒體),該資料載體包含記錄於其上的用於執行本文中所描述之方法中之一者的電腦程式。資料載體、數位儲存媒體或記錄媒體通常為有形的及/或非暫時性的。
因此,本發明方法之另一實施例為表示用於執行本文中所描述之方法中之一者的電腦程式之資料串流或信號序列。資料串流或信號序列可例如經組配以經由資料通訊連接(例如,經由網際網路)而傳送。
另一實施例包含經組配或經調適以執行本文中所描述之方法中之一者的處理構件,例如電腦或可規劃邏輯裝置。
另一實施例包含電腦,該電腦具有安裝於其上的用於執行本文中所描述之方法中之一者的電腦程式。
根據本發明之另一實施例包含經組配以將用於執行本文中所描述之方法中之一者的電腦程式傳送(例如,以電子方式或光學方式)至接收器的設備或系統。接收器可例如為電腦、行動裝置、記憶體裝置或其類似者。該設備或系統可例如包含用於將電腦程式傳送至接收器之檔案伺服器。
在一些實施例中,可規劃邏輯裝置(例如,場可規劃閘陣列)可用以執行本文中所描述之方法的功能性中之一些或全部。在一些實施例中,場可規劃閘陣列可與微處理器協作,以便執行本文中所描述之方法中之一者。一般而言,該等方法較佳由任何硬體設備執行。
本文中所描述之設備可使用硬體設備或使用電腦或使用硬體設備與電腦之組合來實施。
本文中所描述之設備或本文中所描述之設備的任何組件可至少部分地以硬體及/或以軟體來實施。
本文中所描述之方法可使用硬體設備或使用電腦或使用硬體設備與電腦之組合來實施。
本文中所描述之方法或本文中所描述之設備的任何組件可至少部分地由硬體及/或由軟體執行。
上文所描述之實施例僅說明本發明之原理。應理解,本文中所描述之配置及細節的修改及變化對於熟習此項技術者將為顯而易見的。因此,意圖僅受接下來之申請專利範圍之範疇限制,而不受藉助於本文中實施例之描述及解釋所呈現的特定細節限制。
100,200,1202,1402:自動測試設備
104,730,830,930,1030,1130,1510:受測裝置/晶片上系統
110,210,622:晶片上系統測試控制器
112:除錯介面/控制介面
114:高頻寬介面
216:受測裝置介面
220:參數測試資源/類比測試資源
230:數位測試資源
240:開發及除錯環境
242,244:介面
246a,246e:程式碼/程式/軟體區塊/軟體部分/晶片上系統測試環境
246b,246c,246d,246h:程式/軟體區塊/軟體部分/晶片上系統測試環境
246f:應用程式設計介面/軟體區塊/軟體部分/晶片上系統測試環境
246g:測試器軟體/軟體區塊/軟體部分
250:中央單元/組件
252:除錯介面/組件/前端電子裝置
254:控制介面/組件/前端電子裝置
256:高頻寬介面/組件/前端電子裝置
258:軟體堆疊/組件
260:軟體存放庫/組件
400,630,1310:SoC/系統/受測裝置/晶片上系統
404,504:靜態隨機存取記憶體(SRAM)/區塊
408,508:L2快取記憶體/區塊
410,510:中央處理單元核心(CPU核心)/區塊
412:非依電性隨機存取記憶體(NVRAM)/區塊
416,516:唯讀記憶體/區塊
420,520:非同步應用互連/區塊
430,530:除錯/測試設計(DFT)存取區塊
440,540,1330:周邊區塊
450,550:共處理器/區塊
460,560:非同步除錯互連/區塊
470,1660a,1660b,1660c:輸入/輸出多工器
500:模組/受測裝置/晶片上系統
512:非依電性隨機存取記憶體/區塊/模組
580:主機介面/區塊
584:記憶體控制器/區塊
588:快閃記憶體控制器/區塊
610,710,810,910,1010,1110,1210,1410:工作站/自動測試設備
612,1612a:整合式開發環境/開發及除錯環境
614:整合式測試執行程式/開發及除錯環境
620,720,820,920,1020,1120:測試系統/自動測試設備
624,628:數位輸入/輸出儀器/數位測試資源
626:類比/射頻(RF)/高速輸入輸出(HSIO)/儀器/類比測試資源/參數測試資源
629:裝置電源供應儀器/裝置電源供應器/類比測試資源/參數測試資源
629a,1644:同步匯流排
1212:整合式開發環境
1214a:嵌入式軟體除錯器
1214b:ATE除錯器
1216:ATE流程
1218,1218a,1612d:自動測試設備測試套件
1219:自動測試設備執行階段環境
1220,1420:自動測試設備硬體/自動測試設備
1230,1430:受測裝置硬體/受測裝置/晶片上系統
1232:作業系統內核/軟體模組/晶片上系統測試環境
1232a,1232b:裝置驅動程式/軟體模組/晶片上系統測試環境
1234a,1234b:裝置驅動程式
1236:裝置樹/晶片上系統測試環境
1238:OCST運行器/軟體模組/晶片上系統測試環境
1240:晶片上測試程式碼/晶片上系統測試/晶片上系統測試軟體
1242:晶片上系統測試執行階段環境/晶片上系統測試環境
1244:軟體模組
1320:CPU核心
1322:SRAM
1324:L2快取記憶體
1326:NVRAM
1328:ROM
1332:記憶體控制器
1412:整合式開發環境/軟體模組/開發及除錯環境
1414a:嵌入式軟體除錯器/軟體模組/開發及除錯環境
1414b:ATE除錯器/軟體模組/開發及除錯環境
1418:自動測試設備測試套件/軟體模組/開發及除錯環境
1419:自動測試設備執行階段環境/軟體模組/開發及除錯環境
1438:OCST運行器/晶片上系統測試環境
1440:晶片上測試程式碼/晶片上系統測試/晶片上系統測試軟體/晶片上系統測試環境
1442:晶片上系統測試執行階段環境
1444:裝置樹
1610:工作站硬體
1612:工作站軟體
1612b:嵌入式除錯器/開發及除錯環境
1612c:ATE除錯器/開發及除錯環境
1612e:自動測試設備執行階段環境/開發及除錯環境
1612f:Linux內核/開發及除錯環境
1612g,1622e:測試資料匯流排驅動程式
1620:晶片上系統測試控制器硬體/晶片上系統測試控制器
1622:晶片上系統測試控制器軟體/軟體堆疊
1622a:OCST精靈協助程式/晶片上系統測試服務軟體
1622b:Linux內核/作業系統
1622c:JTAG驅動程式
1622d:PCIe驅動程式
1622f:同步匯流排驅動程式
1640:場可規劃閘陣列/中央單元
1642:DRAM
1646:資料匯流排
1650:位準移位器/除錯介面/控制介面/前端電子裝置
1652:PCIe實體介面/高頻寬介面/前端電子裝置
1654:USB實體介面/高頻寬介面/前端電子裝置
1670:參數量測單元/實體量測單元
隨後將參看附圖描述根據本發明之實施例,在附圖中:
圖1展示根據本發明之實施例的自動測試設備之示意性方塊圖;
圖2展示根據本發明之實施例的自動測試設備之示意性方塊圖;
圖3展示供用於根據圖2之自動測試設備中的開發及除錯環境之示意性表示;
圖4展示可使用本文中所揭露之自動測試設備來測試的系統單晶片之示意性方塊圖;
圖5展示可使用本文中所描述之自動測試設備來測試的模組之示意性方塊圖;
圖6展示晶片上系統測試之示意性表示;
圖7展示執行類比測試及/或RF接收器測試之第一情境的示意性表示;
圖8展示執行類比測試及/或RF傳輸器測試之第二情境的示意性表示;
圖9展示執行高速輸入輸出(HSIO)參數測試之第三情境的示意性表示;
圖10展示執行高速輸入輸出(HSIO)協定引擎測試之第四情境的示意性表示;
圖11展示執行互連應力測試之第五情境的示意性表示;
圖12展示具有作業系統環境之晶片上系統測試(OCST)的示意性表示;
圖13展示嵌入式作業系統開機序列之示意性表示;
圖14展示具有裸機(bare metal)環境之晶片上系統測試的示意性表示;
圖15展示經由除錯埠之嵌入式裸機開機的示意性表示;及
圖16展示實體OCST控制器之示意性方塊圖。
100:自動測試設備
104:受測裝置/晶片上系統
110:晶片上系統測試控制器
112:除錯介面/控制介面
114:高頻寬介面
Claims (29)
- 一種用以測試受測裝置之自動測試設備,該自動測試設備包含:一晶片上系統測試控制器,其包含經組配以與該受測裝置通訊之至少一個除錯介面,其中該晶片上系統測試控制器經組配以控制該受測裝置之一測試,其中該受測裝置包含一系統單晶片;以及一開發及除錯環境,其經調適以對用於在該受測裝置執行之晶片上系統測試軟體及要由該自動測試設備執行之一測試程式二者進行開發及除錯,其中當對用於在該受測裝置上執行之晶片上系統測試軟體進行開發及除錯時,該開發及除錯環境允許該受測裝置去存取及改變與該自動測試設備的測試資源相關聯之一或多個特性。
- 如請求項1之自動測試設備,其中該晶片上系統測試控制器進一步包含經組配以與該受測裝置通訊之至少一個高頻寬介面。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以將該至少一個除錯介面以可變方式分配至一受測裝置介面。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以將一或多個參數測試資源以可變方式分配至該受測裝置。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以執行一軟體堆疊,該軟體堆疊包含一作業系統、一晶片上系統測試服務軟體、及用於經由該至少一除錯介面與該受測裝置通訊之一或多個驅動程式。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以執行由一使用者提供之應用程式特定常式。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以選擇性地進行下列中之一者:將一晶片上系統測試環境載入至該受測裝置上;將一晶片上系統測試載入至該受測裝置上;及初始化該受測裝置上之該晶片上系統測試環境。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以將一參數集上傳至該受測裝置上,其中該參數集係可操作以參數化一晶片上系統測試。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以啟動載入至該受測裝置上之一晶片上系統測試。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以基於呈一測試定序語言之一總體測試執行程式而控制該受測裝置之該測試。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以控制一或多個類比測試資源;及/或其中該晶片上系統測試控制器經組配以,除該至少一除錯介面外,還控制一或多個數位測試資源;及/或其中該晶片上系統測試控制器經組配以使一或多個類比測試資源同步;及/或其中該晶片上系統測試控制器經組配以,除該至少一除錯介面外,還使一 或多個數位測試資源同步。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器包含一本端通訊介面,該本端通訊介面可操作以控制一或多個類比測試資源及/或一或多個數位測試資源;及/或其中該晶片上系統測試控制器包含一本端同步介面,該本端同步介面可操作以使一或多個類比測試資源及/或一或多個數位測試資源同步。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以自在該受測裝置上執行之一晶片上系統測試接收命令及/或資料,且取決於該所接收命令及/或該所接收資料而調適一測試執行流程。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以自在該受測裝置上執行之一晶片上系統測試接收命令及/或資料,且取決於該所接收命令及/或該所接收資料而調適測試資源。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器進一步包含經組配以提供一嵌入式軟體環境之一中央單元及實施該至少一個除錯介面之一或多個介面區塊;且其中該晶片上系統測試控制器進一步包含可操作以用於將一或多個信號提供至該受測裝置且用於自該受測裝置接收一或多個信號之前端電子裝置;且其中該晶片上系統測試控制器進一步包含經組配以與該自動測試設備之一或多個其他組件通訊及/或與該自動測試設備之一或多個其他組件同步的一或多個後端介面。
- 如請求項1或2之自動測試設備,其進一步包含至一或多個開發及除錯環境之一介面。
- 如請求項1或2之自動測試設備,其進一步包含一介面且其中該開發及除錯環境包含一程式碼以允許經由該介面自該晶片上系統對一記憶體內容之存取。
- 如請求項1或2之自動測試設備,其中該開發及除錯環境包含一介面以允許一除錯軟體控制一程式及/或一或多個參數集至該受測裝置上之一上傳。
- 如請求項1或2之自動測試設備,其中該開發及除錯環境包含一介面以允許一除錯軟體存取該受測裝置之一除錯介面。
- 如請求項1或2之自動測試設備,其中該開發及除錯環境經組配以提供對該受測裝置之一除錯介面的一除錯軟體直接存取。
- 如請求項1或2之自動測試設備,其中該開發及除錯環境包含供用於晶片上系統軟體之一開發中的一應用程式設計介面,以在所開發之晶片上系統測試軟體執行於該受測裝置上時允許該受測裝置與該自動測試設備之測試資源之間的一通訊。
- 如請求項21之自動測試設備,其中該開發及除錯介面亦包含測試器軟體以支援該自動測試設備之測試資源與執行該所開發之晶片上系統測試軟體的該受測裝置通訊。
- 如請求項1或2之自動測試設備,其中該開發及除錯環境包含供用於晶片上系統測試軟體之一開發中的一程式,以允許另一軟體自該自動測試設備至該受測裝置之一上傳及/或允許藉由該自動測試設備控制該受測裝置上之一程式執行。
- 如請求項1或2之自動測試設備, 其中該開發及除錯環境包含供用於晶片上系統測試軟體之一開發中的一程式,以監督執行於該受測裝置上之一程式。
- 如請求項1或2之自動測試設備,其中該自動測試設備之一控制器經組配以使一或多個測試器資源、該晶片上系統測試控制器及在該受測裝置上執行之一晶片上系統測試同步。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以回應於由在該受測裝置上運行之一晶片上系統測試提供的控制資訊而執行在由該自動測試設備執行之該測試程式中的條件性跳躍。
- 如請求項1或2之自動測試設備,其中該晶片上系統測試控制器經組配以等待在該受測裝置上運行之一晶片上系統測試的一完成。
- 一種用以測試受測裝置之自動測試設備,其包含:一晶片上系統測試控制器,其包含經組配以與該受測裝置通訊之至少一個控制介面,其中該晶片上系統測試控制器經組配以控制該受測裝置之一測試,其中該受測裝置為一系統單晶片,其中該晶片上系統測試控制器經組配以將該至少一個控制介面以可變方式分配至一受測裝置介面;以及一開發及除錯環境,其經調適以對用於在該受測裝置執行之晶片上系統測試軟體及要由該自動測試設備執行之一測試程式二者進行開發及除錯,其中當對用於在該受測裝置上執行之晶片上系統測試軟體進行開發及除錯時,該開發及除錯環境允許該受測裝置存取及改變與該自動測試設備的測試資源相關聯之一或多個特性。
- 一種用以測試受測裝置之自動測試設備,其包含:一晶片上系統測試控制器,其包含經組配以與該受測裝置通訊之至少一個 高頻寬介面,其中該晶片上系統測試控制器經組配以控制該受測裝置之一測試,其中該受測裝置為一系統單晶片,其中該晶片上系統測試控制器經組配以將該至少一個高頻寬介面以可變方式分配至一受測裝置介面;以及一開發及除錯環境,其經調適以對用於在該受測裝置執行之晶片上系統測試軟體及要由該自動測試設備執行之一測試程式二者進行開發及除錯,其中當對用於在該受測裝置上執行之晶片上系統測試軟體進行開發及除錯時,該開發及除錯環境允許該受測裝置存取及改變與該自動測試設備的測試資源相關聯之一或多個特性。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962795456P | 2019-01-22 | 2019-01-22 | |
PCT/EP2020/051538 WO2020152230A1 (en) | 2019-01-22 | 2020-01-22 | Automated text equipment using an on-chip-system test controller |
WOPCT/EP2020/051538 | 2020-01-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202132793A TW202132793A (zh) | 2021-09-01 |
TWI853053B true TWI853053B (zh) | 2024-08-21 |
Family
ID=69192062
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109122800A TWI853053B (zh) | 2019-01-22 | 2020-07-06 | 使用晶片上系統測試控制器之自動測試設備 |
TW109122801A TWI853054B (zh) | 2019-01-22 | 2020-07-06 | 用以測試一或多個受測裝置之自動化測試設備、用以自動化測試一或多個受測裝置之方法、及使用緩衝記憶體之電腦程式 |
TW109122802A TW202202865A (zh) | 2019-01-22 | 2020-07-06 | 用以測試一或多個受測裝置之自動化測試設備、用以自動化測試一或多個受測裝置之方法、及用以處理命令錯誤之電腦程式 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109122801A TWI853054B (zh) | 2019-01-22 | 2020-07-06 | 用以測試一或多個受測裝置之自動化測試設備、用以自動化測試一或多個受測裝置之方法、及使用緩衝記憶體之電腦程式 |
TW109122802A TW202202865A (zh) | 2019-01-22 | 2020-07-06 | 用以測試一或多個受測裝置之自動化測試設備、用以自動化測試一或多個受測裝置之方法、及用以處理命令錯誤之電腦程式 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11385285B2 (zh) |
JP (3) | JP7295954B2 (zh) |
KR (3) | KR102569335B1 (zh) |
CN (3) | CN111989580B (zh) |
DE (3) | DE112020000469T5 (zh) |
TW (3) | TWI853053B (zh) |
WO (3) | WO2020152231A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11204849B2 (en) | 2020-03-13 | 2021-12-21 | Nvidia Corporation | Leveraging low power states for fault testing of processing cores at runtime |
US11809570B2 (en) * | 2020-10-06 | 2023-11-07 | Newae Technology Inc | Method and apparatus for analyzing side channel-related security vulnerabilities in digital devices |
US11719749B1 (en) * | 2020-10-22 | 2023-08-08 | Cadence Design Systems, Inc. | Method and system for saving and restoring of initialization actions on dut and corresponding test environment |
CN112597006B (zh) * | 2020-12-14 | 2023-10-03 | 中国航发控制系统研究所 | 一种嵌入式软件集成测试自动化执行系统及方法 |
US11836059B1 (en) | 2020-12-14 | 2023-12-05 | Sanblaze Technology, Inc. | System and method for testing non-volatile memory express storage devices |
US11431379B1 (en) | 2021-03-31 | 2022-08-30 | Teradyne, Inc. | Front-end module |
CN115391108A (zh) * | 2021-05-25 | 2022-11-25 | 爱德万测试股份有限公司 | 自动测试设备系统及其自动测试设备方法 |
CN113572661B (zh) * | 2021-07-28 | 2022-12-27 | 迈普通信技术股份有限公司 | 一种测试多激活检测性能的系统和方法 |
CN113836060B (zh) * | 2021-09-24 | 2024-05-28 | 北京机电工程研究所 | 一种适用于仿真模型及流程模型的分布式实时仿真平台 |
CN113961405B (zh) * | 2021-09-30 | 2022-10-28 | 北京百度网讯科技有限公司 | 状态切换指令验证方法、装置、电子设备及存储介质 |
CN118829890A (zh) * | 2021-11-08 | 2024-10-22 | 爱德万测试集团 | 自动测试设备、被测设备、测试装置、使用触发线的方法 |
CN114167258B (zh) * | 2021-11-29 | 2024-03-22 | 上海御渡半导体科技有限公司 | 一种ate测试系统的数据存储和读取装置及方法 |
CN113904970B (zh) * | 2021-12-09 | 2022-03-01 | 伟恩测试技术(武汉)有限公司 | 一种半导体测试设备的传输系统及方法 |
CN114461150B (zh) * | 2022-02-09 | 2024-08-16 | 马来西亚明试国际有限公司 | 一种用于自动测试设备数据聚合的方法、系统及存储介质 |
KR102461404B1 (ko) * | 2022-04-08 | 2022-10-31 | 주식회사 세미파이브 | 시스템 온 칩과 메모리 사이의 통신을 위한 io 파라미터를 설정하는 방법 및 장치 |
US11853251B2 (en) * | 2022-05-04 | 2023-12-26 | Qualcomm Incorporated | On-die chip-to-chip (C2C) link state monitor |
US20240096432A1 (en) * | 2022-09-15 | 2024-03-21 | Advantest Corporation | Memory queue operations to increase throughput in an ate system |
TWI847363B (zh) * | 2022-11-14 | 2024-07-01 | 華邦電子股份有限公司 | 積體電路測試方法及裝置 |
TWI847391B (zh) * | 2022-11-28 | 2024-07-01 | 英業達股份有限公司 | 適用於SlimSAS插槽的檢測系統及其方法 |
CN116340191B (zh) * | 2023-05-31 | 2023-08-08 | 合肥康芯威存储技术有限公司 | 一种存储器固件的测试方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156113A1 (en) * | 2004-12-10 | 2006-07-13 | Whetsel Lee D | Reduced signaling interface method & apparatus |
TW200834098A (en) * | 2006-11-29 | 2008-08-16 | Advantest Corp | Pattern controlled, full speed ATE compare capability for deterministic and non-deterministic IC data |
US20140244204A1 (en) * | 2013-02-28 | 2014-08-28 | Advantest Corporation | Tester with acceleration for packet building within a fpga block |
TW201443463A (zh) * | 2013-01-16 | 2014-11-16 | Test Evolution Corp | 基於測試ip之自動測試設備之儀器結構 |
TW201837490A (zh) * | 2017-01-31 | 2018-10-16 | 美商奧克塔佛系統有限責任公司 | 用於測試在封裝裝置中之系統之自動測試設備方法 |
Family Cites Families (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2966417B2 (ja) * | 1988-09-05 | 1999-10-25 | 株式会社アドバンテスト | 論理集積回路試験装置 |
US5103450A (en) * | 1989-02-08 | 1992-04-07 | Texas Instruments Incorporated | Event qualified testing protocols for integrated circuits |
US5321702A (en) * | 1989-10-11 | 1994-06-14 | Teradyne, Inc. | High speed timing generator |
JP3114753B2 (ja) * | 1991-10-31 | 2000-12-04 | 九州日本電気株式会社 | Lsiテスト方法 |
JPH07244130A (ja) * | 1994-03-02 | 1995-09-19 | Sony Tektronix Corp | テストパターン発生器 |
JPH08129508A (ja) * | 1994-10-31 | 1996-05-21 | Toshiba Corp | コンピュータシステム及びその共有メモリ制御方法 |
JPH10240560A (ja) * | 1997-02-26 | 1998-09-11 | Toshiba Corp | 波形信号処理装置 |
GB9805054D0 (en) * | 1998-03-11 | 1998-05-06 | Process Intelligence Limited | Memory test system with buffer memory |
WO2000000836A1 (en) | 1998-06-29 | 2000-01-06 | Iliya Valeryevich Klochkov | A skew calibration means and a method of skew calibration |
US6452411B1 (en) * | 1999-03-01 | 2002-09-17 | Formfactor, Inc. | Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses |
JP2001210685A (ja) * | 1999-11-19 | 2001-08-03 | Hitachi Ltd | テストシステムおよび半導体集積回路装置の製造方法 |
US6424926B1 (en) | 2000-03-31 | 2002-07-23 | Intel Corporation | Bus signature analyzer and behavioral functional test method |
KR100374328B1 (ko) | 2000-06-03 | 2003-03-03 | 박현숙 | 칩 설계 검증 및 테스트 장치 및 방법 |
JP2002156404A (ja) | 2000-11-20 | 2002-05-31 | Seiko Epson Corp | 半導体測定方法及び半導体測定装置 |
JP2002311095A (ja) | 2001-04-12 | 2002-10-23 | Tritec:Kk | Lsi検査装置 |
US6988232B2 (en) | 2001-07-05 | 2006-01-17 | Intellitech Corporation | Method and apparatus for optimized parallel testing and access of electronic circuits |
JP2003121499A (ja) * | 2001-10-09 | 2003-04-23 | Hitachi Ltd | 組込みテスト機能付き半導体集積回路、テストコード生成プログラムから成る電子設計データを保存する記憶媒体、該半導体集積回路のテスト方法、テストコード生成自動化方法及びそのプログラム |
AU2003249631A1 (en) * | 2002-05-08 | 2003-11-11 | Nptest, Inc. | Tester system having a multi-purpose memory |
JP2004030765A (ja) | 2002-06-25 | 2004-01-29 | Fujitsu Ltd | 自己診断機能内蔵の半導体記憶装置 |
JP3614838B2 (ja) | 2002-09-19 | 2005-01-26 | Necエレクトロニクス株式会社 | 半導体検査システム及び半導体デバイスの検査方法 |
US7131046B2 (en) * | 2002-12-03 | 2006-10-31 | Verigy Ipco | System and method for testing circuitry using an externally generated signature |
GB0315931D0 (en) * | 2003-07-08 | 2003-08-13 | Koninkl Philips Electronics Nv | Radio device testing system |
US7310752B2 (en) * | 2003-09-12 | 2007-12-18 | Micron Technology, Inc. | System and method for on-board timing margin testing of memory modules |
JP4602004B2 (ja) | 2004-06-22 | 2010-12-22 | 株式会社東芝 | テストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラム |
US7089139B2 (en) * | 2004-08-16 | 2006-08-08 | Agilent Technologies, Inc. | Method and apparatus for configuration of automated debug of in-circuit tests |
US7627798B2 (en) | 2004-10-08 | 2009-12-01 | Kabushiki Kaisha Toshiba | Systems and methods for circuit testing using LBIST |
US7437517B2 (en) * | 2005-01-11 | 2008-10-14 | International Business Machines Corporation | Methods and arrangements to manage on-chip memory to reduce memory latency |
JP2006266835A (ja) * | 2005-03-23 | 2006-10-05 | Advantest Corp | 試験装置、試験方法、及び試験制御プログラム |
US20070168809A1 (en) | 2005-08-09 | 2007-07-19 | Naoki Kiryu | Systems and methods for LBIST testing using commonly controlled LBIST satellites |
CN1925384A (zh) * | 2005-09-02 | 2007-03-07 | 上海乐金广电电子有限公司 | 数字广播信息流传输错误检测装置及方法 |
US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
US7389461B2 (en) * | 2005-09-28 | 2008-06-17 | Teradyne, Inc. | Data capture in automatic test equipment |
CN1987236A (zh) * | 2005-12-22 | 2007-06-27 | 乐金电子(天津)电器有限公司 | 空调器的错误记录管理控制装置及其管理控制方法 |
US7552370B2 (en) | 2006-03-31 | 2009-06-23 | Robert Pochowski | Application specific distributed test engine architecture system and method |
WO2007119485A1 (ja) * | 2006-04-06 | 2007-10-25 | Advantest Corporation | 試験装置および試験方法 |
US7769558B2 (en) * | 2006-07-10 | 2010-08-03 | Asterion, Inc. | Digital waveform generation and measurement in automated test equipment |
DE602006017446D1 (de) * | 2006-08-04 | 2010-11-18 | Verigy Pte Ltd Singapore | Testmodul mit blöcken universeller und spezifischer ressourcen |
US7698088B2 (en) * | 2006-11-15 | 2010-04-13 | Silicon Image, Inc. | Interface test circuitry and methods |
US7486205B2 (en) * | 2006-11-28 | 2009-02-03 | Samplify Systems, Inc. | Compression and decompression of stimulus and response waveforms in automated test systems |
US20080196103A1 (en) * | 2007-02-09 | 2008-08-14 | Chao-Yu Lin | Method for analyzing abnormal network behaviors and isolating computer virus attacks |
KR100897681B1 (ko) * | 2007-04-05 | 2009-05-14 | 베리지 (싱가포르) 피티이. 엘티디. | 테스트 프로그램 적응 시스템 및 자동화 테스트 시스템 |
US20090112548A1 (en) * | 2007-10-30 | 2009-04-30 | Conner George W | A method for testing in a reconfigurable tester |
US7717752B2 (en) | 2008-07-01 | 2010-05-18 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
US20100023294A1 (en) * | 2008-07-28 | 2010-01-28 | Credence Systems Corporation | Automated test system and method |
US8533545B2 (en) | 2009-03-04 | 2013-09-10 | Alcatel Lucent | Method and apparatus for system testing using multiple instruction types |
US8195419B2 (en) | 2009-03-13 | 2012-06-05 | Teradyne, Inc. | General purpose protocol engine |
US8170828B2 (en) | 2009-06-05 | 2012-05-01 | Apple Inc. | Test method using memory programmed with tests and protocol to communicate between device under test and tester |
US8386867B2 (en) * | 2009-07-02 | 2013-02-26 | Silicon Image, Inc. | Computer memory test structure |
US8261119B2 (en) | 2009-09-10 | 2012-09-04 | Advantest Corporation | Test apparatus for testing device has synchronization module which synchronizes analog test module to digital test module based on synchronization signal received from digital test module |
US20110273197A1 (en) * | 2010-05-07 | 2011-11-10 | Qualcomm Incorporated | Signal generator for a built-in self test |
JP2011248597A (ja) | 2010-05-26 | 2011-12-08 | Yokogawa Electric Corp | テスタシミュレーション装置、テスタシミュレーションプログラムおよびテスタシミュレーション方法 |
US8718967B2 (en) * | 2010-05-28 | 2014-05-06 | Advantest Corporation | Flexible storage interface tester with variable parallelism and firmware upgradeability |
WO2012033484A1 (en) * | 2010-09-07 | 2012-03-15 | Verigy (Singapore) Pte. Ltd. | Systems, methods and apparatus using virtual appliances in a semiconductor test environment |
US8598898B2 (en) | 2010-10-05 | 2013-12-03 | Silicon Image, Inc. | Testing of high-speed input-output devices |
US9043665B2 (en) * | 2011-03-09 | 2015-05-26 | Intel Corporation | Functional fabric based test wrapper for circuit testing of IP blocks |
US20120324302A1 (en) * | 2011-06-17 | 2012-12-20 | Qualcomm Incorporated | Integrated circuit for testing using a high-speed input/output interface |
US9470759B2 (en) | 2011-10-28 | 2016-10-18 | Teradyne, Inc. | Test instrument having a configurable interface |
TW201337236A (zh) | 2012-03-15 | 2013-09-16 | Le & Der Co Ltd | 流體自動化採樣控制裝置 |
US9606183B2 (en) * | 2012-10-20 | 2017-03-28 | Advantest Corporation | Pseudo tester-per-site functionality on natively tester-per-pin automatic test equipment for semiconductor test |
US9026869B1 (en) * | 2012-11-01 | 2015-05-05 | Amazon Technologies, Inc. | Importance-based data storage verification |
US9959186B2 (en) * | 2012-11-19 | 2018-05-01 | Teradyne, Inc. | Debugging in a semiconductor device test environment |
US9183952B2 (en) * | 2013-02-20 | 2015-11-10 | Micron Technology, Inc. | Apparatuses and methods for compressing data received over multiple memory accesses |
US10161993B2 (en) | 2013-02-21 | 2018-12-25 | Advantest Corporation | Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block |
US20140237292A1 (en) * | 2013-02-21 | 2014-08-21 | Advantest Corporation | Gui implementations on central controller computer system for supporting protocol independent device testing |
US20140236527A1 (en) * | 2013-02-21 | 2014-08-21 | Advantest Corporation | Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems |
US10162007B2 (en) * | 2013-02-21 | 2018-12-25 | Advantest Corporation | Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently |
US11009550B2 (en) | 2013-02-21 | 2021-05-18 | Advantest Corporation | Test architecture with an FPGA based test board to simulate a DUT or end-point |
US9952276B2 (en) | 2013-02-21 | 2018-04-24 | Advantest Corporation | Tester with mixed protocol engine in a FPGA block |
US9310427B2 (en) * | 2013-07-24 | 2016-04-12 | Advantest Corporation | High speed tester communication interface between test slice and trays |
US20150153405A1 (en) * | 2013-12-04 | 2015-06-04 | Princeton Technology Corporation | Automatic testing system and method |
CN204044309U (zh) * | 2014-01-24 | 2014-12-24 | 矽创电子股份有限公司 | 自动测试设备和升级自动测试设备的集成电路测试界面 |
US9934831B2 (en) * | 2014-04-07 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters |
US9304846B2 (en) * | 2014-04-29 | 2016-04-05 | Ford Global Technologies, Llc | Apparatus and method of error monitoring with a diagnostic module |
US9811420B2 (en) * | 2015-03-27 | 2017-11-07 | Intel Corporation | Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC) |
JP6458626B2 (ja) | 2015-05-07 | 2019-01-30 | 富士通株式会社 | デバッグ回路、半導体装置及びデバッグ方法 |
KR102377362B1 (ko) * | 2015-07-08 | 2022-03-23 | 삼성전자주식회사 | 보조 테스트 장치, 그것을 포함하는 테스트 보드 및 그것의 테스트 방법 |
JP6386434B2 (ja) | 2015-10-08 | 2018-09-05 | 株式会社アドバンテスト | 試験装置、試験信号供給装置、試験方法、およびプログラム |
CN105895163B (zh) * | 2016-03-28 | 2018-09-28 | 工业和信息化部电子第五研究所 | 基于镜像备份的单粒子效应检测方法和系统 |
US10395748B2 (en) * | 2016-06-15 | 2019-08-27 | Micron Technology, Inc. | Shared error detection and correction memory |
JP2018006406A (ja) | 2016-06-28 | 2018-01-11 | 東京エレクトロン株式会社 | 基板検査装置 |
JP6686769B2 (ja) | 2016-07-27 | 2020-04-22 | 富士通株式会社 | テストパタン生成装置及びテストパタン生成方法 |
JP6878071B2 (ja) | 2017-03-21 | 2021-05-26 | 株式会社東芝 | 半導体集積回路及び半導体集積回路の診断方法 |
US10580200B2 (en) | 2017-04-07 | 2020-03-03 | Intel Corporation | Virtual reality apparatus and method including prioritized pixel shader operations, alternate eye rendering, and/or augmented timewarp |
CN107390109B (zh) * | 2017-06-09 | 2019-12-24 | 苏州迅芯微电子有限公司 | 高速adc芯片的自动测试平台及其软件架构设计方法 |
TWI661208B (zh) * | 2017-10-11 | 2019-06-01 | 致茂電子股份有限公司 | 測試裝置及其測試電路板 |
-
2020
- 2020-01-22 DE DE112020000469.4T patent/DE112020000469T5/de active Pending
- 2020-01-22 KR KR1020217015278A patent/KR102569335B1/ko active IP Right Grant
- 2020-01-22 CN CN202080002335.0A patent/CN111989580B/zh active Active
- 2020-01-22 KR KR1020217026464A patent/KR102604010B1/ko active IP Right Grant
- 2020-01-22 WO PCT/EP2020/051540 patent/WO2020152231A1/en active Application Filing
- 2020-01-22 DE DE112020000036.2T patent/DE112020000036T5/de active Pending
- 2020-01-22 DE DE112020000035.4T patent/DE112020000035T5/de active Pending
- 2020-01-22 KR KR1020217015271A patent/KR102591340B1/ko active IP Right Grant
- 2020-01-22 JP JP2021532983A patent/JP7295954B2/ja active Active
- 2020-01-22 CN CN202080010066.2A patent/CN113330322B/zh active Active
- 2020-01-22 JP JP2020560932A patent/JP7058759B2/ja active Active
- 2020-01-22 WO PCT/EP2020/051543 patent/WO2020152232A1/en active Application Filing
- 2020-01-22 WO PCT/EP2020/051538 patent/WO2020152230A1/en active Application Filing
- 2020-01-22 CN CN202080005127.6A patent/CN112703409B/zh active Active
- 2020-01-22 JP JP2020561063A patent/JP7101814B2/ja active Active
- 2020-07-06 TW TW109122800A patent/TWI853053B/zh active
- 2020-07-06 TW TW109122801A patent/TWI853054B/zh active
- 2020-07-06 TW TW109122802A patent/TW202202865A/zh unknown
- 2020-10-14 US US17/070,696 patent/US11385285B2/en active Active
- 2020-11-10 US US17/094,047 patent/US11415628B2/en active Active
- 2020-11-10 US US17/094,129 patent/US11913990B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156113A1 (en) * | 2004-12-10 | 2006-07-13 | Whetsel Lee D | Reduced signaling interface method & apparatus |
TW200834098A (en) * | 2006-11-29 | 2008-08-16 | Advantest Corp | Pattern controlled, full speed ATE compare capability for deterministic and non-deterministic IC data |
TW201443463A (zh) * | 2013-01-16 | 2014-11-16 | Test Evolution Corp | 基於測試ip之自動測試設備之儀器結構 |
US20140244204A1 (en) * | 2013-02-28 | 2014-08-28 | Advantest Corporation | Tester with acceleration for packet building within a fpga block |
TW201837490A (zh) * | 2017-01-31 | 2018-10-16 | 美商奧克塔佛系統有限責任公司 | 用於測試在封裝裝置中之系統之自動測試設備方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI853053B (zh) | 使用晶片上系統測試控制器之自動測試設備 | |
US10288681B2 (en) | Test architecture with a small form factor test board for rapid prototyping | |
US9152520B2 (en) | Programmable interface-based validation and debug | |
US10776233B2 (en) | Programmable test instrument | |
US20080016396A1 (en) | Test emulator, test module emulator and record medium storing program therein | |
EP1610136B1 (en) | Test emulator | |
JPH10269103A (ja) | 製造テスト・システム | |
JP2009116876A (ja) | 試験装置のシミュレーションシステム、方法、及びプログラム製品 | |
JP2009116878A (ja) | 試験装置のシミュレーションシステム、方法、及びプログラム製品 | |
JP2007057541A (ja) | 試験エミュレート装置 | |
CN115933579A (zh) | 一种基于ate的dsp芯片测试系统 | |
CN115934432A (zh) | 一种dsp芯片的多功能测试方法 | |
US7017097B1 (en) | Simultaneously driving a hardware device and a software model during a test | |
US20240369615A1 (en) | Automated test equipment, device under test, test setup methods using an acknowledge signaling | |
US20240369617A1 (en) | Automated test equipment, device under test, test setup methods using a measurement request | |
US20240369616A1 (en) | Automated test equipment, device under test, test setup methods using a trigger line | |
JP2005285092A (ja) | 試験エミュレート装置 | |
CN207946806U (zh) | 一种调试器和调试装置 | |
REDDY | External Debug Support For Shakti Processor | |
CN115904826A (zh) | 一种基于ate的dsp测试方法 | |
Jain et al. | Methodological framework for automation of hardware software co-validation of an IP |