TWI495887B - 半導體裝置及用於系統單晶片之方法 - Google Patents
半導體裝置及用於系統單晶片之方法 Download PDFInfo
- Publication number
- TWI495887B TWI495887B TW099124347A TW99124347A TWI495887B TW I495887 B TWI495887 B TW I495887B TW 099124347 A TW099124347 A TW 099124347A TW 99124347 A TW99124347 A TW 99124347A TW I495887 B TWI495887 B TW I495887B
- Authority
- TW
- Taiwan
- Prior art keywords
- agent
- logic
- information
- data
- odla
- Prior art date
Links
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/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/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test 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
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318505—Test of Modular systems, e.g. Wafers, MCM's
- G01R31/318511—Wafer Test
-
- 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/318505—Test of Modular systems, e.g. Wafers, MCM's
- G01R31/318513—Test of Multi-Chip-Moduls
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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/25—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
- G06F11/364—Software debugging by tracing the execution of the program tracing values on a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
本發明係有關於用於半導體晶粒之晶粒上邏輯分析器。
隨著矽設計之複雜度增長且轉向多晶片整合,執行後矽除錯之挑戰增大。例如,系統單晶片(SoC;又稱“晶片上系統”)實施態樣在很多不同生產線上變得越來越普遍。由於消費者期望更小的形狀因數,除錯此類系統之難度增大。尤其是當一單一矽晶粒上之元件間的互連線隱藏而不能由一外部邏輯分析器擷取時。
除了該矽上之電晶體數量增加,利用外部邏輯分析器快速擷取高頻信號之成本也在增長。設計小組通常將除錯掛鉤(debug hooks)植入該電路中。然而,由於內部節點之敏感性及觀察該等內部節點之軟體工具,所以此等強大的除錯特徵一般不能提供給消費者使用。這迫使任一消費者問題要在一廠商端實驗室(與消費者端相對)重現。在消費者端以外重現此等問題非常難。
依據本發明之一實施例,係特地提出一種裝置,其包含:一半導體晶粒,其包括經由一內部互連線耦接之一第一代理器及一第二代理器;及該半導體晶粒還包括一邏輯分析器,該邏輯分析器具有一線跡緩衝器,該線跡緩衝器
用以儲存從該第一代理器傳遞到該第二代理器之第一資訊及儲存從該第二代理器傳遞到該第一代理器之第二資訊,且將該第一及第二資訊提供到一晶粒外代理器。
第1圖是根據本發明之一個實施例的一積體電路之一方塊圖。
第2圖是根據本發明之一實施例的一晶粒上邏輯分析器之一方塊圖。
第3圖是根據本發明之一個實施例的一線跡緩衝器之多個佇列之一方塊圖。
第4圖是根據本發明之一個實施例的用於一線跡緩衝器之一佇列之輸入之一方塊圖。
第5圖是根據本發明之一個實施例的一匯流排及儲存架構之一概述。
第6圖顯示了本發明之另一實施例之一系統級圖。
第7圖是根據本發明之一個實施例的一晶粒上邏輯分析器之一部分之一方塊圖。
第8圖是根據本發明之一個實施例的一方法之一流程圖。
在各種實施例中,一晶粒上邏輯分析器(ODLA)可作為一半導體裝置之一除錯解決方案,該半導體裝置諸如一系統單晶片(SoC)。在一個實施例中,該ODLA可用來收集在
諸如一處理器-晶片組互連線之一互連線上傳遞之資料,例如一單向前側匯流排(iFSB)。在一個實施例中,此互連線可包括多於700左右個內部信號。此等信號對於一裝置介面處之位於晶片外之一傳統邏輯分析器是不可見的,因為該iFSB埋植於該SoC內部。透過利用本發明之一實施例將可見性提供給該iFSB,一除錯工程師能夠獲得流入及流出該處理器之精確資料。
現在參考第1圖,其顯示了一積體電路10之一方塊圖,該積體電路10在一些實施例中可以是一SoC。如圖所示,該SoC之主要元件包括一處理器20,其可以是一中央處理單元(CPU),諸如一嵌入式英特爾TM
處理器或者另一這樣之CPU。依次地,處理器20可經由一互連線25耦接到一晶片組30,在一個實施例中該互連線25可以是包括多個各以一個方向傳播之線道之一嵌入式前側匯流排互連體。因而,單向線可字處理器20耦接到晶片組30且反之亦然。
還如第1圖所示,晶片組30可包括各種元件。為了便於說明,要了解到,可用來致能該處理器與該SoC之各種其它元件(諸如,專用邏輯單元、記憶體控制器、周邊控制器等)之間的通訊之該晶片組之基本邏輯元件未顯示。相反,第1圖顯示了根據本發明之一實施例參與執行除錯及測試操作之晶片組30之高級組件。
如圖所示,來自處理器20之通訊可提供到一匯流排應答機34且還提供到一ODLA 40。相應地,自匯流排應答機34到處理器20之通訊可通過一多工器32提供,該多工器32
還接收來自ODLA 40之一輸入。根據提供該ODLA資料的一測試模式是否遭啟動,多工器32可由一測試模式信號(ODLA_testmode)控制以選擇匯流排應答機34或者ODLA 40之資料以傳遞到處理器20。
還如圖所示,ODLA 40可接收來自一內部介面及來自一第二個多工器36之輸入,該第二個多工器36遭耦接以經由一測試向量暫存器42接收除錯信號及資訊且接著耦接到一測試存取埠(TAP)介面45b。該TAP介面可符合電機電子工程師學會(IEEE)1149.1-1999、聯合測試行動小組(JTAG)標準。如圖所示,介面45b可經由一輸入串列線(TDI)及一輸出串列線(TDO)與一晶片外元件進行串列通訊。還如圖所示,一第二TAP介面45a可直接耦接到ODLA 40。接著,ODLA 40可利用一除錯埠(未顯示在第1圖中)經由一並列匯流排進行晶片外通訊,該並列匯流排例如一16位元並列資料匯流排及一條一位元時鐘線。儘管第1圖之該實施例顯示了此特定實施態樣,本發明之範圍不局限於此方面。
如圖所示,該ODLA作為一獨立單元實施於該矽上。在一個實施例中,該ODLA位於該晶片組中,但在其它實施例中,其可位於該處理器與該晶片組之間或者位於另一晶片上位置中。該ODLA監測該等介面信號且將線跡擷取入一內部緩衝器(未顯示在第1圖中)中。在該線跡擷取結束時,一用戶可卸載該緩衝器內容,例如通過該除錯埠或者該TAP埠。該用戶將典型地把該除錯埠連接到一外部邏輯分析器或者一預期之除錯埠。穿過該除錯埠之該資料以一標頭樣
式開始且按照某一順序,例如按照一固定順序,使得後處理軟體可重建該資料。通過兩個埠收集之該資料還包含時序資訊。該標頭樣式、卸載順序及時序資訊為該用戶所知,使得該資訊可容易分析及重建以顯示該iFSB上之逐個時鐘動作。
該ODLA提供了一套完整的觸發器,其使該用戶對一預期事件產生一觸發且有效地利用該有限之晶片上線跡緩衝器。例如,一觸發器可開始或者結束一線跡擷取動作。此外,一重復事件可遭觸發。在一個實施例中,觸發器可通過該ODLA之內部暫存器遭程式化。此暫存器組還可包含可通過一主要記憶體映像介面(例如,除錯埠)或者一次要TAP介面接取之其它組態暫存器。
除了監測該iFSB之外,出於特定消費者除錯目的,該ODLA允許該SoC將該擷取能力擴大到其它信號。在各不同實施例中,這樣之除錯信號可來自該晶片上之各個不同位置。例如,該晶片之很多不同的邏輯塊可具有與之有關之一個或多個內部觀測節點。來自此等各個不同觀測節點之該等信號接著可提供到一內部節點觀測模組,該等信號收集於該內部節點觀測模組處。此等信號可接著提供給該ODLA(例如,通過多工器36)以用於進一步處理、儲存及發送至一晶片外代理器。類似於該iFSB,該ODLA將此等信號擷取於它的緩衝器中且以逐個時鐘為基礎提供觀察。因而,單元級觀測節點可路由安排到該ODLA。不受限於一次只觀測一小位元寬度(例如,32位元)及多次運行一測試,實
施例可用來只運行一次測試且接著獲得所有觀測信號。
由於該SoC封裝架構,該ODLA本身有助於針對大批量製造(HVM)測試對該處理器作出反應。該ODLA可作為該iFSB上之一代理器來對功能測試及除錯作出決定性響應,其透過提供一功能性內建自檢(BIST)能力而可用於針對結構、速度及電力甄別之功能性HVM測試。而且,當與目標硬體測試結合時,實施例可有助於在此方面出錯之部分的故障分析及錯誤隔離。
為了致能資料收集,該ODLA緩衝器可以以一方式建立,使得該處理器到晶片組及晶片組到處理器異動彼此獨立。因此,與該晶片組到處理器異動有關之一佇列緩衝器可預先加載獲得的測試內容(例如,通過該TAP埠)。接著,一觸發器遭設定以開啟一驅動返回模式(drive-back mode)。在驅動返回模式期間,測試內容遭驅逐至該處理器,同時該緩衝器擷取從該處理器到該晶片組之任一異動。在此特定測試模式中,該ODLA替代該匯流排應答機來在該內部匯流排上傳遞信號。為了完成此,其與在正常模式下之該匯流排應答機共用同一代理器識別符。因此,不需要額外的邏輯元件來在該兩個代理器之間做出裁決。當該測試完成時,擷取於該緩衝器中之該線跡遭卸載以用於比較及用於在該HVM測試期間檢查一通過/失敗狀態。實施例可遭擴展以致能概括用於HVM測試之功能性測試內容,藉此消除對該晶片組實施特定硬體以支持用於該CPU之功能性HNM測試之需要。
如上所述,該ODLA可包括各種元件,該各種元件包括邏輯元件、控制元件及可包括依電性及非依電性儲存器之儲存器。現在參考第2圖,根據本發明之一實施例,其顯示了出現於一晶粒上邏輯分析器中之各種元件之一方塊圖。如第2圖中所示,ODLA 40可包括用以接收及處理來自一SoC或其它半導體裝置之各個部分之信號之各種元件。如圖所示,要儲存到ODLA 40之輸入資料可由一信號處理模組42接收。信號處理模組42可執行各種處理,例如以一恰當格式放置該等信號以儲存到一線跡緩衝器44中。在不同實施例中,線跡緩衝器44可以是任一種依電性或非依電性記憶體,諸如一隨機存取記憶體(RAM)、快取記憶體或等等。如圖所示,一緩衝器控制器43可以耦接到線跡緩衝器44或者是其之部分,且可用來致能動態佇列組合,如下面進一步討論。更進一步,緩衝器控制器43可執行各種匹配/過濾操作,也如下所討論,使得實際上只有接收到之資料之一限定量儲存到線跡緩衝器44中,因而緩解儲存要求且利用一更小尺寸緩衝器致能晶粒上除錯,減少了晶粒消耗。
如圖所示,一觸發器邏輯元件46可與緩衝器控制器43通訊以致能線跡儲存之起始/終止。接著,觸發器邏輯元件46可基於存在於一個或多個組態暫存器45中之資訊而遭控制,該一個或多個組態暫存器45載有接收自該SoC或者一用戶之控制資訊。該等暫存器還可包括命令及狀態暫存器。在一個實施例中,記憶體映像輸入/輸出(IO)異動可用來程式化暫存器45。此外,一輸出邏輯元件49可將來自線跡緩
衝器44之線跡資料輸出到一外部代理器,諸如一外部邏輯分析器或者其它信號處理器。儘管第2圖之該實施例顯示了此特定實施態樣,本發明之範圍不局限於此方面。
在一個實施例中,該線跡緩衝器44可分成多個部分(或者佇列)。至每一佇列之輸入可源於多個來源。例如,每一佇列可受組配以接收來自該內部互連線或者該晶片上存在之其它除錯節點之一輸入。一多工器或者其它選擇器可用來選擇該等來源中之一個作為輸入。當至一特定佇列之全部來源設計為關閉時,該閒置佇列可與一主動佇列合併以作為一溢出佇列。在可能的時候合併該等不同佇列,這有效地增大了用於一個佇列之儲存容量且最小化了所耗晶粒面積之使用。
在一個實施例中,該等序列可基於一邏輯表合併。現在參考第3圖,其根據本發明之一實施例顯示了一線跡緩衝器之多個序列之一方塊圖。如第3圖中所示,緩衝器100包括多個個別序列,該多個個別序列包括命令/位址(CMD/ADDR)佇列110a與110b、下層資料佇列120a與120b及上層資料佇列130a與130b。此等序列之每一個可具有一給定寬度及大小,例如128位元寬。因而,如圖所示,來自該匯流排之命令及位址資訊可儲存在命令/位址佇列110中,而匯流排資料之不同部分,例如低及高部分,可儲存在該下層資料佇列120a與120b及上層資料佇列130a與130b中。在很多實施態樣中,期望獲得之該除錯資訊之大部分可與在該匯流排上獲得之命令/位址資訊有關。因此,在此
等情況下,動態序列合併可致能未用之資料佇列作為該等命令/位址佇列110中之一個的額外儲存器。
核心之間的佇列合併可利用控制邏輯元件及一邏輯表實現。特定地,如第3圖中所示,該等序列之間的帶箭頭之線之該等數字表示一佇列遭合併之優先順序。例如,當該下層資料佇列(P2H)120b閒置時,其首先與該相對的下層資料佇列(H2P)120a合併。如果下層資料佇列120a也碰巧閒置,佇列120b可與命令/位址佇列110b合併。如果命令/位址佇列110b也閒置,則佇列120b可與上層資料佇列130b合併。在此安排中,當下層資料佇列120b與上層資料佇列130b都閒置且都想要與該命令/位址佇列110b合併時,該下層資料佇列具有優先順序,其由第3圖中之星號表示以顯示該兩個佇列之間的優先順序。儘管第3圖中之該實施態樣為了簡化而一次合併兩個佇列,但其它的選擇是可能的。要注意到,個別佇列之分割依賴於擷取之資料。例如,如果另一應用可將該動態佇列合併用於除了位址、資料及控制外的資訊此外,要理解的是,該佇列之寬度及大小不一定是固定的,而可根據在一應用上得到多少空間而變化。
當一閒置佇列與一活動佇列合併時,該閒置佇列成為次要佇列,即溢出佇列。到該主要佇列之輸入成為該次要佇列之輸入。因此,根據本發明之一實施例,在每一佇列通常具有兩個輸入之一實施例中,一第三輸入遭提供以用於動態佇列合併。此第三源只可用於該佇列閒置時。
現在參考第4圖,其根據本發明之一實施例顯示了用於
一線跡緩衝器之一佇列之該等輸入之一方塊圖。特定地,第4圖顯示了只用於一個佇列之輸入。即,只顯示了用於P2H命令/位址佇列110b之該等輸入。要理解的是,同樣的輸入可提供給H2P佇列110a。特定地,如第4圖中所示,一個三來源之多工器135耦接到佇列110b,且受動態合併邏輯元件130控制。根據本發明之一實施例,在不同的實施例中,合併邏輯元件130可包括一邏輯表以基於該各個佇列之狀態及該ODLA之其它組態暫存器而判定該多工器135之哪一輸入提供給佇列110b。如圖所示,到該多工器135之該三個輸入可包括來自該內部互連線(iFSB)之信號資訊、來自存在於該裝置(SoC)上之其它除錯信號之資訊及耦接到命令/位址佇列110之一相似多工器之輸出。
當佇列110b閒置且佇列110a滿時,如該H2P_full信號所示,一允許寫入信號提供給佇列110b。特定地,一邏輯閘140,例如一與邏輯閘,可接收該滿緩衝器信號及用於佇列110a之一允許寫入信號,且如果該兩個信號是有效的時,佇列110b之一允許寫入信號遭產生。以此方式,佇列110a之多工輸出(Mux_out)由合併邏輯元件130選擇作為該佇列110b之該輸入。儘管第4圖之該實施例顯示了此特定實施態樣,要理解,本發明之範圍不局限於此方面。例如,儘管本文所述之該動態緩存用於一ODLA類型之設計,但其可應用於任一其它包括用以提供動態大小改變以增大靈活性之儲存元件之設計,包括在一除錯使用模型外部之一設計中。
實施例為一設計提供效率且將多種選擇提供給一矽除
錯小組之使用模型。當該矽除錯小組仔細查看一特定問題時,需要從一組信號擷取大量線跡,而其它信號是無關緊要的。若無佇列合併,該線跡緩衝器會具有一固定大小且會浪費閒置佇列空間同時缺乏該等活動佇列。根據本發明之一實施例,動態佇列合併可節省晶粒面積且自動增大該佇列大小以用於無法預料之除錯情況。該用戶只需判定在一特定除錯狀態下哪些輸入是必需的。剩下之動作對該用戶隱藏,用戶不需作額外努力或進行人工程式設計。
如上所述,該iFSB互連線匯流排可包括位址、資料及命令信號且可以是單向的。第5圖根據本發明之一實施例顯示了該匯流排之架構及其與一緩衝器之關係之一概述。如第5圖中所示,互連線25可由單向鏈路構成且可包括用於每一代理器之n組相似信號,例如,命令、位址及資料信號。在第5圖中顯示之該實施例中,此等代理器包括處理器20及晶片組30。然而,可存在其它代理器,諸如一代理器60。還如第5圖中所示,一組儲存元件可與該互連系統有關。特定地,儲存單元70可包括多個不同儲存元件,分成獨立分區72a-72n,每一獨立分區與耦接到該匯流排互連線之該等代理器中之一個相關聯。如進一步所示,每一分區72可包括一匹配/過濾功能74及多個區段751
-75n
。來自該互連線上之該等代理器之資訊之儲存可分成n部分。每一分區72獨立地保存入一儲存元件。每一部分之該儲存可進一步分成更小區段75以容納該等信號之該等不同功能。作為一個範例,如第3圖中顯示之該分區,不同的信號類型,例如命令
/位址及資料(下層)及資料(上層)可儲存到不同的區段75中。在每一時鐘邊緣可擷取信號。一時間戳記還可和每一項一起儲存。然而,為了降低所需的儲存空間量,可提供一依變化儲存特徵,其中一特定區段只在該區段中之一個或多個信號轉換時遭保存。由於每一區段彼此獨立,該時間戳記提供了一方式將項目與該等區段關聯且在該互連線上再次產生一週期精確異動流程。
此外,功能方塊74可執行檢測每一區段上之各種圖案或者多個區段上之圖案之一組合之不同匹配功能。該等匹配功能之結果判定與那個圖案有關之該異動是否應當儲存或過濾。即,非匹配圖案可遭過濾(即,不儲存)以降低儲存要求。該匹配功能可受組配以允許匹配位址、資料及控制位元,例如記憶體讀、記憶體寫或者IO異動。過濾可基於一特定位址且其可用以選擇那些位址以遭儲存在該佇列中或者可用以阻止某些位址遭儲存在該佇列中。此外,實施例可包括作為該匹配/過濾功能之部分之壓縮邏輯元件。在一些實施例中,匹配功能74可用來判定哪些事件開始/停止一觸發器。例如,一旦到達一事件(諸如,一預定計數器達到某一值等等),一開始觸發器將只開始擷取內容。相反,當重置時,一停止觸發器將開始擷取且當一預定事件發生時將停止。其它組態可使用開始及停止觸發之一組合。例如,有用於多個事件之計數器且它們可致能連續觸發。
因而,實施例可提供一整個匯流排之週期精確擷取。當在一情況下沒有明顯的導線時,此資訊可用來解決一故
障。此外,該可配置選項為除錯工程師提供了很大的靈活性以在不同場景下擷取資訊。當花很長時間解決一故障時,該過濾器有助於仔細產看受關注之物且還可透過只保存該所需資訊而節省該儲存空間。
第6圖顯示了本發明之另一實施例之一系統級圖。如第6圖中所示,一系統200可以是利用個別元件構成之一SoC或者系統。在第6圖中顯示之該實施例中,此等元件可包括經由一晶片組220耦接到一記憶體控制器230之一CPU 210。此外,各種特定應用積體電路(ASIC)方塊240可經由晶片組220耦接到CPU 210。為了致能除錯各種內部節點,一內部節點觀測模組250可遭提供且其可與一外部邏輯分析器280進行通訊。然而,並非利用邏輯分析器280嘗試恢復來自該各個內部區塊之大量信號,實施例可包括一ODLA 260,諸如關於第2圖所述之ODLA。如圖所示,ODLA 260可遭耦接以從內部節點觀測模組250接收信號及時鐘資訊。在一個實施例中,內部節點觀測模組250源同步地向ODLA 260提供該資料及該至少一個時鐘。
與ODLA有關之其它細節關於第7圖顯示。如第7圖中所示,ODLA遭耦接以接收來自內部節點觀測模組250之資料及時鐘資訊。在第7圖中顯示之該實施態樣中,提供一單一時鐘線及8條資料線,但本發明之範圍不局限於此方面。該時鐘及資料兩者可提供給一記憶體前(pre-memory)模組264,其以適於儲存之一形式放置該資料在一相應記憶體中,該相應記憶器在一個實施例中可以是一隨機存取記憶
體(RAM)270。
記憶體前模組264將內部節點觀測信號封裝成記憶體270之正確寬度。該等記憶體前資料區塊可充滿從1到n-1個記憶體線。如圖所示,記憶體前模組264包括一時間戳記邏輯元件265。在該資料包形成期間,時間戳記邏輯元件265還利用一時間戳記更新該資料區塊[n]。此時間戳記可用來糾正發生在該系統中之事件,例如,第一及第二代理器之間的一通訊及發生在另一代理器處之另一事件。因此,當資料從記憶體270卸載到一外部裝置之後,此糾正可用以幫助除錯及重建資料。當資料之一整個線滿時,該已封裝之資料呈現給記憶體270以用於擷取。在不同實施例中,記憶體270還提供該寫與讀時鐘域之間的同步。為了判定記憶體270(例如:RAM)中之用於儲存之一恰當位置,一緩衝器指標邏輯元件268可遭耦接將位址提供給RAM 270。接著,ODLA 260可經由一記憶體映像介面290與一外部裝置進行通訊,且該記憶體映像介面290可經由除錯埠耦接到該外部裝置。儘管第7圖之該實施例顯示了此特定實施態樣,要理解到,本發明之範圍不局限於此方面。
在一傳統之除錯情況下,工程師將典型地把該外部邏輯分析器280連接到該內部節點觀測模組250。儘管成千上萬個信號可由此架構收集,但可以在該邏輯分析器上觀測到之信號量同時受在該裝置上可用之通道數目限制。此外,很多高頻率設計在該邏輯分析器上需要千兆赫(GHz)帶寬以用於擷取。相反,ODLA 260可觀測到之信號遠遠多
於一邏輯分析器,且可以以該等信號之原生速度擷取該等信號。該模組之內容可以以一小得多的速度範圍(例如,兆赫(MHz))由一測試工具下載或者遭擷取到該邏輯分析器上。
實施例還使消費者實見能容易地除錯,而不篡改來自該消費者之關鍵資訊或揭露廠商技術。典型地,在一廠商實驗室下,盡可能地再生該消費者環境。然而,丟失一小條資訊可輕易地導致與該除錯情況不符且延長該除錯時間。因而,實施例可從一消費者擷取準確資訊且使該等故障較容易地再生。該週期精確資訊還使一應用工程師分析一故障而根本不產生該故障,改善了除錯時間、提高了生產率且增强了消費者關係。在不同實施例中,一消費者可遭提供以指令以將矽資訊保存於一內部節點中且接著下載該內容以用於以後查看。特定地,當一消費者提出一視察時,該廠商之產品工程師可提供給該消費者此ODLA之組態,而不透露什麽正在遭擷取。該消費者可在其自身之實驗室產生該故障情況。接著該模組之該內容可遭擷取出且傳回該廠商之該產品實驗室且由產品工程師利用該故障時的該詳細精確之信號動作來分析。
現在參考第8圖,其顯示了根據本發明之一個實施例之一方法之一流程圖。如第8圖中所示,方法300可用來在一現場情況(例如,在一消費者位置)擷取除錯資訊且致能該SoC之一廠商之該資訊之傳輸以基於該資訊執行除錯。在第8圖中,方法300可透過組配該SoC之一ODLA以擷取與一系
統故障有關之資料而開始(方塊310)。在一個實施例中,一消費者可接收來自該廠商之資訊以組配此ODLA,此資訊典型地對於該消費者保持隱藏。此資訊可包括用於該ODLA之組態暫存器之各種組態資訊及觸發資訊。在某些實施例中,還可提供一個或多個測試圖案以輸入到該ODLA以致能根據該ODLA之一線跡緩衝器之一預先定義測試資料之儲存致能運行該預先測試。作為一個範例,此資訊可經由一安全網際網路連接而接收到,但本發明之範圍不局限於此方面。
還參考第8圖,接著該消費者可啟動系統操作且因此,該ODLA可自動擷取由該組態資訊建立之該資料(方塊320)。接著該資料可遭擷取(方塊330)。此資料擷取可以以低於資料擷取之一原生速度低之一速度發生。在不同實施例中,一邏輯分析器、其它測試裝置或耦接到例如該ODLA之一除錯埠之一電腦系統可擷取該資訊且將其放置在一恰當檔案中。此檔案可接著傳遞到該SoC廠商(方塊340)。儘管本發明之範圍不局限於此方面,但在一個實施態樣中,該資料可經由該網際網路在一安全通道上傳遞。接著,該廠商之除錯、現場、測試工程師及其它可分析該資料以解決該故障(方塊350)。以此方式,可避免需要在該廠商實驗室複製出現在一消費者位置之該故障。儘管第8圖之該實施例顯示了此特定實施態樣,但本發明之範圍不局限於方面。例如,在一些實施態樣中,諸如,該系統擷取由該SoC廠商執行之實施態樣中,控制可從方塊330直接轉到方塊350。
因而,利用本發明之一實施例,可從晶粒上、全速內部節點擷取資訊。而且,實施例增強現存內部節點觀測除錯特徵且與其兼容及經由一系統時鐘時間戳記根據其它除錯特徵協調事件,這可降低除錯硬體之成本,即,不需要高端邏輯分析器。不考慮消費者特定寬廣特徵,對於任一平臺建立,實施例可以進一步靈活且可提高消費者-設計者所有除錯時間。
因而,實施例提供可攜性及可擴展性以致能植入式互連線之除錯且致能在該處理器外部之該晶片之部分之覆蓋範圍。該ODLA中之該緩衝器及觸發器邏輯元件致能實施例可作用於具有一內部互連線之任一產品上。在不同實施例中,該緩衝器之預先加載及卸載可以低速發生,其降低了對高端(高成本)裝置之需要。而且,透過提供用於HVM測試之一回應機,CPU HVM測試所需之所有功能性HVM測試內容可重新應用於不同的SoC,而不需測試移植、重新確認及故障分級成本。
實施例還致能較快地除錯對於外部邏輯分析器不可見之大量內部介面,可能除錯時間從幾周降到幾小時。而且,透過提供一晶粒上LA,用於測試一SoC產品之有關邏輯分析器成本可避免。
實施例可以以程式碼形式實現且可儲存在儲存有指令之一儲存媒體上,該等指令用來程式化一系統以執行該等指令。該儲存媒體可包括但不局限於:包括軟碟、光碟、光碟之任一種碟片、固態驅動機(SSD)、唯讀光碟記憶體
(CD-ROM)、可重寫光碟(CD-RW)及磁光碟、諸如唯讀記憶體(ROM)之半導體裝置、諸如動態隨機存取記憶體(DRAM)之隨機存取記憶體(RAM)、靜態隨機存取記憶體(SRAM)、可抹除可規劃唯讀記憶體(EPROM)、快閃記憶體、電氣可抹除可規劃唯讀記憶體(EEPROM)、磁卡或光卡或適於儲存電子指令之任一其它類型之媒體。
儘管本發明已針對一定數量之實施例予以描述,但熟於此技者將明白,可對其做恰當的大量修改及變化。後附申請專利範圍涵蓋落入本發明之真實精神及範圍中的所有此等修改及變化。
10‧‧‧積體電路
20‧‧‧處理器
25‧‧‧互連線
30、220‧‧‧晶片組
32‧‧‧多工器
34‧‧‧匯流排應答機
36‧‧‧多工器
40、260‧‧‧ODLA
42‧‧‧測試向量暫存器、信號處理模組
43‧‧‧緩衝器控制器
44‧‧‧線跡緩衝器
45‧‧‧組態暫存器
45a‧‧‧第二TAP介面
45b‧‧‧測試存取埠(TAP)介面
46‧‧‧觸發器邏輯元件
49‧‧‧輸出邏輯元件
60‧‧‧代理器
70‧‧‧儲存單元
72a、72b、72n‧‧‧獨立分區
74a、74b、74n‧‧‧匹配/過濾功能、功能方塊
75a、75b、75n‧‧‧區段
100‧‧‧緩衝器
110a‧‧‧佇列
110b‧‧‧佇列
120a‧‧‧佇列
120b‧‧‧佇列
130‧‧‧動態合併邏輯元件
130a‧‧‧上層資料佇列
130b‧‧‧上層資料佇列
135‧‧‧多工器
140‧‧‧邏輯閘
200‧‧‧系統
210‧‧‧CPU
230‧‧‧記憶體控制器
240‧‧‧特定應用積體電路(ASIC)方塊
250‧‧‧內部節點觀測模組
264‧‧‧記憶體前模組
265‧‧‧時間戳記邏輯元件
268‧‧‧緩衝器指標邏輯元件
270‧‧‧隨機存取記憶體(RAM)
280‧‧‧外部邏輯分析器
290‧‧‧記憶體映像介面
300‧‧‧方法
310、320、330、340、350‧‧‧方塊
第1圖是根據本發明之一個實施例的一積體電路之一方塊圖。
第2圖是根據本發明之一實施例的一晶粒上邏輯分析器之一方塊圖。
第3圖是根據本發明之一個實施例的一線跡緩衝器之多個佇列之一方塊圖。
第4圖是根據本發明之一個實施例的用於一線跡緩衝器之一佇列之輸入之一方塊圖。
第5圖是根據本發明之一個實施例的一匯流排及儲存架構之一概述。
第6圖顯示了本發明之另一實施例之一系統級圖。
第7圖是根據本發明之一個實施例的一晶粒上邏輯分析器之一部分之一方塊圖。
第8圖是根據本發明之一個實施例的一方法之一流程圖。
20‧‧‧處理器
25‧‧‧互連線
30‧‧‧晶片組
60‧‧‧代理器
70‧‧‧儲存單元
72a、72b、72n‧‧‧獨立分區
74a、74b、74n‧‧‧匹配/過濾功能、功能方塊
75a、75b、75n‧‧‧區段
Claims (11)
- 一種半導體裝置,其包含:一半導體晶粒,其包括經由一內部互連線耦接之一第一代理器及一第二代理器;及該半導體晶粒還包括一邏輯分析器,該邏輯分析器具有一線跡緩衝器,該線跡緩衝器用以儲存從該第一代理器傳遞到該第二代理器之第一資訊及儲存從該第二代理器傳遞到該第一代理器之第二資訊,且將該第一及第二資訊提供到一晶粒外代理器,其中該邏輯分析器包括用以致能開始將一線跡擷取入該線跡緩衝器且用以停止該線跡擷取之一觸發器邏輯元件。
- 如申請專利範圍第1項所述之裝置,其中在儲存於該邏輯分析器之至少一個組態暫存器中之資訊之控制下,當該半導體晶粒中發生一事件時,該觸發器邏輯元件致能該線跡擷取。
- 如申請專利範圍第1項所述之裝置,其中該線跡緩衝器包括用以儲存從該第一代理器到該第二代理器之異動之一第一部分及用以儲存從該第二代理器到該第一代理器之異動之一第二部分,其中該第二部分用以預先加載有用以在該裝置上執行大批量生產(HVM)測試的測試內容,而該第一部分用以儲存在該HVM測試期間從該第一代理器到該第二代理器之該等異動以在該HVM測試期間執行一通過/失敗狀態。
- 如申請專利範圍第3項所述之裝置,其中該第二代理器 包括該邏輯分析器,該邏輯分析器包括用以經由一並列互連線傳遞除錯資訊至晶粒外的一除錯埠,該第二代理器進一步包括:一匯流排回應器,其用以接收來自該第一代理器之信號且用以將信號發送至該第一代理器;及一第一測試介面,其用以將該邏輯分析器經由一第一串列互連線耦接到一第一晶粒外介面。
- 如申請專利範圍第4項所述之裝置,其中該第二代理器包括用以從該邏輯分析器或者該匯流排回應器選擇一輸出供傳遞到該第一代理器的一第一選擇器,其中在該HVM測試期間,該第一選擇器將該測試內容提供給該第一代理器。
- 如申請專利範圍第1項所述之裝置,其進一步包含一內部觀測節點模組,用以接收來自該半導體晶粒之多個除錯節點之除錯信號且將該等除錯信號及一時鐘信號提供給該邏輯分析器,該邏輯分析器包括一預儲存模組,該預儲存模組係用以接收該等除錯信號及該時鐘信號且利用一時間戳記將多個該等除錯信號分配給一資料線以儲存入該線跡緩衝器之一線。
- 如申請專利範圍第6項所述之裝置,其中該邏輯分析器係以一原生速度擷取該等除錯信號,且以一較低速度將該資料線輸出到一晶粒外裝置。
- 如申請專利範圍第1項所述之裝置,其中該線跡緩衝器包括一合併邏輯元件,其具有指出欲與一活動佇列合併 之多個佇列的一順序之一表單。
- 如申請專利範圍第8項所述之裝置,其中該合併邏輯元件從該邏輯分析器之一組態暫存器接收關於該等佇列之活動資訊。
- 一種用於一系統單晶片之方法,其包含以下步驟:在一消費者端接收來自一系統單晶片(SoC)廠商的資訊,該資訊可用以組配該SoC之一晶粒上邏輯分析器(ODLA);利用該資訊組配該ODLA以致能擷取與一系統故障有關聯之資料;啟動該SoC之操作及致能該ODLA在該消費者端於該操作期間以該資料之一原生速度自動擷取該資料;自該ODLA摘取出該資料;以及將該資料傳遞到該SoC廠商。
- 如申請專利範圍第10項所述之方法,其進一步包含自動將從該SoC之一第一代理器傳遞到一第二代理器之資料儲存在專用於該第一代理器的該ODLA之一線跡緩衝器之一第一儲存器中,且當該第一儲存器已滿且專用於該線跡緩衝器之一第二儲存器之該第二代理器閒置時,將該線跡緩衝器之第二儲存器與該第一儲存器動態合併以儲存從該第一代理器傳遞到該第二代理器之該資料之一部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/541,472 US8327198B2 (en) | 2009-08-14 | 2009-08-14 | On-die logic analyzer for semiconductor die |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201133008A TW201133008A (en) | 2011-10-01 |
TWI495887B true TWI495887B (zh) | 2015-08-11 |
Family
ID=43586731
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104112205A TWI559018B (zh) | 2009-08-14 | 2010-07-23 | 用於半導體晶粒之晶粒上邏輯分析器 |
TW099124347A TWI495887B (zh) | 2009-08-14 | 2010-07-23 | 半導體裝置及用於系統單晶片之方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104112205A TWI559018B (zh) | 2009-08-14 | 2010-07-23 | 用於半導體晶粒之晶粒上邏輯分析器 |
Country Status (4)
Country | Link |
---|---|
US (4) | US8327198B2 (zh) |
CN (2) | CN103499786B (zh) |
TW (2) | TWI559018B (zh) |
WO (1) | WO2011019487A2 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327198B2 (en) * | 2009-08-14 | 2012-12-04 | Intel Corporation | On-die logic analyzer for semiconductor die |
DE102010047718A1 (de) * | 2010-10-07 | 2012-04-12 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Formatieren und Vorauswählen von Trace Daten |
US20130031419A1 (en) * | 2011-07-28 | 2013-01-31 | International Business Machines Corporation | Collecting Debug Data in a Secure Chip Implementation |
US8806283B1 (en) | 2011-12-15 | 2014-08-12 | Western Digital Technologies, Inc. | Automatic and on-demand testing of non-volatile storage devices |
US9201804B1 (en) * | 2012-02-06 | 2015-12-01 | Google Inc. | Dynamically adapting the configuration of a multi-queue cache based on access patterns |
US8966313B2 (en) | 2012-04-30 | 2015-02-24 | Hewlett-Packard Development Company, L.P. | Systems and methods for a shared debug pin |
GB2501135B (en) * | 2012-07-09 | 2015-08-26 | Ultrasoc Technologies Ltd | Event driven debug data capture |
WO2014203036A1 (en) * | 2013-06-18 | 2014-12-24 | Freescale Semiconductor, Inc. | Method and apparatus for offloading functional data from an interconnect component |
US9372768B2 (en) | 2013-12-26 | 2016-06-21 | Intel Corporation | Debug interface |
US9317385B2 (en) | 2013-12-30 | 2016-04-19 | Samsung Electronics Co., Ltd. | Hardware profiling |
TW201530546A (zh) * | 2014-01-17 | 2015-08-01 | Nuvoton Technology Corp | 晶片、測試方法以及電子裝置的製造方法 |
US10437694B2 (en) * | 2014-02-21 | 2019-10-08 | Rolf Segger | Real time terminal for debugging embedded computing systems |
WO2015181389A2 (en) * | 2014-05-29 | 2015-12-03 | Universiteit Gent | Integrated circuit verification using parameterized configuration |
US10180890B2 (en) * | 2014-06-19 | 2019-01-15 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for monitoring hardware observation points within a system on a Chip (SoC) |
US9264187B1 (en) | 2014-10-09 | 2016-02-16 | Intel Corporation | Measuring bit error rate during runtime of a receiver circuit |
DE112015006152T5 (de) * | 2015-02-12 | 2017-12-14 | Pro Design Electronic Gmbh | Inhalt-adaptive Signal Sondierung in Geräten zur Emulation von Hardware |
WO2016200723A1 (en) * | 2015-06-06 | 2016-12-15 | The Board Of Trustees Of The Leland Stanford Junior University | Post-silicon validation and debug using symbolic quick error detection |
KR20180073300A (ko) * | 2016-12-22 | 2018-07-02 | 삼성전자주식회사 | 스캔 데이터 컨트롤 장치 및 이를 갖는 전자 시스템 |
US20180225063A1 (en) * | 2017-02-08 | 2018-08-09 | Intel IP Corporation | Device, system and method to provide categorized trace information |
CN110032482A (zh) * | 2019-04-11 | 2019-07-19 | 盛科网络(苏州)有限公司 | 片上调试装置和方法 |
US11250167B2 (en) * | 2019-09-26 | 2022-02-15 | Intel Corporation | Secure external SoC debugging |
CN115244521A (zh) * | 2020-05-06 | 2022-10-25 | 阿里巴巴集团控股有限公司 | 用于存储数据的分级方法和系统 |
US11327867B2 (en) | 2020-10-09 | 2022-05-10 | Micron Technology, Inc. | On-die logic analyzer |
US11544210B1 (en) | 2021-07-15 | 2023-01-03 | Beijing Tenafe Electronic Technology Co., Ltd. | Collection of runtime information for debug and analysis |
US11848067B2 (en) * | 2021-09-07 | 2023-12-19 | Micron Technology, Inc. | Apparatus including internal test mechanism and associated methods |
CN116257399A (zh) * | 2021-12-09 | 2023-06-13 | 瑞昱半导体股份有限公司 | 具有调试功能的芯片与芯片调试方法 |
TWI812395B (zh) * | 2022-08-11 | 2023-08-11 | 緯創資通股份有限公司 | 用於邏輯分析的微控制器、方法及電子系統 |
KR102678340B1 (ko) * | 2024-03-22 | 2024-06-25 | 코싸인온 주식회사 | 상호작용형 dram 신호 분석기 및 이를 이용한 실시간 dram 신호 분석 및 보정 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW561411B (en) * | 2000-05-11 | 2003-11-11 | Quickturn Design Systems Inc | Emulation circuit with a hold time algorithm, logic analyzer and shadow memory |
TWI235912B (en) * | 2000-05-10 | 2005-07-11 | Freescale Semiconductor Inc | Performance monitor system and method suitable for use in an integrated circuit |
US7065481B2 (en) * | 1999-11-30 | 2006-06-20 | Synplicity, Inc. | Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer |
US7222315B2 (en) * | 2000-11-28 | 2007-05-22 | Synplicity, Inc. | Hardware-based HDL code coverage and design analysis |
US20080163034A1 (en) * | 2006-12-28 | 2008-07-03 | Larry Tate | Providing error correction coding for probed data |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04317123A (ja) * | 1991-04-17 | 1992-11-09 | Tohoku Nippon Denki Software Kk | システム更新情報表示制御装置 |
GB2275119B (en) * | 1993-02-03 | 1997-05-14 | Motorola Inc | A cached processor |
US5442639A (en) * | 1993-10-12 | 1995-08-15 | Ship Star Associates, Inc. | Method and apparatus for monitoring a communications network |
US5621690A (en) * | 1995-04-28 | 1997-04-15 | Intel Corporation | Nonvolatile memory blocking architecture and redundancy |
US5969538A (en) * | 1996-10-31 | 1999-10-19 | Texas Instruments Incorporated | Semiconductor wafer with interconnect between dies for testing and a process of testing |
US6016392A (en) * | 1995-11-03 | 2000-01-18 | Intergraph Corporation | Method for object-oriented programming using dynamic interfaces |
US5802348A (en) * | 1995-12-18 | 1998-09-01 | Virtual Machine Works, Inc. | Logic analysis system for logic emulation systems |
US6148381A (en) * | 1997-04-08 | 2000-11-14 | Advanced Micro Devices, Inc. | Single-port trace buffer architecture with overflow reduction |
US5943490A (en) * | 1997-05-30 | 1999-08-24 | Quickturn Design Systems, Inc. | Distributed logic analyzer for use in a hardware logic emulation system |
US5960191A (en) * | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US6092127A (en) * | 1998-05-15 | 2000-07-18 | Hewlett-Packard Company | Dynamic allocation and reallocation of buffers in links of chained DMA operations by receiving notification of buffer full and maintaining a queue of buffers available |
US6581191B1 (en) * | 1999-11-30 | 2003-06-17 | Synplicity, Inc. | Hardware debugging in a hardware description language |
US6434681B1 (en) * | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
US6331957B1 (en) * | 2000-02-14 | 2001-12-18 | Intel Corporation | Integrated breakpoint detector and associated multi-level breakpoint techniques |
US6636056B1 (en) | 2000-10-20 | 2003-10-21 | Intel Corporation | Apparatus and method for testing integrated circuits |
US6813731B2 (en) * | 2001-02-26 | 2004-11-02 | Emc Corporation | Methods and apparatus for accessing trace data |
US6769054B1 (en) * | 2001-02-26 | 2004-07-27 | Emc Corporation | System and method for preparation of workload data for replaying in a data storage environment |
US6725336B2 (en) * | 2001-04-20 | 2004-04-20 | Sun Microsystems, Inc. | Dynamically allocated cache memory for a multi-processor unit |
US7047521B2 (en) * | 2001-06-07 | 2006-05-16 | Lynoxworks, Inc. | Dynamic instrumentation event trace system and methods |
JP2003006003A (ja) * | 2001-06-18 | 2003-01-10 | Mitsubishi Electric Corp | Dmaコントローラおよび半導体集積回路 |
US7080289B2 (en) * | 2001-10-10 | 2006-07-18 | Arm Limited | Tracing multiple data access instructions |
US6834360B2 (en) * | 2001-11-16 | 2004-12-21 | International Business Machines Corporation | On-chip logic analyzer |
US6760898B1 (en) * | 2002-02-22 | 2004-07-06 | Xilinx, Inc. | Method and system for inserting probe points in FPGA-based system-on-chip (SoC) |
US7089473B2 (en) | 2002-03-29 | 2006-08-08 | Intel Corporation | Method and apparatus for testing a circuit using a die frame logic analyzer |
GB2387677B (en) * | 2002-04-16 | 2005-06-22 | Zarlink Semiconductor Inc | Packet buffer memory with integrated allocation/de-allocation circuit |
JP2004102331A (ja) * | 2002-09-04 | 2004-04-02 | Renesas Technology Corp | 半導体装置 |
US7017093B2 (en) * | 2002-09-16 | 2006-03-21 | Lsi Logic Corporation | Circuit and/or method for automated use of unallocated resources for a trace buffer application |
US7216276B1 (en) * | 2003-02-27 | 2007-05-08 | Marvell International Ltd. | Apparatus and method for testing and debugging an integrated circuit |
US20050041510A1 (en) * | 2003-08-19 | 2005-02-24 | Jean Khawand | Method and apparatus for providing interprocessor communications using shared memory |
US7234017B2 (en) * | 2005-02-24 | 2007-06-19 | International Business Machines Corporation | Computer system architecture for a processor connected to a high speed bus transceiver |
US7454666B1 (en) * | 2005-04-07 | 2008-11-18 | Sun Microsystems, Inc. | Real-time address trace generation |
US20060251416A1 (en) * | 2005-05-06 | 2006-11-09 | Lockheed Martin Corporation | Switching module |
US8694970B2 (en) * | 2005-06-02 | 2014-04-08 | Seagate Technology Llc | Unified debug system with multiple user-configurable trace volumes and trace buffers |
US20070011492A1 (en) * | 2005-07-05 | 2007-01-11 | Arm Limited | Generation of trace data |
US7492186B2 (en) * | 2005-07-15 | 2009-02-17 | Tabula, Inc. | Runtime loading of configuration data in a configurable IC |
US7496474B2 (en) * | 2005-11-16 | 2009-02-24 | Lsi Corporation | Dynamic on-chip logic analysis |
US7332929B1 (en) * | 2006-03-03 | 2008-02-19 | Azul Systems, Inc. | Wide-scan on-chip logic analyzer with global trigger and interleaved SRAM capture buffers |
US7401199B2 (en) * | 2006-06-28 | 2008-07-15 | Motorola, Inc | Method and system for allocating memory to an electronic device |
WO2008017796A1 (en) * | 2006-08-17 | 2008-02-14 | Arm Limited | Apparatus and method for performing integrity checks on software |
US20080184150A1 (en) * | 2007-01-31 | 2008-07-31 | Marc Minato | Electronic circuit design analysis tool for multi-processor environments |
US20080244118A1 (en) * | 2007-03-28 | 2008-10-02 | Jos Manuel Accapadi | Method and apparatus for sharing buffers |
US8412990B2 (en) * | 2007-06-27 | 2013-04-02 | Tabula, Inc. | Dynamically tracking data values in a configurable IC |
US7839162B2 (en) * | 2007-06-27 | 2010-11-23 | Tabula, Inc. | Configurable IC with deskewing circuits |
US8069425B2 (en) * | 2007-06-27 | 2011-11-29 | Tabula, Inc. | Translating a user design in a configurable IC for debugging the user design |
US7895430B2 (en) * | 2007-07-24 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | On-chip logic analyzer using compression |
US7827356B2 (en) * | 2007-09-10 | 2010-11-02 | Qualcomm Incorporated | System and method of using an N-way cache |
US7944234B2 (en) | 2008-03-19 | 2011-05-17 | Micron Technology, Inc. | Programmable on-chip logic analyzer apparatus, systems, and methods |
US7900098B2 (en) | 2008-04-01 | 2011-03-01 | Intel Corporation | Receiver for recovering and retiming electromagnetically coupled data |
WO2010016857A1 (en) * | 2008-08-04 | 2010-02-11 | Tabula, Inc. | Trigger circuits and event counters for an ic |
US7839155B2 (en) | 2008-12-15 | 2010-11-23 | Texas Instruments Incorporated | Methods and apparatus to analyze on-chip controlled integrated circuits |
US8180991B2 (en) * | 2009-03-12 | 2012-05-15 | Cisco Technology, Inc. | Adaptive memory allocation |
US8225069B2 (en) * | 2009-03-31 | 2012-07-17 | Intel Corporation | Control of on-die system fabric blocks |
US8990633B2 (en) * | 2009-04-21 | 2015-03-24 | Freescale Semiconductor, Inc. | Tracing support for interconnect fabric |
US8327198B2 (en) * | 2009-08-14 | 2012-12-04 | Intel Corporation | On-die logic analyzer for semiconductor die |
US8943108B2 (en) * | 2009-12-23 | 2015-01-27 | International Business Machines Corporation | Hardware off-load memory garbage collection acceleration |
US8407444B2 (en) * | 2009-12-23 | 2013-03-26 | International Business Machines Corporation | Hardware off-load garbage collection acceleration for languages with finalizers |
-
2009
- 2009-08-14 US US12/541,472 patent/US8327198B2/en active Active
-
2010
- 2010-07-20 WO PCT/US2010/042608 patent/WO2011019487A2/en active Application Filing
- 2010-07-23 TW TW104112205A patent/TWI559018B/zh active
- 2010-07-23 TW TW099124347A patent/TWI495887B/zh active
- 2010-08-13 CN CN201310364330.4A patent/CN103499786B/zh active Active
- 2010-08-13 CN CN201010254368.2A patent/CN101995547B/zh active Active
-
2012
- 2012-10-31 US US13/665,198 patent/US8543776B2/en active Active
- 2012-12-11 US US13/710,919 patent/US8589745B2/en active Active
-
2013
- 2013-10-25 US US14/063,549 patent/US8799728B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065481B2 (en) * | 1999-11-30 | 2006-06-20 | Synplicity, Inc. | Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer |
TWI235912B (en) * | 2000-05-10 | 2005-07-11 | Freescale Semiconductor Inc | Performance monitor system and method suitable for use in an integrated circuit |
TW561411B (en) * | 2000-05-11 | 2003-11-11 | Quickturn Design Systems Inc | Emulation circuit with a hold time algorithm, logic analyzer and shadow memory |
US7222315B2 (en) * | 2000-11-28 | 2007-05-22 | Synplicity, Inc. | Hardware-based HDL code coverage and design analysis |
US20080163034A1 (en) * | 2006-12-28 | 2008-07-03 | Larry Tate | Providing error correction coding for probed data |
Also Published As
Publication number | Publication date |
---|---|
US8327198B2 (en) | 2012-12-04 |
US8589745B2 (en) | 2013-11-19 |
US20110041017A1 (en) | 2011-02-17 |
CN103499786B (zh) | 2016-04-13 |
US20130054931A1 (en) | 2013-02-28 |
WO2011019487A3 (en) | 2011-04-28 |
US8543776B2 (en) | 2013-09-24 |
CN103499786A (zh) | 2014-01-08 |
CN101995547A (zh) | 2011-03-30 |
TW201133008A (en) | 2011-10-01 |
US20130103987A1 (en) | 2013-04-25 |
TWI559018B (zh) | 2016-11-21 |
TW201530170A (zh) | 2015-08-01 |
US8799728B2 (en) | 2014-08-05 |
US20140053026A1 (en) | 2014-02-20 |
CN101995547B (zh) | 2013-09-11 |
WO2011019487A2 (en) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI495887B (zh) | 半導體裝置及用於系統單晶片之方法 | |
US10515165B2 (en) | State visibility and manipulation in integrated circuits | |
US6829751B1 (en) | Diagnostic architecture using FPGA core in system on a chip design | |
Riley et al. | Cell broadband engine debugging for unknown events | |
US8880779B2 (en) | Debugging a memory subsystem | |
JP6653756B2 (ja) | 回路設計をデバッグするための方法および回路 | |
CN100392617C (zh) | 片上系统与应用于其中的测试/除错方法 | |
US6961872B2 (en) | Microcomputer and debugging system | |
JP4194799B2 (ja) | 被試験デバイスの試験中にエラーが生じた場合にテストプログラムのアルゴリズム制御のその時点の状態を回復する方法 | |
US9448872B2 (en) | Hardware state data logger for silicon debug | |
US20130036255A1 (en) | Testing memory subsystem connectivity | |
US20130198566A1 (en) | Method and Apparatus for Debugging System-on-Chip Devices | |
US20030233601A1 (en) | Non-intrusive signal observation techniques usable for real-time internal signal capture for an electronic module or integrated circuit | |
US9710349B2 (en) | Storing first computer trace information in memory of second computer | |
US10970442B1 (en) | Method of debugging hardware and firmware of data storage | |
US9201448B2 (en) | Observing embedded signals of varying clock domains by fowarding signals within a system on a chip concurrently with a logic module clock signal | |
Grosso et al. | A software-based self-test methodology for system peripherals | |
CN102332308B (zh) | 一种对存储器接口电路进行在线调试的方法 | |
US11442106B2 (en) | Method and apparatus for debugging integrated circuit systems using scan chain | |
Ramirez et al. | Post-Silicon Debugging Platform with Bus Monitoring Capability to Perform Behavioral and Performance Analyses | |
JP2015095061A (ja) | 車載用制御装置のロギングシステム | |
TWI470421B (zh) | 微處理器及其除錯方法 |