TWI295772B - System for monitoring and analyzing data - Google Patents

System for monitoring and analyzing data Download PDF

Info

Publication number
TWI295772B
TWI295772B TW094143869A TW94143869A TWI295772B TW I295772 B TWI295772 B TW I295772B TW 094143869 A TW094143869 A TW 094143869A TW 94143869 A TW94143869 A TW 94143869A TW I295772 B TWI295772 B TW I295772B
Authority
TW
Taiwan
Prior art keywords
data
signal
bus
status
trigger
Prior art date
Application number
TW094143869A
Other languages
Chinese (zh)
Other versions
TW200632643A (en
Inventor
Tyler J Johnson
Ryan Lee Akkerman
John A Benavides
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW200632643A publication Critical patent/TW200632643A/en
Application granted granted Critical
Publication of TWI295772B publication Critical patent/TWI295772B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

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)
  • Debugging And Monitoring (AREA)

Description

1295772 九、發明說明:1295772 IX. Description of invention:

L發明戶斤屬之技術領域]I 相關申請案之交互參考 本申請案係關於下列共同指派待審專利申請案,標題 5 為:“品檢資料捕捉之系統與方法”(律師備忘錄第 200314251-1號);“控制資料捕捉之系統與方法”(律師備忘 錄第200314252-1號);“用以產生一觸發省L號之系統與方 法”(律師備忘錄第200314512-1號),其之全部在此同時提出 且合併為參考文獻。 10 發明領域 本發明係為一種資料分析系統與方法。 【先前技術n 發明背景 當較高層級之電路積體實現於一單一積體電路晶片或 15 一晶片組上時5有與監視和分析一晶片之内部操作相關或 與晶片組之内部操作相關之增加的複雜性。一可協助監視 和分析操作之一些方面之I置為一邏輯分析器。一邏輯分 析器可為幾種型式之任一種,範圍從一簡單的PC插入卡至 一接收許多高性能插入功能之複雜的工作台上主框架。 20 【發明内容】 本發明係為一種系統,其包含:一監視系統,其監視 被提供於一匯流排上之資料,並提供至少一訊號做為被提 供在匯流排上之資料之至少一些之函數,對以該至少一訊 號為基礎來調整之該至少一些之資料之性能之測量;以及 1295772 一分析系統,其 ,來做為至少一 圖式簡單說明 其操作來執行在匯流排上之資料之邏輯分析 一訊號之~、炎叙。 第1圖說明— 用以分析資料之系統之實施例。 第2圖說明_監視系統之一實施例。 第3圖說明_ 刀析糸統之一實施例。L Inventor's Technical Field] I Related Application Cross-Reference This application is related to the following co-designated pending patent applications, title 5: “System and Method for Quality Inspection Data Capture” (Lawyer Memorandum 200314251- No. 1); "System and Method for Controlling Data Capture" (Lawyer's Memorandum No. 200314252-1); "System and Method for Generating a Triggering Provincial L Number" (Lawyer's Memorandum No. 200314512-1), all of which At the same time, it is proposed and incorporated into the reference. 10 FIELD OF THE INVENTION The present invention is a data analysis system and method. [Prior Art] BACKGROUND OF THE INVENTION When a higher level circuit integrated body is implemented on a single integrated circuit chip or a group of chips, 5 is related to monitoring or analyzing the internal operation of a wafer or related to the internal operation of the chip set. Increased complexity. One that assists in monitoring and analyzing aspects of the operation is set to a logic analyzer. A logic analyzer can be of any of several types, ranging from a simple PC plug-in card to a complex workbench mainframe that receives many high-performance insertion functions. 20 SUMMARY OF THE INVENTION The present invention is a system comprising: a monitoring system that monitors data provided on a bus and provides at least one signal as at least some of the data provided on the bus a function, a measure of performance of the at least some of the data adjusted based on the at least one signal; and a 1295772 analysis system, wherein the at least one figure simply describes the operation to perform the data on the bus The logical analysis of a signal ~, Yan Xu. Figure 1 illustrates an embodiment of a system for analyzing data. Figure 2 illustrates an embodiment of a monitoring system. Figure 3 illustrates an embodiment of the _ knife analysis system.

〇 第7圖說明一可實現一或多個邏輯分析器之實施例之 電腦系統之一範例。 第8圖係說明一種分析獲取物之方法實施例之流程圖。 【實施方式】 較佳實施例之詳細說明 第1圖5兒明一系統1〇之範例,其可用來分析於一匯流排 12上所提供之資料以做資料獲取或儲存。系統10包括一監 視系統14,其提供一或多個訊號16至一分析系統18做為在 匯流排12上之資料之函數。監視系統14亦提供一或多個其 他輸出訊號20,其指示對在匯流排12上之資料之性能之測 2〇置。監視系統14可調整輸出訊號20以回應被提供給分析系 統之對應訊號16,如此使得至少一些輸出訊號2〇與訊號 16相關。例如,16訊號可對應於致能訊號,而輸出訊號2〇 了對應於個別的計數器值(例如多位元訊號),其被增量或加 入以回應於致能訊號16。分析系統以對匯流排上之資料執 25行邏輯分析做為由監視系統14所提供之訊號16之函數。當 1295772 在此使用時,,,資料,,和,,訊號,,等詞可互換地使用以識別一 或多個可從一元件通訊至其他元件以及在元件之間通訊之 資訊位元。 藉由進一步範例之方式,監視系統14可包括多個規劃 5 和/或組態來以匯流排12上傳播之資料為基礎判斷是否已 符合一或多個預先定義之性能狀況。例如,監視系統14可 規劃來實現關於在匯流排12上之資料之子集合之算術運算 ,邏輯運算,以及匹配運算,以及其之組合。性能狀況可 規劃且藉由寫至一相關記憶體(未顯示)來加以定義。監視系 10統14可提供一或多個訊號16做為一對應的多位元訊號,其 指示對每個由監視系統監視之性能狀況之結果。例如,監 視系統14可對每個時脈週期設定訊號16中之一對應位元以 表示對在匯流排12上之資料每個已予之狀況被符合。 分析系統18組態來執行與訊號16相關之邏輯分析,並 15提供一或多個觸發訊號以控制從匯流排12之資料捕捉。例 如’分析系統18貫現一狀態機器(例如Mealy或Moore),其 於狀態之間,以由監視系統14所實現之性能狀況為基礎來 轉換。如此,當符合性能狀況時,⑴監視系統14可增量計 數為或追蹤系統以回應訊號16,如此調整對應於計數器值 2〇之個別的性能之指示,以及⑴)個別訊號16可對一時脈週期 加以設定以致能邏輯分析以由分析系統18來執行。分析系 統18可以訊號16為基礎來提供一或多個觸發訊號。 ' 藉由範例之方式,系統10,包括監視系統14和分析系 統18,可實現為一電腦系統内之硬體。分析系統18可以二 7 1295772 程式(PROG)向量來組態(例如透過系統可定址記憶體來規 劃),其定義狀況和一組與正被實現之分析函數相關之可能 的狀態轉換之集合。分析系統18亦可利用狀況分支以提供 可以訊號16為基礎以及以由分析系統18所實現之狀態機器 5之目前狀態為基礎來發生之額外的狀態轉換。觸發訊號亦 可用來根據以成號16為基礎,由分析系統1 $執行之資料之 分析來定義一用以儲存來自匯流排12之相關資料(例如執 跡資料)之捕捉期間。 例如匯流排12從一或多個在一積體電路晶片内或從在一其 10中實現有系統10之相關裝置内中之任何地方(例如一電腦 系統)接收賀料。例如匯流排12可操作如一同步匯流排結構 ,其組態來從在一其中實現有系統1〇之積體電路中之一或 多個預先決定之位置傳播多位元資料。額外地或另外地, 匯流排12可從可通訊地與匯流排12耦合之其他積體電路接 15收資料,諸如在一電腦系統内,以及從在相同的積體電路 内之位置之組合接收資料。那些熟悉技藝之人士將了解和 體會到許多不同的方法和饋送結構可用來以資料驅動匯流 排12。 <用來提供資料給匯流排12之饋送結構(例如介面)之 20範例包括匯流排介面模組。這些和其他的饋送結構可從一 電腦系統内獲得資料,諸如從其他匯流排結構(例如處理器 匯流排,PCI匯流棑等)或記憶體,並提供資料給匯流排12 。在/多處理器中,例如多胞元電腦系統中,匯流排12亦 可包括來自其他胞元板之資料,諸如可透過一通訊地與匯 1295772 流排12耦合之門閂結構來加以提供。在這樣的較大系統中 ,玎透過電腦系統來實現多個系統10,包括在一單一積體 電路上之一或多個這樣的糸統。匯流排12因此在這搜可稱 為一可觀察之匯流排或一除錯匯流排,視系統10之週圍環 5 境而定。 第2圖說明一監視系統50之一範例,其可用來監視與在 一匯流排52上之資料相關之性能特性,諸如一可觀察或除 錯匯流排。監視系統50可實現為一在一電腦系統内實現之 邏輯分析器之一部份。性能監視系統50包括多個表示為性 10 能監視計數器之子系統(PMON/COUNTER 〇和 卩]\4€^/(:0111^1丑尺1至?以01^/(201^丁丑11州54,其中;^為一 正數而N+1標記PMON/COUNTERS 54之數目。 PMON/COUNTERS 54總體地驅動對應於一在 TRIG—OUT-LIST上指出之多位元輸出訊號之一輸出匯流 15 排56。輸出匯流排56如此可包括N+1個位元,一位元與每 個 PMON/COUNTERS 54相關。 每個PMON/COUNTERS 54可實現為一可規畫J邏輯之 配置,諸如一可規劃之邏輯裝置(PLD),一現場可規劃閘陣 列,其他硬體或做為硬體和軟體之組合。每個 20 PM〇N/COUNTER 54可規劃來實現對在匯流排52上之資料 之一選擇部份或子範圍之操作或函數。例如,每個 PMON/COUNTER 54可實現一與來自匯流排52之一或多個 所選擇之資料(例如高達所有資料)位元之匹配函數。 PMON/COUNTERS 54亦可實現邏輯函數(例如反相, 1295772 AND,OR,XOR,NOR,AND,XNOR及其他邏輯函數和函數之 組合),算術函數(例如加,減,乘,除等),以及在匯流排 52上之一或多個位元上之邏輯和算術函數之組合。 系統可定址記憶體58操作地與每個 5 PMON/COUNTERS 54相關以規劃一與匯流排52上之資料 相關之欲執行之所要的操作或功能。系統可定址記憶體58 可由一系統處理器70來存取以及藉由相關的診斷工具來存 取(未顯示),或其他能夠寫入至系統可定址記憶體58之裝置 。在糸統可疋址§己憶體58中之資料規劃一由每個個別 10 PMON/COUNTERS 54所執行之特定運算或功能。 在第2圖之範例中,PMON/COUNTER 0被說明為包括 一狀況區塊60及一計數器62。狀況區塊60實現在匯流排52 上之資料之一或多個選擇位元上之性能狀況,該狀況可包 括於資料上執行一運算或功能,諸如一算術函數,一邏輯函 15 數或一邏輯和算術函數之組合。由PMON/COUNTER 0所執 行之特定邏輯和/或算術函數可根據來自系統可定址記憶體 58之一 PROGJPMON—0訊號來加以規劃。PR〇GJPM〇N_〇 訊號亦可在來自匯流排52之資料上建立欲實現之性能狀況 ’諸如藉由識別對這樣的資料之個別位址。 20 例如,PROG—PMON—0訊號可包括一或多個設定性能 狀況(例如邏輯函數口/或算術函數)之位元,其係由對來自 匯流排52之選擇資料由狀況區塊所執行的。例如,狀況 區塊60可包括一狀況暫存器,其具有與在匯流排52上之每 個位元相關之一位元。藉由設定在狀況暫存器中之位元, 10 1295772 若一或多個位元匹配在匯流排52上之資料,狀況區塊可提 供一致能訊號。狀況區塊6〇以對資料之函數或運算之應用 為基礎來提供一狀況訊號(PM〇N 〇)64給計數器62。計數器 62可將一對應的值加至計數器或另外以輸出料為基礎來增 5量計數器值。當性能狀況符合時,狀況區塊60對應於PMON 〇來設定其輸出64(例如對一時脈週期為一邏輯高),諸如對 或夕個k脈週期。狀況區塊60可在每個時脈週期上或在 其他選擇的時間間隔上執行性能狀況。例如,若性能狀況 在夕個日守脈週期上付合的話,狀況區塊6〇可在多個時脈週 10期上在所設定之狀態中維持PM0N 〇。或者,狀況區塊6〇 可觸發PMON 0輸出訊號。pm〇n 〇對應於形成 TRIG一OUT一LIST之輸出匯流排%之一部份。 輸出狀況訊號PMON 0亦可調整與正受狀況區塊監視 之資料相關之性能之測量。在第2圖之範例中,計數器72以 I5 PMON 0為基礎,根據由狀況區塊6〇所實現之性能狀況是否 在-已予時脈週期中符合來調整其計數器值。計數器㈣ 而提供一 PCOUNT訊號,#具有一指示由個別性能監視子 系統監視之性能之測量。例如,pc〇UNT訊號可具有一值 ,其指示由狀況區塊60所實現之性能狀況符合之次數,諸 20如在-已予捕捉期間或在多個期間上。當需要時,計數器 62可加以重設。 為說明簡化之目的起見,雖然將了解到每一個可類似 地如相關於pm〇N/COUNTER 〇所示及描述般加以組態,但 其他PMON/COUNTER 1 至PM〇N/c〇UNTER N之内部内容 1295772 已從第2圖中省略。即,每個PMON/COUNTER 54可被規劃 和/或組態來執行個別的性能狀況,其以是否符合該等狀況 為基礎來驅動相關的計數器。每次一計數器以一性能狀況 為基礎來加以調整時,一來自個別PMON/COUNTER 54之 5對應的1^^^輸出亦於匯流排56上之TRIGJ3UTJLIST中加 以設定(例如對一時脈週期)。與TRIG—OUTJLIST訊號相關 之每個在匯流排56上之N位元之每一個如此根據由在每個 PMON/COUNTERS 54中之狀況區塊所實現之性能狀況來 提供與在匯流排52上之資料之一選擇部份相關之性能。在 10 PMON/COUNTERS 54已被描述為可規劃之同時,亦考慮到 一或多個PMON/COUNTERS 54可為硬接線來實現固定的 性能監視狀況。 系統50亦可包括其他一般計數器66,其隨每個時脈週 期(或在一些其他週期性間隔上)增量一計數器值以提供一 15參考COUNT訊號。計數器66之值如此可相關於來自計數器〇 Figure 7 illustrates an example of a computer system that can implement one or more embodiments of a logic analyzer. Figure 8 is a flow chart illustrating an embodiment of a method of analyzing an acquisition. [Embodiment] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Fig. 1 shows an example of a system that can be used to analyze data provided on a bus 12 for data acquisition or storage. System 10 includes a monitoring system 14 that provides one or more signals 16 through an analysis system 18 as a function of the data on bus bar 12. The monitoring system 14 also provides one or more other output signals 20 that indicate the performance of the data on the busbar 12. The monitoring system 14 can adjust the output signal 20 in response to the corresponding signal 16 provided to the analysis system such that at least some of the output signals 2 are associated with the signal 16. For example, the 16 signal may correspond to the enable signal, and the output signal 2 may correspond to an individual counter value (e.g., a multi-bit signal) that is incremented or added in response to the enable signal 16. The analysis system performs 25 lines of logic analysis on the data on the bus as a function of the signal 16 provided by the monitoring system 14. When 1295772 is used herein, the terms "," and "," and "," are used interchangeably to identify one or more information bits that can communicate from one element to other elements and communicate between the elements. By way of further example, the monitoring system 14 can include a plurality of plans 5 and/or configurations to determine whether one or more predefined performance conditions have been met based on the data propagated on the bus bar 12. For example, monitoring system 14 can be programmed to implement arithmetic operations, logic operations, and matching operations on a subset of the data on bus bar 12, as well as combinations thereof. Performance conditions can be planned and defined by writing to a related memory (not shown). The monitoring system 14 can provide one or more signals 16 as a corresponding multi-bit signal indicating the result of each performance condition monitored by the monitoring system. For example, the monitoring system 14 can set one of the corresponding bits in the signal 16 for each clock cycle to indicate that each of the conditions on the bus 12 is met. The analysis system 18 is configured to perform logic analysis associated with the signal 16 and to provide one or more trigger signals to control data capture from the busbar 12. For example, the analysis system 18 implements a state machine (e.g., Mealy or Moore) that transitions between states based on the performance conditions implemented by the monitoring system 14. Thus, when the performance condition is met, (1) the monitoring system 14 can incrementally count or track the system in response to the signal 16, thus adjusting the indication of the individual performance corresponding to the counter value 2, and (1) the individual signal 16 can be clocked. The cycle is set to enable logical analysis to be performed by the analysis system 18. Analysis system 18 can provide one or more trigger signals based on signal 16. By way of example, system 10, including monitoring system 14 and analysis system 18, can be implemented as hardware within a computer system. The analysis system 18 can be configured with two 7 1295772 program (PROG) vectors (e.g., through system addressable memory) that define the state and a set of possible state transitions associated with the analysis function being implemented. The analysis system 18 can also utilize the status branch to provide additional state transitions that can be based on the signal 16 and based on the current state of the state machine 5 implemented by the analysis system 18. The trigger signal can also be used to define a capture period for storing data from the busbar 12 (e.g., the trace data) based on the analysis of the data performed by the analysis system 1$ based on the number 16. For example, bus bar 12 receives congratulations from one or more of the integrated circuit chips or from anywhere within the associated device in which system 10 is implemented (e.g., a computer system). For example, bus bar 12 can operate as a synchronous bus bar structure configured to propagate multi-bit data from one or more predetermined locations in an integrated circuit in which system 1 is implemented. Additionally or alternatively, the bus bar 12 can receive data from other integrated circuits communicatively coupled to the bus bar 12, such as in a computer system, and from a combination of locations within the same integrated circuit. data. Those skilled in the art will appreciate and appreciate that many different methods and feed structures can be used to drive the busbar 12 with data. < An example of a feed structure (e.g., interface) for providing data to busbar 12 includes a bus interface module. These and other feed structures can obtain data from a computer system, such as from other bus structures (e.g., processor busses, PCI busses, etc.) or memory, and provide information to busbars 12. In a multi-processor, such as a multi-cell computer system, bus bar 12 may also include data from other cell boards, such as a latch structure coupled to a sink 1295772 stream 12 via a communication ground. In such larger systems, a plurality of systems 10 are implemented by a computer system, including one or more of such systems on a single integrated circuit. The busbar 12 can therefore be referred to herein as an observable bus or a debug bus, depending on the surrounding environment of the system 10. Figure 2 illustrates an example of a monitoring system 50 that can be used to monitor performance characteristics associated with data on a bus bar 52, such as an observable or debug bus. Monitoring system 50 can be implemented as part of a logic analyzer implemented in a computer system. The performance monitoring system 50 includes a plurality of subsystems (PMON/COUNTER 〇 and 卩)\4€^/(:0111^1 ugly 1 to ? 01^/(201^丁丑11州) 54, where; ^ is a positive number and N+1 marks the number of PMON/COUNTERS 54. PMON/COUNTERS 54 generally drives an output confluence 15 corresponding to one of the multi-bit output signals indicated on the TRIG_OUT-LIST 56. Output bus 56 may thus include N+1 bits, one bit associated with each PMON/COUNTERS 54. Each PMON/COUNTERS 54 may be implemented as a programmable J logic configuration, such as a programmable Logic device (PLD), a field programmable gate array, other hardware or a combination of hardware and software. Each 20 PM〇N/COUNTER 54 can be planned to implement one of the data on busbar 52. The operation or function of the partial or sub-range is selected. For example, each PMON/COUNTER 54 can implement a matching function with one or more selected data (e.g., up to all data) bits from the bus bar 52. PMON/COUNTERS 54 can also implement logic functions (such as inversion, 1295772 AND, OR, XOR, NOR, AND , a combination of XNOR and other logic functions and functions), arithmetic functions (eg, addition, subtraction, multiplication, division, etc.), and combinations of logical and arithmetic functions on one or more of the bits on bus 52. The address memory 58 is operatively associated with each of the 5 PMON/COUNTERS 54 to plan a desired operation or function to be performed associated with the data on the bus 52. The system addressable memory 58 can be stored by a system processor 70. Access and access by a related diagnostic tool (not shown), or other device capable of writing to the system addressable memory 58. The data plan in the 疋 疋 体 58 58 58 The specific operation or function performed by the individual 10 PMON/COUNTERS 54. In the example of Figure 2, PMON/COUNTER 0 is illustrated as including a status block 60 and a counter 62. The status block 60 is implemented on the bus 52. A performance condition on one or more of the selected bits, the condition may include performing an operation or function on the material, such as an arithmetic function, a logical function number 15, or a combination of logic and arithmetic functions. COUNTER 0 The particular logic and/or arithmetic functions performed may be planned based on a PROGJPMON-0 signal from the system addressable memory 58. The PR〇GJPM〇N_〇 signal may also be created on the data from the bus 52 to be implemented. The performance status 'such as by identifying individual addresses for such data. 20 For example, the PROG-PMON-0 signal may include one or more bits that set performance conditions (eg, logic function ports/or arithmetic functions) that are performed by the status block from the selection data from the bus bar 52. . For example, the status block 60 can include a status register having one bit associated with each bit on the bus 52. By setting the bit in the status register, 10 1295772, if one or more bits match the data on the bus 52, the status block can provide a consistent signal. The status block 6 provides a status signal (PM 〇 N 〇) 64 to the counter 62 based on the application of the function or operation of the data. The counter 62 can add a corresponding value to the counter or additionally increase the counter value based on the output material. When the performance conditions are met, the status block 60 sets its output 64 (e.g., a logic high for a clock period) corresponding to PMON ,, such as a pair or eve k-cycle. The status block 60 can perform performance conditions on each clock cycle or on other selected time intervals. For example, if the performance condition is met on the day of the circumstance, the status block 6〇 can maintain the PM0 〇 in the set state on the plurality of clock cycles. Alternatively, the status block 6〇 can trigger the PMON 0 output signal. Pm〇n 〇 corresponds to one of the output bus rows % that form TRIG-OUT-LIST. The output status signal PMON 0 also adjusts the performance measurements associated with the data being monitored by the status block. In the example of Figure 2, the counter 72 is based on I5 PMON 0 and adjusts its counter value based on whether the performance condition achieved by the status block 6 is in the - in the clock cycle. The counter (4) provides a PCOUNT signal, # having a measure indicating the performance monitored by the individual performance monitoring subsystem. For example, the pc 〇 UNT signal may have a value indicating the number of performance conditions achieved by the status block 60, such as during - having been captured or over a plurality of periods. Counter 62 can be reset when needed. For the purpose of simplification, it will be understood that each can be similarly configured as shown and described in relation to pm〇N/COUNTER 但, but other PMON/COUNTER 1 to PM〇N/c〇UNTER N The internal content 1295772 has been omitted from Figure 2. That is, each PMON/COUNTER 54 can be scheduled and/or configured to perform individual performance conditions that drive the associated counters based on whether or not the conditions are met. Each time a counter is adjusted based on a performance condition, a 1^^^ output from the individual PMON/COUNTER 54 is also set in the TRIGJ3UTJLIST on the bus 56 (e.g., for a clock cycle). Each of the N bits associated with the TRIG-OUTJLIST signal on the bus bar 56 is thus provided and on the bus bar 52 in accordance with the performance conditions achieved by the status block in each PMON/COUNTERS 54. One of the data selects some of the relevant performance. While 10 PMON/COUNTERS 54 has been described as programmable, it is also contemplated that one or more PMON/COUNTERS 54 can be hardwired for a fixed performance monitoring condition. System 50 can also include other general counters 66 that increment a counter value with each clock cycle (or at some other periodic interval) to provide a 15 reference COUNT signal. The value of counter 66 can be related to the counter from

62(以及至其他PMON/COUNTERS 54之計數器)之PC0UNT 訊號來比較或加以評估,以確定由狀況區塊6〇(和其他 PMON/COUNTERS 54之狀況區塊)所實現之個別性能狀況 符合之頻率指示。例如,處理器70可使用計數器,同時執 2〇 行對應於一診斷工具之指令。計數器66之值亦可用來控制 PMON/COUNTERS 54。 第3圖說明一可用來邏輯地分析被提供在一諸如一多 位元同時可觀察性或除錯匯流排匯流排上之資料之分析系 統100之範例。分析系統1 〇〇使用一記憶體1 〇2,其儲存遮罩 12 1295772 資料104,其定義一或多個用以控制一狀態甘滿之轉換之狀 況。記憶體102亦可包括狀態資料106,其定義在可得之狀 態間之狀態與轉換。例如,記憶體1〇2可為任何型式之系統 可定址記憶體(例如,一暫存器陣列,諸如一控制和狀態暫 5存器),其可被寫入,諸如從一其中實現有分析系統1〇〇之 電腦系統之一系統處理器。記憶體1〇2亦可被讀取來以 TRIG-OUTJLIST為基礎來驅動狀態轉換。 分析糸統100貫現一狀態機器107,在多個可得狀態間 之轉換係以TRIG一OUT—LIST為基礎,其描述在匯流排上之 10資料之性能特性。熟悉技藝之人士將了解和體會到分析系 統100可實現之許多不同的方式,以分析被提供在 TRIG一OUT-LIST訊號中之性能資訊。分析系統1〇〇可包括 一或多個狀況元件108,其控制狀態機器1〇7從一目前的狀 態(CURR—STATE)至一下一狀態之狀態轉換。 15 CURR—STATE可包括一或多個位元(例如一三位元之值),其 決定在匯流排上(例如除錯匯流排)傳播之資料將如何被分 析和捕捉。可能的狀態之順序,狀態間之轉的和由每個狀 況元件108所執行之功能可規劃為在記憶體1〇2中由遮罩資 料104和狀態資料106所定義之狀態轉換向量。The PC0UNT signals of 62 (and counters to other PMON/COUNTERS 54) are compared or evaluated to determine the frequency of individual performance conditions achieved by the status block 6 (and other PMON/COUNTERS 54 status blocks). Instructions. For example, processor 70 can use a counter to simultaneously execute instructions corresponding to a diagnostic tool. The value of counter 66 can also be used to control PMON/COUNTERS 54. Figure 3 illustrates an example of an analysis system 100 that can be used to logically analyze data that is provided on a multi-bit observable or debug bus. The analysis system 1 uses a memory 1 〇 2 that stores a mask 12 1295772 data 104 that defines one or more conditions for controlling the transition of a state. The memory 102 can also include status data 106 that defines the state and transition between the available states. For example, memory 1〇2 can be any type of system addressable memory (eg, a register array, such as a control and status buffer) that can be written, such as from an analysis implemented therein. One of the system systems of the computer system. Memory 1〇2 can also be read to drive state transitions based on TRIG-OUTJLIST. The analysis system 100 is a state machine 107. The transition between the plurality of available states is based on TRIG-OUT-LIST, which describes the performance characteristics of the data on the bus. Those skilled in the art will understand and appreciate the many different ways in which the analysis system 100 can be implemented to analyze the performance information provided in the TRIG-OUT-LIST signal. The analysis system 1 can include one or more status elements 108 that control the state machine 1〇7 transition from a current state (CURR-STATE) to a state of the next state. 15 CURR—STATE can include one or more bits (e.g., a three-bit value) that determines how the data being propagated on the bus (e.g., the debug bus) will be analyzed and captured. The sequence of possible states, the transition between states, and the functions performed by each of the conditional elements 108 can be planned as state transition vectors defined by the masking material 104 and the state data 106 in the memory 1〇2.

2〇 在第3圖之範例中,狀態元件108被表示為CONDITION 1,CONDITION 2和CONDITION Q,其中Q為一正整數(Q>1) ,其標註多個可對每個狀態實現之狀況分支和函數。例如 狀況元件108對應於在TRIG—OUTJLIST上所執行之狀況邏 輯和狀況分支,以控制狀態機器107之狀態轉換。狀態元件 ]3 1295772 108使用比較區塊(例如比較目電路)H〇來根據從記憶體l〇2 所讀取到的遮罩資料1 〇4實現在TRIG—OUT 一 LIST上之它們 的個別功能。 例如,每個狀況元件108之比較區塊11〇可實現相關於 5 由TRIG一OUTJLIST所表示之緘能狀況資料之位元式遮罩( 或匹配)。比較區塊110如此在每個週期可以一儲存為遮罩 資料104之遮罩向量為基礎來實現匹配。在遮罩資料1〇4中 之向量可對每個比較區塊110不同。遮罩資料104進一步可 對一已予捕捉期間加以固定或者遮罩資料可隨一捕捉期間 10 來變化,諸如藉由利用對一些或全部可得狀態之不同遮罩 資料之方式。當對一已予狀況元件108之遮罩資料匹配於 TRIG—OUTJLIST時,狀況元件提供一對應的輸出至一選擇 器112,其指示已符合狀況(例如向量被致能)。 每個狀況元件108提供一輸出給選擇器112。選擇器112 15 操作來以來自狀況元件1〇8之輸出為基礎來識別狀態機器 之NEXT STATE。狀況元件108可被使用做為控制狀態轉換 之分層元件。例如,狀況元件108可作用如一優先編碼器, 其以CURR一STATE為基礎及以TRIG-0UT一LIST為基礎來 實現狀態轉換。做為一下一個狀態資料106優先編碼器,選 20擇器112可根據哪個狀況元件108被致能及指派給個別狀況 元件108之優先性來設定下一狀態。因此,狀況元件1〇8可 操作如分離的狀況分支,其可用來以相關於與每個狀況分 支相關之對應遮罩資料104比較TRIG—OUT—LIS T來實現狀 態機器之預先定義之狀態轉換(例如預先規劃為狀態資料 14 1295772 106)。選擇器112可從致能之狀況元件1〇8接收下一狀態之 指示或者讀取來自記憶體102之資料,其由虛線112指示。 藉由進一步範例之方式,下列表I提供一可由狀況元件 108根據由個別比較區塊110所執行之比較之結果來實現之 5 可能的狀態轉換之真值表表示。在表I中之項目例如對應於 第3圖中所示之三個狀況元件log之輸出。例如, CONDITION 1對應於一第一或最高優先狀況(例如一,,若,, 狀況),CONDITION 2對應於一次高優先狀況(例如,一,,否 則若”狀況)且CONDITION Q對應於一最低優先狀況(例如 10其他”否則若”狀況)。對每個個別狀況元件108之輸出之值如 此指示個別向量(儲存於遮罩資料104中)是否被致能(由一 邏輯”1”標註)或被關閉(由一邏輯,,〇,,標註),諸如由比較區 塊110比較TRIG一OUT一LIST與對應之遮罩資料丨04之方式 。在表I中,字母’’X”標註一與狀況元件108之個別輸出相關 15之”不重要”狀態。當未符合任何狀況時(例如所有狀況等於 〇),選擇器112維持其目前的狀況。熟悉技藝之人士將了解 和體會到類似於表I中展示之功能可被實現來實現在一電 腦系統内中之一狀態機器之許多不同的方式,其包括硬體 和/或軟體,以包含於此之指導為基礎。2. In the example of Figure 3, state element 108 is represented as CONDITION 1, CONDITION 2, and CONDITION Q, where Q is a positive integer (Q > 1) that labels a plurality of status branches that can be implemented for each state. And functions. For example, status element 108 corresponds to a status logic and status branch executed on TRIG_OUTJLIST to control state transitions of state machine 107. Status component] 3 1295772 108 uses a comparison block (for example, a comparison circuit) H〇 to implement their individual functions on the TRIG_OUT LIST based on the mask data 1 〇 4 read from the memory 〇2 . For example, the comparison block 11 of each status element 108 can implement a bit mask (or match) associated with the energy status data represented by TRIG-OUTJLIST. The comparison block 110 is thus matched based on a mask vector stored as a mask data 104 in each cycle. The vector in the mask data 1〇4 may be different for each comparison block 110. The mask data 104 can further be used to fix or mask the data during a capture period that can vary over a capture period 10, such as by utilizing different masking data for some or all of the available states. When the mask data for a given status element 108 matches TRIG_OUTJLIST, the status element provides a corresponding output to a selector 112 indicating that the status has been met (e.g., the vector is enabled). Each status element 108 provides an output to the selector 112. The selector 112 15 operates to identify the NEXT STATE of the state machine based on the output from the status element 1〇8. The status element 108 can be used as a layered element for controlling state transitions. For example, the status component 108 can function as a priority encoder that implements state transitions based on CURR-STATE and based on TRIG-0UT-LIST. As a status data 106 priority encoder, the selector 112 can set the next state based on which status element 108 is enabled and assigned to the priority of the individual status element 108. Thus, the status element 1 可 8 can operate as a separate status branch, which can be used to implement a predefined state transition of the state machine with respect to the TRIG_OUT_LIS T associated with the corresponding mask data 104 associated with each status branch. (eg pre-planned as status data 14 1295772 106). The selector 112 can receive an indication of the next state from the enabled status component 1 或者 8 or read data from the memory 102, indicated by the dashed line 112. By way of further example, Table I below provides a truth table representation of the possible state transitions that can be implemented by the status component 108 based on the results of the comparisons performed by the individual comparison blocks 110. The items in Table I correspond, for example, to the output of the three status elements log shown in Figure 3. For example, CONDITION 1 corresponds to a first or highest priority condition (eg, one, if, status), CONDITION 2 corresponds to a high priority condition (eg, one, otherwise if) and CONDITION Q corresponds to a minimum Priority status (e.g., 10 other) otherwise "state". The value of the output of each individual status element 108 thus indicates whether an individual vector (stored in mask data 104) is enabled (marked by a logic "1"). Or being turned off (by a logic, 〇,, annotated), such as by comparing the TRIG-OUT-LIST with the corresponding mask data 丨04 by the comparison block 110. In Table I, the letter ''X' is labeled one The "not important" state of 15 is associated with the individual output of the status element 108. When no conditions are met (e.g., all conditions are equal to 〇), selector 112 maintains its current condition. Those skilled in the art will appreciate and appreciate that many of the different ways in which the functions shown in Table I can be implemented to implement a state machine in a computer system, including hardware and/or software, are included in Based on this guidance.

20 表I20 Table I

狀況1 狀況2 狀況Q 結果 0 0 0 載入CURR STATE 0 0 1 載入CONDITION Q NEXT STATE 0 1 X 載入CONDITION 2 NEXT STATE 1 X X 載入 CONDITION 1 NEXT STATE 15 1295772 選擇器112提供N E X T S TAT E資訊給一狀態暫存器114 。狀態暫存器114因此提供一目前狀態之指示做為 CURR-STATE訊號。如上述,CURR_STATE可用來從狀態 資料106選擇一下一可用狀態以及(選項性地)重新定義欲應 5用之遮罩向量為狀態機器107之目前狀態之狀況元件1〇8。 系統100亦可包括一發生系統116,其操作來於使選擇 器112轉換至對已予狀況元件之一下一個狀態之前,要求由 一或多個已予狀況元件(例如CONDITION 1)108所做之多 個符合或發生。為了說明之目的,第3圖之範例假設發生系 10 統116僅應用至CONDITION 1,雖然亦可與分析系統1〇〇之 其他狀況分支連結來利用發生要件。發生系統116因此提供 一發生致能訊號117給選擇器112,指示對已予狀況元件(例 如CONDITION 1)108是否已符合預先定義之發生次數。因 此,僅在例如發生致能訊號117指出發生次數已符合時,選 15 擇器H2可選擇被指派給CONDITION 1之下一個狀態。 做為一例,發生系統116包括一計數器118,其操作來 當CONDITION 1之比較區塊11〇指出符合對應的遮罩向量 時,計數發生。計數器118例如可於捕捉期間追蹤發生次數 ,或對CURR—STATE之發生次數。記憶體102可提供一發生 20值(0CC-VAL)給發生系統116。OCC—VAL之值定義於與 CONDITION 1相關之遮罩資料向量致能選擇器112載入與 CONDITION 1相關之下一狀態向量之前所需的一或多次發 生之次數。可對狀態機器之不同狀態來規劃相同或不同的 發生值。發生系統116比較相對於由計數器118所提供之值 16 1295772 之OCC-VAL,並以比較為基礎來提供發生致能訊號給選擇 器112。發生致能訊號遮住與CONDITION 1相關之下一狀態 向量,直到計數器118之輸出符合OCC_VAL為止。因此, 直到已符合與CONDITION 1相關之發生要件為止,狀態機 5 器之下一狀態將對應於與其他狀況元件108之一相關之下 一狀態向量之一。 分析系統100亦包括一觸發產生器120。觸發產生器120 操作來以相關於一可儲存於記憶體102中之預先定義之 FINAL STATE之 CURR一STATE 為基礎來產生 TRIGGER訊 10 號。觸發產生器120亦可包括額外的邏輯來強迫觸發產生器 供TRIGGER 號。熟悉技藝之人士將了解和體會到可產 生一 TRIGGER訊號之許多不同的方式,諸如以所要的性能 特性和設計要件為基礎。 系統100亦可包括一延遲系統122,其操作來以 15 TRIGGER訊號及一儲存品檢(STOR一QUAL)訊號為基礎來 產生TRIG一DELAY訊號。做為一例,延遲系統122包括將具 有TRIG—DELAY訊號之反轉版本之TRIGGER訊號與 ST0R一QUAL訊號做AND之邏輯。一計數器124以邏輯之輸 出為基礎來加以致能,以增量其值,條件為TRIGJDELAY 20 訊號未被提出,且ST0R一QUAL和TRIGGER訊號被提出(例 如對應於合格的觸發事件)。 延遲系統122相對於一於P〇ST__STORE上指出之預先 定義之計數器值來比較計數器124之輸出。POSTJSTORE值 可為一從對應的系統可定址記憶體102讀取之預先定義的 17 1295772 值,其係用以貫現一所要的觸發延遲。p〇ST—ST〇RE值可 加以規劃,諸如對一已予的捕捉期間,以定義的觸發延值 ,其相對於一對應的觸發事件來設定一資料捕捉點(例如當 提出TRIGGER訊號時)。 5 例如,一對應的資料捕捉系統可以一最小 POST 一 ST0RE值(例如P〇STST〇RE=〇)為基礎來捕捉一組 於一觸發事件之前儲存於一捕捉緩衝器中之資料。在這樣 一個方案中,資料捕捉系統將在一觸發事件時關閉和停止 從匯流排儲存資料。或者,p〇ST-ST〇RE值可以一最大 10 POST一STORE值為基礎來設定觸發延遲來使資料捕捉系統 於一觸發事件之後儲存所有的資料。在此後面的方案中, 捕捉緩衝裔將在一觸發事件開始時或之後,以來自匯流排 之資料填滿捕捉緩衝器。視計數器124之大小而定,一 POST一STORE值亦可被設定來儲存未來的資料,諸如藉由 15在觸發事件之後於多個週期上從資料捕捉系統讀取資料並 將資料儲存於記憶體中。其他替代方案為以P0STJST0RE 值為基礎來儲存一組資料於_捕捉窗中(或多個窗),其位於 先鈾的資料捕捉方案之任一或多者内。如此,trig_delay 訊唬可被提供給一資料捕捉系統,連同st〇r—qual訊號, 20以控制貢料捕捉系統之操作,諸如在此所描述的。 第4圖說明一邏輯分析器150之範例。系統150被用來從 一資料匯流排152獲取資料。匯流排152例如可從在一積體 電路晶片中之一或多個來源接收資料,或從在一相關裝置 或系統中之任何地方,其包括從其他其中實現系統15〇之積 18 1295772 體電路。熟悉技藝之人士將了解和體會到可用來 動匯流排152之衫㈣时法與饋縣構。 一監視純154接姊監視被提供於S流排I52上之次 料。監視系統154可包括多個被規劃和/或組態來以在匯^ 5排152上傳播之資料為基礎來判斷是否已符合特定的性二 狀況之監視器/計數器。例如,監視系統154可組態來實: 相關於匯流排152上之資料之子集合之算術操作,邏輯操作 以及匹配知作,以及其之組合。監視系統15何提供一對 應之多位兀輸出(TRIG—OUT一LIST),其指出被監視之每個 1〇性能狀況之結果。監視系統154例如可對每個時脈週期提出 在TIRG—OUT一LIST中之一對應之輸出位元,說明已符合對 資料匯流排152之一些或全部之一預先決定之子集合之一 已予狀況。 可藉由寫入至一相關的記憶體156來規劃和定義性能 15狀況。相關的記憶體156可為一或多個系統可定址記憶體區 塊(例如控制和狀態暫存器之一陣列),其可由一或多個規劃 (INPUT)訊號來可以規劃。ΙΝρυτ訊號可用來設定欲由監視 系統154所執行之所要的邏輯,匹配和/或算術操作。記憶 體156可提供(例如監視系統可讀取)pR〇G一mon訊號以規 20劃由監視系統154所監視之每個性能狀況。可有與規劃每個 監視系統154欲評估之每個性能狀況相關之記憶體156之一 分離的區塊。例如,在記憶體156中之對應區塊可由一内部 處理器(例如透過系統可定址記憶體)來加以規劃,或從一外 部裝置或系統工具,藉由寫入在記憶體156中被指派給監視 19 1295772 糸統154之個別性能監視電路之預先決定之位址位置來做。 監視系統154提供TRIG 一 OUT 一 LIST訊號給一品檢系統 160及給一分析系統152。TRIG—OUT—LIST訊號可被提供來 做為在一多位元匯流排上之資料,其包括對由監視系統154 5 所監視之母個性能狀況之個別輸出。例如,當由監視系統 154所貫現之一特定狀況符合時,可由系統154對一時脈週 期來提出在TRIG一OUT一LIST中之一對應的位元(或多個位 元)。 性能狀況可藉由寫入至一相關記憶體156規劃的和定 10 義的。相關記憶體156可為一或多個系統可定址記憶體區塊 (例如一控制和狀悲暫存器之陣列),其可由一或多個規劃 (INPUT)訊號來加以規劃。INPUT訊號可用來設定欲由監視 系統154執行之所要的邏輯,匹配和/或算術運算。記憶體 156可提供(例如監視系統可讀取)PROG-ΜΟΝ訊號來規劃 15 每個由監視系統154所監視之性能狀況。可有一與規劃每個 監視系統154欲評估之性能狀況相關之記憶體156之分離區 塊。例如,在記憶體156中之對應區塊可由一内部處理器規 畫|J (例如透過系統可定址記憶體)或來自一外部裝置或系統 工具,藉由寫入至在記憶體156中之預先決定之位址位置, 20 其被指派給監視系統154之個別的性能監視電路。 監視系統154提供TRIG—OUT JLIST訊號給一品檢系統 160及給一分析系統162。TRIG_OUT_LIST訊號可被提供做 為在一多位元匯流排上之資料,其包括對每個由監視系統 154所監視之性能狀況之個別輸出。例如,當符合由監視系 20 1295772 統154所實現之特定狀況時,可由系統154對一時脈週期確 立在TRIG一OUTJJST中之一對應的位元(或好幾個位元)。 在TRIG-OUT—LIST訊號中之對應位元之確立可對應至增 量一對應計數器或調整在監視系統154之一個別性能監視 5 電路中之性能之某些其他量。如此,如此,多位元輸出 TiaG-OUT—LIST提供一關於在匯流排152上被提供之資料 中是否符合特定狀況之指示。熟悉技藝之人士將了解和體 會到監視系統154可加以規劃和組態來監視任何數目之一 或多個與在匯流排152上之資料相關之狀況。 10 品檢邏輯160執行相關於由監視系統154提供之 TRIG—OUT—LIST之匹配和品檢功能。品檢系統160提供一 ST0R一QUAL·訊號至一相關的資料捕捉系統164以識別資料 是否應從資料匯流排152加以捕捉。例如,品檢系統160可 透過一 PROG一SQ訊號來規劃,諸如在一選擇的 15 TRIG-0UT—LIST資料之群組或次群組上執行品檢邏輯或 匹配功能。例如,匹配功能可實現一可匹配的遮罩功能, 其決定資料是否應從資料匯流排於每個時脈週期以由 TRIG_0UT—LIST §fl號所表示之變數之結果為基礎來加以 捕捉。如此,匹配功能可提供ST0R-QUAL訊號來識別一或 2〇多個與由監視系統154所監視之性能狀況之結果相關之樣 式。 分析系統162組態來執行與性能監視器 TRIG一OUT—LIST資料相關之内部邏輯分析,並提供一種多 個TRIGGER訊號來控制一用以從匯流排152取得資料之 21 1295772 捕捉期間。例如,分析系統160可實現為_狀態機哭纟士構( 例如Mealy或Moore),其以由監視系統154所實現之性能狀 況為基礎來於狀態之間轉換。如在此所描述的,當符人性 能狀況時,可以分析系統162執行何種邏輯分析為基礎來對 5 —時脈週期提出在TRIG一OUT一LIST中之個別資料。分析系 統162可以丁幻0一011丁一1^15丁訊號及5丁011—(511八1^訊號為義 礎來提供一或多個TRIGGER訊號給資料捕捉系統i64。一或 多個TRIGGER訊號亦可被提供給品檢邏輯區塊158,如上述 所提及的。 10 分析系統162可以一向量(PROG一TRIG)來組態(例如透 過系統可定址記憶體來規劃),該向量定義一組可能的狀況 及與正被實現之分析功能相關之狀態轉換。分析系統丨6 2例 如亦可以TRIG—OUT一LIST資料為基礎,以及以由分析系統 162所實現之狀況機器之目前狀態為基礎來使用狀況分支 15 。分析系統162亦可控制資料捕捉系統162如何捕捉與一觸 發事件相關之資料。 在一進一步之範例中,分析系統162可被規劃(例如透 過PROGJTRIG訊號)來調整與一觸發點相關之資料捕捉之 時序,諸如當TRIGGER訊號被提出時。例如,PROGJTRIG 20 訊號可設定一或多個項目於系統可定址記憶體中(例如一 暫存器陣列或其他記憶體),以設定一觸發延遲值,其被用 來定義在一觸發事件發生之前,在一觸發事件發生之後, 或在包括一觸發事件之某視窗内捕捉緩衝器是否儲存資料 。該視窗例如可以資料捕捉系統丨6 4所使用之緩衝器之大小 22 1295772 或與用來儲存來自匯流排152之資料之緩衝器連結使用之 記憶體之大小為基礎來改變。 觸發事件或狀況可當分析系統16 2轉換成一或多個可 規劃之分析系統之狀態時來發生,該狀況被設計來使得 5 TRIGGER訊號提出。例如,狀態機器可包括一 FInaL STATE ’其使得分析系統162提出觸發訊號。另外,在轉換 至對已予狀況之下一狀態之前,一已予狀況之一或多次發 生之預先決定之次數可加以要求。 資料捕捉系統164操作來至少部份以來自品檢邏輯之 10 STOR 一 QUAL訊號為基礎以及以由分析系統162所提供之 TRIGGER訊號為基礎來儲存來自匯流排152之資料。資料捕 捉系統164包括控制邏輯,其可被設定來定義欲儲存之資料 之量,欲儲存之資料型式,以及資料將如何相關於1111(3(:^11 訊號來加以儲存。例如,資料捕捉系統164之控制邏輯可包 15括配置來啟動資料捕捉系統164以儲存一組來自匯流排152 之資料以回應STOR一QUAL訊號及TRIGGER訊號之硬體配 置。做為一進一步之範例,分析系統162可提供伙圯征尺 訊號做為包括一觸發訊號及一觸發延遲訊號。識別在一觸 發狀況發生之前或之後特定位元數之值之觸發延遲訊號儲 20存於資料捕捉系統164中。資料捕捉系統164可提供其對應 輸出訊號(OUT)給相關記憶體,諸如系統可定址記憶體,其 可由一系統處理器加以讀取。 熟悉技藝之人士將體會到可用來輸入規劃資料至系統 150之許多不同的部份以及用以從系統15〇輸出〇υΊΓ資料之 23 1295772 不同31式之C憶體結構(例如暫存器 RAM’貯存器和 , ⑼,品檢系統158八外,轉150,包括監視系統 … 77析系統162和資料捕捉系統164(或至 少其之一部份)可眘银% ^ m 、4主 5 10 15 a見為-應用料積體電路(ASI(>asic 了貝,為m統内部之積體邏輯分析器。 的sT °兄明品檢系統2GG之—範例,其包括多個分離 千 。例如,子電_可為布林子電路,布林子 电路0,布林子電路1至布林子電路P,其中P為-正整數, 而W代表子電路之數目。每個子電路皿操作來提供一對 應之品檢訊號,盆於m 、、Q和Qp上指示出來,做為對應的 輸入sfl號之函數,一如扣-从nr\ ^日不於P0至PN上,其中標記訊 叙數目。_可為相同或不同。訊號Ρ0-ΡΝ可定義供由 每個子電路202所執行之布林操作之目的用之變數。如在此 所描述的’輸入訊號PG领至品檢系統200者可表示對在一 相關匯机排上之貝料之個別的性能狀況之值⑽如一或多 個位元)。 將體會到相同訊號P0_PN之—或多個可由超過一個子 電路202來_品檢。此提供了可由品檢純勘對對應於 «Ρ0-ΡΝ之變數集合來執行之可能的布林操作之增加的 20集合。例如,因為超過-個訊號(例如即和叫被提供給不 同的子電路,所以個別的布林操作可同時地執行於訊號及 义些磁之互補(或倒反)上。因為這些訊號僅發生單次做為 至品檢系統200之輸入,所以布林操作可在每個訊號上或訊 號之互補(倒反)上執行。 24 1295772 一藉由範例之方式,每個子電路2〇2可藉由執行預先定義 之貝料和由被提供給個別子電路之輸入訊號所定義之變數 間之匹配來執行一對應之布林操作。如此,品檢訊號qaqj 至QP如由每個子電路在個別變數上所執行之布林操作之函 5數般變化。一累積器204累積品檢訊號Q0,Q1至QP以提供一 對應之累積品檢訊號,其指示於QUAL上。QUAUfL號可為 單一位兀或一多位元值,其係以個別的品檢訊號q〇,qi 至QP為基礎來變化。 圮憶體206亦可被提供來設定或組態品檢系統2〇〇。例 1〇如,記憶體206可被實現為系統可定址記憶體(例如一控制 和狀態暫存器之陣列)。記憶體2〇6可被規劃來設定邏輯資 料208’其定義由子電路2〇2於由對應的輸入訊號p〇_pN所定 義之個別變數上所執行之布林運算。例如,邏輯資料2〇8可 對應於用以遮罩被提供給每個子電路2 〇 2之個別輸入訊號 15之邏輯值之一向量。邏輯資料208如此可被設定來判斷個別 輸入訊號之值是否匹配於如儲存於記憶體2〇6中之邏輯資 料之預先決定之邏輯值。 記憶體206亦可包括致能資料21〇,以選擇性地致能多 個子電路202之每一個。致能資料21〇如此可對每個子電路 20 202來加以設定,以致能或關閉子電路,以控制是否執行一 相關於一些或所有輸入訊號p〇_PN之一選擇之子集合之預 先決定之布林操作。由子電路202所實現之布林操作可藉由 規劃邏輯資料208及致能資料2丨〇來對一資料捕捉期間加以 固定,以在多個週期上品檢資料捕捉。或者,記憶體2〇6可 25 1295772 於一捕捉期間中重規劃,以隨時間改變由子電路202所執行 之布林操作。若邏輯資料208或致能資料210欲於一捕捉期 間中重規劃的話,程序應組態來容納用以重新規劃記憶體 206之時間。 5 記憶體2〇6可藉由例如使用一系統處理器來規劃,以定 址欲規劃之與邏輯資料208或致能資料210相關之對應的記 憶體位址位置。熟悉技藝之人士將了解和體會到其他方式 來規劃記憶體206,其可包括但不受限於組態工具(例如透 過一通訊地搞合至記憶體之串列或JTAG介面),或藉由其他 10 組態工具或運行掃瞄。 第6圖說明一資料捕捉系統250之範例,其可用來儲存 來自於一資料匯流排之資料(例如一觀察或除錯匯流排)252 。在匯流排252上之資料可邏輯地分割以協助儲存資料之不 同部份。一 80位元除錯匯流排252之例而言,匯流排之,部 15 份可包括位元[39 : 0],而匯流排之其他部份可包括位元[79 :40]。匯流排部份之每一個可包括任何數目之位元,且藤 流排可被劃分成可包含相同或不同數目位元之任何元件部 份0 資料捕捉系統250提供來自匯流排252之對應的輸出資 20 料(例如一單一或多位元資料串流)254,其可被提供給相關 記憶體256之一可定址記憶體範圍。記憶體256可實現為系 統可定址記憶體,諸如一暫存器記憶體,或一其中實現有 資料捕捉系統250之電腦系統中之其他型式之系統記憶體 。在記憶體256中之資料亦可從一非揮發性儲存裝置(未顯 26 1295772 示)讀取和儲存於其中,諸如舉例而言FLASH記憶體, EEPROM或一硬碟驅動機。資料捕捉系統250至少一部份以 一 TRIG_DELAY訊號(決定資料如何相關於一觸發事件來加 以捕捉)和STOR_QUAL訊號為基礎來提供輸出資料254。 5 資料捕捉系統250包括控制邏輯258,其操作來控制相 關的捕捉記憶體260,以捕捉或從匯流排252讀取資料。控 制邏輯258例如可包括閘之配置和其他相關於從匯流排252 捕捉貢料之電路。 以舉乔之方式,控制邏輯258可包括一計數器262,其 10 操作來控制從匯流排252讀取哪些資料及寫入哪些資料於 捕捉記憶體260。計數器262例如可實現為一多位元計數器( 例如一 11位元計數器),其維持一計數值,其控制欲從資料 匯流排252捕捉什麼資料。多位元計數器252之不同的部份 可用來控制系統250之不同方面。例如,來自計數器260之 15 一組位元(例如最小意義位元)可定義在匯流排252上欲由在 捕捉記憶體260中之記憶體模組(例如緩衝器)270捕捉之所 選擇之資料之位址。控制邏輯25 8如此可提供一位址(ADDR) 訊號給捕捉記憶體260,其定義對於欲從與記憶體模組270 相關之匯流排252之部份捕捉之資料之對應的位址。 20 其他來自計數器262之位元集合可被提供給一解多工 器(DE-MUX)268,其以來自控制邏輯258之計數器位元之集 合為基礎來提供一組輸出訊號。解多工器268操作來驅動捕 捉記憶體260之一對應部份,以儲存來自資料匯流排252之 所選擇的資料於相關的記憶體模組270中。例如,解多工器 27 1295772 268以來自控制邏輯258之控制輸入為基礎來提供一致能訊 號至一或多個記憶體模組270,其對應於來自計數器262之 一或多個位元(例如一部份之最大意義位元)以選擇性地致 能記憶體模組。當計數器262增量時,解多工器268將以一 5對應之序列來致能每個記憶體模組270。致能的記憶體模組 270被啟動,以讀取來自匯流排252之資料,且用來以位址 (ADDR)輸入為基礎來儲存這些資料於記憶體模組中。如上 述,計數器260可提供ADDR輸入,諸如對應於一組最小意 義位元,其足以編碼在匯流排252上傳播之資料量。 1〇 6己思體板組270提供對應的多位元輸入至輸出多工器 (MUX) 272。多工器272亦可以一來自控制邏輯之控制訊號 來加以控制,諸如對應於一些計數器資料,其對應於來自 计數器262之一或多個位元(例如最大意義位元之一部份)。 控制邏輯258可提供相同或不同的控制訊號給多工器272, 15及解多工器268。多工器272根據在一已予時脈週期期間哪 些記憶體模組270被致能來提供輸出資料訊號254。輸出資 料訊號254如此可被寫入至系緝可定址記憶體256,並透過 一相關處理器來加以存取,以供進一步分析之用,或用來 於電腦系統内實現其他功能(例如錯誤控制)。 一珠度控制區塊264可透過一DEPTH訊號來加以規劃( 例如儲存於一相關之系統可定址記憶體中),以控制捕捉深 度。捕捉深度例如可設定從匯流排260之哪部份將對每個合 才°的儲存事件來儲存資料。例如,在一 位元匯流排中, 捕捉深度可設定8〇位元中的多少個(且有可能做到設定哪 28 1295772 些)欲對每個合格的儲存事件來加以捕捉。藉由規劃dEPTH 訊號為一值,資料捕捉系統250可選擇性地加以組態以操作 於一第一模式中,其儲存較少的資料,但在一匯流排上較 深的程度上,藉由從較大部份之匯流排(例如整個匯流排 5 )252捕捉之方式。在一第二模式中,資料捕捉系統250可儲 存更多資料樣本於記憶體256中,但對較小部份之匯流排 252(例如一半)。一般儲存之資料量將視記憶體256之大小相 關於捕捉深度而變化。熟悉技藝之人士將了解和體會到其 他捕捉深度可由深度控制區塊264來實現。 10 控制邏輯258亦可包括一延遲區塊260,其控制資料何 時欲相關於一觸發延遲(TRIG一DELAY)訊號來加以捕捉。例 如,控制邏輯258從一相關延遲系統接收TRIGJDELAY訊號 (例如’第6圖之延遲系統222”TRIGJ3ELAY訊號可為一單 位元值’其識別一預先決定之數目之儲存事件(例如以 15 ST〇R-QUAL訊號為基礎)何時已相關於一確立之觸發訊號 已發生。TRIGJDELAY訊號或者可為一多位元訊號。相關 的延遲系統如此提供TRIG一DELAY訊號來控制欲相關於一 觸發事件儲存之資料之寬,諸如與第6圖相關在上面描述的 。例如’可規劃相關的延遲系統來實現於一觸發事件前在 2〇 一觸發事件後或與一觸發事件重疊之儲存窗從匯流排252 之夕個資料儲存。如上述,一觸發事件可回應於進入一最 終狀恶之觸發狀態機器來發生,諸如回應於在匯流排252上 傳七之資料符合一或多個狀況。如此,資料捕捉系統250操 作來持'績捕捉和儲存來自資料匯流排252之資料,以回應 29 1295772 STOR—QUAL訊號,只要TRIG—DELAY訊號不確立。例如當 TRIG 一 DEL AY訊號磘立時,控制邏輯25 8可控制系統250來關 閉和停止從匯流排252儲存資料,有效地停止一捕捉期間。 第7圖說明一方塊圖,其說明一電腦系統3〇〇之範例, 5其可實一或多個邏輯分析器,諸如在此所顯示和描述的(例 如第1-6圖)。第7圖之電腦系統300說明為一分佈記憶體多處 理器系統,雖然一單一處理器系統亦可利用邏輯分析器。 系統300包括多個分別指示於CELL 1,CELL 2至CELL Μ上 之胞元302,其中Μ為大於或等於一之標記胞元數目之整數 10 。母個胞元302,其可實現為一胞元板者,透過一互連304 通訊地1¾合至其他胞元’諸如一背板或閂結構。每個互連 304可實現為一應用特定積體電路(asic)。 在第7圖之範例中,邏輯分析器306實現於互連3〇4内; 即,一邏輯分析器在一第一互連中及二邏輯分析器在其他 15互連中。熟悉技藝之人士將了解和體會到任何數目之一或 多個邏輯分析器可實現於互連304内以及在其他電路中,其 包括在胞元302或I/O子系統308中之積體電路上。藉由範例 之方式’每個邏輯分析器306麵合至一匯流排結構(例如一 觀祭匯流排)’其可以來自與一或多個胞元3〇2相關之元件 20 與其他匯流排結構之資料來加以驅動。另外,如在此所士兒 明的,每個邏輯分析器306可包括在系統300内之可定址記 憶體,其可由在任何相關胞元302上之元件讀取或寫入。 藉由進一步範例之方式,一I/O(輸入/輸出)子系統3〇8 係與每個胞元302相關。I/O子系統308可提供一介面或路# 30 1295772 來存取一相關匯流排結構(例如一 PCI匯流排結構)或其他耦 • 合至對應的匯流排結構之裝置,諸如透過對應的轉接器(未 顯不)。熟悉技藝之人將了解和體會到,多種不同型式之I/C) 裝置308 ’其可透過I/O子系統308來加以存取或可存取記憶 5 體。 另外’包含一邏輯分析器306之互連304可耦合至其他 互連’其包含二個邏輯分析器,以存取其他胞元為基礎之 φ 架構’其包括一或多個其他胞元(未顯示)。其他胞元基礎之 構可類似地組態為於第7圖中所顯示和說明者。然而熟悉技 1〇蟄之人士將了解和體會到系統300可以任何數目之胞元,任 何數目之一或多個實現之邏輯分析器來實現。 . 為了簡化之目的,僅對CELL 1顯示内部内容,雖然熟 悉技藝之人匈了解和體會到每«他個狀胞元302可 以六員似之方式來貫現。或者,不同的組態亦可相關於不同 15的胞元302來加以實現。 Φ 轉至CELL 1之内容,CELL 1包括-胞元控制器310, 其耦合至一胞元記憶體子系統312至一相關習緩衝器路3 Μ /緩衝器網路314可包括一列行(例如一輸入行列和一輸出 订列),以提供記憶體子系統3 i 2和控制器3工〇間之要求和回 應之智慧緩衝。一或多個中央處理單元(c卿_連接至 抆制时310 ’以存取記憶子系統312。每個ye可包括一 相關的緩缺存H (未顯示),以儲存資料供c p u本地存取而 不要求對5己憶體子系統312之存取。在第7圖中所示之配置 中CPU 316和1/〇子系統3〇6每個可被認為是操作來透過控 31 1295772 制器310存取在記憶體子系統312中之資料之記憶體存取裝 置。控制器310可包括韌體,一組態和狀態暫存器(CSR)及 一用以存取在記憶體子系統312中之資料之存取行列。記憶 體子系統312可包括任何數目之一或多個記憶體模組,其包 5 括一或多個DIMM或SIMM記憶體裝置。Condition 1 Status 2 Status Q Result 0 0 0 Load CURR STATE 0 0 1 Load CONDITION Q NEXT STATE 0 1 X Load CONDITION 2 NEXT STATE 1 XX Load CONDITION 1 NEXT STATE 15 1295772 Selector 112 provides NEXTS TAT E information A status register 114 is provided. The status register 114 thus provides an indication of the current status as a CURR-STATE signal. As noted above, CURR_STATE can be used to select the next available state from the status data 106 and (optionally) redefine the conditional element 1 〇 8 for the current state of the state machine 107. System 100 can also include an occurrence system 116 operative to cause one or more of the status elements (e.g., CONDITION 1) 108 to be made prior to switching selector 112 to the next state of one of the status elements. Multiple matches or occurrences. For purposes of illustration, the example of Figure 3 assumes that the generation system 116 is only applied to CONDITION 1, although it may also be linked to other conditions of the analysis system 1 to utilize the occurrence requirements. The generation system 116 thus provides an enable signal 117 to the selector 112 indicating whether the status component (e.g., CONDITION 1) 108 has met a predefined number of occurrences. Therefore, the selector H2 can be selected to be assigned to the next state of CONDITION 1 only when, for example, the enable signal 117 indicates that the number of occurrences has been met. As an example, the generation system 116 includes a counter 118 that operates to count when the comparison block 11 of CONDITION 1 indicates that the corresponding mask vector is met. Counter 118 may, for example, track the number of occurrences during capture, or the number of occurrences of CURR-STATE. Memory 102 can provide a 20 value (0CC-VAL) to generation system 116. The value of OCC_VAL is defined by the number of times one or more occurrences of the mask data vector enable selector 112 associated with CONDITION 1 are required to load a state vector associated with CONDITION 1. The same or different occurrence values can be planned for different states of the state machine. The generation system 116 compares the OCC-VAL with respect to the value 16 1295772 provided by the counter 118 and provides an enable signal to the selector 112 on a comparison basis. The enable signal is masked to conceal a state vector associated with CONDITION 1 until the output of counter 118 conforms to OCC_VAL. Thus, until the occurrence requirements associated with CONDITION 1 have been met, the state below the state machine will correspond to one of the state vectors associated with one of the other status elements 108. Analysis system 100 also includes a trigger generator 120. Trigger generator 120 operates to generate TRIGGER 10 based on a CURR-STATE associated with a predefined FINAL STATE that can be stored in memory 102. Trigger generator 120 may also include additional logic to force the trigger generator to provide a TRIGGER number. Those skilled in the art will understand and appreciate the many different ways in which a TRIGGER signal can be generated, such as based on desired performance characteristics and design requirements. The system 100 can also include a delay system 122 operative to generate a TRIG-DELAY signal based on a 15 TRIGGER signal and a STOR-QUAL signal. As an example, delay system 122 includes logic to AND the TRIGGER signal with the inverted version of the TRIG-DELAY signal and the ST0R-QUAL signal. A counter 124 is enabled based on the output of the logic to increment its value, provided that the TRIGJDELAY 20 signal is not asserted and the ST0R-QUAL and TRIGGER signals are asserted (e. g., corresponding to a qualified trigger event). Delay system 122 compares the output of counter 124 with respect to a predefined counter value indicated on P〇ST__STORE. The POSTJSTORE value can be a predefined 17 1295772 value read from the corresponding system addressable memory 102 that is used to implement a desired trigger delay. The p〇ST_ST〇RE value can be planned, such as for a given capture period, with a defined trigger delay value, which sets a data capture point relative to a corresponding trigger event (eg, when a TRIGGER signal is presented) . 5 For example, a corresponding data capture system can capture a set of data stored in a capture buffer prior to a trigger event based on a minimum POST-ST0RE value (eg, P〇STST〇RE=〇). In such a scenario, the data capture system will shut down and stop storing data from the bus at a trigger event. Alternatively, the p〇ST-ST〇RE value can be set based on a maximum of 10 POST-STORE values to cause the data capture system to store all of the data after a trigger event. In this latter scenario, the capture buffer will fill the capture buffer with data from the bus at or after the start of a trigger event. Depending on the size of the counter 124, a POST-STORE value can also be set to store future data, such as by 15 reading data from the data capture system over multiple cycles after the trigger event and storing the data in memory. in. Another alternative is to store a set of data in a _capture window (or multiple windows) based on the P0STJST0RE value, which is located in any one or more of the uranium data capture schemes. Thus, the trig_delay message can be provided to a data capture system, along with a st〇r-qual signal, 20 to control the operation of the tributary capture system, such as described herein. Figure 4 illustrates an example of a logic analyzer 150. System 150 is used to retrieve data from a data bus 152. The bus bar 152 can receive data, for example, from one or more sources in an integrated circuit chip, or from anywhere in a related device or system, including the 18 1295772 body circuit from among other systems 15 . Those who are familiar with the art will understand and appreciate the shirts that can be used to move the bus 152 (4) and the county. A monitoring pure 154 interface monitor is provided for the secondary material on the S stream I52. The monitoring system 154 can include a plurality of monitors/counters that are scheduled and/or configured to determine whether a particular sex condition has been met based on the material being propagated on the bank 152. For example, monitoring system 154 can be configured to: arithmetic operations, logical operations, and matching knowledge, and combinations thereof, related to a subset of the data on bus 152. The monitoring system 15 provides a pair of multi-bit outputs (TRIG_OUT-LIST) indicating the results of each of the monitored performance conditions. The monitoring system 154 may, for example, present an output bit corresponding to one of the TIRG_OUT-LISTs for each clock cycle, indicating that one of the pre-determined subsets of one or all of the data bus 152 has been met. . The performance 15 condition can be planned and defined by writing to an associated memory 156. The associated memory 156 can be one or more system addressable memory blocks (e.g., an array of control and status registers) that can be scheduled by one or more planning (INPUT) signals. The ΙΝρυτ signal can be used to set the desired logic, matching and/or arithmetic operations to be performed by the monitoring system 154. The memory 156 can provide (e.g., the monitoring system readable) pR〇G-mon signal to each of the performance conditions monitored by the monitoring system 154. There may be blocks separate from one of the memories 156 that are associated with each performance condition that each monitoring system 154 is to evaluate. For example, corresponding blocks in memory 156 may be planned by an internal processor (e.g., via system addressable memory) or from an external device or system tool by writing to memory 156. Monitor the pre-determined address location of the individual performance monitoring circuits of 19 1295772 糸 154. The monitoring system 154 provides a TRIG-OUT- LIST signal to a quality inspection system 160 and to an analysis system 152. The TRIG_OUT_LIST signal can be provided as data on a multi-bit bus that includes individual outputs of the parent performance conditions monitored by the monitoring system 154 5 . For example, when a particular condition is met by the monitoring system 154, a bit (or a plurality of bits) corresponding to one of the TRIG-OUT-LISTs may be presented by the system 154 for a clock cycle. The performance status can be determined by writing to a related memory 156. Correlation memory 156 can be one or more system addressable memory blocks (e.g., an array of control and sinister registers) that can be scheduled by one or more planning (INPUT) signals. The INPUT signal can be used to set the desired logic, matching and/or arithmetic operations to be performed by the monitoring system 154. The memory 156 can provide (e.g., the monitoring system can read) the PROG-ΜΟΝ signal to plan 15 each of the performance conditions monitored by the monitoring system 154. There may be a separate block of memory 156 associated with planning the performance conditions that each monitoring system 154 is to evaluate. For example, the corresponding block in memory 156 can be written by an internal processor |J (e.g., via system addressable memory) or from an external device or system tool by writing to advance in memory 156. The determined address location, 20 is assigned to the individual performance monitoring circuitry of the monitoring system 154. Monitoring system 154 provides a TRIG-OUT JLIST signal to a quality inspection system 160 and to an analysis system 162. The TRIG_OUT_LIST signal can be provided as data on a multi-bit bus that includes individual outputs for each of the performance conditions monitored by the monitoring system 154. For example, when the particular condition implemented by the monitoring system 154 is met, the system 154 can determine a bit corresponding to one of the TRIG-OUTJJST (or several bits) for a clock cycle. The assertion of the corresponding bit in the TRIG-OUT-LIST signal may correspond to an increment-corresponding counter or some other amount of performance adjusted in an individual performance monitoring 5 circuit of the monitoring system 154. Thus, in this manner, the multi-bit output TiaG-OUT_LIST provides an indication of whether a particular condition is met in the data provided on the bus 152. Those skilled in the art will appreciate and appreciate that the monitoring system 154 can be programmed and configured to monitor any one or more of the conditions associated with the data on the bus 152. The Q-check logic 160 performs the matching and QA functions associated with the TRIG-OUT-LIST provided by the monitoring system 154. The QA system 160 provides a ST0R-QUAL signal to an associated data capture system 164 to identify if the data should be captured from the data bus 152. For example, the quality inspection system 160 can be programmed via a PROG-SQ signal, such as performing a quality check logic or matching function on a selected group or subgroup of 15 TRIG-0UT-LIST data. For example, the matching function implements a matchable masking function that determines whether data should be captured from the data bus at each clock cycle based on the result of the variable represented by TRIG_0UT-LIST §fl. As such, the matching function can provide an ST0R-QUAL signal to identify one or more patterns associated with the results of the performance conditions monitored by the monitoring system 154. The analysis system 162 is configured to perform internal logic analysis associated with the performance monitor TRIG-OUT-LIST data and provides a plurality of TRIGGER signals to control a capture period for capturing data from the bus 152. For example, the analysis system 160 can be implemented as a _ state machine (e.g., Mealy or Moore) that transitions between states based on performance conditions implemented by the monitoring system 154. As described herein, the individual data in the TRIG-OUT-LIST can be presented to the 5-clock cycle based on what logic analysis is performed by the analysis system 162 when the performance of the person is assessed. The analysis system 162 can provide one or more TRIGGER signals to the data capture system i64. The one or more TRIGGER signals can also be provided by Ding Xing 0 011 Ding 1 1 15 Ding Signal and 5 Ding 011 - (511 8 1 ^ Signals). Can be provided to the quality check logic block 158, as mentioned above. 10 The analysis system 162 can be configured as a vector (PROG-TRIG) (eg, planned by system addressable memory), which defines a group Possible conditions and state transitions associated with the analysis function being implemented. The analysis system 62 can also be based, for example, on the TRIG-OUT-LIST data and based on the current state of the machine being implemented by the analysis system 162. Usage status branch 15. Analysis system 162 can also control how data capture system 162 captures data associated with a triggering event. In a further example, analysis system 162 can be programmed (e.g., via a PROGJTRIG signal) to adjust with a trigger point. Timing of related data capture, such as when a TRIGGER signal is asserted. For example, the PROGJTRIG 20 signal can be used to set one or more items in system addressable memory (eg a register array or other memory to set a trigger delay value that is used to define a buffer before a trigger event occurs, or within a window that includes a trigger event Whether to store the data, the window can be changed, for example, based on the size of the buffer used by the data capture system 22 64 1 295772 or the size of the memory used to store the buffer used to store the data from the bus 152. The event or condition may occur when the analysis system 16 2 converts to the state of one or more programmable analysis systems that are designed to cause the 5 TRIGGER signal to be presented. For example, the state machine may include a FInaL STATE 'which enables the analysis system 162. A trigger signal is provided. Additionally, a predetermined number of occurrences of one or more occurrences of the condition may be requested prior to transitioning to a state under the condition. The data capture system 164 operates at least in part to Based on the 10 STOR-QUAL signal of the QC logic and based on the TRIGGER signal provided by the analysis system 162 To store data from bus 152. Data capture system 164 includes control logic that can be set to define the amount of data to be stored, the type of data to be stored, and how the data will be related to 1111 (3 (:^11 signal) For example, the control logic of the data capture system 164 can include a configuration to activate the data capture system 164 to store a set of data from the bus 152 in response to the hardware configuration of the STOR-QUAL signal and the TRIGGER signal. In a further example, the analysis system 162 can provide the partner signal as including a trigger signal and a trigger delay signal. A trigger delay signal 20 identifying the value of a particular number of bits before or after a trigger condition occurs is stored in data capture system 164. Data capture system 164 can provide its corresponding output signal (OUT) to associated memory, such as system addressable memory, which can be read by a system processor. Those skilled in the art will appreciate that many different parts of the system 150 can be used to input planning data and to output data from the system 15 1295755 different 31 type C memory structures (eg, scratchpad RAM' The reservoir and, (9), the quality inspection system 158, the transfer 150, including the monitoring system... 77 analysis system 162 and data capture system 164 (or at least part of it) can be cautious silver % ^ m, 4 main 5 10 15 a see as - application of the integrated circuit (ASI (> asic, is the integrated logic analyzer inside the m system. sT ° brothers quality inspection system 2GG - examples, which include multiple separations. For example , sub-electric_ can be a Bolin sub-circuit, a Boolean sub-circuit 0, a Boolean sub-circuit 1 to a Boolean sub-circuit P, where P is a positive integer and W represents the number of sub-circuits. Each sub-circuit operates to provide a corresponding The quality inspection signal, the basin is indicated on m, Q and Qp, as a function of the corresponding input sfl number, as the deduction - from nr \ ^ day is not on P0 to PN, which marks the number of quotes. The same or different. The signal Ρ0-ΡΝ can be defined for execution by each sub-circuit 202. The purpose of the forest operation is to use a variable. As described herein, the input signal PG leads to the quality inspection system 200 to indicate the value (10) of the individual performance conditions of the material on a related elevator row, such as one or more. Bits. It will be appreciated that the same signal P0_PN - or a plurality of - can be checked by more than one sub-circuit 202. This provides a possible cloth that can be executed by the quality check corresponding to the set of variables of «Ρ0-ΡΝ An increase of 20 sets of forest operations. For example, because more than one signal (for example, the call is provided to a different sub-circuit, individual Boolean operations can be performed simultaneously on the signal and the complement of the magnetic (or reverse) Because these signals only occur as a single input to the quality inspection system 200, the Boolean operation can be performed on each signal or on the complement (reverse) of the signal. 24 1295772 By way of example, Each sub-circuit 2〇2 can perform a corresponding Boolean operation by performing a match between the predefined bedding and the variables defined by the input signals supplied to the individual sub-circuits. Thus, the quality inspection signals qaqj to QP As per The sub-circuits vary in number 5 of the Boolean operation function performed on the individual variables. An accumulator 204 accumulates the quality inspection signals Q0, Q1 to QP to provide a corresponding cumulative product detection signal, which is indicated on the QUAL. It can be a single digit or a multi-bit value, which is changed based on individual quality inspection signals q〇, qi to QP. The memory 206 can also be provided to set or configure the quality inspection system. For example, memory 206 can be implemented as a system addressable memory (eg, an array of control and status registers). Memory 2〇6 can be programmed to set logic data 208' defined by subcircuit 2布2 is a Boolean operation performed on an individual variable defined by the corresponding input signal p〇_pN. For example, logical data 2〇8 may correspond to a vector of logic values used to mask the individual input signals 15 provided to each of the sub-circuits 2 〇 2 . The logic 208 can be configured to determine whether the value of the individual input signal matches a predetermined logical value of the logical data stored in the memory 2〇6. The memory 206 can also include enable data 21A to selectively enable each of the plurality of sub-circuits 202. The enabling data 21 can thus be set for each sub-circuit 20 202 to enable or disable the sub-circuit to control whether or not to perform a predetermined cloth associated with a subset of some or all of the input signals p〇_PN. Lin operation. The Boolean operation implemented by sub-circuit 202 can be used to fix a data capture period by planning logic data 208 and enabling data 2 to capture data capture over multiple cycles. Alternatively, memory 2〇6 can be re-planned during a capture period to change the Boolean operation performed by sub-circuit 202 over time. If the logical data 208 or the enabling data 210 is to be re-planned during a capture period, the program should be configured to accommodate the time to re-program the memory 206. 5 Memory 2〇6 can be programmed by, for example, using a system processor to address the corresponding memory address locations associated with logic data 208 or enabling data 210 to be scheduled. Those skilled in the art will recognize and appreciate other ways to plan memory 206, which may include, but is not limited to, configuration tools (eg, by a communication to a serial or JTAG interface of memory), or by Other 10 configuration tools or run scans. Figure 6 illustrates an example of a data capture system 250 that can be used to store data from a data bus (e.g., an observation or debug bus) 252. The data on bus 252 can be logically split to assist in storing different portions of the data. In the case of an 80-bit debug bus 252, the bus 15 may include bits [39: 0], while other portions of the bus may include bits [79: 40]. Each of the busbar sections can include any number of bits, and the vine row can be divided into any component parts that can include the same or different number of bits. The data capture system 250 provides the corresponding output from the busbar 252. A resource (e.g., a single or multi-bit data stream) 254, which may be provided to one of the associated memory 256 addressable memory ranges. Memory 256 can be implemented as a system addressable memory, such as a scratchpad memory, or other type of system memory in a computer system in which data capture system 250 is implemented. The data in memory 256 can also be read from and stored in a non-volatile storage device (not shown), such as, for example, FLASH memory, EEPROM or a hard disk drive. At least a portion of the data capture system 250 provides output data 254 based on a TRIG_DELAY signal (which determines how the data is correlated with a trigger event) and the STOR_QUAL signal. 5 Data capture system 250 includes control logic 258 that operates to control associated capture memory 260 to capture or read data from bus 252. Control logic 258 may include, for example, the configuration of the gates and other circuitry associated with capturing the tribute from busbar 252. In the manner of Joe, the control logic 258 can include a counter 262 that operates to control which data is read from the bus 252 and which data is written to the capture memory 260. Counter 262 can be implemented, for example, as a multi-bit counter (e.g., an 11-bit counter) that maintains a count value that controls what data is to be captured from data bus 252. Different portions of multi-bit counter 252 can be used to control different aspects of system 250. For example, a set of bits (e.g., least significant bits) from counter 260 may define the selected data on bus bar 252 to be captured by a memory module (e.g., buffer) 270 in capture memory 260. The address. Control logic 25 8 provides an address (ADDR) signal to capture memory 260 that defines the address of the corresponding data to be captured from a portion of bus 252 associated with memory module 270. 20 other sets of bits from counter 262 may be provided to a demultiplexer (DE-MUX) 268 which provides a set of output signals based on a set of counter bits from control logic 258. The multiplexer 268 operates to drive a corresponding portion of the capture memory 260 to store selected data from the data bus 252 in the associated memory module 270. For example, the demultiplexer 27 1295772 268 provides a consistent energy signal to one or more memory modules 270 based on control inputs from the control logic 258 that correspond to one or more bits from the counter 262 (eg, A portion of the largest significant bit) to selectively enable the memory module. When counter 262 is incremented, demultiplexer 268 will enable each memory module 270 in a sequence of five. The enabled memory module 270 is enabled to read data from the bus 252 and is used to store the data in the memory module based on the address (ADDR) input. As noted above, counter 260 can provide an ADDR input, such as corresponding to a set of minimum significance bits, which is sufficient to encode the amount of data that is propagated on bus 252. The hexon board set 270 provides a corresponding multi-bit input to output multiplexer (MUX) 272. The multiplexer 272 can also be controlled by a control signal from the control logic, such as corresponding to some counter data, which corresponds to one or more bits from the counter 262 (eg, one of the most significant bits) . Control logic 258 can provide the same or different control signals to multiplexers 272, 15 and demultiplexer 268. Multiplexer 272 provides an output data signal 254 based on which memory modules 270 are enabled during a given clock cycle. The output data signal 254 can thus be written to the system addressable memory 256 and accessed via an associated processor for further analysis or for other functions within the computer system (eg, error control) ). A bead control block 264 can be programmed via a DEPTH signal (e.g., stored in an associated system addressable memory) to control the capture depth. The capture depth can, for example, set which portion of the bus bar 260 will store the data for each storage event. For example, in a meta-stream, the capture depth can be set to 8 bits (and it is possible to set which 28 1295772) to capture for each eligible storage event. By planning the dEPTH signal to a value, the data capture system 250 can be selectively configured to operate in a first mode that stores less data, but at a deeper extent on a bus, by The way to capture from a larger portion of the bus (eg, the entire bus 5) 252. In a second mode, data capture system 250 can store more data samples in memory 256, but for a smaller portion of bus 252 (e.g., half). The amount of data normally stored will vary depending on the size of the memory 256 with respect to the depth of capture. Those skilled in the art will appreciate and appreciate that other depths of capture may be implemented by depth control block 264. The control logic 258 can also include a delay block 260 that controls when data is to be captured in relation to a trigger delay (TRIG-DELAY) signal. For example, control logic 258 receives a TRIGJDELAY signal from an associated delay system (eg, 'delay system 222 of FIG. 6'). The TRIGJ3ELAY signal can be a unit value that identifies a predetermined number of storage events (eg, 15 ST〇R). -QUAL signal based) When the trigger signal associated with an assertion has occurred. The TRIGJDELAY signal can be a multi-bit signal. The associated delay system provides a TRIG-DELAY signal to control the data to be stored in relation to a trigger event. Width, such as described above in connection with Figure 6. For example, a planable associated delay system can be implemented to implement a storage window from a bus 252 after a trigger event or overlap with a trigger event prior to a trigger event. As a result of the above, a triggering event may occur in response to entering a final trigger state machine, such as in response to one or more conditions of uploading seven data in the bus 252. Thus, the data capture system 250 Operation to capture and store data from the data bus 252 in response to the 29 1295772 STOR-QUAL signal, as long as TRIG- The DELAY signal is not asserted. For example, when the TRIG-DEL AY signal is asserted, the control logic 25 can control the system 250 to shut down and stop storing data from the bus 252, effectively stopping a capture period. Figure 7 illustrates a block diagram An example of a computer system is illustrated, 5 which may be implemented by one or more logic analyzers, such as those shown and described herein (e.g., Figures 1-6). The computer system 300 of Figure 7 is illustrated as a distribution. A memory multiprocessor system, although a single processor system may also utilize a logic analyzer. System 300 includes a plurality of cells 302 respectively indicated on CELL 1, CELL 2 to CELL, where Μ is greater than or equal to one. An integer number of the number of labeled cells. A parent cell 302, which can be implemented as a cell, is communicatively coupled to other cells via an interconnect 304 such as a backplane or latch structure. 304 can be implemented as an application specific integrated circuit (asic). In the example of Fig. 7, logic analyzer 306 is implemented in interconnect 3〇4; that is, a logic analyzer is in a first interconnect and two The logic analyzer is in the other 15 interconnects. Familiar Those skilled in the art will appreciate and appreciate that any number one or more of the logic analyzers can be implemented within interconnect 304 and in other circuits, including on integrated circuits in cell 302 or I/O subsystem 308. By way of example, each logic analyzer 306 is surfaced to a bus structure (eg, a bus pool) that can come from component 20 and other busbars associated with one or more cells 3〇2. The data of the structure is driven. Additionally, as will be apparent herein, each logic analyzer 306 can include addressable memory within system 300 that can be read by components on any associated cell 302 or Write. By way of further example, an I/O (input/output) subsystem 3〇8 is associated with each cell 302. The I/O subsystem 308 can provide an interface or way #30 1295772 to access an associated bus structure (e.g., a PCI bus structure) or other device coupled to the corresponding bus structure, such as through a corresponding switch. Connector (not shown). Those skilled in the art will appreciate and appreciate that a variety of different types of I/C) devices 308' can be accessed or accessed through the I/O subsystem 308. In addition, the 'interconnect 304 including a logic analyzer 306 can be coupled to other interconnects' which includes two logic analyzers to access other cell-based φ architectures, which include one or more other cells (not display). Other cell basis configurations can be similarly configured as shown and described in FIG. However, those skilled in the art will understand and appreciate that the system 300 can be implemented with any number of cells, any number or plurality of implemented logic analyzers. For the sake of simplicity, only the internal content is displayed for CELL 1, although the skilled person knows and appreciates that each of his cell 302 can be seen in a six-person manner. Alternatively, different configurations may be implemented in relation to different cells 302. Φ to CELL 1, the CELL 1 includes a cell controller 310 coupled to a cell memory subsystem 312 to a related buffer channel 3 / buffer network 314 may comprise a column of rows (eg An input queue and an output queue are provided to provide a smart buffer of requirements and responses between the memory subsystem 3 i 2 and the controller 3. One or more central processing units (c) connected to the system 310 to access the memory subsystem 312. Each ye may include an associated cache H (not shown) for storing data for cpu local storage. Access to the 5 Replica Subsystem 312 is not required. In the configuration shown in Figure 7, the CPU 316 and the 1/〇 Subsystem 3〇6 can each be considered to operate through the control 31 1295772 system. The device 310 accesses the memory access device of the data in the memory subsystem 312. The controller 310 can include a firmware, a configuration and status register (CSR), and a memory for accessing the memory subsystem. The access queue of data in 312. Memory subsystem 312 can include any number of one or more memory modules including one or more DIMM or SIMM memory devices.

10 1510 15

20 當資料由CPU 316和/或I/O子系統306存取時,控制器 或其他結構可驅動所選擇之部份或全部之這些資料至與一 或多個邏輯分析器306相關之觀察匯流排。邏輯分析器3〇6 繼而可監視在相關觀察匯流排上之資料之性能,以與資料 相關之性能狀況為基礎來分析資料,且以匯流排之品檢為 基礎來捕捉資料。邏輯分析器進一步可實現—狀態機器, 其包括一或多個狀況,其控制狀態轉換一已予資料捕捉期 間如何進行,如在此所描述的。 將進一步體會到,可由執行於一或多個CPU3i6中之電 腦可執行之指令來可程地初始化及控制—或多個邏輯分析 器306之-資料捕捉期間。或者或另外地,—捕捉期間可由 -工具或-診斷卫具來初始化和控制。卫具或診斷工呈例 如可内部地執行於-CPU 316中,或者外部地做柳子系 統細之—之—部份。熟悉技藝之人士將了解和體會到邏輯 分析益之許多不同的實現,其可使用於電腦系統剔中,以 其他型式之複雜電氣和電腦系統中(例如路由器和其他通 訊設備),以在此所包含之指導為基礎。 考慮到前述結構和功能性特徵,特定方法將參考第5 和6圖來難蘭會。應了解和體會_說明之動作’在其 32 1295772 他貝施例中可以不同的順序和/或與其他動作同時地發生 。再者’亚非要求所有說明的特徵來實現一方法 。進一步 應了解到下列方法可實於一硬體(例如邏輯閘,諸如包括電 晶體,一數位訊號處理器,或應用特定積體電路)中,軟體 5 (例如執行於一或多個處理器上之可執行之指令)中 ,或任何 硬體和軟體之組合中。 第8圖說明一方法300之範例。方法300包括產生至少一 才曰示與在一匯流排上之對應資料相關之至少一性能狀況之 aiU虎’如31〇上所示的。以至少一訊號為基礎來調整對應之 1〇貝料之性能之一指示。在320上,一觸發訊號被提供如至少 一訊號之一函數。在330上,來自匯流排之資料係以觸發訊 號為基礎來加以捕捉的。 已於上面描述者為本發明之範例。當然,不可能為了 私述本發明之目的描述每個元件或方法之可想到的組合是 15不可能的,但熟悉技藝之人士將體會到本發明之許多進一 步之組合和變更是可能的。例如,一或多個邏輯分析系統 之任何數目可實現於一已予ASIC中,且這樣的ASIC之任何 數目可被整合至一電腦系統中。因此,本發明預定包含所 有落在所附申請專利範圍之精神與範圍内之這樣的改變, 20修改和變化。 【圖式簡單說明】 第1圖說明一用以分析資料之系統之實施例。 第2圖說明一監視系統之一實施例。 第3圖說明一分析系統之一實施例。 33 1295772 第4圖說明一邏輯分析器之一實施例。 第5圖說明一品檢系統之一實施例。 第6圖說明一資料捕捉系統之一實施例。 第7圖說明一可實現一或多個邏輯分析器之實施例之 電腦系統之一範例。 第8圖係說明一種分析獲取物之方法實施例之流程圖。 【主要元件符號說明】20 When the data is accessed by CPU 316 and/or I/O subsystem 306, the controller or other structure can drive some or all of the selected data to the observation sink associated with one or more logic analyzers 306. row. The logic analyzer 3〇6, in turn, monitors the performance of the data on the associated observation bus, analyzes the data based on the performance-related performance, and captures the data based on the quality of the bus. The logic analyzer is further achievable - a state machine that includes one or more conditions that control how state transitions have been performed during data capture, as described herein. It will be further appreciated that the data can be initialized and controlled by the instructions executable by the computer executing in one or more CPUs 3i6 - or during the data capture period of the plurality of logic analyzers 306. Alternatively or additionally, the capture period can be initiated and controlled by a tool or a diagnostic aid. A guard or a diagnostician can be internally executed in the -CPU 316, or externally made into a thin section of the system. Those skilled in the art will understand and appreciate the many different implementations of logical analysis that can be used in computer systems to tuck in other types of complex electrical and computer systems (such as routers and other communication devices). Based on the guidance included. In view of the foregoing structural and functional characteristics, the specific method will be referred to in Figures 5 and 6. It should be understood that the action described in the 'description' may occur in a different order and/or concurrent with other actions in its 32 1295772. Furthermore, 'Asian Africa requires all the features described to implement a method. It should be further understood that the following method can be implemented in a hardware (such as a logic gate, such as a transistor, a digital signal processor, or an application-specific integrated circuit), and software 5 (for example, executing on one or more processors) In the executable instructions), or in any combination of hardware and software. Figure 8 illustrates an example of a method 300. The method 300 includes generating at least one of aiU tigers as indicated on 31 相关 associated with at least one performance condition associated with a corresponding material on a bus. An indication of the performance of the corresponding 1 mussel material is adjusted based on at least one signal. At 320, a trigger signal is provided as a function of at least one of the signals. At 330, the data from the bus is captured based on the trigger signal. What has been described above is an example of the invention. It is to be understood that it is not possible to describe a conceivable combination of elements or methods for the purpose of the present invention. It is to be understood that a person skilled in the art will appreciate that many further combinations and modifications of the invention are possible. For example, any number of one or more logic analysis systems can be implemented in an existing ASIC, and any number of such ASICs can be integrated into a computer system. Accordingly, the present invention is intended to embrace such modifications, modifications, and variations thereof. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 illustrates an embodiment of a system for analyzing data. Figure 2 illustrates an embodiment of a monitoring system. Figure 3 illustrates an embodiment of an analysis system. 33 1295772 Figure 4 illustrates an embodiment of a logic analyzer. Figure 5 illustrates an embodiment of a quality inspection system. Figure 6 illustrates an embodiment of a data capture system. Figure 7 illustrates an example of a computer system that can implement one or more embodiments of a logic analyzer. Figure 8 is a flow chart illustrating an embodiment of a method of analyzing an acquisition. [Main component symbol description]

10…系統 107…狀態機器 12…匯流排 108…狀況元件 14···監視系統 110···比較區塊 16…訊號 112…選擇器 18…分析系統 114…狀態暫存器 20…輸出訊號 116…發生系統 50…監視系統 117···致能訊號 52…匯流排 118…計數器 54…計數器 120…觸發產生器 56…輸出匯流排 122…延遲系統 58…系緝可定址記憶體 124…計數器 62…計數器 150…邏輯分析器 64…狀況訊號 152…匯流排 70…處理器 154···監視器 100···分析系統 156…記憶體 102···記憶體 158…邏輯區塊 104…遮罩資料 160…品檢邏輯 106···狀態資料 162…分析系統 34 1295772 164…資料捕捉系統 264·· 200···品檢系統 266·. 202···子電路 268" 204…累積器 270" 206···記憶體 300·· 208…邏輯 302·. 210···致能 304· 250···資料捕捉系統 306· 252…匯流排 308· 254…資料 310· 256···記憶體 312· 258…控制邏輯 314· 260···捕捉記憶體 316· 262…計數器 •深度 •延遲 •解多工器 •記憶體模組 •電腦系統 ••胞元 "互連10...system 107...state machine 12...busbar 108...status component 14···monitoring system 110···comparison block 16...signal 112...selector 18...analysis system 114...state register 20...output signal 116 ...generation system 50...monitoring system 117···enable signal 52...bus bar 118...counter 54...counter 120...trigger generator 56...output bus bar 122...delay system 58...system addressable memory 124...counter 62 ...counter 150...logic analyzer 64...status signal 152...busbar 70...processor 154···monitor 100···analysis system 156...memory 102···memory 158...logic block 104...mask Data 160...Quality check logic 106··Status data 162...Analysis system 34 1295772 164...Data capture system 264··200···Quality inspection system 266·. 202···Sub-circuit 268" 204...Accumulator 270" 206···Memory 300·· 208...Logic 302·. 210···Enable 304·250···Data Capture System 306·252... Bus 308·254... Data 310·256···Memory 312 · 258... System logic 314 · 260 316 · · · · capture memory depth 262 ... counter • • • demultiplexer delay memory module • •• • computer system cells membered " interconnection

••邏輯分析器 ••I/O子系統 ••控制器 ••記憶體 ••緩衝器 •CPU••Logic Analyzer ••I/O Subsystem ••Controller ••Memory ••Buffer •CPU

3535

Claims (1)

十、申請專利範圍: 第94143869號申請案申請專利範圍修正本 96.10 15 1· 一種用以監測及分析資料之系統,其包含: 一監視系統,其監視被提供於一匯流排上之資料, 並提供至少一訊號做為被提供在匯流排上之資料之至 少一些之函數,對以該至少一訊號為基礎來調整之該至 少一些之資料之性能之測量;以及 一分析系統,其操作來執行在匯流排上之資料之邏 輯分析,來做為至少一訊號之一函數。 2·如申請專利範圍第1項之系統,其中分析系統提供至少 一觸發訊號,其如該至少一訊號之函數般變化,以控制 被提供於該匯流排上之資料之捕捉。 3·如申請專利範圍第2項之系統,其中監視系統提供該至 少一 虎做為多個訊號來做為被提供在該匯流排上之 對應資料之函數,該分析系統執行與該等多個訊號相關 之邏輯分析,以提供該觸發訊號。 4·如申請專利範圍第3項之系統,其進一步包含_資料捕 捉系統,其操作來以該觸發訊號為基礎來儲存來自於該 匯流排之資料。 5·如申請專利範圍第4項之系統,其中該分析系統進—步 包含一觸發延遲系統,其以該觸發訊號和一品檢訊號為 基礎來提供一觸發延遲訊號,根據該觸發延遲訊號來定 義一捕捉期間。 6.如申請專利範圍第5項之系統,其進一步包含—品檢系 、、先其提供该品檢訊號做為與該等多個訊號之至少之一 相關之至少之一品檢狀況之函數,該資料捕捉系統啟動 來mi發δίΐ號’該品檢訊號及該觸發延遲訊號之至少 之一為基礎來儲存來自於該匯流排之資料。 7·如申請專職圍第丨項之系統,其中該監視系統進一步 包含多個性能監視子系統,該等多個性能監視子系統各 现視與在该匯流排上提供之資料中的至少部份資料相 關聯之性肖m並提供—個㈣狀況_做為在該匯 流排上之《料之函數,該分析純執行邏輯分析做為 個別狀況訊號之―函數,其巾多健能監視子系統之每 -個進-步包含-相關之計數器,其具有—計數器值, 其以該個職職料基礎來㈣,該科數器值之每 一個提供由該等多個性能監視子系統之個別之一監視 之性能之測量。 8·如申請專利範圍第1項之系統,其中該分析系統進-步 匕a夕個狀;兄το件’其實現—觸發狀態機器,該觸發狀 。機器m之—訊號為基礎來從一目前狀態轉換 至多個可用狀態之下一個。 9. 如申請專利範圍第8項之系統,其中該等狀況元件之至 少之-根據該狀態機器之該目前狀態來實現與該至少 一訊號相關之匹配。 10. 如申請專利第8項之系統,其進_步包含一發生系 統,其操絲狀多個發生,其巾在轉換至對多個狀況 疋件之已予之-之多個狀態之下一個之前必須符合多 1295772 個狀況元件之一已予之一,其中該發生系統進一步包含 一計數器,其提供已符合與狀態機器之一狀況分支相關 之狀況之多個發生之一指示,當指示發生數目之值達到 一預先定義之值時,該狀態機器致能從目前狀態至對該 5 狀況分支之多個狀態之下一個之轉換。X. Patent application scope: Application No. 94143869 Application for revision of patent scope 96.10 15 1 · A system for monitoring and analyzing data, comprising: a monitoring system for monitoring data provided on a bus, and Providing at least one signal as a function of at least some of the information provided on the bus, a measure of performance of the at least some of the data adjusted based on the at least one signal; and an analysis system operative to perform The logical analysis of the data on the bus is used as a function of at least one signal. 2. The system of claim 1, wherein the analysis system provides at least one trigger signal that varies as a function of the at least one signal to control capture of data provided on the bus. 3. The system of claim 2, wherein the monitoring system provides the at least one tiger as a plurality of signals as a function of corresponding data provided on the bus, the analysis system executing the plurality of Signal related logic analysis to provide the trigger signal. 4. The system of claim 3, further comprising a data capture system operative to store data from the bus based on the trigger signal. 5. The system of claim 4, wherein the analysis system further comprises a trigger delay system, which provides a trigger delay signal based on the trigger signal and a product detection signal, and is defined according to the trigger delay signal A capture period. 6. The system of claim 5, further comprising: a quality inspection system, wherein the product inspection signal is provided as a function of at least one of the quality inspection conditions associated with at least one of the plurality of signals, The data capture system is configured to store data from the bus based on at least one of the product detection signal and the trigger delay signal. 7. The system of claim 2, wherein the monitoring system further comprises a plurality of performance monitoring subsystems, each of the plurality of performance monitoring subsystems presenting at least a portion of the data provided on the busbar The data is related to the relationship and provides a (four) status _ as a function of the material on the bus, the analysis purely performs logic analysis as a function of individual status signals, and its towel health monitoring subsystem Each of the further steps includes a counter associated with a counter value based on the basis of the job (4), each of the values of the plurality of performance monitoring subsystems being provided by each of the plurality of performance monitoring subsystems A measure of the performance of monitoring. 8. The system of claim 1, wherein the analysis system advances into a state; the brother το's implementation-trigger state machine, the trigger. The machine m is based on a signal to transition from a current state to one of a plurality of available states. 9. The system of claim 8, wherein the at least one of the status elements achieves a match associated with the at least one signal based on the current state of the state machine. 10. The system of claim 8, wherein the step comprises a generation system in which a plurality of filaments occur, and the towel is converted to a plurality of states in which the plurality of conditional conditions have been given. One of the previous ones must meet one of the more 1,295,772 status elements, wherein the occurrence system further includes a counter that provides one of a plurality of occurrences that have met a condition associated with one of the status machines of the state machine, when the indication occurs When the value of the number reaches a predefined value, the state machine enables a transition from the current state to one of the plurality of states of the five status branches. 3838
TW094143869A 2005-01-11 2005-12-12 System for monitoring and analyzing data TWI295772B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/032,743 US7752016B2 (en) 2005-01-11 2005-01-11 System and method for data analysis

Publications (2)

Publication Number Publication Date
TW200632643A TW200632643A (en) 2006-09-16
TWI295772B true TWI295772B (en) 2008-04-11

Family

ID=36654339

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094143869A TWI295772B (en) 2005-01-11 2005-12-12 System for monitoring and analyzing data

Country Status (2)

Country Link
US (1) US7752016B2 (en)
TW (1) TWI295772B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155172B (en) * 2006-09-27 2013-01-23 国际商业机器公司 Device and method for checking and recording performance event in data processing system
US8407528B2 (en) * 2009-06-30 2013-03-26 Texas Instruments Incorporated Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems
EP2434404B1 (en) * 2010-09-27 2017-08-23 Intel Deutschland GmbH Method and arrangement for streaming data profiling
US8635497B2 (en) 2011-06-28 2014-01-21 Freescale Semiconductor, Inc. Data processing system having a sequence processing unit and method of operation
WO2014070129A2 (en) * 2012-06-04 2014-05-08 Hewlett-Packard Development Company, L.P. Managing an analytic function to be performed on data stored in an input block
US9483373B2 (en) * 2014-02-14 2016-11-01 Freescale Semiconductor, Inc. Debug configuration tool with layered graphical user interface
US10397309B2 (en) * 2015-05-13 2019-08-27 Salesforce.Com, Inc. Systems and methods of implementing tracking of resource usage for a cloud-based system
US10627444B1 (en) * 2017-11-08 2020-04-21 Xilinx, Inc. Modular and stackable integrated logic analyzer
US11163662B2 (en) * 2020-02-12 2021-11-02 Rohde & Schwarz Gmbh & Co. Kg System and method for analyzing bus data
US11188697B1 (en) 2021-01-05 2021-11-30 Xilinx, Inc. On-chip memory access pattern detection for power and resource reduction

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791356A (en) * 1986-09-19 1988-12-13 Zehntel Incorporation In-circuit testing system
US5457694A (en) * 1993-06-25 1995-10-10 Smith; Dale J. Method and apparatus for analyzing the ATA (IDE) interface
JPH0887462A (en) * 1994-09-20 1996-04-02 Fujitsu Ltd State machine and communication control system
KR0149891B1 (en) * 1994-12-22 1999-05-15 윤종용 Bus status analyzer
US5650734A (en) * 1995-12-11 1997-07-22 Altera Corporation Programming programmable transistor devices using state machines
US5828872A (en) * 1996-07-01 1998-10-27 Sun Microsystems, Inc. Implementation of high speed synchronous state machines with short setup and hold time signals
US5881224A (en) * 1996-09-10 1999-03-09 Hewlett-Packard Company Apparatus and method for tracking events in a microprocessor that can retire more than one instruction during a clock cycle
US6003107A (en) * 1996-09-10 1999-12-14 Hewlett-Packard Company Circuitry for providing external access to signals that are internal to an integrated circuit chip package
US6120550A (en) * 1996-10-28 2000-09-19 Altera Corporation Design file templates for implementation of logic designs
US5956476A (en) * 1996-10-31 1999-09-21 Hewlett Packard Company Circuitry and method for detecting signal patterns on a bus using dynamically changing expected patterns
US5880671A (en) * 1996-10-31 1999-03-09 Hewlett-Packard Company Flexible circuitry and method for detecting signal patterns on a bus
US5956477A (en) * 1996-11-25 1999-09-21 Hewlett-Packard Company Method for processing information in a microprocessor to facilitate debug and performance monitoring
US6009539A (en) * 1996-11-27 1999-12-28 Hewlett-Packard Company Cross-triggering CPUs for enhanced test operations in a multi-CPU computer system
US6041371A (en) * 1996-12-19 2000-03-21 Texas Instruments Incorporated Asynchronous input/output for integrated circuits that latches external asynchronous signal in feedback path of state machine
US5825199A (en) * 1997-01-30 1998-10-20 Vlsi Technology, Inc. Reprogrammable state machine and method therefor
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
US5930482A (en) * 1997-07-31 1999-07-27 Advanced Micro Devices, Inc. Transaction checking system for verifying bus bridges in multi-master bus systems
US5949251A (en) * 1997-08-01 1999-09-07 Vlsi Technology, Inc. Register-based programmable post-silicon system to patch and dynamically modify the behavior of synchronous state machines
US6618775B1 (en) * 1997-08-15 2003-09-09 Micron Technology, Inc. DSP bus monitoring apparatus and method
JP2000251035A (en) * 1999-02-26 2000-09-14 Hitachi Ltd Memory card
US6397354B1 (en) * 1999-03-26 2002-05-28 Hewlett-Packard Company Method and apparatus for providing external access to signals that are internal to an integrated circuit chip package
EP1050807A1 (en) * 1999-05-03 2000-11-08 Sgs Thomson Microelectronics Sa Memory access in a computer memory
US6625783B2 (en) * 2000-02-16 2003-09-23 Logic Research Co., Ltd. State machine, semiconductor device using state machine, and method of design thereof
US6587973B1 (en) * 2000-02-22 2003-07-01 Oak Technology, Inc. Method and apparatus for implementing fault tolerant logic in a storage system
US6859897B2 (en) * 2000-03-02 2005-02-22 Texas Instruments Incorporated Range based detection of memory access
US6732311B1 (en) * 2000-05-04 2004-05-04 Agere Systems Inc. On-chip debugger
US7007205B1 (en) * 2001-02-15 2006-02-28 Silicon Graphics, Inc. Method and apparatus for recording trace data in a microprocessor based integrated circuit
US6760864B2 (en) * 2001-02-21 2004-07-06 Freescale Semiconductor, Inc. Data processing system with on-chip FIFO for storing debug information and method therefor
US6944731B2 (en) * 2001-12-19 2005-09-13 Agere Systems Inc. Dynamic random access memory system with bank conflict avoidance feature
US7051239B2 (en) * 2001-12-28 2006-05-23 Hewlett-Packard Development Company, L.P. Method and apparatus for efficiently implementing trace and/or logic analysis mechanisms on a processor chip
US7159083B2 (en) * 2002-12-13 2007-01-02 Texas Instruments Incorporated Programmable transition state machine
US6822474B2 (en) * 2002-12-31 2004-11-23 Intel Corporation On chip logic analyzer debug bus
JP2004234720A (en) * 2003-01-29 2004-08-19 Toshiba Corp Semiconductor device, and state transition checking method therefor
US7146538B2 (en) * 2003-03-28 2006-12-05 Hewlett-Packard Development Company, L.P. Bus interface module
US20040193976A1 (en) * 2003-03-31 2004-09-30 Slaight Thomas M. Method and apparatus for interconnect built-in self test based system management failure monitoring
TWI227398B (en) * 2003-04-15 2005-02-01 Asustek Comp Inc Automatic adjusting device of computer system performance
US6873183B1 (en) * 2003-05-12 2005-03-29 Xilinx, Inc. Method and circuit for glitchless clock control
US20050166006A1 (en) * 2003-05-13 2005-07-28 Advanced Micro Devices, Inc. System including a host connected serially in a chain to one or more memory modules that include a cache
GB2403821B (en) * 2003-07-07 2005-09-07 Infineon Technologies Ag Finite state machine circuit
US7328433B2 (en) * 2003-10-02 2008-02-05 Intel Corporation Methods and apparatus for reducing memory latency in a software application
US7249288B2 (en) * 2004-09-14 2007-07-24 Freescale Semiconductor, Inc. Method and apparatus for non-intrusive tracing
US7348799B2 (en) * 2005-01-11 2008-03-25 Hewlett-Packard Development Company, L.P. System and method for generating a trigger signal
US7228472B2 (en) * 2005-01-11 2007-06-05 Hewlett-Packard Development Company, L.P. System and method to control data capture
US7237149B2 (en) * 2005-02-25 2007-06-26 Freescale Semiconductor, Inc. Method and apparatus for qualifying debug operation using source information

Also Published As

Publication number Publication date
US7752016B2 (en) 2010-07-06
TW200632643A (en) 2006-09-16
US20060155516A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
TWI295772B (en) System for monitoring and analyzing data
US7348799B2 (en) System and method for generating a trigger signal
US7228472B2 (en) System and method to control data capture
US7809991B2 (en) System and method to qualify data capture
US7870438B2 (en) Method, system and computer program product for sampling computer system performance data
Breeuwsma Forensic imaging of embedded systems using JTAG (boundary-scan)
WO2012075260A1 (en) Debug state machine and processor including the same
US20120096314A1 (en) Dynamic detection and identification of the functional state of multi-processor cores
US8677196B1 (en) Low cost production testing for memory
US9092560B2 (en) Trace based measurement architecture
US6092219A (en) Method for use of bus parking states to communicate diagnostic information
US8769357B1 (en) System and method for evaluation of a field programmable gate array (FPGA)
US6757846B1 (en) Method and apparatus for multi-bus breakpoint stepping
US7617428B2 (en) Circuits and associated methods for improved debug and test of an application integrated circuit
US20160217021A1 (en) Hardware signal logging in embedded block random access memory
US20030126502A1 (en) Efficient word recognizer for a logic analyzer
US8917566B2 (en) Bypass structure for a memory device and method to reduce unknown test values
JP2004334871A (en) System and method of analyzing hdl event for observability
US10503624B1 (en) Time-based on-chip hardware performance monitor
Liu et al. Assertion coverage aware trace signal selection in post-silicon validation
US7389455B2 (en) Register file initialization to prevent unknown outputs during test
Tang et al. A debug probe for concurrently debugging multiple embedded cores and inter-core transactions in NoC-based systems
US7774652B2 (en) Circuitry and method to detect conditions of data
US7624319B2 (en) Performance monitoring system
US11442106B2 (en) Method and apparatus for debugging integrated circuit systems using scan chain

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees