TWI783590B - 晶片驗證系統及其驗證方法 - Google Patents
晶片驗證系統及其驗證方法 Download PDFInfo
- Publication number
- TWI783590B TWI783590B TW110127249A TW110127249A TWI783590B TW I783590 B TWI783590 B TW I783590B TW 110127249 A TW110127249 A TW 110127249A TW 110127249 A TW110127249 A TW 110127249A TW I783590 B TWI783590 B TW I783590B
- Authority
- TW
- Taiwan
- Prior art keywords
- module
- access
- register
- read
- parameter
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- 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/31704—Design for test; Design verification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Inspection Of Paper Currency And Valuable Securities (AREA)
- Slot Machines And Peripheral Devices (AREA)
Abstract
晶片驗證系統包含多個激勵模組、暫存器模型以及驗證結果模組。暫存器模型包含暫存器資料庫、多個訪問模組以及回傳模組。每一訪問模組對應屬性參數之一。每一激勵模組將其序列的定址碼傳送至回傳模組。回傳模組根據收到的定址碼,從暫存器資料庫中獲得對應收到的定址碼的定址標的及屬性參數,並輸出屬性參數。每一驅動模組依據收到輸出的屬性參數,調用對應的訪問模組,以依據序列的讀寫指令對待測電路之暫存器進行操作。驗證結果模組記錄被執行的每一操作,以分別產生一操作記錄,並根據操作記錄及暫存器中的資料,輸出驗證結果。
Description
本發明是有關於一種驗證技術,尤其是一種可驗證不同訪問方式的暫存器之晶片驗證系統及其驗證方法。
一般在晶片(或是積體電路)設計之後,且投片生產之前,需要透過對所設計的晶片之功能進行驗證以檢測其是否為正常運作(例如晶片之暫存器是否可正確的被訪問)。由於現在的晶片通常具有一些設計規範,且一般可外接多種不同的設備,而不同設備可支援不同的訪問方式(例如支援不同的通訊協議),因而晶片之暫存器需支援相應於前述之訪問方式或是符合設計規範的一些特殊的訪問方式(例如eFuse(電子熔斷器)的訪問方式或是EEPROM(電子抹除式可複寫唯讀記憶體)的訪問方式),以與外接設備進行資料的傳遞或是可以符合設計規範。
一般而言,若欲驗證每種不同的訪問方式,則需針對每種訪問方式分別建立對應的驗證平台、驗證系統(例如基於通用驗證方法學(Universal Verification Methodology,UVM)建立多種不同的驗證平台架構)、或是測試項目(test item)。然而,此種方法不僅會造成工作量上升及驗證系統設計時程過長,還會無法驗證晶片的多種情境混用及無法驗證晶片之不同的訪問方式共用之情形。例如,晶片於工作時可能會有多種不同的訪問方式共同運作,或是晶片於不同的工作階段(例如啟動階段、供電穩定階段以及正常工作階段)是運作不同的訪問方式,而前述之只針對單一訪問方式的單一驗證系統則無法實現此晶片的驗證。
鑒於上述,本案提供一種晶片驗證系統及其驗證方法。在一些實施例中,藉由本案之基於通用驗證方法的晶片驗證系統及其驗證方法,可以單一驗證系統即實現對不同訪問方式的暫存器之功能驗證,並可模擬晶片於不同工作階段下的暫存器之被訪問情形。
依據一些實施例,晶片驗證系統適於驗證一待測電路。待測電路包含多個暫存器。晶片驗證系統包含多個激勵模組、一暫存器模型以及一驗證結果模組。每一激勵模組包含一序列及一驅動模組。每一序列包含一定址碼及一讀寫指令。暫存器模型包含一暫存器資料庫、多個訪問模組以及一回傳模組。暫存器資料庫儲存有每一暫存器的一定址標的及一屬性參數。同一暫存器之定址標的對應屬性參數。每一訪問模組對應該些屬性參數之一。每一激勵模組將其序列的定址碼傳送至回傳模組。回傳模組根據收到的定址碼,從暫存器資料庫中獲得對應收到的定址碼的定址標的及屬性參數,並輸出對應的屬性參數。每一激勵模組的驅動模組依據收到輸出的屬性參數,調用對應的訪問模組,以依據同一激勵模組的讀寫指令對待測電路之暫存器進行一操作。驗證結果模組記錄被執行的每一操作,以分別產生一操作記錄,並根據操作記錄及暫存器中的資料,輸出一驗證結果。
依據一些實施例,晶片驗證系統的驗證方法適於驗證一待測電路。待測電路包含多個暫存器。晶片驗證系統包含多個激勵模組、一暫存器模型以及一驗證結果模組。暫存器模型包含一暫存器資料庫、多個訪問模組及一回傳模組。每一激勵模組包含一序列及一驅動模組。暫存器資料庫儲存有每一暫存器的一定址標的及一屬性參數。同一暫存器之定址標的對應屬性參數。驗證方法包含:以每一激勵模組將其序列的定址碼傳送至回傳模組,其中每一序列包含一定址碼及一讀寫指令,每一訪問模組對應該些屬性參數之一;以回傳模組根據收到的定址碼,從暫存器資料庫中獲得對應收到的定址碼的定址標的及屬性參數,並輸出對應的屬性參數;以每一激勵模組的驅動模組依據收到輸出的屬性參數,調用對應的訪問模組,以依據同一激勵模組的讀寫指令對待測電路之暫存器進行一操作;以驗證結果模組記錄被執行的每一操作,以分別產生一操作記錄;以及以驗證結果模組根據操作記錄及暫存器中的資料,輸出一驗證結果。
綜上所述,依據本案之一些實施例,依據分別對應不同訪問方式的多個訪問模組及可回傳晶片之暫存器的屬性的回傳模組,即可於單一驗證系統實現對不同訪問方式的暫存器之功能的驗證,進而減少了工作量及設計驗證系統的時程,並提升了驗證系統的可移植性及驗證覆蓋範圍。
參照圖1~圖3。圖1係為本案一些實施例之電子裝置10之方塊示意圖。圖2係為本案一些實施例之晶片驗證系統20之方塊示意圖。圖3係為本案一些實施例之晶片驗證系統20的驗證方法之流程示意圖。所述驗證方法係可由晶片驗證系統20執行,以模擬晶片的運作並驗證晶片之儲存元件的功能是否正確。所述電子裝置10可為實作晶片驗證系統20之示範性環境。例如,晶片驗證系統20可由一電腦程式產品實現(具體而言,晶片驗證系統20為基於通用驗證方法學所搭建之驗證平台,且依據通用驗證方法學之分層協議,驗證平台可以具有頂層top、測試用例層test及驗證環境層env),以致於當電子裝置10載入程式並執行後,可完成對應之晶片驗證系統20的驗證方法。在一些實施例中,電腦程式產品可為一可讀取記錄媒體,而上述程式則儲存在可讀取記錄媒體中供此電子裝置10載入。在一些實施例中,電腦程式產品可經由有線或無線的方式傳輸至電子裝置10中。
電子裝置10包含處理器11、周邊介面12、儲存單元13以及上述元件彼此通訊的匯流排14。處理器11可以為中央處理單元(CPU)。周邊介面12可例如包含輸入輸出介面、繪圖介面、通訊介面(如網路介面)等。儲存單元13可以是記憶體、硬碟、等暫時性、非暫時性或其組合的儲存媒體。匯流排14可以為系統匯流排、記憶體匯流排、周邊匯流排等一種或多種之組合。在一些實施例中,電子裝置10可以是由一個或多個計算裝置所構成。
參照圖2,晶片驗證系統20適於驗證一待測電路(design under test,DUT)21。所述待測電路21為由硬體描述程式檔所描述的一晶片的電路行為及硬體描述來實現,藉以模擬該晶片。硬體描述程式檔係由例如但不限於超高速積體電路硬體描述語言代碼(very high-speed hardware description language,VHDL)、Verilog等代碼編寫而成。待測電路21包含多個暫存器210A~210M。暫存器210A~210M用以提供記憶功能,例如提供被讀取及/或被寫入的功能。具體而言,暫存器210A~210M為用以模擬晶片的儲存元件。
在一些實施例中,待測電路21還包含一暫存器控制電路212及使待測電路21其內元件彼此通訊的一匯流排213。暫存器控制電路212用以接收來自晶片驗證系統20的訊號以透過匯流排213控制暫存器210A~210M(例如讀取暫存器210A~210M或將資料寫入暫存器210A~210M),以及用以發出資料訊號(例如將暫存器210A~210M中的資料轉換成資料訊號的封包,以形成資料訊號)至晶片驗證系統20以供其處理。在一些實施例中,前述頂層top是晶片驗證系統20的最頂層,用以對待測電路21、測試用例層test以及耦接於待測電路21與測試用例層test之間的虛擬介面(virtual interface)(圖未示)進行實例化。所述虛擬介面具有待測電路21之輸出入介面(圖未示)採用的所有通訊協議,以協助測試用例層test與待測電路21之間的通訊傳輸。例如,暫存器控制電路212透過虛擬介面而與晶片驗證系統20進行通訊傳輸。
如圖2所示,晶片驗證系統20包含多個激勵模組(agent module)22A~22D、一暫存器模型(Register model)23以及一驗證結果模組24。該些激勵模組22A~22D耦接暫存器模型23、驗證結果模組24及待測電路21。雖圖2繪示四個激勵模組22A~22D,然本發明不限於此,激勵模組22A~22D的數量可以依據實際需求而調整。每一激勵模組22A~22D包含一序列(sequence)220A~220D及一驅動模組(driver module)222A~222D。驅動模組222A~222D用以將序列220A~220D轉換為激勵訊號而發送至待測電路21,以供待測電路21進行對應的處理。每一序列220A~220D包含一定址碼及一讀寫指令,以模擬晶片之微控制器對晶片之儲存元件所下達的指令。在一些實施例中,前述序列220A~220D可以為由使用者輸入至激勵模組22A~22D或是自暫存器模型23產生後發送至激勵模組22A~22D。在一些實施例中,晶片驗證系統20係基於通用驗證方法學實例化出測試用例層test中的暫存器模型23及前述驗證環境層env。驗證環境層env用以實例化出具體的驗證元件,例如激勵模組22A~22D及驗證結果模組(scoreboard module)24。
在一些實施例中,每一激勵模組22A~22D還包含一序列器(sequencer)221A~221D。序列器221A~221D耦接於序列220A~220D及驅動模組222A~222D之間。序列器221A~221D用以管理同一激勵模組22A~22D的序列220A~220D,以響應同一激勵模組22A~22D的驅動模組222A~222D之請求訊息而將序列220A~220D發送給對應的驅動模組222A~222D。在一些實施例中,在某些情形下,一些激勵模組(如22C、22D)的序列(如220C、220D)可以整合在一起,例如整合成單一序列220E。在一些實施例中,所有的序列220A~220D可以透過一虛擬序列器(virtual sequencer)(圖未示)集中管理,虛擬序列器在接收到來自序列器221A~221D之請求訊息時,即會發送序列220A~220D至對應的序列器221A~221D。
如圖2所示,暫存器模型23包含一暫存器資料庫231、多個訪問模組232以及一回傳模組233。雖圖2繪示四個訪問模組232,然本發明不限於此,訪問模組232的數量可以依據激勵模組22A~22D的數量而相應設置。暫存器資料庫231儲存有每一暫存器210A~210M的一定址標的及一屬性參數,同一暫存器210A~210M之定址標的對應屬性參數。每一訪問模組232對應該些屬性參數之一。所述定址標的為暫存器210A~210M的位址,屬性參數為關於暫存器210A~210M之詳細屬性。例如,暫存器210A~210M之可被訪問的方式(例如,以採用通訊協議之介面直接訪問或是透過路徑清單間接訪問等,即於後所述之訪問參數)、是否可被讀寫(即於後所述之讀寫參數)等。
在一些實施例中,不同的訪問模組232係分別對應暫存器210A~210M之不同的可被訪問方式,且具有前述之訪問方式的函數指令集。例如,於後所述之直接模組235A具有描述I
2C直接訪問的函數指令集、直接模組235B具有描述SPI直接訪問的函數指令集、間接模組234A具有描述eFuse間接訪問的函數指令集(具體來說,此函數指令集描述了於後所述之eFuse路徑清單的動作)以及間接模組234B具有描述EEPROM間接訪問的函數指令集(具體來說,此函數指令集描述了於後所述之EEPROM路徑清單的動作)。
在一些實施例中,晶片驗證系統20還包含一適配模組25。適配模組25耦接於暫存器模型23及部分的激勵模組(如22C、22D)之間(具體而言,適配模組25係耦接於暫存器模型23及部分的激勵模組22C、22D所整合出的單一序列220E之間)。適配模組25用以將暫存器模型23所生成的交易資料(transaction)轉換成驅動模組(如222C、222D)可辨識及執行的序列(如220C、220D)。
在一些實施例中,由於晶片驗證系統20係基於通用驗證方法學建立,因而除了上述模組外,晶片驗證系統20於搭建時,還可同時依據通用驗證方法學建立與上述模組關聯的其他元件(或模組),致使晶片驗證系統20可以執行通用驗證方法學所提供的功能。例如,驅動模組222A~222D欲訪問暫存器210A~210M時,可以直接透過暫存器模型23的介面來訪問暫存器210A~210M(例如依據通用驗證方法學的一些設定,暫存器模型23的介面可以耦接前述虛擬介面,而得以訪問暫存器210A~210M)。
以下說明晶片驗證系統20的驗證方法。參照圖3,首先,每一激勵模組22A~22D將其序列220A~220D的定址碼傳送至回傳模組233(步驟S300)。所述定址碼為用以模擬暫存器210A~210M的位址,例如定址碼為一模擬位址。在一些實施例中,模擬位址(即定址碼)可以由晶片驗證系統20的一隨機函數模組(圖未示)亂數生成。
接著,回傳模組233根據收到的定址碼,從暫存器資料庫231中獲得對應收到的定址碼之定址標的及屬性參數,並輸出對應的屬性參數(步驟S302)。詳言之,回傳模組233根據收到的定址碼比對暫存器資料庫231中的定址標的,藉以找出相同於定址碼之定址標的及相應的屬性參數,並將找出的屬性參數輸出至先前收到的定址碼之來源(即激勵模組22A~22D)。
每一激勵模組22A~22D於接收到回傳模組233所返回的屬性參數之後,激勵模組22A~22D的驅動模組222A~222D依據收到之輸出的屬性參數,調用對應的訪問模組232,以依據同一激勵模組22A~22D的序列220A~220D的讀寫指令對待測電路21之暫存器210A~210M進行一操作(步驟S304)。
以定址碼對應有定址標的(即模擬位址對應有暫存器210A~210M的位址)來說明,舉例來說,於調用對應的訪問模組232之後,驅動模組222A~222D依據同一激勵模組22A~22D的序列220A~220D的讀寫指令及定址碼、以及被調用的訪問模組232的函數指令集,發出激勵訊號,並透過暫存器模型23的介面(或是直接透過前述虛擬介面)將激勵訊號傳送至待測電路21。待測電路21(或是暫存器控制電路212)響應此激勵訊號而對此定址碼所對應到的暫存器210A~210M進行操作(例如將序列220A~220D中的待配置資料寫入於此暫存器210A~210M,或是讀取此暫存器210A~210M中的資料)。藉此,由於每一訪問模組232對應該些屬性參數之一,且不同的訪問模組232係分別具有暫存器210A~210M之不同訪問方式的函數指令集,因而驅動模組222A~222D可以分別以不同訪問方式對暫存器210A~210M進行操作,以模擬晶片之儲存元件的不同被訪問方式。
接著,驗證結果模組24記錄被執行的每一操作,以分別產生一操作記錄(步驟S306)。然後,驗證結果模組24根據該些操作記錄及暫存器210A~210M中的資料(例如暫存器210A~210M響應前述操作而被寫入的資料或是暫存器210A~210M尚未被寫入過而預設的一默認值),輸出一驗證結果(步驟S308)。所述操作記錄包含被執行的定址碼、屬性參數及讀寫指令。藉此,使用者透過驗證結果即可得知待測電路21的功能是否正確,且由於每一操作及其操作記錄可為對應暫存器210A~210M之不同的被訪問方式,因而以單一驗證系統即實現對不同訪問方式的暫存器210A~210M之功能驗證,並可模擬及驗證晶片於不同工作階段(例如啟動階段、供電穩定階段以及正常工作階段)下的暫存器210A~210M之被訪問情形。
前述啟動階段是指晶片剛被供電時而進入初始化設定時,需對其儲存元件所進行的設置。例如,於初始化設定下,使用eFuse將晶片的型號及版本號寫入於晶片的儲存元件中,且寫入完成後即不再改變。晶片之啟動階段對應於晶片驗證系統20用於模擬晶片運作時所進行的重啟階段(reset phase)。前述供電穩定階段是指晶片已穩定被供電但尚未正常工作的時段,此時需對儲存元件進行不同於啟動階段的設置。例如,於供電穩定階段下,對晶片之儲存元件寫入允許之頻帶帶寬,以使晶片以此頻帶帶寬進行工作。晶片之供電穩定階段對應於晶片驗證系統20用於模擬晶片運作時所進行的配置階段(configure phase)。前述正常工作階段是指晶片已正常運作的階段,此時因為某些因素而需切換晶片的一些工作模式或一些工作功能,而對儲存元件進行不同於啟動階段及供電穩定階段的設置。例如,於正常工作階段下,為了因應某些情形,而改變儲存元件之資料,以開啟或關閉晶片的流量控制功能。晶片之正常工作階段對應於晶片驗證系統20用於模擬晶片運作時所進行的主要階段(main phase)。
在一些實施例中,驗證結果模組24包含一期望模組240、一實際模組241以及一比較模組242。比較模組242耦接期望模組240及實際模組241。驅動模組222A~222D在對暫存器210A~210M進行操作(例如發送激勵訊號至待測電路21)的同時,將其執行的定址碼、屬性參數及讀寫指令等與前述操作有關的資訊發送給驗證結果模組24,以供驗證結果模組24依據定址碼、屬性參數及讀寫指令等資訊產生操作記錄並儲存於期望模組240。在一些實施例中,期望模組240可以具有多個子期望模組243A~243D,不同驅動模組222A~222D所對應的操作記錄可以分別儲存於不同的子期望模組243A~243D。例如,驅動模組222A所對應的操作記錄儲存於子期望模組243A、驅動模組222B所對應的操作記錄儲存於子期望模組243B…以此類推。
實際模組241儲存來自待測電路21之暫存器210A~210M中的資料。舉例來說,待測電路21於每一前述操作被執行時即會以資料訊號輸出被操作的暫存器210A~210M中的資料。每一激勵模組22A~22D還包含一監控器(monitor)(圖未示),監控器用以監控待測電路21所輸出的資料訊號,並將監測到的資料訊號傳送至實際模組241儲存。
比較模組242比對期望模組240所儲存的操作記錄及實際模組241所儲存的資料訊號,以輸出驗證結果。例如,若操作記錄相同於資料訊號所載的暫存器210A~210M的資料,則比較模組242輸出「功能正確」之驗證結果;反之則輸出「功能不正確」之驗證結果。驗證結果可以為一數位值以表示「功能正確」或「功能不正確」,例如功能正確可以以數位值「0」來表示,功能不正確可以以數位值「1」來表示,然本發明不限於此。
以下進一步舉例說明比較模組242比對期望模組240所儲存的操作記錄及實際模組241所儲存的資料訊號。假設驅動模組222A為對第一暫存器210A進行將資料「11111」寫入的操作,比較模組242比對此操作於期望模組240中所對應的操作記錄及實際模組241中所儲存的來自第一暫存器210A的資料,若前述二者皆為儲存資料「11111」,則比較模組242輸出「功能正確」之驗證結果;反之,若前述二者所儲存的資料不同(例如,第一暫存器210A為唯讀致使無法被寫入資料「11111」,因而實際模組241未儲存資料「11111」,而期望模組240儲存有具有資料「11111」的操作記錄;或是由於驅動模組222A所依據的定址碼並未對應任何暫存器210A~210M的定址標的,因而無法正確地將資料「11111」寫入至第一暫存器210A,致使實際模組241未儲存資料「11111」,而期望模組240儲存有具有資料「11111」的操作記錄),則輸出「功能不正確」之驗證結果。
在一些實施例中,激勵模組22A~22D可以分別一一與訪問模組232對應(亦即激勵模組22A~22D為分別對應不同的訪問方式),且驅動模組222A~222D可以只調用其對應的訪問模組232(例如,驅動模組222A可以只調用於後所述之間接模組234A、驅動模組222B可以只調用於後所述之間接模組234B、驅動模組222C可以只調用於後所述之直接模組235A及驅動模組222D可以只調用於後所述之直接模組235B)。藉此以節省晶片驗證系統20的功耗。
在一些實施例中,每一屬性參數包含一訪問參數,訪問參數為至少一直接訪問之一或至少一間接訪問之一。所述直接訪問為暫存器210A~210M透過與外部溝通的介面(例如前述之待測電路21的輸出入介面)來直接被訪問。其中若直接訪問為複數個,則此些直接訪問可分別對應於採用不同通訊協議的輸出入介面,例如採用I
2C(積體匯流排電路,Inter-Integrated Circuit)之介面、採用SPI(序列外設介面,Serial Peripheral Interface)之介面等。所述間接訪問為暫存器210A~210M透過一路徑清單來被訪問(亦即某一些暫存器210A~210M無法透過前述之輸出入介面直接被訪問,而是需透過特定的條件或規則才得以被訪問)。例如若欲訪問第五暫存器210E,則需先透過暫存器模型23的介面來設定第一暫存器210A~第四暫存器210D及第十一暫存器210K~第十二暫存器210L為一預設值後,才得以透過暫存器模型23的介面訪問第五暫存器210E以對其進行操作,而設定第一暫存器210A~第四暫存器210D及第十一暫存器210K~第十二暫存器210L之動作即為路徑清單。其中若間接訪問為複數個,則此些間接訪問可以分別透過不同的路徑清單而區分為不同的間接訪問類型,例如eFuse間接訪問、EEPROM間接訪問等。
以下說明eFuse間接訪問。參照圖4,圖4係為本案一些實施例之eFuse間接訪問之架構示意圖。晶片驗證系統20可於重啟階段下模擬eFuse的運作,以驗證其功能是否正確。舉例來說,eFuse係用以將晶片的型號及版本號寫入於第五暫存器210E中,待測電路21還包含一eFuse記憶模組211A,以存放欲寫入第五暫存器210E的資料,而eFuse記憶模組211A內的資料是從第一暫存器210A~第四暫存器210D獲得。具體來說,第一暫存器210A儲存第五暫存器210E的位址(例如數位值「0000」),第二暫存器210B儲存第一暫存器210A內的資料欲存放於eFuse記憶模組211A的條目(entry)編號(例如第一條目entry0,具體而言以數位值「0」來表示第一條目entry0),第三暫存器210C儲存型號及版本號(例如數位值「1111」),第四暫存器210D儲存第三暫存器210C內的資料欲存放於eFuse記憶模組211A的條目編號(例如第二條目entry1,具體而言以數位值「1」來表示第二條目entry1)。當第十一暫存器210K被設定為一觸發值(例如數位值「1」)時,則待測電路21透過一自動擷取資料模組(auto load)(圖未示)而使eFuse記憶模組211A讀取第一暫存器210A~第四暫存器210D,以使其第一條目entry0儲存第五暫存器210E的位址,且第二條目entry1儲存型號及版本號。當第十二暫存器210L被設定為一觸發值(例如數位值「1」)時,則待測電路21透過自動擷取資料模組而使eFuse記憶模組211A依據其儲存的第五暫存器210E的位址訪問第五暫存器210E,而讀取資料或是將型號及版本號寫入於第五暫存器210E。因而,前述之第一暫存器210A~第四暫存器210D及第十一暫存器210K~第十二暫存器210L之動作即為eFuse路徑清單。
同樣地,參照圖5,圖5係為本案一些實施例之EEPROM間接訪問之架構示意圖。其中,第六暫存器210F~第十暫存器210J、第十一暫存器210K~第十二暫存器210L及EEPROM記憶模組211B之運作方式分別與第一暫存器210A~第五暫存器210E、第十一暫存器210K~第十二暫存器210L及eFuse記憶模組211A相同,且第六暫存器210F~第九暫存器210I及第十一暫存器210K~第十二暫存器210L之動作即為EEPROM路徑清單,為使本案說明書簡潔,於此不作贅述。
在一些實施例中,如圖2所示,該些訪問模組232包含至少一直接模組235A、235B及至少一間接模組234A、234B。雖圖2繪示二個直接模組235A、235B及二個間接模組234A、234B,然本發明不限於此,直接模組235A、235B及間接模組234A、234B的數量可以依據激勵模組22A~22D的數量而相應設置。訪問模組232具體而言係對應於該些屬性參數之一的訪問參數。例如,間接模組234A對應於eFuse間接訪問、間接模組234B對應於EEPROM間接訪問、直接模組235A對應於I
2C直接訪問以及直接模組235B對應於SPI直接訪問。
在一些實施例中,前述讀寫指令為讀、寫或讀寫等指令。在步驟S304的一些實施例中,每一激勵模組22A~22D的驅動模組222A~222D依據收到的屬性參數中的訪問參數,調用對應的訪問模組232,以對待測電路21之暫存器210A~210M進行對應同一激勵模組22A~22D的讀寫指令之操作(具體而言,係依據定址碼及被調用的訪問模組232之函數指令集,對暫存器210A~210M進行對應讀寫指令之操作)。詳言之,讀寫指令為讀指令則進行讀操作,讀寫指令為寫指令則進行寫操作,讀寫指令為讀及寫指令則進行讀及寫操作。
舉例來說,若激勵模組22A收到的屬性參數之訪問參數為eFuse間接訪問,則驅動模組222A調用間接模組234A的函數指令集;若激勵模組22B收到的屬性參數之訪問參數為EEPROM間接訪問,則驅動模組222B調用間接模組234B的函數指令集;若激勵模組22C收到的屬性參數之訪問參數為I
2C直接訪問,則驅動模組222C調用直接模組235A的函數指令集;以及若激勵模組22D收到的屬性參數之訪問參數為SPI直接訪問,則驅動模組222D調用直接模組235D的函數指令集,以對暫存器210A~210M進行操作。
在一些實施例中,晶片驗證系統20更包含一選擇模組26。選擇模組26耦接激勵模組22A~22D。選擇模組26響應一設定參數而開啟該些激勵模組22A~22D之至少一者。所述設定參數可以是由使用者輸入。舉例來說,使用者可以根據所欲測試的晶片之工作階段或是所欲測試的訪問方式,而輸入設定參數以開啟對應的激勵模組22A~22D而對待測電路21的暫存器210A~210M進行相應的驗證。例如,若欲測試晶片之啟動階段的eFuse訪問的驗證,則可開啟激勵模組22A,以進行與eFuse有關之暫存器(如210A~210E及210K~210L)的驗證;若欲測試EEPROM訪問的驗證,則可開啟激勵模組22B;若欲測試I
2C訪問的驗證,則可開啟激勵模組22C;若欲測試SPI訪問的驗證,則可開啟激勵模組22D。
在一些實施例中,屬性參數更包含一讀寫參數。讀寫參數為暫存器210A~210M之讀寫屬性。例如,讀寫參數為一唯讀、一可讀寫(即暫存器210A~210M為唯讀或可讀寫)、唯寫、寫後擦除(clean-on-read,RC)或只寫一次(write-one-to-set,W1S)等關於暫存器210A~210M之讀取及寫入功能的屬性。在一些實施例中,屬性參數還可包含暫存器210A~210M之每一域欄位(field)的資料。暫存器210A~210M可以以其位元區分成多個域欄位。例如,暫存器210A~210M為32位元,則可將前16位元區分為第一域欄位,並將後16位元區分為第二域欄位,然本發明不限於此。前述域欄位的資料可為暫存器210A~210M於該域欄位對應之位元所具有的讀寫屬性。
在一些實施例中,前述之對暫存器210A~210M進行的操作可以區分為一有效操作及一無效操作。有效操作為可以正確地讀取暫存器210A~210M的資料或是正確地將資料寫入至暫存器210A~210M。無效操作為無法正確地讀取暫存器210A~210M的資料或是無法正確地將資料寫入至暫存器210A~210M。在一些實施例中,若被操作的暫存器210A~210M之讀寫參數與驅動模組222A~222D所執行的讀寫指令不同時(例如讀寫參數為唯讀,而讀寫指令為寫指令時),此時驅動模組222A~222D即是透過待測電路21對暫存器210進行無效操作。待測電路21響應無效操作而輸出一錯誤提示訊號,以讓使用者得知此時進行了錯誤的操作。
在一些實施例中,由於模擬位址(即定址碼)可以由隨機函數模組亂數生成,因此模擬位址可以為符合晶片之設計規範(亦即模擬位址對應該些暫存器210A~210M之一的位址,換言之,定址碼對應有暫存器210A~210M的定址標的),也可能不符合晶片設計規範(亦即模擬位址未對應任何暫存器210A~210M的位址,換言之,定址碼未對應有任何暫存器210A~210M的定址標的)。
以下說明由定址碼未對應有任何定址標的所致使的無效操作。在一些實施例中,暫存器資料庫231還儲存有具有一錯誤參數的另一屬性參數(於後稱為無效屬性參數)。在步驟S302的一些實施例中,於回傳模組233之收到的定址碼未有對應的定址標的時,回傳模組233從暫存器資料庫231中獲得無效屬性參數,並輸出無效屬性參數。舉例來說,回傳模組233根據收到的定址碼比對暫存器資料庫231的定址標的,若未找到相同的定址標的時,則取出無效屬性參數,並輸出無效屬性參數至先前收到的定址碼之來源(即激勵模組22A~22D)。
續,在步驟S304的一些實施例中,每一激勵模組22A~22D的驅動模組222A~222D於收到的屬性參數具有錯誤參數(即無效屬性參數)時,依據同一激勵模組22A~22D的讀寫指令對待測電路21之暫存器210A~210M進行無效操作(具體而言,係依據定址碼及被調用的訪問模組232之函數指令集,對待測電路21之暫存器210A~210M進行無效操作)。舉例來說,假設驅動模組222A~222D收到無效屬性參數並欲對暫存器210A~210M進行寫操作,由於定址碼並未對應任何暫存器210的定址標的,因而驅動模組222A~222D係為透過暫存器模型23的介面(或是直接透過前述虛擬介面)將無效的激勵訊號傳送至待測電路21,待測電路21響應此無效的激勵訊號而進行無效操作(即並未將序列220A~220D的待配置資料成功寫入至任何暫存器210A~210M),也就是說,驅動模組222A~222D透過待測電路21進行了無效操作。之後,待測電路21響應無效操作而輸出錯誤提示訊號,以讓使用者得知此時進行了錯誤的操作。
以下說明由定址碼對應有定址標的所致使的有效操作。在步驟S302的一些實施例中,回傳模組233係於收到的定址碼具有對應的定址標的時,獲得定址標的所對應的屬性參數,並輸出此屬性參數。在步驟S304的一些實施例中,每一激勵模組22A~22D的驅動模組222A~222D依據收到的屬性參數,調用對應的訪問模組232,以依據同一激勵模組22A~22D的讀寫指令及定址碼,對待測電路21之與定址碼關聯的每一暫存器210A~210M進行操作(有效操作)。
續,舉例來說,假設驅動模組222A欲寫入資料至第五暫存器210E,而若第五暫存器210E的位址(即定址標的)為「1234」且其屬性參數為eFuse間接訪問,而激勵模組22A的模擬位址(即定址碼)為「1234」,則此時驅動模組222A依據屬性參數調用間接模組234A,以依據定址碼、讀寫指令及間接模組234A的函數指令集,發出激勵訊號,並透過暫存器模型23的介面將激勵訊號傳送至待測電路21。待測電路21響應此激勵訊號而對eFuse路徑清單中所記錄的第一暫存器210A~第四暫存器210D及第十一暫存器210K~第十二暫存器210L進行設定後,才操作第五暫存器210E而將序列220A中的待配置資料寫入於第五暫存器210E。
續,舉另一例來說,假設驅動模組222C欲寫入資料至第十三暫存器210M,而若第十三暫存器210M的位址(即定址標的)為「5678」且其屬性參數為I
2C間接訪問,而激勵模組22C的模擬位址(即定址碼)為「5678」,則此時驅動模組222C依據屬性參數調用直接模組235A,以依據定址碼、讀寫指令及直接模組235A的函數指令集,發出激勵訊號,並透過前述虛擬介面之I
2C介面,將激勵訊號傳送至待測電路21。待測電路21響應此激勵訊號而操作第十三暫存器210M以將序列220C中的待配置資料寫入於第十三暫存器210M。
在一些實施例中,操作記錄為一寫記錄、一讀記錄或其組合。其中寫記錄對應於寫指令,讀記錄對應於讀指令,寫記錄與讀記錄的組合對應於讀及寫指令。
在一些實施例中,於晶片驗證系統20的主要階段下,驗證結果模組24根據該些寫記錄及該些暫存器210A~210M中的資料,輸出驗證結果。由於若對於寫記錄實時比較(例如,驗證結果模組24的期望模組240每產生出一個寫記錄時,驗證結果模組24的實際模組241即從待測電路21之對應寫記錄之定址碼的暫存器210A~210M獲取資料以進行後續的驗證,詳言之,每產生一個寫記錄,實際模組241即從待測電路21獲取其所輸出的資料訊號,而得以取得剛被進行寫入操作的暫存器210A~210M之資料),此時先前對待測電路21所發出的激勵訊號(即欲比較的寫記錄所對應的激勵訊號)可能尚未於待測電路21內部匯流排213中清除,實際模組241從待測電路21獲取之資料可能是內部匯流排213中尚未清除的資料,因而此時驗證結果模組24的比較模組242所輸出的驗證結果即無法正確地驗證(亦即無法正確地驗證資料是否成功寫入待測電路21的暫存器210A~210M中)。因而,藉由在對應晶片正常工作階段的主要階段下,比較模組242一次性地將期望模組240中所有的寫記錄與實際模組241所儲存的與所有的寫記錄分別對應的暫存器210中的資料進行比對,以輸出驗證結果,藉此以達到正確地驗證暫存器210的被寫入功能。
在一些實施例中,於產生出讀記錄時,驗證結果模組24根據產生出的讀記錄及該些暫存器210A~210M中的資料,輸出驗證結果。與前述之寫記錄相關驗證之實施例之差異在於,讀記錄需為實時比較。舉例來說,每產生一個讀記錄,實際模組241即讀取待測電路21,以從其位址(即定址標的)與讀記錄的模擬位址(即定址碼)相同的暫存器210A~210M獲取資料,以進行後續的驗證。其中若此暫存器210A~210M尚未被寫入過資料時,則是獲取暫存器210A~210M的默認值來與當下的讀記錄進行比較。若此暫存器210A~210M被寫入過資料時,則是獲取暫存器210A~210M的被寫入過之資料來與當下的讀記錄進行比較。
綜上所述,依據本案之一些實施例,依據分別對應不同訪問方式的多個訪問模組及可回傳晶片之暫存器的屬性的回傳模組,即可於單一驗證系統實現對不同訪問方式的暫存器之功能的驗證,進而減少了工作量及設計驗證系統的時程,並提升了驗證系統的可移植性及驗證覆蓋範圍。
10:電子裝置
11:處理器
12:周邊介面
13:儲存單元
14:匯流排
20:晶片驗證系統
21:待測電路
210A~210M:暫存器
211A:eFuse記憶模組
211B:EEPROM記憶模組
212:暫存器控制電路
213:匯流排
22A~22D:激勵模組
220A~220E:序列
221A~221D:序列器
222A~222D:驅動模組
23:暫存器模型
231:暫存器資料庫
232:訪問模組
234A~234B:間接模組
235A~235B:直接模組
233:回傳模組
24:驗證結果模組
240:期望模組
243A~243D:子期望模組
241:實際模組
242:比較模組
25:適配模組
26:選擇模組
entry0:第一條目
entry1:第二條目
top:頂層
test:測試用例層
env:驗證環境層
S300~S308:步驟
[圖1]係為本案一些實施例之電子裝置之方塊示意圖。
[圖2]係為本案一些實施例之晶片驗證系統之方塊示意圖。
[圖3]係為本案一些實施例之晶片驗證系統的驗證方法之流程示意圖。
[圖4]係為本案一些實施例之eFuse間接訪問之架構示意圖。
[圖5]係為本案一些實施例之EEPROM間接訪問之架構示意圖。
20:晶片驗證系統
21:待測電路
210A~210M:暫存器
211A:eFuse記憶模組
211B:EEPROM記憶模組
212:暫存器控制電路
213:匯流排
22A~22D:激勵模組
220A~220E:序列
221A~221D:序列器
222A~222D:驅動模組
23:暫存器模型
231:暫存器資料庫
232:訪問模組
234A~234B:間接模組
235A~235B:直接模組
233:回傳模組
24:驗證結果模組
240:期望模組
243A~243D:子期望模組
241:實際模組
242:比較模組
25:適配模組
26:選擇模組
top:頂層
test:測試用例層
env:驗證環境層
Claims (10)
- 一種晶片驗證系統,適於驗證一待測電路,該待測電路包含多個暫存器,該晶片驗證系統包含: 多個激勵模組,每一該激勵模組包含一序列及一驅動模組,其中,每一該序列包含一定址碼及一讀寫指令; 一暫存器模型,包含: 一暫存器資料庫,儲存有每一該暫存器的一定址標的及一屬性參數,同一該暫存器之該定址標的對應該屬性參數; 多個訪問模組,每一該訪問模組對應該些屬性參數之一;以及 一回傳模組,每一該激勵模組將其該序列的該定址碼傳送至該回傳模組,該回傳模組根據收到的該定址碼,從該暫存器資料庫中獲得對應該收到的定址碼的該定址標的及該屬性參數,並輸出該對應的屬性參數;每一該激勵模組的該驅動模組依據收到該輸出的屬性參數,調用對應的該訪問模組,以依據同一該激勵模組的該讀寫指令對該待測電路之該些暫存器進行一操作;以及 一驗證結果模組,記錄被執行的每一該操作,以分別產生一操作記錄,並根據該些操作記錄及該些暫存器中的資料,輸出一驗證結果。
- 如請求項1所述之晶片驗證系統,其中該讀寫指令為讀、寫或讀寫,每一該屬性參數包含一訪問參數,該訪問參數為至少一直接訪問之一或至少一間接訪問之一,該些訪問模組包含至少一直接模組及至少一間接模組,每一該激勵模組的該驅動模組依據該收到的屬性參數中的該訪問參數,調用對應的該訪問模組,以對該待測電路之該些暫存器進行對應同一該激勵模組的該讀寫指令之該操作。
- 如請求項2所述之晶片驗證系統,其中該屬性參數更包含一讀寫參數,該讀寫參數為一唯讀或一可讀寫,該操作記錄包含被執行的該定址碼、該屬性參數及該讀寫指令。
- 如請求項2所述之晶片驗證系統,更包含一選擇模組,響應一設定參數而開啟該些激勵模組之至少一者。
- 如請求項1所述之晶片驗證系統,其中,該操作具有一無效操作,該暫存器資料庫還儲存有具有一錯誤參數的另一屬性參數,於該回傳模組之該收到的定址碼未有該對應的定址標的時,該回傳模組從該暫存器資料庫中獲得該另一屬性參數,並輸出該另一屬性參數,其中每一該激勵模組的該驅動模組於該收到的屬性參數具有該錯誤參數時,依據同一該激勵模組的該讀寫指令對該待測電路之該些暫存器進行該無效操作,該待測電路響應該無效操作而輸出一錯誤提示訊號。
- 如請求項1所述之晶片驗證系統,其中,該回傳模組係於該收到的定址碼具有該對應的定址標的時,獲得該對應的屬性參數,並輸出該對應的屬性參數,其中每一該激勵模組的該驅動模組依據該收到的屬性參數,調用該對應的訪問模組,以依據同一該激勵模組的該讀寫指令及該定址碼,對該待測電路之與該定址碼關聯的每一該暫存器進行該操作。
- 如請求項1所述之晶片驗證系統,其中該操作記錄為一寫記錄、一讀記錄或其組合,於該晶片驗證系統的一主要階段下,該驗證結果模組根據該些寫記錄及該些暫存器中的資料,輸出該驗證結果。
- 如請求項7所述之晶片驗證系統,其中於產生出該讀記錄時,該驗證結果模組根據產生出的該讀記錄及該些暫存器中的資料,輸出該驗證結果。
- 一種晶片驗證系統的驗證方法,適於驗證一待測電路,該待測電路包含多個暫存器,該晶片驗證系統包含多個激勵模組、一暫存器模型以及一驗證結果模組,該暫存器模型包含一暫存器資料庫、多個訪問模組及一回傳模組,每一該激勵模組包含一序列及一驅動模組,該暫存器資料庫儲存有每一該暫存器的一定址標的及一屬性參數,同一該暫存器之該定址標的對應該屬性參數,該驗證方法包含: 以每一該激勵模組將其該序列的該定址碼傳送至該回傳模組,其中,每一該序列包含一定址碼及一讀寫指令,每一該訪問模組對應該些屬性參數之一; 以該回傳模組根據收到的該定址碼,從該暫存器資料庫中獲得對應該收到的定址碼的該定址標的及該屬性參數,並輸出該對應的屬性參數; 以每一該激勵模組的該驅動模組依據收到該輸出的屬性參數,調用對應的該訪問模組,以依據同一該激勵模組的該讀寫指令對該待測電路之該些暫存器進行一操作; 以該驗證結果模組記錄被執行的每一該操作,以分別產生一操作記錄;以及 以該驗證結果模組根據該些操作記錄及該些暫存器中的資料,輸出一驗證結果。
- 如請求項9所述之晶片驗證系統的驗證方法,其中該讀寫指令為讀、寫或讀寫,每一該屬性參數包含一訪問參數,該訪問參數為至少一直接訪問之一或至少一間接訪問之一,該些訪問模組包含至少一直接模組及至少一間接模組,每一該激勵模組的該驅動模組依據該收到的屬性參數中的該訪問參數,調用對應的該訪問模組,以對該待測電路之該些暫存器進行對應同一該激勵模組的該讀寫指令之該操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110500747.3 | 2021-05-08 | ||
CN202110500747.3A CN115312110A (zh) | 2021-05-08 | 2021-05-08 | 芯片验证系统及其验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI783590B true TWI783590B (zh) | 2022-11-11 |
TW202244519A TW202244519A (zh) | 2022-11-16 |
Family
ID=83853845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110127249A TWI783590B (zh) | 2021-05-08 | 2021-07-23 | 晶片驗證系統及其驗證方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11507718B1 (zh) |
CN (1) | CN115312110A (zh) |
TW (1) | TWI783590B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686164A (zh) * | 2021-07-26 | 2023-02-03 | 瑞昱半导体股份有限公司 | 供电端装置、供电系统以及非暂态电脑可读取媒体 |
CN115496035B (zh) * | 2022-11-21 | 2023-02-21 | 瀚博半导体(上海)有限公司 | 芯片的验证方法、装置、芯片、电子设备和介质 |
CN117332742B (zh) * | 2023-12-01 | 2024-02-23 | 芯动微电子科技(武汉)有限公司 | 一种芯片设计阶段的仿真验证方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200620110A (en) * | 2004-10-25 | 2006-06-16 | Intel Corp | Chipset activation |
US20100235250A1 (en) * | 2006-06-08 | 2010-09-16 | Planetech Inc. | Tracking items in a distribution channel |
US20120192250A1 (en) * | 2010-07-06 | 2012-07-26 | Alkhalaf Rakan | Device, System, And Method For Registering And Authenticating Handwritten Signatures And Archiving Handwritten Information |
TW201337623A (zh) * | 2011-10-27 | 2013-09-16 | Electronic Warfare Associates Inc | 包括與已知電路板資訊有關之電路測試及驗證等特徵的裝置鑑別之系統及方法 |
TW201415286A (zh) * | 2012-08-10 | 2014-04-16 | Cryptography Res Inc | 積體電路中之安全特性及金鑰管理 |
TW201506673A (zh) * | 2013-03-14 | 2015-02-16 | Intel Corp | 以安全屬性限制cpu異動的方法、設備及系統 |
TW201602785A (zh) * | 2014-03-27 | 2016-01-16 | 英特爾股份有限公司 | 用於虛擬機器的安全分享互連 |
US20190004112A1 (en) * | 2017-06-29 | 2019-01-03 | Sreejit Chakravarty | In-Field System Testing |
US20190318097A1 (en) * | 2019-06-28 | 2019-10-17 | Aditya Katragada | Standardized Interface for Intellectual Property Blocks |
TW202024971A (zh) * | 2018-12-26 | 2020-07-01 | 新唐科技股份有限公司 | 晶片自動驗證系統及其方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4527253A (en) * | 1982-05-28 | 1985-07-02 | Hitachi, Ltd. | Data searching apparatus |
JPS62182939A (ja) * | 1986-02-07 | 1987-08-11 | Hitachi Ltd | 情報処理装置の論理シミユレ−シヨン方法 |
US5696772A (en) * | 1994-05-06 | 1997-12-09 | Credence Systems Corporation | Test vector compression/decompression system for parallel processing integrated circuit tester |
US5748642A (en) * | 1995-09-25 | 1998-05-05 | Credence Systems Corporation | Parallel processing integrated circuit tester |
US5701308A (en) * | 1996-10-29 | 1997-12-23 | Lockheed Martin Corporation | Fast bist architecture with flexible standard interface |
JPH10171676A (ja) * | 1996-12-10 | 1998-06-26 | Toshiba Corp | マイクロプロセッサのテスト容易化回路 |
US6085278A (en) * | 1998-06-02 | 2000-07-04 | Adaptec, Inc. | Communications interface adapter for a computer system including posting of system interrupt status |
JP2000030483A (ja) * | 1998-07-15 | 2000-01-28 | Mitsubishi Electric Corp | 大規模メモリ用bist回路 |
KR100308621B1 (ko) * | 1998-11-19 | 2001-12-17 | 윤종용 | 반도체 메모리 장치를 위한 프로그램 가능한 내장 자기 테스트 시스템 |
JP3942765B2 (ja) * | 1999-03-15 | 2007-07-11 | 株式会社アドバンテスト | 半導体デバイスシミュレート装置及びそれを用いた半導体試験用プログラムデバッグ装置 |
JP4118463B2 (ja) * | 1999-07-23 | 2008-07-16 | 株式会社アドバンテスト | タイミング保持機能を搭載したic試験装置 |
US6323639B1 (en) * | 2000-04-04 | 2001-11-27 | Azalea Microelectronics Corporation | Powering dies on a semiconductor wafer through wafer scribe line areas |
JP2002214296A (ja) * | 2001-01-16 | 2002-07-31 | Toshiba Corp | 半導体装置 |
CA2345605A1 (en) * | 2001-04-30 | 2002-10-30 | Robert A. Abbott | Method of testing embedded memory array and embedded memory controller for use therewith |
DE10124923B4 (de) * | 2001-05-21 | 2014-02-06 | Qimonda Ag | Testverfahren zum Testen eines Datenspeichers und Datenspeicher mit integrierter Testdatenkompressionsschaltung |
JP3910902B2 (ja) * | 2002-10-02 | 2007-04-25 | 松下電器産業株式会社 | 集積回路装置 |
US20040230882A1 (en) * | 2003-05-12 | 2004-11-18 | International Business Machines Corporation | Pseudo random LBIST controls |
JP4044075B2 (ja) * | 2004-06-14 | 2008-02-06 | 株式会社東芝 | 半導体集積回路の試験回路及び試験方法 |
US7562267B2 (en) * | 2004-12-28 | 2009-07-14 | International Business Machines Corporation | Methods and apparatus for testing a memory |
JP4855727B2 (ja) * | 2005-07-22 | 2012-01-18 | 富士通株式会社 | 生体認証装置の委任事項変更方法、生体認証方法及び生体認証装置 |
KR100825776B1 (ko) * | 2006-08-28 | 2008-04-28 | 삼성전자주식회사 | 메모리 장치 및 그 테스트 방법 |
US8184543B2 (en) * | 2008-12-02 | 2012-05-22 | Broadcom Corporation | Millimeter wave probing of components via a probe device and methods for use therewith |
EP2367129A1 (en) * | 2010-03-19 | 2011-09-21 | Nagravision S.A. | Method for checking data consistency in a system on chip |
US9171110B2 (en) * | 2012-06-27 | 2015-10-27 | International Business Machines Corporation | Accelerating functional verification of an integrated circuit |
US9798842B1 (en) * | 2015-01-30 | 2017-10-24 | Altera Corporation | Circuit design instrumentation for state visualization |
US9865362B1 (en) * | 2016-02-09 | 2018-01-09 | Cadence Design Systems, Inc. | Method and apparatus for testing error correction code (ECC) logic and physical memory onboard a manufactured integrated circuit (IC) |
US10025649B2 (en) * | 2016-08-25 | 2018-07-17 | Microsoft Technology Licensing, Llc | Data error detection in computing systems |
KR102331926B1 (ko) * | 2017-11-17 | 2021-11-29 | 삼성전자주식회사 | 저장 장치를 포함하는 호스트 시스템의 동작 방법 및 저장 장치 제어기의 동작 방법 |
EP3867657B1 (en) * | 2018-10-16 | 2024-03-27 | Minima Processor Oy | Applications of adaptive microelectronic circuits that are designed for testability |
GB2578135B (en) * | 2018-10-18 | 2020-10-21 | Advanced Risc Mach Ltd | Range checking instruction |
US11468037B2 (en) * | 2019-03-06 | 2022-10-11 | Semiconductor Components Industries, Llc | Memory device and data verification method |
KR20210109085A (ko) * | 2020-02-26 | 2021-09-06 | 삼성전자주식회사 | 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치 |
-
2021
- 2021-05-08 CN CN202110500747.3A patent/CN115312110A/zh active Pending
- 2021-07-23 TW TW110127249A patent/TWI783590B/zh active
- 2021-08-31 US US17/462,647 patent/US11507718B1/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200620110A (en) * | 2004-10-25 | 2006-06-16 | Intel Corp | Chipset activation |
US20100235250A1 (en) * | 2006-06-08 | 2010-09-16 | Planetech Inc. | Tracking items in a distribution channel |
US20120192250A1 (en) * | 2010-07-06 | 2012-07-26 | Alkhalaf Rakan | Device, System, And Method For Registering And Authenticating Handwritten Signatures And Archiving Handwritten Information |
TW201337623A (zh) * | 2011-10-27 | 2013-09-16 | Electronic Warfare Associates Inc | 包括與已知電路板資訊有關之電路測試及驗證等特徵的裝置鑑別之系統及方法 |
TW201415286A (zh) * | 2012-08-10 | 2014-04-16 | Cryptography Res Inc | 積體電路中之安全特性及金鑰管理 |
TW201506673A (zh) * | 2013-03-14 | 2015-02-16 | Intel Corp | 以安全屬性限制cpu異動的方法、設備及系統 |
TW201602785A (zh) * | 2014-03-27 | 2016-01-16 | 英特爾股份有限公司 | 用於虛擬機器的安全分享互連 |
US20190004112A1 (en) * | 2017-06-29 | 2019-01-03 | Sreejit Chakravarty | In-Field System Testing |
TW202024971A (zh) * | 2018-12-26 | 2020-07-01 | 新唐科技股份有限公司 | 晶片自動驗證系統及其方法 |
US20190318097A1 (en) * | 2019-06-28 | 2019-10-17 | Aditya Katragada | Standardized Interface for Intellectual Property Blocks |
Non-Patent Citations (1)
Title |
---|
P. N. Whatmough, S. K. Lee, M. Donato, G. G. Ko, D. Brooks, and G.-Y. Wei, "CHIPKIT: An Agile, Reusable Open-Source Framework for Rapid Test Chip Development," IEEE Micro. 19 May 2020, Vol. 40, No. 4, page 32-40. * |
Also Published As
Publication number | Publication date |
---|---|
TW202244519A (zh) | 2022-11-16 |
CN115312110A (zh) | 2022-11-08 |
US11507718B1 (en) | 2022-11-22 |
US20220358270A1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI783590B (zh) | 晶片驗證系統及其驗證方法 | |
AU2011279939B2 (en) | Providing platform independent memory logic | |
US6195749B1 (en) | Computer system including a memory access controller for using non-system memory storage resources during system boot time | |
JPH11212817A (ja) | ハードウェア支援ファームウェア追跡方法及び装置 | |
US6643714B1 (en) | Modification and use of configuration memory used during operation of a serial bus | |
CN103154900A (zh) | 编入程序更新方法、编入程序更新程序、电子设备、网络系统 | |
US20090198770A1 (en) | System and method of updating codes in controller | |
WO1998000781A1 (en) | Method and apparatus for providing improved diagnostic functions in a computer system | |
US7162625B2 (en) | System and method for testing memory during boot operation idle periods | |
JP2000065899A (ja) | 半導体装置およびそのデータ書き換え方法 | |
US20060265581A1 (en) | Method for switching booting devices of a computer | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
US20130080751A1 (en) | Method and device for updating bios program for computer system | |
US20090327681A1 (en) | Self test initialization | |
CN100437485C (zh) | 用于配置计算机系统的系统和方法 | |
US20030233536A1 (en) | Automatic selection of firmware for a computer that allows a plurality of process types | |
US20070250740A1 (en) | System and method for conducting BIST operations | |
US7266680B1 (en) | Method and apparatus for loading configuration data | |
CN113672260A (zh) | 一种处理器cpu初始化方法 | |
US7502874B2 (en) | Methods and systems for integrating unique information in SAS interface components | |
KR20000008628A (ko) | 컴퓨터 시스템의 부팅음악 출력방법 | |
CN110941452B (zh) | 一种配置方法、bios芯片和电子设备 | |
US11169950B2 (en) | Method for controlling serial port information of server host | |
CN111063387B (zh) | 一种固态硬盘性能测试方法、装置、设备及存储介质 | |
US11549979B2 (en) | Test method for a system on chip and a test system for the system on chip |