CN106055467B - 包括逻辑分析器电路的装置和逻辑分析方法 - Google Patents

包括逻辑分析器电路的装置和逻辑分析方法 Download PDF

Info

Publication number
CN106055467B
CN106055467B CN201610218241.2A CN201610218241A CN106055467B CN 106055467 B CN106055467 B CN 106055467B CN 201610218241 A CN201610218241 A CN 201610218241A CN 106055467 B CN106055467 B CN 106055467B
Authority
CN
China
Prior art keywords
trigger condition
data processing
transaction
match
transaction identifier
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201610218241.2A
Other languages
English (en)
Other versions
CN106055467A (zh
Inventor
马克·杰拉尔德·拉文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
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 ARM Ltd filed Critical ARM Ltd
Publication of CN106055467A publication Critical patent/CN106055467A/zh
Application granted granted Critical
Publication of CN106055467B publication Critical patent/CN106055467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • 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
    • 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/3471Address tracing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)

Abstract

本公开涉及逻辑分析。包括逻辑分析器电路的装置包括:两个或多个连续触发条件检测器的连续集合,每个触发条件检测器被配置为检测相应触发条件以及与都具有相应事务标识符的数据处理事务相关的处理活动之间的匹配;触发条件检测器被配置检测匹配,使下一触发条件检测器能发起对其相应触发条件匹配的检测;以及事务标识符检测器,其与第一触发条件检测器相关联,被配置为检测与由第一触发条件检测器针对其检测到匹配的数据处理事务相关事务标识符,并将所检测到的事务标识符提供至后续触发条件检测器;后续触发条件检测器被配置为将所检测的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有该事务标识符的数据处理事务的匹配。

Description

包括逻辑分析器电路的装置和逻辑分析方法
技术领域
本公开涉及逻辑分析。
背景技术
存在许多期望保持对由数据处理装置执行的处理活动追踪的场合。
已知的是提供在多个触发状态之间切换的逻辑分析器,其中每个触发状态对应于这种状态:其中受测硬件电路中的一个或多个硬件信号与预定值相匹配,以确定硬件电路的预定条件/状态。这样的逻辑分析器在调试硬件功能的情境中是有用的。
逻辑分析器可以适用于,例如,分析与连接到互连电路的数据处理节点之间的事务(transaction)相关的数据处理活动。在这种环境中,诸如存储器访问之类的单个事务在开始和结束之间可能需要一段时间。当在进程中时事务可以由事务标识符来标识。
发明内容
在示例排布中,提供了一种包括逻辑分析器电路的装置,所述逻辑分析器电路包括:两个或更多个连续的触发条件检测器的连续集合(succession),每个触发条件检测器被配置为检测相应触发条件、以及与数据处理事务(每个都具有相应事务标识符)相关的数据处理活动之间的匹配;触发条件检测器的连续集合被配置为使得由触发条件检测器检测与其相应触发条件的匹配,使得连续集合中的下一触发条件检测器能够发起对与该下一触发条件检测器的相应触发条件的匹配的检测;以及事务标识符检测器,事务标识符检测器与连续集合中的第一触发条件检测器相关联,被配置为检测与由第一触发条件检测器针对其检测到匹配的数据处理事务相关的事务标识符,并且将所检测到的事务标识符提供至触发条件检测器的连续集合中的后续触发条件检测器;其中后续触发条件检测器被配置为将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有该事务标识符的数据处理事务的匹配。
在另一示例排布中,提供了一种数据处理设备,包括:如上述所定义的装置;多个数据处理节点;以及连接到多个数据处理节点的互连电路;其中所述装置包括逻辑分析器电路,所述逻辑分析器电路被配置为检测与触发条件相对于与数据处理节点之间经由所述互连电路的数据处理交易相关的数据处理活动的匹配。
在另一示例排布中,提供了一种包括逻辑分析器电路的装置,所述逻辑分析器电路包括:两个或更多个连续的触发条件检测装置的连续集合,用于检测相应触发条件、以及与数据处理事务(每个都具有相应事务标识符)相关的数据处理活动之间的匹配;触发条件检测装置的连续集合可操作为使得由触发条件检测装置检测与其相应触发条件的匹配,使得连续集合中的下一触发条件检测装置能够发起对与该下一触发条件检测装置的相应触发条件的匹配的检测;以及事务标识符检测装置,事务标识符检测器与连续集合中的第一触发条件检测装置相关联,被配置为检测与由第一触发条件检测装置针对其检测到匹配的数据处理事务相关的事务标识符,并且将所检测到的事务标识符提供至触发条件检测装置的连续集合中的后续触发条件检测装置;其中后续触发条件检测装置被配置为将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有该事务标识符的数据处理事务的匹配。
在另一示例排布中,提供了一种逻辑分析方法,所述方法包括:检测触发条件、以及与数据处理事务(每个都具有相应事务标识符)相关的数据处理活动之间的匹配;检测与针对其检测到匹配的数据处理事务相关的事务标识符;将所检测到的事务标识符提供至触发条件检测的连续集合中的后续触发条件检测阶段;其中后续触发条件检测阶段将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测关于仅具有该事务标识符的数据处理事务的匹配;并且响应于对匹配的检测,使得触发条件检测的连续集合中的下一阶段能够检测与下一触发条件的匹配。
在另一示例排布中,提供了一种诊断装置,包括:输入,被配置为从如上定义的装置(其包括逻辑分析器电路以及追踪数据生成器,追踪数据生成器被配置为生成指示至少一个触发条件检测器已针对其检测到匹配的数据处理事务的追踪数据)接收追踪数据流;以及数据处理单元,被配置为处理所述追踪数据。
在另一示例排布中,提供了一种诊断方法,包括:接收如上定义的方法生成的追踪数据流,包括生成指示至少一个触发条件检测器已针对其检测到匹配的数据处理事务的追踪数据的步骤;并且处理所述追踪数据。
在另一示例排布中,提供了承载计算机软件的一种非暂态计算机可读介质,当由计算机执行时所述计算机软件使该计算机执行如上文定义的诊断方法。
本技术的进一步方面和特征由所附权利要求来限定。
附图说明
本技术将仅通过示例性的方式、参考在附图中示出的其实施例被进一步描述,其中:
图1示意性示出了数据处理装置;
图2示意性示出了图1的互连电路的操作的一部分;
图3示意性示出了逻辑分析器的功能;
图4是示出逻辑分析方法的示意性流程图;
图5示意性示出了诊断装置;以及
图6是示出诊断方法的示意性流程图。
具体实施方式
在参照附图讨论实施例之前,提供了对实施例的以下描述。
示例实施例提供了包括逻辑分析器电路的,逻辑分析器电路包括:两个或更多个连续的触发条件检测器的连续集合,每个触发条件检测器被配置为检测相应触发条件、以及与数据处理事务(每个都具有相应事务标识符)相关的数据处理活动之间的匹配;触发条件检测器的连续集合,触发条件检测器被配置为使得由触发条件检测器检测与其相应触发条件的匹配,使得连续集合中的下一触发条件检测器能够发起对与该下一触发条件检测器的相应触发条件的匹配的检测;以及事务标识符检测器,事务标识符检测器与连续集合中的第一触发条件检测器相关联,被配置为检测与由第一触发条件检测器针对其检测到匹配的数据处理事务相关的事务标识符,并且将所检测到的事务标识符提供至触发条件检测器的连续集合中的后续触发条件检测器;其中后续触发条件检测器被配置为将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有该事务标识符的数据处理事务的匹配。
示例实施例在检测与系统(例如,互连电路,其使用事务标识符来标识数据处理事务)中的数据处理事务相关的触发条件的情境中是有用的。事务标识符在第一触发条件检测阶段中被捕获,随后在后续(例如,下一个)触发条件阶段中用作相应触发条件的一部分。例如,在与存储器的读访问有关的示例性数据处理事务中,第一触发条件可以涉及数据读地址。当满足触发条件时,事务标识符被捕获并用作后续(例如,下一个)触发条件(的至少一部分)。以这种方式,后续触发条件检测器可以使用事务标识符来触发对与原始读事务地址相关联的所有读数据的标识和追踪。注意的是,尽管示例是针对读数据请求和作为响应的数据的,但是可能存在作为原始读请求事务标识符的结果而发生的其它事务(探听(snoop)、探听响应、读请求确认、错误等)。写事务还具有用于响应回写数据请求的事务标识符。因此,尽管讨论了读事务的示例,但相应的原则也适用于写数据和其它事务。这些都是数据处理的事务的示例。例如,完成数据的传输所需的读数据、事务响应、和所有其它事务(可以是探听、来自探听响应的数据、误差等)可以使用后续触发条件检测器与所捕获的事务标识符进行匹配。
因此,与特定事务相关的活动可以被标识,而不是仅仅标识与一个触发条件相关的活动,并且随后标识(可能与触发条件相关、可能不相关的)与另一触发条件相关的后续活动。
在示例中,装置包括追踪数据生成器,追踪数据生成器被配置为生成指示至少一个触发条件检测器已针对其检测到匹配的数据处理事务的追踪数据。例如,追踪数据生成器可被配置为生成指示连续集合中的至少一个触发条件检测器已针对其检测到匹配的数据处理事务的追踪数据。以这种方式,追踪数据可以很方便地关于使用其事务标识符来标识的数据处理事务而生成。
在示例中,触发条件中的至少一个触发条件依赖于呈现在地址总线和/或数据总线上的关于数据处理事务的信息。如上文所讨论的,这种技术可以用于,例如对满足触发标准的事务的初始检测。事务标识符随后可用作触发条件的至少一部分来检测与相同数据处理事务相关的后续活动。
尽管所捕获的事务标识符可以被传递给触发条件检测器的连续集合中的任何后续触发条件检测器,在示例实施方案中它被提供用来由连续集合中的下一触发条件检测器使用。
尽管本公开涉及任意其中数据处理事务由相应事务标识符来标识的数据处理活动,但在示例排布中,数据处理事务是由互连电路连接的数据处理节点之间的事务。例如,数据处理节点中的一个可以包括存储器;并且数据处理的事务可以是(或包括)对该存储器的访问。
在涉及互连的示例排布中,分配事务标识符的一种方法是,发起数据处理事务的数据处理节点被配置为向该事务分配特定于节点的事务标识符;并且互连电路被配置为应用特定于节点的事务标识符、以及对经由该互连电路处理的所有待决事务唯一的相应互连事务标识符之间的映射。在这样的示例中,操作逻辑分析过程的一种方便的方法是,用事务标识符检测器来检测互连事务标识符。
另一示例实施例提供一种数据处理装置,包括:如上述所定义的装置;多个数据处理节点;以及连接到多个数据处理节点的互连电路;其中该装置包括逻辑分析器电路,该逻辑分析器电路被配置为检测触发条件相对于与数据处理节点之间经由互连电路的数据处理交易相关的数据处理活动的匹配。
另一示例实施例提供了一种包括逻辑分析器电路的装置,所述逻辑分析器电路包括:两个或更多个连续的触发条件检测装置的连续集合,用于检测相应触发条件、以及与数据处理事务(每个都具有相应事务标识符)相关的数据处理活动之间的匹配;触发条件检测装置的连续集合可操作为使得由触发条件检测装置检测与其相应触发条件的匹配,使得连续集合中的下一触发条件检测装置能够发起对与该下一触发条件检测装置的相应触发条件的匹配的检测;以及事务标识符检测装置,事务标识符检测器与连续集合中的第一触发条件检测装置相关联,被配置为检测与第一触发条件检测装置针对其检测到匹配的数据处理事务相关的事务标识符,并且将所检测到的事务标识符提供至触发条件检测装置的连续集合中的后续触发条件检测装置;其中后续触发条件检测装置被配置为将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有该事务标识符的数据处理事务的匹配。
另一示例实施例提供了一种逻辑分析的方法,所述方法包括:检测触发条件、以及与数据处理事务(每个都具有相应事务标识符)相关的数据处理活动之间的匹配;检测与针对其检测到匹配的数据处理事务相关的事务标识符;将所检测到的事务标识符提供至触发条件检测的连续集合中的后续触发条件检测阶段,后续触发条件检测阶段将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而仅检测关于具有该事务标识符的数据处理事务的匹配;并且响应于对匹配的检测,使得触发条件检测的连续集合中的下一阶段能够检测与下一触发条件的匹配。
在示例中,该方法可以包括生成指示至少一个触发条件检测器已针对其检测到匹配的数据处理事务的追踪数据。
另一示例提供了一种诊断装置,包括:输入,该输入被配置为从如上定义的装置接收追踪数据流;以及被配置为处理所述追踪数据的数据处理单元。
另一示例实施例提供了一种诊断方法,包括:接收如上定义的方法生成的追踪数据流;并且处理所述追踪数据。
另一示例实施例提供了承载计算机软件的一种非暂态计算机可读介质,当由计算机执行时所述计算机软件使该计算机执行如上文定义的诊断方法。
现在参照附图,图1示意性地示出了数据处理设备,包括:多个数据处理节点10、12、14、16、18、20,以及连接到所述多个数据处理节点的互连电路30。互连电路包括多个接口40、42、44、46、48、50以及路由电路60,每个接口与多个数据处理节点中的相应一个相关联,并且路由电路60用于控制和监控各数据处理的节点之间的数据处理事务。
数据处理节点10、12、14、16、18、20可以是各种类型的节点,例如,诸如CPU(中央处理单元)或CPU群之类的处理元件(其可能具有相关联的高速缓冲存储器)、存储器、诸如输入/输出组件之类的外围组件、直接存储器存取(DMA)设备等。一些数据处理节点可以被配置为主控节点,另一些可以被配置为从节点,主/从区分指示哪些节点控制这些节点之间的数据处理事务。
图1的数据处理装置可以被实现为单个集成电路,例如被实现为所谓的片上(SoC)系统。替代地,图1的数据处理装置可以被实现为多个离散和互连的系统。
在示例实施例中,互连电路可以是所谓的高速缓存相干互连电路的示例。这里,术语“相干(coherent)”指的是对跨整个系统存储的相同数据的多份副本之间的正确关系的维持。例如,数据可以存储在作为数据处理节点中的一个(例如节点10)数据处理节点的存储器设备中。其它节点(例如节点12、14)可以是具有其各自缓存器的处理元件,其可以依据处理元件的特性存储数据的一个或多个副本(也被保存在存储器10中)。在由一个节点数据处理访问这样的信息的情况下,有必要确保该接入节点正访问所存储的信息的最新版本,并且,如果接入节点对所存储的信息做出任何改动,则或者其它版本也正确地自我改变、或其它版本都将被删除或失效。数据路由电路60包括各种机制来提供相干操作。
图2示意性地示出了数据路由电路60的操作的一部分,其包括逻辑分析器电路200。
数据路由电路包括:请求仲裁器210,被配置为对由数据处理节点10、12、14、16、18、20做出的数据处理请求的执行进行仲裁、优先级排序以及呈现。要被执行的请求被呈现至事务追踪器220,事务追踪器220监督每个数据处理事务的处理并且管理事务的队列。事务追踪分发事务到一个或多个所谓的纵横交叉结构(crossbar)230,纵横交叉结构230提供数据处理节点之间的数据路径。
逻辑分析器电路200被配置为检测触发条件相对于与数据处理节点之间经由所述互连电路的数据处理交易相关的数据处理活动的匹配。触发条件的示例是在地址总线上存在指示特定地址或地址范围的一组特定比特,或指示特定地址或地址范围的一组特定比特作为要在数据处理事务被访问的地址的一部分存在。逻辑分析器电路是具有两个或更多个连续的触发条件检测器的多级排布,每个触发条件检测器被配置为检测相应触发条件和与数据处理事务相关的数据处理活动之间的匹配。由连续集合中的一个触发条件检测器做出的触发条件的检测随后(例如,在下一个时钟周期)使得连续集合中的下一触发条件检测器的操作等待其自身的触发条件的检测。在简单的示例中,第一触发条件检测器可能检测到地址总线上的特定地址或特定地址范围或者作为要被访问的数据地址的一部分的特定地址或特定地址范围。对这种触发条件的检测随后(例如,在下一个时钟周期)使得连续集合中的下一触发条件检测器检测读总线上读数据的存在(或作为从诸如存储器10之类的存储器读的数据的一部分的读数据的存在)。第二触发条件检测阶段的激活使追踪数据(下文将讨论)被生成以指示读数据。
系统中的每个数据处理事务具有相关联的事务标识符。实际上,在示例实施例中,发起数据处理事务的数据处理节点(例如CPU、CPU群、DMA设备或其它主站)被配置为向该事务分配特定于节点的事务标识符。但为提供互连电路内处理的均匀性,并且为保证在互连电路的域内数据处理事务可彼此区分,互连电路被配置为应用特定于节点的事务标识符、以及对经由该互连电路处理的所有待决事务唯一的相应互连事务标识符之间的映射。这可以适用于由互连电路接受执行的所有事务。事务在其由互连电路处理期间通过其互连事务标识符来提及,并且随后在将事务的结果(例如,读数据值)返回至发起节点时,互连电路可以将该标识符映射回特定于节点的事务标识符。使用事务标识符的优点涉及下述事实:(a)许多事务可以跨互连电路在任何时间发生,以及(b)单独的事务可以利用一些时钟周期来实现。所以,为了匹配事务的发起与该事务的结果(可能稍晚出现,并且可能穿插有其它事务的结果)使用了一些种类的标识。这可能是简单地是与事务相关联的存储器地址,但存储器地址可能比只是为了区分不同的事务所需的长得多(例如,128位)。所以较短的事务处理标识符被用作替代,例如在4-32位的范围内。当事务正在进行中时,相对于其它未决事务标识符,该事务标识符是唯一的。当事务完成时该事务标识符可停用,但(取决于系统)该事务标识符可以在以后重新用于另一事务。
因此在示例中,数据处理节点中的一个包括存储器;并且数据处理事务为对该存储器的访问,但应当理解,还设想其它类型的事务。
图3示意性示出了逻辑分析器200的功能。
如上所述,逻辑分析器使用多级触发条件检测排布。在图3中,只示出了两个阶段。可以使用多个阶段。阶段可以循环排列以返回到连续集合的较早阶段。出于当前讨论的目的,应当注意,当触发连续集合的第一阶段时,由连续集合中的下一阶段或后续阶段启用触发检测。
因此,图3示出了包括逻辑分析器电路的装置,逻辑分析器电路包括两个或更多个连续触发条件检测器300、310的连续集合,每个触发条件检测器310被配置为检测相应触发条件以及与数据处理事务(每个都具有相应事务标识符,例如上文讨论的互连事务标识符)相关的数据处理活动之间的匹配,触发条件检测器的连续集合被配置从而由触发条件检测器300检测与其相应触发条件的匹配,使得连续集合中的下一触发条件检测器310发起对与该下一触发条件检测器的相应触发条件的匹配的检测。注意,包括逻辑分析器电路的装置可以仅涵盖逻辑分析功能,或者可以涵盖其它功能。
与触发条件检测器300相关的触发条件,与和当前数据处理操作相关的地址值302的特定值或特定值范围相关。触发条件检测器300还接收读地址信道304(其是提供与存储器寻址操作相关的事务标识符的信道)。触发条件检测器300响应于时钟信号来在时钟沿检测地址302的当前值是否与指定的(一个或多个)触发条件相匹配。如果不匹配,则触发条件检测器300仅等待下一个时钟脉冲来重试检测。
如果获得匹配,则触发条件检测器300设置匹配信号320来指示匹配已经被获得。这个匹配信号启用被配置为响应于匹配信号320来检测或捕获读地址信道的正反器(flip-flop)或其它设备330。在下一时钟脉冲,正反器330将读地址信道的捕获值(包含事务标识符)作为形成针对第二触发条件检测器310的触发条件的输入传递,捕获值由第二触发条件检测器310(在从第一触发条件检测器的触发之后的一个时钟周期开始的每个时钟周期)与当前由读数据信道314(其是提供对应于当前数据的读操作的事务标识符、标识与该事务相关的特定总线的信道)提供的事务标识符进行比较。这两个事务标识符(即从第一触发条件检测阶段捕获到的值、以及读数据信道314中的一般(prevailing)值)由第二触发条件检测器310在时钟306的每个周期比较直到获取匹配,在获取匹配的点处第二触发条件检测器生成匹配信号322以使得追踪单元350(其接收与当前数据访问操作相关的数据和/或地址值作为输入(未示出))捕获与当前数据访问相关的追踪数据。
追踪单元350可以形成包括逻辑分析器电路的装置的一部分,并且是被配置为进行下述操作的追踪数据生成器的示例:生成指示触发条件检测器中的至少一个触发条件检测器(例如连续集合中的最后一个触发条件检测器)针对其检测到匹配的数据处理事务的追踪数据。存在适用于本申请的追踪数据的几种已知格式,例如提供指示数据处理事务的地址、以及可用于该事务的一个或多个读数据值或写数据值的追踪数据格式。追踪数据可被提供给诊断装置(诊断装置的示例将在下文描述)。
因此,图3的排布提供检测器330,其被配置为检测或捕获由连续集合300、310中的第一触发条件检测器300先前或现在针对其检测到匹配的事务标识符检测器,并且将所检测到的事务标识符提供到触发条件检测器的连续集合中的后续(例如,下一个)触发条件检测器310。后续触发条件检测器310被配置将检测到的事务标识符作为其相应触发条件的至少一部分应用,从而检测仅相对于具有该事务标识符的数据处理事务的匹配。
如上所述,触发条件中的至少一个触发条件依赖于呈现在地址总线和/或数据总线上的关于数据处理事务的信息。
上文的示例涉及数据读事务。应当理解,相应的技术可以适用于数据写入事务或其它类型的事务。例如,在读数据事务的情境中,可能存在作为原始读请求事务标识符的结果而发生的其它事务(探听、来自探听响应的数据、读请求确认、错误等)。具体地,完成数据的传输所需的读数据、事务响应和所有其它事务(可以是探听、来自探听响应的数据、错误等)可以使用后续触发条件检测器来与所捕获的事务标识符进行匹配。写事务还具有用于响应回写数据请求的事务标识符。本说明也适用于写数据和其它事务。这些是数据处理事务的示例。通常,可从读请求、写请求和其它事务请求生成事务标识符,并且本技术可以适用于在其中生成了事务标识符的任何这样的数据处理事务。
上文的示例涉及作为互连电路的一部分的逻辑分析器。这样的逻辑分析器可以在硬件或程序的控制下启用或禁用。替代地,逻辑分析器可以是(或部分是)可连接到要分析的电路的单独设备或装置。应当理解,本技术适用于在其中使用了事务标识符的任何电路的逻辑分析。
代替触发追踪单元350的操作,由触发条件检测器的连续集合做出的成功触发可能,例如导致诸如示波器之类的外部分析设备的触发、或系统时钟的临时止动、或类似动作。
图4是说明逻辑分析方法的示意性流程图。方法包括:在步骤400中,检测触发条件、以及与数据处理事务(每个都具有相应事务标识符)相关的数据处理活动之间的匹配。
步骤410包括:检测与针对其在步骤400中检测到匹配的数据处理事务相关的事务标识符。
在步骤420,将所检测到的事务标识符提供至触发条件检测的连续集合中的后续触发条件检测阶段;其中后续触发条件检测阶段将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有该事务标识符的数据处理事务的匹配。
在步骤430,同样响应于步骤400中对匹配的检测,使得触发条件检测的连续集合中的下一阶段能够检测与下一触发条件的匹配。根据触发条件检测器的连续集合的性质,步骤400,420和430可以根据需要重复。步骤410中并不需要关于特定的数据处理事务重复,因为已捕获关于该事务的事务标识符。
在步骤440,生成追踪数据,追踪数据指示这样的数据处理事务:针对该数据处理事务,至少一个触发条件检测器检测到匹配。
图5示意性示出了被排布为从图3的诊断装置接收追踪数据的诊断装置。诊断装置包括输入500,输入500被配置为从如上所讨论的包括逻辑分析器电路的装置(例如,从逻辑分析器200)接收追踪数据流;以及数据处理元件510,被配置为处理所述追踪数据。数据处理元件可以是硬件数据处理元件(其中其诊断功能可以作为硬件操作,而不是作为响应于软件控制的数据处理操作来实现),或者可以是在计算机软件(例如存储在诸如存储器520之类的机器可读非暂态存储设备中的软件)控制下操作的通用数据处理元件。在任一情况下,存储器520可以存储用于在诊断处理中使用的相关信息。这样的相关信息的示例是代表由装置(在这种情况下,装置为图1的互连电路和/或其相关联的一个或多个数据处理节点)进行的操作的程序或其它代码的一部分,以允许追踪数据与该装置的预期操作进行比较。
提供输出530以允许信息输出作为诊断过程的一部分而生成。
图6是示出了诊断方法的示意流程图。方法包括:在步骤600(其跟随在图4的步骤440之后,在该处生成指示至少一个触发条件检测器针对其检测到匹配的数据处理事务的追踪数据),接收追踪数据流;并且在步骤610,处理所述追踪数据,例如,以检测互连电路和/或连接的数据处理的节点的操作的各方面。注意,追踪数据被称为追踪数据流而。这在一些示例实施例中可以指这样的方式:追踪数据通过这种方式提供到诊断过程。在其它实施例中,它可以指追踪数据本身的性质,即使追踪数据作为数据块,而不是数据流来提供。换言之,术语追踪数据“流”可以指追踪数据作为表示连续的数据处理事务的各方面的性质。
在本申请中,“被配置为……”的表述用于表示的装置的元件具有能够执行所定义的操作的配置。在这种情况下,“配置”指硬件或软件的互连的排布或方式。例如,装置可以具有提供所定义的操作的专用硬件,或者处理器或其它处理设备可以被编程来执行该功能。“配置为”并不意味着该装置的元件需要以任何方式被改变来提供所定义的操作。
上述的诊断技术可在硬件中、在通用数据处理装置(例如通用计算机)上运行的软件中实现,或者作为可编程硬件(例如专用集成电路(ASIC)或现场可编程门阵列(FPGA))、或作为这些的组合来实现。在实施例是由软件和/或固件实现的情况下,可以理解,这样的软件和/或固件,以及这些软件和/或固件被存储或以其它方式提供所经由的非暂态计算机可读数据存储介质被认为是实施例。
尽管已在本文中详细参照附图对本技术的示例性实施例进行了描述,但应当理解,本技术不限于那些精确实施例,并且本领域技术人员可以在不脱离由所附权利要求限定的技术的范围和精神的范围内对其进行各种改变、增加和修改。例如,在从属权利要求的特征的各种组合可以与独立权利要求的特征组合,而不偏离本技术的范围。

Claims (17)

1.一种包括逻辑分析器电路的装置,所述逻辑分析器电路包括:
两个或更多个连续的触发条件检测器的连续集合,每个所述触发条件检测器被配置为检测相应触发条件、以及与数据处理事务相关的数据处理活动之间的匹配,其中每个所述数据处理事务都具有相应事务标识符;
所述触发条件检测器的连续集合被配置为使得由触发条件检测器检测与其相应触发条件的匹配,使得所述连续集合中的下一触发条件检测器能够发起对与该下一触发条件检测器的相应触发条件的匹配的检测;以及
事务标识符检测器,所述事务标识符检测器与所述连续集合中的第一触发条件检测器相关联,并且被配置为:检测与由所述第一触发条件检测器针对其检测到匹配的数据处理事务相关的事务标识符,并将所检测到的事务标识符提供至所述触发条件检测器的连续集合中的后续触发条件检测器;
其中所述后续触发条件检测器被配置为将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有所述事务标识符的数据处理事务的匹配。
2.如权利要求1所述的装置,还包括追踪数据生成器,所述追踪数据生成器被配置为生成指示所述触发条件检测器中的至少一个触发条件检测器已针对其检测到匹配的数据处理事务的追踪数据。
3.如权利要求2所述的装置,其中所述追踪数据生成器被配置为生成指示所述触发条件检测器的所述连续集合中的最后一个触发条件检测器已针对其检测到匹配的数据处理事务的追踪数据。
4.如权利要求1所述的装置,其中所述触发条件中的至少一个触发条件依赖于呈现在地址总线上的关于数据处理事务的信息。
5.如权利要求1所述的装置,其中所述触发条件中的至少一个触发条件依赖于呈现在数据总线上的关于数据处理事务的信息。
6.如权利要求1所述的装置,其中所述后续触发条件检测器是下一个触发条件检测器。
7.如权利要求1所述的装置,其中所述数据处理事务是由互连电路连接的数据处理节点之间的事务。
8. 如权利要求7所述的装置,其中:
所述数据处理节点中的一个数据处理节点包括存储器;并且
所述数据处理事务是对所述存储器的访问。
9. 如权利要求8所述的装置,其中:
发起数据处理事务的数据处理节点被配置为向该事务分配特定于节点的事务标识符;并且
所述互连电路被配置为应用特定于节点的事务标识符、以及对经由所述互连电路处理的所有待决事务是唯一的相应互连事务标识符之间的映射。
10.如权利要求9所述的装置,其中所述事务标识符检测器被配置为检测所述互连事务标识符。
11.一种数据处理装置,包括:
如权利要求7所述的装置;
多个数据处理节点;以及
互连电路,所述互连电路连接到所述多个数据处理节点;
其中所述装置包括逻辑分析器电路,所述逻辑分析器电路被配置为检测与触发条件相对于与数据处理节点之间经由所述互连电路的数据处理交易相关的数据处理活动的匹配。
12.一种包括逻辑分析器电路的装置,所述逻辑分析器电路包括:
两个或更多个连续的触发条件检测装置的连续集合,用于检测相应触发条件、以及与数据处理事务相关的数据处理活动之间的匹配,其中每个所述数据处理事务都具有相应事务标识符;
所述触发条件检测装置的连续集合,所述条件检测装置被配置为使得由触发条件检测装置检测与其相应触发条件的匹配,使得所述连续集合中的下一触发条件检测装置能够发起对与该下一触发条件检测装置的相应触发条件的匹配的检测;以及
事务标识符检测装置,所述事务标识符检测装置与所述连续集合中的第一触发条件检测装置相关联,并且被配置为:检测与由所述第一触发条件检测装置针对其检测到匹配的数据处理事务相关的事务标识符,并将所检测到的事务标识符提供至所述触发条件检测装置的连续集合中的后续触发条件检测装置;
其中所述后续触发条件检测装置被配置为将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有所述事务标识符的数据处理事务的匹配。
13.一种逻辑分析方法,所述方法包括:
检测触发条件、以及与数据处理事务相关的数据处理活动之间的匹配,其中每个所述数据处理事务都具有相应事务标识符,所述相应事务标识符相对于其它未决事务标识符是唯一的;
检测与针对其检测到匹配的数据处理事务相关的事务标识符;
将所检测到的事务标识符提供至触发条件检测的连续集合中的后续触发条件检测阶段;其中所述后续触发条件检测阶段将所检测到的事务标识符作为其相应触发条件的至少一部分来应用,从而检测仅关于具有所述事务标识符的数据处理事务的匹配;并且
响应于对匹配的检测,使得所述触发条件检测的连续集合中的下一阶段能够检测与下一触发条件的匹配。
14.如权利要求13所述的方法,还包括:生成指示至少一个触发条件检测器已针对其检测到匹配的数据处理事务的追踪数据。
15. 一种诊断装置,包括:
输入单元,所述输入单元被配置为从如权利要求2所述的装置接收追踪数据流;以及
数据处理单元,所述数据处理单元被配置为处理所述追踪数据。
16. 一种诊断方法,包括:
接收由如权利要求14所述的方法生成的追踪数据的流,并且
处理所述追踪数据。
17.一种承载计算机软件的非暂态计算机可读介质,当由计算机执行时所述计算机软件使该计算机执行如权利要求16所述的方法。
CN201610218241.2A 2015-04-13 2016-04-08 包括逻辑分析器电路的装置和逻辑分析方法 Active CN106055467B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/684,558 US10061671B2 (en) 2015-04-13 2015-04-13 Apparatus and methods for logic analysis to detect trigger conditions relating to data handling transactions in systems using transaction identifiers
US14/684,558 2015-04-13

Publications (2)

Publication Number Publication Date
CN106055467A CN106055467A (zh) 2016-10-26
CN106055467B true CN106055467B (zh) 2021-04-30

Family

ID=57112250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610218241.2A Active CN106055467B (zh) 2015-04-13 2016-04-08 包括逻辑分析器电路的装置和逻辑分析方法

Country Status (3)

Country Link
US (1) US10061671B2 (zh)
CN (1) CN106055467B (zh)
GB (1) GB2538615B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579499B2 (en) * 2017-04-04 2020-03-03 International Business Machines Corporation Task latency debugging in symmetric multiprocessing computer systems
CN108681500B (zh) * 2018-04-28 2021-09-07 格兰菲智能科技有限公司 具有事务记录能力的系统和事务记录方法
CN116305713B (zh) * 2022-09-07 2024-06-04 杭州未名信科科技有限公司 一种芯片仿真系统及仿真方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758044A (zh) * 2004-10-07 2006-04-12 通用汽车公司 远程信息处理系统诊断逻辑分析仪
CN101122893A (zh) * 2006-08-08 2008-02-13 Arm有限公司 用于数据处理设备的互连逻辑
CN103294602A (zh) * 2012-02-28 2013-09-11 孕龙科技股份有限公司 逻辑分析仪的数据读取及写入其存储器的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633838B1 (en) 1999-11-04 2003-10-14 International Business Machines Corporation Multi-state logic analyzer integral to a microprocessor
US6331957B1 (en) 2000-02-14 2001-12-18 Intel Corporation Integrated breakpoint detector and associated multi-level breakpoint techniques
US20030023901A1 (en) * 2001-07-27 2003-01-30 Hack Stephen Patrick Method for analyzing serial bus traffic for debugging systems
US6834360B2 (en) * 2001-11-16 2004-12-21 International Business Machines Corporation On-chip logic analyzer
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
US20040019828A1 (en) 2002-07-25 2004-01-29 Gergen Joseph P. Method and apparatus for debugging a data processing system
US7080283B1 (en) 2002-10-15 2006-07-18 Tensilica, Inc. Simultaneous real-time trace and debug for multiple processing core systems on a chip
US7921333B2 (en) 2003-03-19 2011-04-05 Jds Uniphase Corporation Method and systems for providing data replay, reprocess and retrigger functions in an analyzer
US8745447B2 (en) * 2009-08-18 2014-06-03 Lexmark International, Inc. System and method for analyzing an electronics device including a logic analyzer
US20110321015A1 (en) * 2010-06-23 2011-12-29 Yen Hsiang Chew Hardware triggering mechanism for software debugger
US9129061B2 (en) 2012-07-25 2015-09-08 Advanced Micro Devices, Inc. Method and apparatus for on-chip debugging

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758044A (zh) * 2004-10-07 2006-04-12 通用汽车公司 远程信息处理系统诊断逻辑分析仪
CN101122893A (zh) * 2006-08-08 2008-02-13 Arm有限公司 用于数据处理设备的互连逻辑
CN103294602A (zh) * 2012-02-28 2013-09-11 孕龙科技股份有限公司 逻辑分析仪的数据读取及写入其存储器的方法

Also Published As

Publication number Publication date
CN106055467A (zh) 2016-10-26
US10061671B2 (en) 2018-08-28
US20160299825A1 (en) 2016-10-13
GB2538615A (en) 2016-11-23
GB2538615B (en) 2019-10-09

Similar Documents

Publication Publication Date Title
Hangal et al. Iodine: a tool to automatically infer dynamic invariants for hardware designs
RU2411570C2 (ru) Способ и устройство для сравнения данных в вычислительной системе, включающей в себя по меньшей мере два исполнительных блока
CN106055467B (zh) 包括逻辑分析器电路的装置和逻辑分析方法
US20110179399A1 (en) Establishing a useful debugging state for multithreaded computer program
US9405315B2 (en) Delayed execution of program code on multiple processors
CN113508381B (zh) 用于嵌入式软件应用的基于机器学习的异常检测
CN104809039A (zh) 基于物理内存分配映射的内存检测方法
US6985980B1 (en) Diagnostic scheme for programmable logic in a system on a chip
CN104750605A (zh) 将内核对象信息包括在用户转储中
US9842044B2 (en) Commit sensitive tests
US20230091197A1 (en) Automatic sensor trace validation using machine learning
CN115470125B (zh) 基于日志文件的调试方法、设备以及存储介质
US10534690B1 (en) Concurrent quality testing by broadcasting user events
CN112506806B (zh) 用于调试程序的方法、电子设备及存储介质
US20150149024A1 (en) Latency tolerant fault isolation
US9946624B1 (en) Systems and methods to capture data signals from a dynamic circuit
US20170177371A1 (en) Method and Apparatus for Detecting Memory Conflicts Using Distinguished Memory Addresses
US6629174B1 (en) Synchronization using bus arbitration control for system analysis
US9323702B2 (en) Increasing coverage of delays through arbitration logic
Lebedev et al. Construction of validation modules based on reference functional models in a standalone verification of communication subsystem
US20090177928A1 (en) Apparatus, Method and Computer Program Product for Generating Trace Data
CN117236277B (zh) 用于检查寄存器的方法及装置、电子设备
CN117093353B (zh) 一种中断控制方法、装置、电子设备及可读存储介质
JP2014232478A (ja) 動作監視装置および動作監視方法
Dmitriy et al. Construction of validation modules based on reference functional models in a standalone verification of communication subsystem

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant