TWI454925B - 使用極速掃描捕捉之週期系統管理中斷 - Google Patents
使用極速掃描捕捉之週期系統管理中斷 Download PDFInfo
- Publication number
- TWI454925B TWI454925B TW101145432A TW101145432A TWI454925B TW I454925 B TWI454925 B TW I454925B TW 101145432 A TW101145432 A TW 101145432A TW 101145432 A TW101145432 A TW 101145432A TW I454925 B TWI454925 B TW I454925B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- tested
- scan
- capture
- time
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- 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/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- 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/267—Reconfiguring circuits for testing, e.g. LSSD, partitioning
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
本發明文件揭露部分為受著作權保護之內容。著作權之擁有人僅在本文件出現在專利局(智慧財產局)之專利文件或紀錄時,允許進行傳真複製,其他任何情形下均保留所有著作權。
本發明係有關於計算領域,特別使用極速掃描捕捉(at-speed scan capture)之週期系統管理中斷(PSMI、Periodic System Management Interrupt)之系統及方法。
在先前技術一節中所討論的標的不應僅僅因為在本章節中提及即被當作習知技術。同樣地,在先前技術一節中所提及與所討論之標的相關的問題不應被假設已在習知技術中被公認。在本章節中之標的僅僅代表不同的方法,本身可能與所宣告標的之實施例相關。
任何矽驗證程式(silicon validation program)的主要構件為可以快速且有效的重製待測晶片在RTL模型(register-transfer level model)中的系統故障,無論在邏輯問題上或在測試器的電路問題上。重製的主要問題在於必須確保系統上的矽行為會與RTL模型測試器完全同步。此係因為大部分的故障發生在遠離重設點(reset
point)。重設點代表一已知狀態,例如測試啟始處,然而在處理器陣列及暫存器中的資訊(如快取記憶體、TLBs(Translation lookaside buffers)、分支預測器等)在測試期間的改變,以及不同於重設點的故障點。傳統機制上,許多“傾倒(dump)”但非全部,資訊狀態在故障點為可知的,然而在測試啟始與故障點中間則完全無法得知資訊狀態。
在保證期間進行後矽(post-silicon)系統故障除錯為一重大挑戰。雖然已持續聚焦在除錯方法上,但在除錯期間仍需若干專家。由於具有技能的專家本身為稀有資源,因此在可接受的時間區間內擁有足夠的專家資源以進行所有錯誤除錯是不可得的。
良好可見度及除錯方法與工具對改善除錯時間是必須的,降低執行後矽系統故障所需的專家層級,以及改善診斷及根本情形故障的能力。
本發明所提出使用極速掃描捕捉之週期系統管理中斷之系統及方法可用以解決前述問題。
在此所述為使用極速掃描捕捉之週期系統管理中斷之系統及方法。
舉例而言,在一實施例中,此一系統包括輸入信號捕捉裝置,用以捕捉輸入到待測矽處理器(silicon processor under test)之輸入信號;掃描捕捉裝置,用以
捕捉代表整合在該待測矽處理器中之複數數位元件之已知狀態之掃描快照,每一該等複數數位元件具有該待測矽處理器之狀態資料;掃描讀出裝置,用以傳達所捕捉的掃描快照至實體位於待測矽處理器外部之一儲存點;以及待測矽處理器之模型,用以基於至少部分所捕捉輸入信號以及所捕捉掃描快照,重播待測矽處理器之測試序列之子集。
嚴格PSMI(Periodic System Management Interrupt),不使用極速掃描捕捉,要求將矽(如待測矽處理器)帶入完全已知及可重製的狀態,稱為同步點(syncpoint)。必要的晶片輸入及邊界信號的追蹤捕捉會被儲存,接著等效的前矽模型(pre-silicon model)被跳躍啟動以到達相同的同步點,並且施加輸入追蹤。若所有元件功能正確,則透過測試序列所引發的矽上故障模式可使用等效的前矽模型準確的循環重製在前矽(pre-silicon)中。
可惜地,為使PSMI作為計畫除錯工具的PSMI運作具可靠度,必須增加複雜度及花費。由於目前PSMI流程中所涵蓋的複雜度,針對新市場區域的產品並不一定支援PSMI。
DFT(Design for Test)掃描方法使得功能性觸發器(flop)及閂鎖(latch)之極速掃描捕捉可在不破壞掃描行為的情形下掃描閂鎖。掃描閂鎖可在由測試序列所引發的故障模式後由TAP(Test Access Port)讀出,有時稱為iScan SCB觀察。
使用極速掃描捕捉的PSMI流程可有助於達到PSMI
同步點的可靠度而無需過多工夫。例如,在PSMI同步點期間,一觸發器(trigger)可用來初始化功能性觸發器及閂鎖的極速掃描捕捉以掃描閂鎖。尤其是所觸發極速掃描捕捉可捕捉功能性觸發器及閂鎖的狀態資料至掃描閂鎖中而不破壞測試序列。因此,測試序列可在極速掃描捕捉後重新開始。在待測矽處理器上的故障模式後,掃描閂鎖可透過TAP讀出。掃描資料可被運用在若干手段上以協助達成PSMI同步點重播。雖然晶粒內RAM(Random Access Memory)、SRAM(Static RAM)及/或暫存器檔案(陣列)可能不具備掃描支援,PSMI方法仍可用來捕捉狀態資料以產生已知狀態。追蹤捕捉、前矽模擬及/或仿真模型、以及不同延遲路徑及其他元件間之決定可與目前PSMI功能及其他已知機制共同進行。
在此所述之系統、方法及機制可使用前矽模型改善待測矽處理器上的故障除錯。例如,採用傳統機制時,大部分的故障必須透過專家使用手動方式以DFT(Design For Test)或特殊除錯技術進行除錯。一些CPU區段使用PSMI在前矽模型中重製後矽故障(post-silicon failure)。因此,可靠的啟動PSMI表示至少具下列挑戰:(1)PSMI要求晶片上所有狀態元件的全面處置,此可由檢視及全面性的前矽驗證來完成;(2)PSMI流程要求複雜的PSMI處置器(handler)以進行必要的狀態揭露,停止系統待測矽處理器以達到PSMI同步點;(3)PSMI要求一BIOS以在重播仿真期間等效的初始化系統待
測矽處理器;以及(4)為確保待測矽處理器的仿真環境模型支援任一合法驗證後矽模型組態必須付出許多。
所揭露實施例的實作使用極速掃描捕捉以達到PSMI同步點。所揭露實施例的實作因此可降低驗證所需的付出,藉由改善達到PSMI同步點所採用的方法可將晶片帶入已知及可重製的狀態,其可接續使用於前矽驗證。所揭露實施例的實作,藉由避免及載入控制與狀態暫存器(藉由較少揭露待測矽處理器的狀態依次降低侵入PSMI流程)可進一步從PSMI處置器(handler)移除複雜度。再者,藉由透過設計僅在同步點由掃描捕捉載入資料,可降低對前矽仿真環境的依賴度。例如,待測矽處理器的等效模型以及藉由利用使用掃描狀態捕捉緩解PSMI發散(divergence)除錯。
根據一實施例,在PSMI收集流程中,每一PSMI同步點將觸發功能觸發器及閂鎖的極速捕捉至可用掃描閂鎖上。當執行在待測矽處理器上的測試序列導致故障模式後,掃描資料將透過TAP(測試存取埠)讀出。掃描資料接著視掃描收斂的程度而被提取並使用在待測矽處理器等效模型的重播中。若干PSMI重播流程可在不使用掃描資料的情況下執行。在發散的情形下,來自掃描資料的資訊可用於加速發散除錯,例如,跳躍啟動至同步點,以及因此省略模型中測試序列的許多重播。
PSMI處置器以及其他韌體透過處置器執行時間及發展時間可提供60%至80%的涵蓋率,以及可使用來自掃描
的資訊以確保未透過PSMI處置器揭露的剩餘涵蓋率之可見度在模型重播中為可見的。
所揭露實施例之實作可顯著降低在前矽模型中可靠重製後矽系統故障所需的付出,以及因此增加除錯輸出。在PSMI已是可用的設計上,所揭露實施例之實作降低PSMI發展及驗證的付出;簡化PSMI處置器及最小化由於PSMI所生的侵入;在PSMI決策課題上提供更可靠的工作;以及確保PSMI在後矽循環期間的早期成功。所揭露實施例之實作因此可以藉由使用現存掃描技術、追蹤捕捉基礎架構、前矽模型以及停止系統手段,而在沒有PSMI時使在設計上有可用PSMI。
所揭露實施例之實作可提供較佳的總掃描涵蓋率。例如,完成與具有實際待測矽處理器的平台具相同組態的重播環境必須花費許多付出。在具有等效BIOS以進行前矽重播以及確保重播環境(典型為仿真但有時為模擬或兩者之結合)支援任何平台組態上重播環境的完成存在挑戰。所揭露實施例之實作可使重播平台具有一非常簡單的BIOS及重播環境以在簡單固定組態中完成重播,達到PSMI同步點以及接著僅在同步點載入掃描資料至設計上。因為軌跡在重播後被用以驅回,所以重播環境甚至不必支援平台組態。測試平台系統可使用手段以(a)完全停止系統(b)捕捉軌跡以作為待測矽處理器的輸入信號;以及(c)提供前矽模型,而無需對PSMI同步點特殊處置。在此情形下,只需極少的增加與付出,PSMI仍可
被採用作為除錯工具。
由掃描所涵蓋的觸發器及閂鎖範圍是有關涵蓋率及可見度的關鍵參數。藉由適當決定掃描涵蓋率,所揭露實施例之實作即使在系統具有遠小於100%掃描涵蓋率的情形下仍可使用。舉例而言,因為待測矽處理器可能需要被停止以使一些陣列進入已知狀態,大部分的觸發器及閂鎖可憑藉停止階段達到已知狀態,並因此可能不需要掃描涵蓋此等觸發器及閂鎖。甚至在DFT、電源良好(power good)及重設相關功能區塊(fubs)沒有掃描的情形下,仍可藉由適當決定何時去捕捉狀態及軌跡,所揭露實施例之實作仍可運作。例如,藉由確認待測矽處理器的最後捕捉的同步點與故障模式之間沒有重設或不支援事件,否則會產生少於100%涵蓋率。
所揭露實施例之實作可顯著增加後矽系統除錯輸出量,例如,採用所揭露之系統及方法掃描捕捉可在執行時間完成,因此大大增加PSMI實現的成功,降低發展及驗證成本,以及允許PSMI機制擴充至先前無法擴充的區段(segment)。
舉例而言,假設當在實驗室切割矽背面。當執行矽上測試內容並遇到故障時,必須執行除錯。越靠近矽開始處,則對故障模式的完全除錯可花費較少時間及資源。如可在前矽環境模型中重製故障模式,除錯可被簡化。例如,若一晶片具有1百萬觸發器(如數位邏輯及閂鎖)並可見每一觸發器的行為,則如果待測矽處理器故障前百萬
觸發器在最後若干毫秒(millisecond)的即時行為是可掌握的,則故障模式的除錯將是較簡單的。即使僅獲知在故障前1毫秒觸發器中大部分觸發器的行為也將大大有助於簡化除錯的負擔,因為根本成因很可能發生在待測矽處理器上故障前模式前處理測試序列的最後時刻中。
然而,傳統技術無法提供故障模式前的時間段可見度。因此,傳統技術包含在故障時檢視所有1百萬觸發器的值以提供作為掃描輸出資料傾倒(dump)。可惜地,此僅能在故障的時刻提供一時間瞬間,而對於故障前無法提供任何資料。因此除錯就需要專家介入並且以極有限的資訊進行故障模式除錯。
因此,改善機制是必須的,以提供待測矽處理器上功能觸發器及數位元件的可見度,以及提供在故障模式前之時刻中,矽處理器行為的可見度。
在以下描述中,如特定系統、語言、元件等的各種特定細節闡述是為提供不同實施例之完全理解。顯而可知地,對任一熟習本發明之技術領域者,無需此等特定細節以實行所揭露之實施例。在另些情形下,若干已知的材料或方法在描述中省略,以免造成所揭露實施例不必要的模糊。
除圖式及在此所述的不同硬體元件外,實施例更包含於下描述的不同操作。在此所述有關實施例操作可由硬體元件執行或可內建於機器可讀指令中,其可引發通用目的(general-purpose)或專用目的(special-purpose)處理
器以此等指令程式化執行前述操作。此外,操作可由硬體及軟體結合執行,包含透過記憶體及一或多電腦平台處理器執行前述操作的軟體指令。
實施例同時有關執行前述操作之系統或裝置。所揭露之系統或裝置可依需求目的而特別建置,或者可包括選擇性的啟用一通用目的電腦或由儲存在此電腦中的電腦程式重新設定。此一電腦程式可儲存在非暫態電腦可讀儲存媒體,例如(但不限於)任何型態磁碟,包括軟碟(floppy disk)、光碟(optical disk)、快閃(flash)、反及閘(NAND)、固態硬碟(SSD)、光碟唯讀記憶體(CD-ROM)以及磁光碟(magnetic-optical disk)、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、可抹除可程式唯讀記憶體(EPROM)、電子可抹除可程式唯讀記憶體(EEPROM)、磁或光卡或任何型態適用於儲存非暫態電子指令之媒體,其各一耦接至電腦系統匯流排(bus)。在一實施例中,非暫態電腦可讀儲存媒體具有指令儲存於其中,而使系統中之一或多處理器執行在此所述的方法或操作。在另一實施例中,用以執行這些方法與操作的指令被儲存於非暫態電腦可讀媒體以供後續執行。
在此所述的演算法及演示基本上無關於任何特定電腦或其他裝置,而在此所述之實施例也無關於任何特定程式語言。應被理解的是不同程式語言可用來實現在此所述的實施例之教示。
請參照第1圖,根據所揭露之實施例具有不同選項之
示意圖100。舉例而言,圖表100顯示極速掃描捕捉結合PSMI功能使用的情形。效益110可包含低成本及早期PSMI。例如,在區塊111,簡化PSMI處置器導因自僅在必要時停止流程,而提供最小或沒有狀態外揭露,以致侵入及錯誤降低。在區塊112,降低PSMI驗證付出必須透過最小PSMI決策驗證及使用現存功能特性。
在區塊105中,以PSMI重製矽中故障可包含區塊106,以PSMI注入重新執行測試序列;在區塊107中每一PSMI同步點觸發功能觸發器及閂鎖的極速掃描捕捉以掃描閂鎖;在區塊108中故障觸發器(如待測矽處理器之故障模式)傾倒掃描資料至TAP;以及區塊109使用PSMI軌跡捕捉。流程接著來到區塊120,顯示在前矽環境中重製故障的選項,其中輸入包含掃描資料、軌跡(如信號)以及狀態揭露。
在區塊130中,描繪高掃描涵蓋率並需要較少前矽模型依賴度。在區塊131中,跳躍啟動重播固定工作組態;在區塊132中使用最小PSMI重播流程以達到同步點;以及在區塊133於同步點超載所有掃描資料至設計上(如待測矽處理器之模型)。
在選項區塊140中,描繪高控制暫存器掃描涵蓋率並需要降低之狀態揭露。區塊141由掃描資料擷取控制暫存器;區塊142使用所擷取的資訊以跳躍啟動重播;以及區塊143使用PSMI重播流程以重製模型中的故障模式。
在選項區塊150中,描繪低掃描涵蓋率以及提供較快
發散除錯。區塊151執行跳躍啟動與PSMI重播以及在區塊152使用掃描資料以加速發散除錯。
第2圖說明實施例可於其中操作之範例架構200。舉例而言,系統200顯示輸入信號捕捉裝置於元件230A及230B,用以捕捉輸入或施加在待測矽處理器205之輸入信號210。掃描捕捉裝置245捕捉代表整合在待測矽處理器205中複數數位元件290的已知狀態之掃描快照220,每一數位元件具有待測矽處理器205之狀態資料。掃描讀出裝置,如外部介面225傳達所捕捉掃描快照220至實體位在待測矽處理器205外部之儲存點215。以及待測矽處理器205之模型250至少部分基於所捕捉輸入信號210及所捕捉掃描快照220為待測矽處理器205重播測試序列265的子集。
如所示,根據一實施例,輸入信號捕捉裝置包含用以捕捉施加在待測矽處理器205之輸入信號210之邏輯分析器230B。在另一實施例中,輸入信號捕捉裝置包含與待測矽處理器205整合一或多晶粒內邏輯元件230A,用以捕捉至待測矽處理器205之輸入信號210。
在一實施例中,待測矽處理器205的模型250在外部以及實體與待測矽處理器205分隔的情形下重播測試序列265的子集。例如,如圖所示,模型250為待測矽處理器205的設計表示法,但與待測矽處理器205區隔且分別執行。
在一實施例中,待測矽處理器205的模型250為待測
矽處理器205在模型250中產生測試序列265子集的循環準確表示法。例如,儘管實際為待測矽處理器205,模型250的行為模式為循環週期基礎。在一實施例中,待測矽處理器205的模型250包含以軟體實現的模擬器260,及經由可程式化閘陣列(FPGA)積體電路實現之仿真器255、或者模擬器260以及仿真器255兩者之結合。
在一實施例中,掃描捕捉裝置245包括極速掃描捕捉裝置,用以觸發在待測矽處理器205中之功能觸發器(flop)及閂鎖(latch)之極速捕捉至待測矽處理器205內之掃描閂鎖上。例如,功能觸發器及閂鎖可以是待測矽處理器205中的一或多數位元件290。同樣地,待測矽處理器205中的掃描閂鎖可寫至一或多數位元件290。
在一實施例中,極速掃描捕捉裝置245捕捉功能觸發器及閂鎖至掃描閂鎖上而未改變該功能觸發器及閂鎖上之狀態資料且無需測試序列265結束。根據一實施例,待測矽處理器205在捕捉功能觸發器及閂鎖至掃描閂鎖上之後,重新開始在待測矽處理器205上之測試序列265。在此實施例中,掃描讀出裝置更包括測試存取埠(TAP),用以在測試序列265因待測矽處理器205之故障模式而結束後,傳達捕捉掃描快照220至實體位於待測矽處理器205外部之儲存點215。例如,極速掃描捕捉可在測試序列期間觸發及執行,但避免在測試序列期間輸出捕捉掃描資料。僅在到達故障模式後,TAP或其他外部介面才傳達所捕捉掃描快照至外部儲存點215。
在一實施例中,掃描讀出裝置包括或以外部介面225實現,從待測矽處理器205中擷取捕捉掃描快照220至實體位於待測矽處理器205外部之儲存點215。在一實施例中,輸入信號捕捉裝置包含外部介面225,更用以傳達所捕捉輸入信號210至實體位於待測矽處理器205外部之儲存點215以供永久儲存或稍後提取。
在一實施例中,掃描捕捉裝置245包括:(a)極速掃描捕捉裝置,用以觸發在待測矽處理器205中之功能觸發器及閂鎖之一極速捕捉至待測矽處理器205中之掃描閂鎖上;以及更包括(b)一靜止單元275,用以靜止待測矽處理器205以訓練及無效化待測矽處理器205內部之SRAM(靜態隨機存取記憶體)。
在一實施例中,靜止單元275捕捉各別SRAM之狀態資料。例如,在一實施例中,掃描捕捉裝置245藉由停止時鐘及初始化用以驅動掃描快照220從現在狀態至掃描快照220捕捉狀態(代表整合在待測矽處理器205中之複數數位元件290之已知狀態)之單一時鐘脈衝以捕捉掃描快照220。在一實施例中,靜止單元275在掃描快照220被捕捉前靜止待測矽處理器205。
舉例而言,當使用iScan SCB觀察以執行自原始觸發器至掃描觸發器的快照時,可能必須先停止時鐘。一旦停止,單一時鐘脈衝就會被創建並執行自原始觸發器至掃描觸發器的快照。在觸發器上,如發生侵入中斷或其他事件,停止時鐘,創建單一時鐘脈衝以捕捉自原始至掃描的
值,以及接著使用TAP介面掃描可被擷取。
在一實施例中,待測矽處理器205響應於靜止單元275在靜止期間執行一或多下述操作:(a)停止接受新的要求;(b)等待之前的所有要求完成;(c)由於進入靜止期間,無效化第一複數晶粒內SRAM(靜態隨機存取記憶體);(d)響應於在靜止期間所啟動之清除指令,清除第二複數晶粒內SRAM為無效狀態;(e)由於進入靜止期間,無效化在待測矽處理器205內部的第一複數正反器及閂鎖電路;以及(f)複製待測矽處理器205內部之第二複數正反器及閂鎖電路的狀態資料至對應複數影子(shadow)觸發器,每一影子觸發器保留複製狀態資料作為對應第二複數正反器及閂鎖電路之已知狀態資料。其中資料由於清除、訓練事件或單純因為不作動而被無效化或作出無效狀態,對應數位元件290的狀態資料為已知狀態,此剛好為不合法狀態。反之,其他數位元件290不為無效化或無法適當地被無效化,如計數器,則其值必須被複製至如影子觸發器中。
在一實施例中,整合於待測矽處理器205內之複數數位元件290包括由以下群組所選出之數位元件290,包括:正反器電路,各個在待測矽處理器205中具有狀態資料;閂鎖電路,各個在待測矽處理器205中具有狀態資料;以及晶粒內快取SRAM(靜態隨機存取記憶體),具有記憶體以儲存待測矽處理器205中之狀態資料。
例如,正反器或閂鎖為具有二穩態之電路並可用來儲
存狀態資訊。此電路可藉由施加至一或多控制輸入的信號來改變狀態並具有一或二輸出。正反器與閂鎖是序列邏輯、電腦的數位電子系統、通信以及其他許多類型系統中基本的儲存元件。
其他數位元件可於待測矽處理器205中存在及執行,但不必要儲存狀態資料於其中,因此不要求捕捉任何狀態資料的操作。例如,邏輯閘實行布林函數,其對一或更多邏輯輸入執行邏輯運算及產生單一邏輯輸出。然而,一旦執行,這些數位元件290無法保留狀態資料,這需要透過PSMI或極速掃描捕捉或其他方式處理捕捉。
第3圖說明根據實施例可能操作之範例時間示意圖300。如元件315所示為存在時間t1
至時間tn
之測試序列265期間。例如,在一實施例中,時間t1
代表測試序列325之開始。在此實施例中,時間tn
代表測試序列265之結束330。例如,測試序列265在時間tn
之結束330可能發生在待測矽處理器205由於測試序列265引發故障模式時。
在一實施例中,掃描捕捉裝置245在測試序列315從時間t1
325至時間tn
330的一中間時間tn-1
335捕捉待測矽處理器205的掃描快照220。在一實施例中,中間時間tn-1
335發生在測試序列325在時間t1
開始後以及在時間tn
待測矽處理器205之故障模式(如結束330)之前。
在一實施例中,掃描捕捉裝置245在測試序列265從時間t1
(如開始325)至時間tn
(如結束330)期間以循
環週期為基礎依次捕捉掃描快照220。例如,在矽上測試序列期間315,圖示若干中間時間包含:在時間t2
的中間時間345、在時間t3
的中間時間340以及對應時間t4
的中間時間tn-1
335。在此實施例中,在每一中間時間345、340及335驅動掃描捕捉,然而掃描捕捉可僅被擷取一次。例如,週期中斷可以5ms或100ms等區間侵入測試序列。在此區間中,測試序列被中斷且驅動掃描捕捉,但未必要擷取或傳達至待測矽處理器的外部。
在一實施例中,在故障模式(對應至測試序列265結束330)之前所捕捉的最後掃描快照220對應時間tn-1
的掃描快速220(如中間時間335為在結束330故障模式前的最後中間時間)。因此,並不需要明確得知矽上測試315期間何時結束,而是透過在時間345、340及335的週期性中斷,可確認掃描捕捉為最大量,過往捕捉的不多於重覆區間期間。例如,若區間為100ms重覆的掃描捕捉,則最後所捕捉的掃描快照如在時間tn-1
的中間時間335,定義上在過往不能大於100ms,其他時間期間亦然。
在一實施例中,待測矽處理器205的模型250重播測試序列265的子集(如元件315所示之矽上測試序列期間之子集)從時間tn-1
(如中間時間335)至結束330時間tn
或故障模式。
在一實施例中,模型250重播測試序列265之子集包括執行以下操作:(a)利用對應測試序列265在時間tn-1
結束330之故障模式前之最後捕捉掃描快照220,跳躍啟
動待測矽處理器205之模型250至一同步點,例如緊接在結束前的中間時間335;(b)由中間時間335時間tn-1
開始施加捕捉輸入信號210至待測矽處理器105之模型250;以及(c)從中間時間335時間tn-1
至結束330時間tn
重播待測矽處理器205之測試序列265之子集。
舉例而言,元件320說顯示從時間tn-1
至時間tn
重播模型上測試序列的子集。前述工作藉由在所捕捉的同步點跳躍啟動測試序列以及施加輸入信號至元件350所載之模型上來達成。仿真或模擬或其兩者接著在模型上由時間tn-1
至時間tn
準確地循環重播測試序列,以及透過元件355所載的仿真及/或模擬在時間tn
到達故障模式。
在一實施例中,時間tn
發生在待測矽處理器205由於測試序列265引發故障模式而測試序列265結束330時。在此實施例中,在待測矽處理器205模型250中從中間時間335時間tn-1
至結束330時間tn
,整合在待測矽處理器205中數位元件290所有狀態資料的改變均為可見的。
在一實施例中,輸入信號捕捉裝置包含邏輯分析器230B或整合在待測矽處理器205中的一或多晶粒內邏輯元件,或者邏輯分析器230B及一或多晶粒內邏輯元件之結合以捕捉施加在待測矽處理器205之輸入信號210。在此實施例中,輸入信號捕捉裝置在待測矽處理器205測試序列315由時間t1
325至結束330時間tn
期間個別及每一循環捕捉施加至待測矽處理器205之輸入信號210。
在一實施例中,待測矽處理器包含平板計算裝置或智
慧手機之中央處理單元。
在一實施例中,一非暫態電腦可讀儲存媒體,具有指令儲存於其中。當由系統執行時,該等指令促使系統執行操作包括:捕捉施加在待測矽處理器之輸入信號;捕捉代表整合在待測矽處理器中之複數數位元件之已知狀態之掃描快照,每一複數數位元件具有待測矽處理器之狀態資料;儲存所捕捉輸入信號及捕捉掃描快照至實體位於待測矽處理器外部之一儲存點;以捕捉掃描快照跳躍啟動待測矽處理器之模型;以及藉由從時間tn-1
至時間tn
施加所捕捉輸入信號至待測矽處理器之模型以在待測矽處理器模型中重播待測矽處理器之測試序列之子集。在此實施例中,時間tn
發生在由於測試序列所引發故障模式導致待測矽處理器之測試序列結束時。
在一實施例中,執行捕捉代表整合在待測矽處理器中之複數數位元件之已知狀態之該掃描快照的操作步驟包括:(a)在待測矽處理器中執行待測矽處理器中功能觸發器及閂鎖之極速掃描捕捉至待測矽處理器中之掃描閂鎖上;(b)靜止待測矽處理器以訓練及無效化待測矽處理器內部SRAM(靜態隨機存取記憶體);(c)在靜止待測矽處理器後,捕捉個別SRAM之狀態資料;(d)在執行極速掃描捕捉及捕捉個別SRAM之狀態資料後,重新開始測試序列。在一實施例中,儲存捕捉掃描快照至該實體位於待測矽處理器外部之儲存點包括在測試序列於時間tn
結束後透過外部介面擷取掃描快照。
第4圖為根據所揭露之實施例說明使用極速掃描捕捉之週期系統管理中斷之實現方法之流程圖400。方法400可由包括硬體(如電路、專用邏輯、可程式邏輯、微程式碼等)、軟體(如執行在處理裝置上以執行所述方法及指令)的處理邏輯執行。方法400中的若干區塊及/或運算為根據特定實施例之選項。區塊編號係為清楚說明而使用並非限定不同區塊之操作順序。
方法400開始以捕捉輸入信號處理邏輯施加在待測矽處理器(區塊405)。
在區塊410,處理邏輯捕捉代表整合在待測矽處理器中之複數數位元件之一已知狀態之一掃描快照。
在區塊415,處理邏輯在待測矽處理器中執行待測矽處理器中功能觸發器及閂鎖之極速掃描捕捉至待測矽處理器中之掃描閂鎖上。
在區塊420,處理邏輯靜止待測矽處理器以訓練及無效化待測矽處理器內部之SRAM(靜態隨機存取記憶體)。
在區塊425,處理邏輯在靜止待測矽處理器後,捕捉個別SRAM之狀態資料。
在區塊430,處理邏輯在執行極速掃描捕捉及捕捉個別SRAM之狀態資料後,重新開始測試序列。
在區塊435,處理邏輯在測試序列結束後透過外部介面擷取該掃描快照。
在區塊440,處理邏輯儲存所捕捉輸入信號及捕捉掃
描快照至實體位於待測矽處理器外部之儲存點。
在區塊445,處理邏輯以所捕捉掃描快照跳躍啟動待測矽處理器之一模型。
在區塊450,處理邏輯施加所捕捉輸入信號以重播待測矽處理器模型內待測矽處理器測試序列之子集。
在區塊455,使用者透過待測矽處理器之模型診斷故障模式。
第5圖為說明根據一實施例具有待測矽處理器之機器500在電腦系統中範例型態之示意表示圖,在其指令集中可使機器/電腦系統500執行在此所討論之一或多方法。在另一實施例中,此機器可連接(如透過網路)區域網路(LAN)、內部網路(intranet)、外部網路(extranet)或網際網路(Internet)中的其他機器。此機器在主從式(client-server)網路環境中可作為從端機器,在同儕網路(peer-to-peer)(或分散式)環境中可作為同級機器,在隨選服務(on-demand service)環境中可作為伺服器或伺服器組。本機器的特定實施例可以個人電腦(PC)、平板PC、智慧手機(smart phone)、機頂盒(STB)、個人數位助理(PDA)、手機(cellular telephone)、網路電器(web appliance)、伺服器(server)、網路路由器(network router)、開關或橋接器(switch or bridge)、計算系統或任何可用來執行指令集(循序或其他方式)之機器,指令集設定此機器所採取之動作。再者,雖然在此僅顯示單一機器,但“機器”一詞可包括任何機器組合(例
如電腦)其用以個別或聯合執行一指令集(或多指令集)以施行在此所討論之一或多方法。
範例電腦系統500包含待測矽處理器502,主記憶體504(如唯讀記憶體(ROM)、快閃記憶體(flash memory)、如SDRAM或RDRAM等動態隨機存取記憶體(DRAM)、如快閃記憶體、SRAM、揮發但高速RAM等靜態記憶體),以及第二記憶體518(如包含硬碟機裝置等永久儲存裝置),其彼此透過匯流排530進行傳達。主記憶體504包含用以在待測矽處理器502中驅動及協調靜止階段的靜止單元524。待測矽處理器502與處理邏輯526協同執行以施行在此所討論之方法。在一實施例中,待測矽處理器502採用信號捕捉525區間至待測矽處理器502上以捕捉輸入信號。
電腦系統500可更進一步包含網路介面卡508。電腦系統500可包含使用者介面510(如視訊顯示單元、液晶顯示器(LCD)或陰極射線管(CRT))、英數字元輸入裝置512(如鍵盤)、游標控制裝置514(如滑鼠)以及信號產生裝置516(如整合揚聲器)。電腦系統500可更進一步包含週邊裝置536(如無線或有線通信裝置、記憶體裝置、儲存裝置、音訊處理裝置、視訊處理裝置等)。
第二記憶體518可包含非暫態機器可讀或電腦可讀儲存媒體531,其中儲存一或多指令集(如軟體522),在此討論之任一或多方法或功能內建於其中。完整或部分的軟體522在執行期間可由電腦系統500駐建於主記憶體
504中及/或待測矽處理器502中。軟體522更可透過網路以網路介面卡508進行傳送或接收。
請參照第6圖,第6圖為根據一實施例之系統600之區塊圖。系統600可包含一或多處理器610、615,其耦接至圖形記憶體控制器集線器(GMCH)620。在第6圖中以虛線表示附加的處理器615。
每一處理器610、615可為待測矽處理器502的若干版本。然而,值得注意的是,不若整合圖形邏輯或整合記憶體控制單元會出現在處理器610、615中。第6圖說明GMCH 620可耦接至如DRAM之記憶體640。在至少一實施例中,DRAM可伴有非揮發性快取。
GMCH 620可為一晶片集或晶片集之一部分。GMCH 620可與處理器610、615通信以及控制處理器610、615及記憶體640間的互動。GMCH 620可作為處理器610、615與系統600中其他元件之加速匯流排介面。在至少一實施例中,GMCH 620透過如前端匯流排(FSB)695之多點匯流排(multi-drop bus)與處理器610、615通信。
再者,GMCH 620耦接至顯示器645(如平板螢幕或觸控螢幕顯示器)。GMCH 620可包含整合圖形加速器。GMCH 620更耦接至輸入/輸出(I/O)控制器匯流排(ICH)650,其用以耦接不同的週邊裝置至系統600。如第6圖中範例所示為外部圖形裝置660,其可為耦接至ICH 650的分離圖形裝置,伴隨另一週邊裝置670。
此外,附加或不同的處理器可在系統600中表示。例
如,附加處理器615可包含與處理器610相同之附加處理器,附加處理器對處理器610、加速器(如圖形加速器或數位信號處理(DSP)單元)、場效可程式化閘陣列(field programmable gate array)或其他處理器可為異質或不對稱的。在實體資源610、615間可存在不同的差異,以優點的度量標準包括架構、微架構、熱、電源消耗特性以及其他等等。這些差異在處理器610、615間表現為不對稱及異質的。對至少一實施例而言,不同處理器610、615可建置在同一晶粒封裝(die package)中。
請參照第7圖,第7圖為根據一實施例之第二電腦系統700之區塊圖。如第7圖所示,多處理器系統700為點對點互連系統,且包含透過點對點互連750之第一處理器770及第二處理器780。每一處理器770及780可為處理器500之若干版本如一或多處理器610、615。
在此僅以二處理器770、780表示,但非用以限定本發明。在其他實施例中,在一給定處理器中可具一或多附加處理器。
處理器770及780顯示依次包含整記憶體控制器單元772及782。處理器770可包含其匯流控制器單元點對點(P-P)介面776及778,類似地,第二處理器780包含點對點(P-P)介面786及788。處理器770、780可透過點對點(P-P)介面750使用P-P介面電路778、788交換資訊。如第7圖中所示,IMC 772及782耦接處理器至所屬記憶體,即記憶體732及記憶體734,其可為主記憶體的
一部分,本地性附加至所屬處理器。
處理器770、780可以晶片集790透過個別P-P介面752、754使用點對點介面電路776、794、786、798彼此交換資訊。晶片集790也可以高性能圖形電路738透過高性能圖形介面739交換資訊。
共享快取記憶體(未圖示)可包含在任一處理器中或兩處理器外,然而透過P-P互連連接處理器,當處理器被置於低功率模式(low power mode)時,處理器一或兩者之本地快取資訊會被儲存在共享快取記憶體中。
晶片集790可透過介面796耦接至第一匯流排716。在一實施例中,第一匯流排716可為週邊元件互連(PCI)匯流排,或如PCI加速匯流排或其他第三代I/O互連匯流排之匯流排,然本發明並不受限於此。
如第7圖所示,不同的I/O裝置714可耦接至第一匯流排716,伴隨匯流排電橋718,其耦接第一匯流排716至第二匯流排720。在一實施例中,第二匯流排720可為低接腳數(LPC)匯流排。不同的裝置可耦接至第二匯流排720,包括如鍵盤及/或滑鼠722、通信裝置727以及可包含指令/程式碼及資料730如碟機或其他大量儲存裝置之儲存單元728。再者,音訊I/O 724可耦接至第二匯流排720。請注意也可為其他架構。例如,系統可以多點匯流(multi-drop bus)或其他類似架構取代第7圖中之點對點架構。
請參照第8圖,第8圖為根據一實施例之系統800之
區塊圖。如第8圖所示,處理器870、880包含整合記憶體及I/O控制邏輯(“CL”)872及882,透過點對點互連850在點對點(P-P)介面878、888間彼此依次進行互動通信。處理器870、880彼此以晶片集890透過點對點互連852、854依次經由P-P介面876至894及886至898進行通信。對至少一實施例,CL 872、882可包含整合記憶體控制器單元。CL 872、882可包含I/O控制邏輯。如圖所示,記憶體832、834耦接至CL 872、882以及I/O裝置814同時耦接至CL 872、882。傳統I/O裝置815透過介面896耦接至晶片集890。
第9圖描繪根據實施例所述各具有積體電路之平板電腦裝置901以及手持智慧手機902。如圖所示,根據所揭露之實施例,每一平板電腦裝置901以及手持智慧手機902包含觸控介面903及整合處理器904。
第10圖為使用觸控螢幕介面連接器之平板電腦裝置、智慧手機或其他移動裝置之一實施例之區塊圖1000。處理器1010執行主要處理操作。音訊子系統1020表示與提供音訊功能給計算裝置之相關硬體(如音訊硬體及音訊電路)及軟體(如驅動器、編解碼器)。在一實施例中,使用者以音訊命令與(由處理器1010接收及處理)平板計算裝置或智慧手機進行互動。
顯示子系統1030表示為使用者與平板計算裝置或智慧手機提供視覺及/或實體顯示以進行互動之硬體(如顯示裝置)及軟體(如驅動器)元件。顯示子系統1030包
含顯示介面1032,其包含用以提供顯示給使用者之特殊螢幕或硬體裝置。在一實施例中,顯示子系統1030包含提供輸出與輸入給使用者之觸控螢幕裝置。
I/O控制器1040表示與使用者互動之硬體裝置及軟體元件。I/O控制器1040可操作以管理音訊子系統1020及/或顯示子系統1030之部分硬體。此外,I/O控制器1040說明與平板計算裝置或智慧手機,使用者可利用進行互動之附加裝置的連接點。在一實施例中,I/O控制器1040管理如加速器、相機、光感測器或其他環境感測器、或其他包含在平板計算裝置或智慧手機中的硬體等裝置。輸入可由使用者直接互動的部分或提供環境輸入給平板計算裝置或智慧手機。
在一實施例中,平板計算裝置或智慧手機中包含電源管理1050以管理電池電源使用、電池充電以及其他與電源節省有關的操作。記憶體子系統1060包含在平板計算裝置或智慧手機儲存資訊之記憶體裝置。連接1070包含用以使平板計算裝置或智慧手機與外部裝置通信之硬體裝置(如無線及/或有線連接器以及通信硬體)及軟體元件(如驅動器、協定堆疊)。移動連接1072可包含如GSM(全球移動通信系統)、CDMA(分碼多工存取)、TDM(分時多工)或其他移動服務標準之無線載波。無線連接1074可包含不屬於移動的活動,如個人區域網路(如藍芽)、本域網路(如WiFi)及/或廣域網路(如WiMax),或其他無線通信。
週邊連接1080包括硬體介面及連接器,以及使週邊連接作為其他計算裝置週邊裝置(“至”1082)之軟體元件(如驅動器、協定堆疊),以及具有週邊裝置(“從”1084)連接至平板計算裝置或智慧手機,包含例如“對接”連接器以連接其他計算裝置。週邊連接1080包含一般或基於標準的連接器,如通用串列匯流排(USB)連接器,顯示埠包含迷你顯示埠(MDP)、高畫質多媒體介面(HDMI)、韌體等。
第11圖為根據一實施例IP核心發展系統之區塊圖。儲存媒體1130包含模擬軟體1120及/或硬體或軟體模型1110。在一實施例中,此資料代表IP核心設計可透過記憶體1140(如硬碟)、有線連接(如網際網路)1150或無線連接1160提供至儲存媒體1130。由模擬工具及模型所產生的IP核心資訊可接著被傳送到製造工廠1165,其可由第三方製造以根據至少一實施例執行至少一指令。
在若干實施例中,一或多指令可對應至第一類型架(如x86)以及在不同類型架構(如ARM)之處理器上進行轉譯及仿真。根據一實施例,指令可在任何處理器或處理器類型上執行,包括ARM、x86、MIPS、GPU或其他處理器類型或架構。
第12圖說明根據一實施例第一類指令由不同類型處理器進行仿真。在第12圖中,根據一實施例程式1205包含可執行相同或實際為相同功之若干指令。然而程式1205的指令可為不同或不相容於處理器1215之類型及/或格
式,意即在程式1205內的此類型指令可能無法由處理器1215本機執行。然而,透過仿真邏輯1210的協助,程式1205的指令會被轉譯為可由處理器1215本機執行的指令。在一實施例中,仿真邏輯內建在硬體中。在另一實施例中,仿真邏輯內建在實體、機器可讀媒體中,包含將程式1205中此類的指令轉譯為可由處理器1215本機執行類型之軟體。在另一實施例中,仿真邏輯為固定功能或可程式硬體以及儲存在實體、機器可讀媒體之結合。在一實施例中,處理器包含仿真邏輯,但在其他實施例中,仿真邏輯存在處理器外部且由第三方提供。在一實施例中,處理器藉由執行處理器中或與其相關的微程式碼或韌體可載入內建在實體、機器可讀媒體中含有軟體之仿真邏輯。
第13圖說明根據本發明之一實施例,軟體指令轉換器將來源指令集中的二進制指令轉換為目的指令集中的二進制指令之對照使用。在此說明實施例中,指令轉換器為軟體指令轉換器,然指令轉換器可以軟體、韌體、硬體或其結合加以實現。第13圖顯示高階語言程式1302可使用x86編譯器1304進行編譯以產生x86二元制程式碼1306,其可由具有至少一x86指令集核心之處理器1316本機執行。具有至少一x86指令集核心之處理器1316代表可實際執行與具有至少一x86指令集核心Intel處理器相同功能之處理器,藉由相容執行或其處理(1)Intelx86指令集核心之指令集之一實體部分為(2)在具有至少一x86指令集核心Intel處理器上執行之應用程式或其他
軟體的目的碼(object code)版本,以實際完成與具有至少一x86指令集核心Intel處理器之相同結果。x86編譯器1304代表可操作以產生x86二進制碼1306(如目的碼),其可在有或無額外鏈結處理的情況下,在具有至少一x86指令集核心1316之Intel處理器上執行。同樣地,第13圖顯示高階語言程式1302可使用另一指令集編譯器1308進行編譯以產生另一二元制程式碼1310,其可由不具有至少一x86指令集核心之處理器1314本機執行(如具有執行MIPS Technologies of Sunnyvale CA之MIPS指令核心之處理器及/或執行ARM Holdings of Sunnyvale,CA之ARM指令集)。指令轉換器1312用以轉換x86二進制碼1306為可在不具有x86指令集核心之處理器1314上執行之程式碼。轉換後程式碼不像另一指令集二進制碼1310,因為指令轉換器能以製作;無論如何,轉換後程式碼將完成通用操作並由來自另一指令集的指令所組成。因此,指令轉換器1312代表軟體、韌體、硬體其結合體或透過仿真、模擬或任何其他程序,允許不具x86指令集處理器或核心的處理器或其他電子裝置可執行x86二進制碼1306。
以上描述係透過特定實施例加以說明,必須了解的是以上描述說明非用以限制本發明。相反地,任何熟習此技藝者當可理解本發明涵蓋不同更動與潤飾。因此,本發明之保護範圍包括所涵蓋之不同更動與潤飾。必須了解的是以上描述欲說明而非限制本發明。任何熟習此技藝者閱讀
與理解前述說明後當可推知若干其他實施例。因此,本發明之範圍當視後附之申請專利範圍輔以其等同的所有範圍為準。
200‧‧‧系統
230B‧‧‧邏輯分析器(信號捕捉)
230A‧‧‧晶粒內邏輯元件(信號捕捉)
210‧‧‧輸入信號
265‧‧‧測試序列
205‧‧‧待測矽處理器
245‧‧‧掃描捕捉裝置
290‧‧‧數位元件
225‧‧‧外部介面
220‧‧‧所捕捉掃描快照
210‧‧‧所捕捉輸入信號
215‧‧‧儲存點
250‧‧‧待測矽處理器模型
255‧‧‧仿真器
260‧‧‧模擬器
502‧‧‧待測矽處理器
525‧‧‧信號捕捉
526‧‧‧處理邏輯
504‧‧‧主記憶體
524‧‧‧靜止單元
508‧‧‧網路介面(NIC)
520‧‧‧網路
530‧‧‧匯流排
536‧‧‧週邊裝置
512‧‧‧英數字元輸入裝置
514‧‧‧游標控制裝置
510‧‧‧使用者介面
516‧‧‧整合揚聲器
518‧‧‧第二記憶體
531‧‧‧電腦可存取儲存媒體
522‧‧‧軟體
610‧‧‧處理器
645‧‧‧顯示器
520‧‧‧圖形記憶體控制器集線器
640‧‧‧記憶體
650‧‧‧輸入/輸出控制器匯流排
660‧‧‧外部圖形裝置
670‧‧‧週邊
732‧‧‧記憶體
770‧‧‧處理器
780‧‧‧處理器
734‧‧‧記憶體
738‧‧‧高性能圖形電路
790‧‧‧晶片集
718‧‧‧匯流排電橋
714‧‧‧I/O裝置
724‧‧‧音訊I/O
722‧‧‧鍵盤/滑鼠
727‧‧‧通信裝置
728‧‧‧資料儲存
730‧‧‧程式碼及資料
832‧‧‧記憶體
814‧‧‧I/O裝置
870‧‧‧處理器
880‧‧‧處理器
834‧‧‧記憶體
890‧‧‧晶片集
815‧‧‧傳統I/O裝置
901‧‧‧平板計算裝置
902‧‧‧手持智慧手機
903‧‧‧觸控介面
904‧‧‧整合處理器
1070‧‧‧連接
1072‧‧‧移動連接
1074‧‧‧無線
1080‧‧‧週邊連接
1020‧‧‧音訊子系統
1040‧‧‧I/O控制器
1030‧‧‧顯示子系統
1032‧‧‧顯示介面
1050‧‧‧電源管理
1060‧‧‧記憶體子系統
1010‧‧‧處理器
1165‧‧‧製造工廠
1120‧‧‧模擬軟體
1110‧‧‧硬體模式(HDL或實體設計資料)
1130‧‧‧儲存媒體
1302‧‧‧高階語言
1304‧‧‧x86編譯器
1306‧‧‧x86二進制碼
1308‧‧‧另一指令集編譯器
1310‧‧‧另一指令集二進制碼
1312‧‧‧指令轉換器
1314‧‧‧不具有x86指令集核心之處理器
1316‧‧‧具有至少一x86指令集核心之處理器
本發明之實施例以範例進行說明,但非用以限定,參考下列輔以圖式之詳加說明將更全面瞭解,其中:第1圖說明根據所揭露之實施例具有不同選項之示意圖。
第2圖說明實施例可於其中操作之範例架構。
第3圖說明根據實施例可能操作之範例時間示意圖。
第4圖為根據所揭露之實施例說明使用極速掃描捕捉之週期系統管理中斷之實現方法之流程圖。
第5圖為說明根據一實施例機器在電腦系統中範例型態之示意表示圖。
第6圖為根據一實施例之電腦系統之區塊圖。
第7圖為根據一實施例之電腦系統之區塊圖。
第8圖為根據一實施例之電腦系統之區塊圖。
第9圖描繪根據實施例所述各具有積體電路之平板電腦裝置以及手持智慧手機。
第10圖為使用觸控螢幕介面連接器之平板電腦裝置、智慧手機或其他移動裝置之一實施例之區塊圖。
第11圖為根據一實施例IP核心發展系統之區塊圖。
第12圖說明根據一實施例之架構仿真系統。
第13圖說明根據一實施例之轉換指令系統。
200‧‧‧系統
230B‧‧‧邏輯分析器(信號捕捉)
230A‧‧‧晶粒內邏輯元件(信號捕捉)
210‧‧‧輸入信號
265‧‧‧測試序列
205‧‧‧待測矽處理器
245‧‧‧掃描捕捉裝置
290‧‧‧數位元件
225‧‧‧外部介面
220‧‧‧所捕捉掃描快照
210‧‧‧所捕捉輸入信號
215‧‧‧儲存點
250‧‧‧待測矽處理器模型
255‧‧‧仿真器
260‧‧‧模擬器
275‧‧‧靜止單元
Claims (26)
- 一種系統,包括:輸入信號捕捉裝置,用以捕捉輸入到待測矽處理器之輸入信號;掃描捕捉裝置,用以捕捉代表整合在該待測矽處理器中之複數數位元件之已知狀態之掃描快照,每一該等複數數位元件具有該待測矽處理器之狀態資料;掃描讀出裝置,用以傳達該捕捉掃描快照至實體位於該待測矽處理器外部之一儲存點;以及該待測矽處理器之模型,用以至少部分基於該捕捉輸入信號以及該捕捉掃描快照,以重播該待測矽處理器之測試序列之子集。
- 如申請專利範圍第1項所述之系統,其中用以重播該待測矽處理器之該測試序列之該子集之該待測矽處理器之該模型包括該待測矽處理器之該模型,用以重播在該待測矽處理之外部以及實體分離的該測試序列之該子集。
- 如申請專利範圍第1項所述之系統,其中用以重播該待測矽處理器之該測試序列之該子集之該待測矽處理器之該模型包括該待測矽處理器之該模型,用以產生該待測矽處理器在該模型中之該測試序列之該子集之週期準確表示法。
- 如申請專利範圍第1項所述之系統,其中該待測矽處理器之該模型包括以軟體實現之模擬器、以可程式化閘陣列(FPGA)積體電路實現之仿真器、或者該模擬器以 及該仿真器兩者之結合。
- 如申請專利範圍第1項所述之系統,其中該掃描捕捉裝置包括極速掃描捕捉裝置,用以觸發在該待測矽處理器中之功能觸發器及閂鎖之極速捕捉至該待測矽處理器內之掃描閂鎖上。
- 如申請專利範圍第5項所述之系統,其中該極速掃描捕捉裝置用以捕捉該功能觸發器及閂鎖至該掃描閂鎖上並未改變該功能觸發器及閂鎖上之狀態資料以及並不需要該測試序列結束。
- 如申請專利範圍第5項所述之系統,其中該待測矽處理器在捕捉該功能觸發器及閂鎖至該掃描閂鎖上之後,重新開始在該待測矽處理器上之該測試序列;以及其中該掃描讀出裝置包括測試存取埠(TAP),用以在該測試序列因該待測矽處理器之故障模式而結束後,傳達該捕捉掃描快照至實體位於該待測矽處理器外部之儲存點。
- 如申請專利範圍第1項所述之系統,其中該掃描讀出裝置包括外部介面,用以從該待測矽處理器中擷取該捕捉掃描快照至實體位於該待測矽處理器外部之該儲存點。
- 如申請專利範圍第1項所述之系統,其中該掃描捕捉裝置包括:(a)極速掃描捕捉裝置,用以觸發在該待測矽處理器中之功能觸發器及閂鎖之一極速捕捉至該待 測矽處理器中之掃描閂鎖上;以及(b)一靜止單元,用以靜止該待測矽處理器以訓練及無效化該待測矽處理器內部之SRAM(靜態隨機存取記憶體),以及其中該靜止單元更捕捉該等各別SRAM之狀態資料。
- 如申請專利範圍第1項所述之系統,其中該掃描捕捉裝置藉由停止該時鐘以及初始化單一時鐘脈衝,其觸發該掃描快照之該捕捉由一目前狀態至該掃描快照(代表整合於該待測矽處理器中複數數位元件之該已知狀態)之該捕捉狀態。
- 如申請專利範圍1項所述之系統,其中該掃描捕捉裝置包括靜止單元,用以在該掃描快照被捕捉前靜止該待測矽處理器。
- 如申請專利範圍第11項所述之系統,其中該待測矽處理器響應於該靜止單元在一靜止期間執行一或多下述操作:停止接受新的要求;等待之前的所有要求完成;由於進入該靜止期間,無效化第一複數晶粒內SRAM(靜態隨機存取記憶體);響應於在該靜止期間所啟動之清除指令,清除第二複數晶粒內SRAM為無效狀態;由於進入該靜止期間,無效化在該待測矽處理器內部第一複數正反器及閂鎖電路;以及 從在該待測矽處理器內部的第二複數正反器及閂鎖電路複製狀態資料至對應複數影子觸發器,每一該影子觸發器用以保留該複製狀態資料作為該對應第二複數正反器及閂鎖電路之已知狀態資料。
- 如申請專利範圍第1項所述之系統,其中該等整合於該待測矽處理器之複數數位元件包括由以下群組所選出之數位元件,包括:正反器電路,各個在該待測矽處理器中具有狀態資料;閂鎖電路,各個在該待測矽處理器中具有狀態資料;以及晶粒內快取SRAM(靜態隨機存取記憶體),具有記憶體以儲存於該待測矽處理器中之狀態資料。
- 如申請專利範圍第1項所述之系統,其中該掃描捕捉裝置在由時間t1 至時間tn 測試序列期間之中間時間tn-1 捕捉該待測矽處理器之該掃描快照,其中時間t1 代表該測試序列之一開始以及其中時間tn 代表該測試序列之結束。
- 如申請專利範圍第14項所述之系統,其中該測試序列於時間tn 之該結束發生在由該測試序列所引發該待測矽處理器之故障模式時;以及其中該中間時間tn-1 發生在該測試序列在時間t1 之該開始後以及在時間tn 該待測矽處理器之該故障模式之前。
- 如申請專利範圍第14項所述之系統,其中用以捕 捉該掃描快照之該掃描捕捉裝置包括該掃描捕捉裝置在由時間t1 至時間tn 該測試序列之期間,以一重覆週期性發生為基礎地重覆捕捉該掃描快照,其中對應該測試序列之該結束之故障模式前之最後捕捉掃描快照對應於時間tn-1 之該掃描快照。
- 如申請專利範圍第14項所述之系統,其中該待測矽處理器之該模型重播該待測矽處理器之該測試序列之該子集包括該待測矽處理器之該模型用以:(a)利用對應該測試序列在時間tn-1 之該結束之該故障模式前之該最後捕捉掃描快照,跳躍啟動該待測矽處理器之模型至一同步點;(b)由時間tn-1 開始施加該捕捉輸入信號至該待測矽處理器之該模型;(c)從時間tn-1 至時間tn 重播該待測矽處理器之該測試序列之該子集,其中時間tn 發生在由該測試序列所引發之故障模式導致該待測矽處理器之該測試序列結束時;以及其中整合在該待測矽處理器中之該等數位元件之狀態資料的所有改變在該待測矽處理器之該模型中由時間t1 至時間tn 為可見的。
- 如申請專利範圍第1項所述之系統,其中該輸入信號捕捉裝置包括一邏輯分析器,用以捕捉施加於該待測矽處理器之該輸入信號。
- 如申請專利範圍第1項所述之系統,其中該輸入 信號捕捉裝置包括與該待測矽處理器整合之一或多晶粒內邏輯元件,用以捕捉該輸入信號至該待測矽處理器中。
- 如申請專利範圍第1項所述之系統,其中該輸入信號捕捉裝置包括邏輯分析器或與該待測矽處理器整合之一或多晶粒內邏輯元件,或者該邏輯分析器以及該等一或多晶粒內邏輯元件之結合,用以捕捉施加在該待測矽處理器之該輸入信號;以及其中該輸入信號捕捉裝置捕捉由時間t1 至時間tn 測試序列期間在該待測矽處理器個別及每一週期施加在該待測矽處理器之該輸入信號。
- 如申請專利範圍第1項所述之系統,其中該輸入信號捕捉裝置包括一外部介面,更用以傳達該捕捉輸入信號至實體位於該待測矽處理器外部之一儲存點,以作持續儲存及稍後取回。
- 一種方法,包括:捕捉施加在待測矽處理器之輸入信號;捕捉代表整合在該待測矽處理器中之複數數位元件之一已知狀態之一掃描快照,每一該等複數數位元件具有該待測矽處理器之狀態資料;儲存該捕捉輸入信號及該捕捉掃描快照至實體位於該待測矽處理器外部之儲存點;以該捕捉掃描快照跳躍啟動該待測矽處理器之一模型;以及藉由從時間tn-1 至時間tn 施加該捕捉輸入信號至該待 測矽處理器之該模型以重播該待測矽處理器在該模型內之該待測矽處理器之測試序列之子集,其中時間tn 發生在由該測試序列所引發之故障模式導致該待測矽處理器之該測試序列結束。
- 如申請專利範圍第22項所述之方法,其中捕捉代表整合在該待測矽處理器中之複數數位元件之已知狀態之該掃描快照的步驟包括:(a)在該待測矽處理器中執行該待測矽處理器中之功能觸發器及閂鎖之極速掃描捕捉至該待測矽處理器中之掃描閂鎖上;(b)靜止該待測矽處理器以訓練及無效化該待測矽處理器內部之SRAM(靜態隨機存取記憶體);(c)在靜止該待測矽處理器後,捕捉該個別SRAM之狀態資料;(d)在執行該極速掃描捕捉及捕捉該個別SRAM之狀態資料後,重新開始該測試序列;以及其中儲存該捕捉掃描快照至該實體位於該待測矽處理器外部之該儲存點包括在該測試序列於時間tn 結束後透過一外部介面擷取該掃描快照。
- 如申請專利範圍第22項所述之方法,其中該待測矽處理器包括用於平板計算裝置或智慧手機之一的中央處理單元。
- 一種非暫態電腦可讀儲存媒體,具有指令儲存於 其中,當由系統執行該等指令時,該等指令促使該系統執行操作包括:捕捉施加在待測矽處理器之輸入信號;捕捉代表整合在該待測矽處理器中之複數數位元件之已知狀態之掃描快照,每一該等複數數位元件具有該待測矽處理器之狀態資料;儲存該捕捉輸入信號及該捕捉掃描快照至實體位於該待測矽處理器外部之一儲存點;以該捕捉掃描快照跳躍啟動該待測矽處理器之模型;以及藉由從時間tn-1 至時間tn 施加該捕捉輸入信號至該待測矽處理器之該模型以重播該待測矽處理器在該模型中該待測矽處理器之測試序列之子集,其中時間tn 發生在由該測試序列所引發之故障模式,導致該待測矽處理器之該測試序列結束。
- 如申請專利範圍第25項所述之非暫態電腦可讀儲存媒體,其中捕捉代表整合在該待測矽處理器中之複數數位元件之已知狀態之該掃描快照的步驟包括:(a)在該待測矽處理器中執行該待測矽處理器中之功能觸發器及閂鎖之極速掃描捕捉至該待測矽處理器中之掃描閂鎖上;(b)靜止該待測矽處理器以訓練及無效化該待測矽處理器內部SRAM(靜態隨機存取記憶體);(c)在靜止該待測矽處理器後,捕捉該個別SRAM 之狀態資料;(d)在執行該極速掃描捕捉及捕捉該個別SRAM之狀態資料後,重新開始該測試序列;以及其中儲存該捕捉掃描快照至該實體位於該待測矽處理器外部之該儲存點包括在該測試序列於時間tn 結束後透過外部介面擷取該掃描快照。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/066656 WO2013095469A1 (en) | 2011-12-21 | 2011-12-21 | Psmi using at-speed scan capture |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201346574A TW201346574A (zh) | 2013-11-16 |
TWI454925B true TWI454925B (zh) | 2014-10-01 |
Family
ID=48669115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101145432A TWI454925B (zh) | 2011-12-21 | 2012-12-04 | 使用極速掃描捕捉之週期系統管理中斷 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9483374B2 (zh) |
TW (1) | TWI454925B (zh) |
WO (1) | WO2013095469A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2882872B1 (en) | 2012-08-13 | 2021-10-06 | The Regents of The University of California | Methods and systems for detecting biological components |
US10697007B2 (en) | 2014-06-27 | 2020-06-30 | The Regents Of The University Of California | PCR-activated sorting (PAS) |
CN107107058B (zh) | 2014-10-22 | 2021-08-10 | 加利福尼亚大学董事会 | 高清晰度微液滴打印机 |
WO2016126871A2 (en) | 2015-02-04 | 2016-08-11 | The Regents Of The University Of California | Sequencing of nucleic acids via barcoding in discrete entities |
US11142791B2 (en) | 2016-08-10 | 2021-10-12 | The Regents Of The University Of California | Combined multiple-displacement amplification and PCR in an emulsion microdroplet |
EP3571308A4 (en) | 2016-12-21 | 2020-08-19 | The Regents of The University of California | GENOMIC SEQUENCING OF SINGLE CELLS USING HYDROGEL-BASED DROPS |
US10501739B2 (en) | 2017-10-18 | 2019-12-10 | Mission Bio, Inc. | Method, systems and apparatus for single cell analysis |
US11204859B2 (en) * | 2019-07-09 | 2021-12-21 | International Business Machines Corporation | Partial-results post-silicon hardware exerciser |
US11501046B2 (en) | 2020-03-24 | 2022-11-15 | International Business Machines Corporation | Pre-silicon chip model of extracted workload inner loop instruction traces |
DE112022001293T5 (de) * | 2021-04-28 | 2024-03-14 | Arc-Fy, Llc | Anwendungsabsturz-testplattform |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200634509A (en) * | 2005-03-24 | 2006-10-01 | Taiwan Semiconductor Mfg | Method for integrally checking chip and package substrate layouts for errors |
US7401272B1 (en) * | 2001-03-09 | 2008-07-15 | Pmc-Sierra, Inc. | Apparatus and method for high speed sampling or testing of data signals using automated testing equipment |
US20090125770A1 (en) * | 2007-11-14 | 2009-05-14 | Sun Microsystems, Inc. | Scan based computation of a signature concurrently with functional operation |
US7617425B2 (en) * | 2005-06-27 | 2009-11-10 | Logicvision, Inc. | Method for at-speed testing of memory interface using scan |
US7882000B2 (en) * | 2001-07-05 | 2011-02-01 | Cummins-Allison Corp. | Automated payment system and method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6877114B2 (en) * | 2002-02-14 | 2005-04-05 | Delphi Technologies, Inc. | On-chip instrumentation |
US8108730B2 (en) * | 2010-01-21 | 2012-01-31 | Arm Limited | Debugging a multiprocessor system that switches between a locked mode and a split mode |
-
2011
- 2011-12-21 WO PCT/US2011/066656 patent/WO2013095469A1/en active Application Filing
- 2011-12-21 US US13/993,318 patent/US9483374B2/en not_active Expired - Fee Related
-
2012
- 2012-12-04 TW TW101145432A patent/TWI454925B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7401272B1 (en) * | 2001-03-09 | 2008-07-15 | Pmc-Sierra, Inc. | Apparatus and method for high speed sampling or testing of data signals using automated testing equipment |
US7882000B2 (en) * | 2001-07-05 | 2011-02-01 | Cummins-Allison Corp. | Automated payment system and method |
TW200634509A (en) * | 2005-03-24 | 2006-10-01 | Taiwan Semiconductor Mfg | Method for integrally checking chip and package substrate layouts for errors |
US7617425B2 (en) * | 2005-06-27 | 2009-11-10 | Logicvision, Inc. | Method for at-speed testing of memory interface using scan |
US20090125770A1 (en) * | 2007-11-14 | 2009-05-14 | Sun Microsystems, Inc. | Scan based computation of a signature concurrently with functional operation |
Also Published As
Publication number | Publication date |
---|---|
TW201346574A (zh) | 2013-11-16 |
WO2013095469A1 (en) | 2013-06-27 |
US9483374B2 (en) | 2016-11-01 |
US20140089737A1 (en) | 2014-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI454925B (zh) | 使用極速掃描捕捉之週期系統管理中斷 | |
US9483383B2 (en) | Injecting faults at select execution points of distributed applications | |
US10095611B1 (en) | Methodology for unit test and regression framework | |
US9684585B2 (en) | Testing code response to injected processing errors | |
US11055197B2 (en) | Tentative execution of code in a debugger | |
US8495344B2 (en) | Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information | |
EP3652648B1 (en) | Replaying time-travel traces relying on processor undefined behavior | |
CN101901177A (zh) | 多核微处理器及其除错方法 | |
Cong et al. | Automatic concolic test generation with virtual prototypes for post-silicon validation | |
US10229033B2 (en) | System, method and apparatus for debugging of reactive applications | |
US20200192774A1 (en) | Apparatus and method using debug status storage element | |
CN110727577B (zh) | 嵌入式系统软件中概率复现问题的调试方法、系统及介质 | |
CN109753308B (zh) | 指令通路验证系统及指令通路监测方法 | |
Cong | Post-silicon functional validation with virtual prototypes | |
Fidalgo et al. | A modified debugging infrastructure to assist real time fault injection campaigns | |
CN117093353B (zh) | 一种中断控制方法、装置、电子设备及可读存储介质 | |
CN112540288B (zh) | 用于硅后芯片验证的方法、系统、设备以及存储介质 | |
Corteggiani | Towards system-wide security analysis of embedded systems | |
CN1987785A (zh) | 测量基本输入输出系统的自我开机测试时间的方法 | |
WO2018103045A1 (zh) | 测试点的创建方法,装置和系统 | |
Muench | SORBONNE UNIVERSITE | |
CN115858323A (zh) | 一种针对中央处理器cpu的功能及性能测试方法、系统及装置 | |
Sharma | Protocol-directed trace signal selection for post-silicon validation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |