CN111522745A - 针对片上系统(soc)的低功率调试架构和系统 - Google Patents

针对片上系统(soc)的低功率调试架构和系统 Download PDF

Info

Publication number
CN111522745A
CN111522745A CN202010326725.5A CN202010326725A CN111522745A CN 111522745 A CN111522745 A CN 111522745A CN 202010326725 A CN202010326725 A CN 202010326725A CN 111522745 A CN111522745 A CN 111522745A
Authority
CN
China
Prior art keywords
debug
trace information
processor
firmware
unit
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.)
Pending
Application number
CN202010326725.5A
Other languages
English (en)
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN111522745A publication Critical patent/CN111522745A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

本申请涉及针对片上系统(SOC)的低功率调试架构和系统。在实施例中,一种装置包括:中央调试单元,该中央调试单元接收一个或多个功能调试信号,该中央调试单元还被配置为从至少一个固件源、至少一个软件源、和至少一个硬件源接收调试信息,并输出经压缩的调试信息;系统跟踪模块,该系统跟踪模块接收经压缩的调试信息并对经压缩的调试信息进行时间标记;并行跟踪接口,该并行跟踪接口接收经时间标记的经压缩的调试信息,并且对经时间标记的经压缩的调试信息进行并行化;和/或输出单元,该输出单元在多个输出路径中的一个输出路径上输出并行化的经时间标记的经压缩的调试信息。描述并要求保护了其他的实施例。

Description

针对片上系统(SOC)的低功率调试架构和系统
本申请是申请日为2015年8月13日、申请号为201580041764.8(PCT国际申请号为PCT/US2015/044958)、名称为“针对片上系统(SOC)和系统的低功率调试架构”的发明专利申请的分案申请。
技术领域
实施例涉及针对集成电路以及结合这种电路的系统的调试操作。
背景技术
现在的片上系统(SoC)和其他集成电路(IC)被设计具有低功率指令,以实现较长的电池寿命。由于多个低功率域被设计在相比于前一代以更高的粒度唤醒和休眠的设备中,所以调试这种IC和SoC是非常具有挑战性的。当前可用的调试情况对于执行调试固件和低功率操作提供了有限的能力。
发明内容
在一个方面,一种装置包括:中央调试单元,该中央调试单元从多个源接收调试信号,该多个源包括至少一个硬件源、至少一个固件源、和至少一个软件源;跟踪合并单元,该跟踪合并单元从中央调试单元接收调试信号,并且具有仲裁逻辑以在来自多个源中的一个或多个源的调试信号和来自多个硬件单元的功能调试信号之间进行选择,该跟踪合并单元对所选择的调试信号或功能调试信号进行时间标记;并行跟踪接口,该并行跟踪接口接收经时间标记的所选择的调试信号或功能调试信号,并且对经时间标记的所选择的调试信号或功能调试信号进行并行化;串行跟踪接口,该串行跟踪接口接收经时间标记的所选择的调试信号或功能调试信号,并且对经时间标记的所选择的调试信号或功能调试信号进行串行化;以及选择单元,该选择单元从中央调试单元接收调试信号并从并行跟踪接口接收并行化的经时间标记的所选择的调试信号或功能调试信号,并在调试信号和并行化的经时间标记的所选择的调试信号或功能调试信号中选择一个用于在输出路径上输出,其中输出路径将从多个输出路径中被选择。
附图说明
图1是根据实施例的处理器的部分的框图。
图2是根据本发明的实施例的处理器的另一框图。
图3是根据本发明的实施例的跟踪集合单元的框图。
图4是根据本发明的实施例的方法的流程图。
图5是根据本发明的实施例的系统的框图。
图6是实施例可以使用的示例系统的框图。
图7是实施例可以使用的另一示例系统的框图。
图8是根据实施例的片上系统的框图。
具体实施方式
在各个实施例中,针对处理器和其他片上系统(SoC)(包括系统级封装(SiP)、多芯片封装(MCP))提供了功率感知低功率调试架构,例如使得在系统中实现的这些设备的多种方面可以被测试/调试,例如固件操作包括但不限于启动,低功率操作包括但不限于低功率状态进入/退出等。该调试架构可以被用来调试低功率平板电脑和智能手机IC/SoC、诸如物联网(IoT)设备、可穿戴设备之类的嵌入式设备以及在客户端/服务器应用中使用的低功率设备。因此实施例提供了早期启动调试期间硬件/软件/固件的可观察性、低功率条件和低功率进入/退出转换,从而提供对系统的整体操作范围的有效调试。在不同的实施例中,调试触发可以被包括在任意固件、操作系统或其他软件中,从而触发调试信息可以被选择性地收集的点,以测试各种平台操作条件。
更进一步,由于高级IC/SoC具有更为严格的功耗需求,所以实施例提供了如下技术,该技术可选择性启用和禁用调试逻辑,以使得可以在大量具有这种处理器的发售(shipped)产品中避免这种逻辑的功耗。然而,应当理解的是,实施例还可以在这些产品中的一个产品从调试/故障分析现场返回时提供可选择性启用。
在各个实施例中,功率感知低功率调试方案使能在始终开启(AON)域中操作的逻辑的早期启动调试。在实施例中,中央调试单元(是调制操作的主要控制器)可以被配置具有最小逻辑,并且可以被保持在AON域或独立调试功率域中,以使能调试在上电阶段早期和低功率转换期间活跃的逻辑,这通常可能是处理器内最难调试的电路。
以这种方式,由于调试路径和调试逻辑保持在AON或调试电源域,所以调试操作可以在早期启动处以及在低功率转换期间开始执行。即,如果以给定的设计,调试逻辑的包含(例如,根据设计规范)使得处理器或平台的功耗目标将被超过,调试逻辑可以被置于单独的调试电源域。该独立调试电源域与AON电源域以及一个或多个可控制电源域可以被分开保持,其中所述一个或多个可控制电源域可以包括处理器的核心和其他功能单元。随后,在运送之前调试电源域可以在制造期间(例如,通过融合配置熔断或其他配置值的一个或多个集合)被配置为永久断电以节省电能,包括由于在该调试电源域中损失的泄漏电流引起的损失电能。在功率需要被应用在退货授权(RMA)调试的返回部分的情况或出于另一原因(例如,现场测试),可以例如通过测试接入端口(TAP)控制器提供熔断覆盖。
现在参考图1,示出了根据实施例的诸如SoC之类的处理器的部分的框图。所示出的SoC的部分100主要涉及X(DFx)电路的设计,该X电路的设计可以用于各种目的,包括针对测试的设计、针对验证的设计、针对调试的设计等(DFx中的X可以由“T”替换,指示针对测试的设计,“D”指示针对调试的设计,“V”指示针对验证的设计等)。该特定设计是为了针对调试的设计的目的,因为该逻辑主要是用于调试的目的。通常,这种电路可以被用来从处理器的一个或多个功能单元或其他调试主机中接收输入,并且将这种信息适当地处理为期望的格式用于内部或外部传送至调试主机。这种DFx电路可以在处理器设计、开发、和调试的过程中使用,并且还可以在将处理器合并入诸如便携式计算设备之类(例如,智能手机、平板计算机、平板手机、或任意其他可便携式或其他计算设备)的平台期间使用。当然,DFx电路还可以用于后置平台制造测试和调试操作。
在所示的实施例中,SoC 100可以包括若干功能电路,该若干功能电路包括一个或多个核心1300-130n。在实施例中,这种核心可以是例如,给定
Figure BDA0002463487980000041
架构(IA)设计的异种或同种核心的集合。当然在其他实施例中,可以呈现出替代的其他制造商的核心(例如,基于ARM制造的核心)。并且在其他实施例中,可以呈现出基于
Figure BDA0002463487980000042
的核心和基于ARM的核心或其他逻辑的组合。
通常,图1中所示的剩余电路与处理器的DFx电路有关。如所见,DFx单元120被配置为从各种片上源(包括硬件、固件、和/或软件的不同的集合)接收输入。DFx单元120包括中央调试单元(CDU)125,该中央调试单元(CDU)125被配置为收集从不同的源接收的各种输入,并且经由第一内部互连138随同选择的调试信号进行发送。在操作期间,包括硬件(HW)、软件(SW)和固件(FW)调试跟踪的调试信号被发送至CDU 125。如本文所使用的,“跟踪”指的是从期望的片上位置获得的信号或其他信息的流集合,并且通常可以提供关于实时可见的或被存储并在稍后由给定用户(例如,应用开发商、应用程序、或外部设施)撷取用于查看的活跃度的信息,从而观察系统活跃度。注意的是,从处理器的各种功能单元接收的内部调试信号可以使用个体块中的块级选择器、中间块(例如,感兴趣的调试块之间的非核心逻辑)中的中级选择器、以及CDU 125内的最终选择器来核对。关于低功率调试的信号可以被置于块内的AON域,并且作为AON信号发送以使能低功率调试。替代地,如上所述,这些信号还可以被置于调试域(其可以在制造测试/调试之后熔离或通过替代方法在制造时禁用)。
在实施例中,中央调试单元125的至少一部分可以被保持在AON电源域,仅具有由该域供电的必需逻辑,从而使调试逻辑的功耗最小化。在实施例中,CDU 125包括集中打包器、触发逻辑、和压缩逻辑。当然,应当理解的是在其他实施例中,在CDU 125中可以存在额外的逻辑。在实施例中,从CDU 125输出的这些调试信号可以是微处理的调试信号的集合,如所示,这些信号可以被提供至多个目的地,包括选择逻辑160和跟踪合并单元140。
如进一步所示,跟踪合并单元140还接收传入的功能调试信号,该功能调试信号在实施例中可以采用实时指令跟踪(RTIT)信号(和/或实时数据跟踪信号)的形式或专有形式的调试信号(例如,
Figure BDA0002463487980000051
处理器跟踪(PT)跟踪技术或其他跟踪技术)。为此,跟踪合并单元140包括仲裁逻辑145,该仲裁逻辑145被配置为在内部调试信号和功能调试信号或其他核心调试信号之间执行仲裁,从而在传入信号的这些不同路径之间进行仲裁,并向跟踪合并单元140的剩余部分提供所选择的信号。
通常,跟踪合并单元140被配置为通过添加时间标记信息来进一步处理CDU输出。接下来,跟踪合并单元140以与一个或多个协议相兼容的方式流送该经时间标记的调试跟踪信息。例如,在实施例中,跟踪合并单元140可以与移动行业处理器接口(MIPI)联盟系统跟踪协议(STP)兼容。在另一实施例中,跟踪合并单元140可以与实现跟踪包装协议、ARM嵌入式跟踪宏小区(ETM)或其他协议的ARM跟踪漏斗(funnel)相兼容。当然,可以使用其他协议(例如,RTIT或
Figure BDA0002463487980000052
PT)。通过经由跟踪合并单元140提供内部调试信号,这种内部调试信号是被时间标记的,并且以给定协议(例如,MIPI STP协议)发送。接下来,这些经处理和时间标记的信号可以从处理器输出,并且由给定调试工具(例如,逻辑分析器、跟踪端口分析器(TPA)、或破译发出的经时间标记的调试流的其他工具)接收和使用。使用这种工具,这些信号可以被破译并可视化,从而执行调试。更进一步,时间标记跟踪使能信号之间的时间关联,并因此容易调试。
这些经处理的调试信号经由互连148被提供至并行的跟踪接口(PTI)逻辑150,该跟踪接口(PTI)逻辑150可以进一步处理信号。在实施例中,PTI逻辑150被配置为对接收的调试信息进行并行化。注意的是,并行化的广度可以根据引脚的数量或针对输出选择的其他输出路径被控制(例如,1、2、4、8或16)。经处理的信号经由互连155被提供至选择逻辑160。通常,选择逻辑160被配置为选择经由互连155接收的经处理的信号或经由互连138接收的较为微处理的调试信号,并且经由互连165将所选择的信号输出至输出单元170。通常,输出单元170经由管芯上互连将输出路径提供至输出连接的一个或多个集合,该输出连接的一个或多个集合在实施例中可以与SoC的专用输出引脚、输入/输出(I/O)引脚、和/或耦合至系统存储器(可以是片上静态随机存取存储器)的引脚或其他互连相对应。在实施例中,这些输出连接可以包括输出引脚1800-180n的第一集合和输出引脚1900-190n的第二集合。在实施例中,第一输出引脚180可以是通用引脚IO(GPIO)引脚,第二输出引脚190可以是另一类型的引脚连接(例如,PTI引脚)。在实施例中,某些输出路径可以(例如,经由PTI引脚)耦合到封闭机架系统的微安全数字(SD)引脚,该封闭机架系统使能除开放机架的调试以外的形状因数调试(FFD)或封闭机架调试。
在一些实施例中,代替并行化,来自跟踪合并单元140的经处理的调试信号可以经由高速串行流被发送至目的地。在该情况中,响应于由CDU125输出的跟踪数据选取信号,可以在选择单元110中从PTI逻辑150的输出中或从跟踪追踪合并单元140中选择跟踪数据。在实施例中,针对选择逻辑110的默认选择将选择显示控制器105的输出,并且基于调试将该选择改变为选择调试跟踪数据。该所选择的输出被提供至显示逻辑112,该显示逻辑112将并行跟踪数据转换为串行流并且添加协议信息,以驱动高速串行I/O接口114。应当理解尽管在图1中示出了该特定的高级视图,但是本发明的范围并不限于此。
现在参考图2,进一步示出了处理器100的细节。更为具体地,图2提供了SoC的整体高级视图,该SoC包括如在上文图1中描述的在额外的SoC电路的上下文中的调试电路。图2示出了核心106,该核心106在实施例中可以是SoC的主要中央处理单元(CPU),并且核心106在实施例中可以是被配置为执行一个或多个指令集合架构的指令的高级无序执行核心。接下来,核心106耦合于北单元108,该北单元108在实施例中可以包括各种接口和其他控制电路(例如,存储器控制器和/或其他接口电路)。如所见,北单元108耦合于DFx单元120。
此外,西单元111同样耦合于DFx电路120。在各个实施例中,西单元111包括一个或多个处理单元,例如,一个或多个协同处理器、图形处理器、固定功能单元等。更进一步,南单元115可以包括额外或不同的单元、接口单元等,并且同样被耦合于DFx单元150。注意的是,关于跟踪收集和通信的额外细节在南单元115中示出。更为具体地,在南单元115内各种跟踪被提供至跟踪收集单元118。
在所示的实施例中,消息跟踪包括软件跟踪、固件跟踪、和硬件跟踪,在实施例中消息跟踪可以包括AON跟踪,因为即使当SoC所位于的给定平台处于低功率模式时,这些跟踪仍与上电的电路有关。例如,在移动平台(例如,智能手机、平板计算机、物联网(IoT)设备等)的环境下,尽管平台被上电但未在使用(例如,其显示器是关闭的并且没有发生用户交互),但是SoC的某些电路保持始终开启以保持连接到例如无线通信系统(例如,蜂窝系统)的基站。
在实施例中,跟踪收集单元118可以由经由联合测试行动组(JTAG)单元119接收的信号所控制,该联合测试行动组(JTAG)单元119从例如片外(和平台外的源(例如,逻辑分析器))经由例如依次耦合于JTAG单元119的SoC的JTAG接口来接收控制信号。在另一实施例中,可以(例如,经由调试管家、串口线调试、I2C等)从任意其他存储器映射输入/输出(MMIO)存取机制接收控制信号。因此,在跟踪收集单元118中收集的各种跟踪信号被提供至DFx单元120,并且更具体地被提供至可以与图1的CDU 125相对应的调试逻辑,以用于如本文所述的处理。注意的是,图2中所示的调试电路的剩余部分通常可以与上文图1所讨论的调试电路的剩余部分相对应。虽然在图2的实施例中以该高级形式示出,但是应当理解的是本发明的范围并不限于此。
现在参考图3,示出了根据本发明的实施例的跟踪收集单元的进一步细节。注意的是,跟踪收集单元200通常可以与图2的跟踪收集单元118相对应。应当理解的是,多个这种跟踪收集单元可以位于例如处理器的不同的集群或单元中。如所见,跟踪收集单元200被配置为从多个源(包括软件消息210、固件消息220、内部信号复用器(或可切换电源域)源230和始终开启(或不可切换电源域)源240)接收传入的跟踪信息。注意的是,选择单元245(例如,复用器)可以在源230和源240之间进行选择。
来自这些源的各种跟踪信息可被提供至相应的跟踪缓冲器215、225和235以进行中间存储。最终,可以响应于经由配置输入接收的配置信号来控制选择逻辑250(例如,另一复用器),从而选择相应跟踪以通过输出路径260(例如,耦合至中央调试单元或其他目的地的内部互连)输出。尽管在图3中示出了该限制性的电路,但是应当理解的是本发明的范围并不限于此。
在实施例中,硬件跟踪可以在集群等级内经由内部调试信号复用器架构(其中内部信号经由复用器输入被连接到复用器树用于可观察)或经由结构跟踪挂钩(FTH)被收集。注意的是,这种硬件跟踪可以以协议等级或者关于低功率或转换调试。这些HW跟踪可以源于AON区域或其他,但是不论在哪种情况,信号都被发送至AON区域内的内部调试复用器,这可以避免存储和重播(又称保存和恢复)的需求。当机器的状态在电源被关闭之前处于节约时(出于节省电能的目的),代替地使用存储和重播,并且在机器在电源上电之后状态被恢复。
在实施例中,软件跟踪可以在集群内被灵活的处理,从而(例如,使用复用器选择)动态地选择软件大师(master)。在一些情况中,如果需要调试,则多个软件大师可以被交织。如上文所讨论的,实施例还提供了固件(FW)跟踪的处理,其中这种跟踪可以被实时流送,因为AON逻辑可用于调试。
使用实施例,关于低功率进入/退出或不同功率状态之间转换的调试信息可以被获得和输出。这样,实施例提供了将在SoC或其他IC的输出端口处变得可观察的内部信号和事件(例如,HW、SW、FW)以及所有种类跟踪的可观察性。
换句话说,实施例提供始终提供硬件(事务等级和信号等级)跟踪、软件跟踪和固件跟踪的可观察性,包括但不限于,早期调试、低功率进入/退出转换、以及常规运行时间调试,并且还提供了信号等级的可观察性和转换等级的可观察性。更进一步,实施例除了功能单元调试信号之外通过重复使用STM块以处理内部调试流来提供对内部调试HW、SW和FW跟踪进行时间标记。
照此,实施例利用触发、过滤、打包、压缩调试数据以适应有效调试的输出带宽的能力来允许所有类型的调试源(例如,硬件、软件、和固件)的完全普通、有效、可扩展的调试能力。此外,根据实施例的调试架构可以通过在单独的调试电源面配置一些或所有调试逻辑节约生产部分中的电能,其中对于该调试电源面的电能可以例如经由用于关闭调试逻辑电源以节省部件级别的电能的熔断或一些其他手段被关闭,接下来通过覆盖能力来同样节省平台电能使其能够对返回部分的调试进行供电。
另外,由于实施例可以(例如,在ACPI系统低功率状态(例如S0ix)期间)被用来执行低功率调试,所以输出路径可以通过在AON或调试电源域之一中放置逻辑来耦合于其他位置,例如,包括显示端口、PCIe、USB、或C-类型连接器的高速串行跟踪端口。在一些情况中,跟踪信息还可以根据针对封闭机架调试的USB协议经由嵌入式的DFx接口或直接连接接口(DCI)被传送。因此,实施例可以被用于许多不同种类IC的调试,其中包括低功率可移动SoC和客户端/服务器IC和SoC等。
现在参考图4,示出了根据本发明的实施例的方法的流程图。更具体地,图4的方法300涉及在固件执行期间使用SoC的调试逻辑执行的调试操作。尽管图4中示出的特定的实现方式与预启动固件操作有关,但是应当理解的是本发明的范围不限于这种环境,并且基于固件的调试可以同样在包括SoC的平台的常规系统操作期间执行。
如所见,方法300以对SoC的AON部分上电(框310)开始。在该操作中,因为平台和SoC的功能不完善,所以仅有SoC的有限部分(称为AON电源域)被上电。因此,在实施例中,其中调试电路的部分被置于AON电源域,这些部分也同样被上电。在另一实施例中,其中调试电路替代地与其自身的调试电源域相合并,该调试电源域同样可以被上电。
接下来控制行进至框320,其中调试电路可以被配置为收集固件和硬件的跟踪信息。这种配置可以经由SoC的测试接口(例如,经由JTAG接口)来执行,以使得各种选择器(例如,多级复用器架构的不同等级)将被配置为提供这种硬件和固件的跟踪信息。
接下来,控制行进至框330,其中SoC操作在预启动环境中开始,其中,平台固件的至少一个部分例如根据统一可扩展固件接口(UEFI)固件(例如,基础输入/输出系统(BIOS)的不同模块)执行。在这种操作期间,固件和硬件跟踪信息在调试电路中被处理(框340)。响应于这种处理,经处理器的信息可以从SoC经由所选择的输出路径被流送(框350)。例如,在一些情况中(例如,在以原型形式的开发平台期间),可以呈现开放式机架布置,使得跟踪信息可以经由GPIO引脚的集合(或这种引脚的一部分)被流送出,或被发送到存储器用于稍后的抽取和调试,或经由替代的引脚被发送以用于调试的目的。替代地,当平台设计更进一步向前并且存在功能齐全的平台时,可能发生封闭式机架调试操作,并且跟踪信息可以经由其他输出路径(例如,经由一个或多个微SD引脚的集合或其他引脚(例如,HDMI、USB、或在最终产品上可用的替代引脚))被流送出。
仍参考图4,在平台调试期间,基于经流送的跟踪信息可以确定是否检测到错误(菱形360)。如果未检测到错误,则平台可以转换到启动环境(框365)。注意的是,在(例如,根据给定的OS)转变至启动环境时,可能发生调试电路的附加配置,以使得可以获得软件跟踪信息(除某些硬件跟踪信息以外),而不是获得固件跟踪信息。
如果在预启动环境期间检测到一个或多个错误,则控制行进至框370,其中错误检测事件可以被时间标记。在实施例中,使用接收到的流跟踪信息(可以以包括时间标记的格式被接收)的时间标记信息可能部分地影响这种时间标记。最终在框380处,时间标记错误检测事件可以被报告至例如,平台所耦合的跟踪分析工具的用户。应当理解的是,尽管在图4的实施例中以该高级形式示出,但是本发明的范围并不限于此。
现在参考图5,示出了根据本发明的实施例的系统的框图。在图5的实施例中,系统900可以是包括多个域的SoC,每个域可以被控制以独立的操作电压和操作频率进行操作。如具体的示意性示例,系统900可以是基于
Figure BDA0002463487980000111
Architecture CoreTM的SoC(例如,i3、i5、i7)或可向Intel公司购买的另外这种处理器。然而,例如可向加州的森尼维尔市的超微半导体股份有限公司(AMD)购买的其他低功率SoC或处理器、来自ARM有限责任公司或他们的许可方的基于ARM的设计、或来自加州的森尼维尔市的MIPS技术股份有限公司或他们的许可方或接管方的基于MIPS的设计可以代替地呈现于其他实施例,例如,苹果A7处理器、高通公司的骁龙处理器、或德州仪器的OMAP处理器。这种SoC可以在低功率系统(例如,智能手机、平板计算机、手机平板计算机、UltrabookTM计算机、IoT设备、可穿戴设备、或其他便携式计算设备)中使用。
在图5中所示的高级视图中,SoC 900包括多个核心单元9100-910n。每个核心单元可以包括一个或多个处理器核心、一个或多个缓存存储器、和其他电路。每个核心单元910可以支持一个或多个指令集合(例如,x86指令集合(具有一些已经添加了最新版本的扩展);MIPS指令集合;ARM指令集合(具有诸如NEON之类的额外的扩展))或其他指令集合或它们的组合。注意的是,一些核心单元可以是(例如,不同设计的)异构资源。另外,每个这种核心可以被耦合到缓存存储器(未示出),其在实施例中可以是共享层(L2)的缓存存储器。非易失性存储装置930可以被用来存储各种程序和其他数据。例如,该存储装置可以被用来存储微代码的至少一部分、诸如BIOS之类的启动信息、其他系统软件等。
每个核心单元910还可以包括接口(例如,总线接口单元),以使能至SoC的额外电路的互连。在实施例中,每个核心单元910耦合到相干构造(可以用作主要缓存相干管芯上的互连),接下来耦合到存储控制器935。接下来,存储控制器935控制与诸如DRAM(出于简便的目的未在图5中示出)之类的存储器的通信。
除了核心单元以外,在处理器内存在附加处理引擎,包括至少一个图形单元920,该图形单元920可以包括一个或多个图形处理器单元(GPU),以执行图形处理以及可能在图形处理器上执行通用操作(称为GPGPU操作)。另外,可以存在至少一个图像信号处理器925。信号处理器925可以被配置为处理从一个或多个捕获设备(在SoC的内部或芯片外)接收到的输入图像数据。
也可以存在其他加速器。在图5的示意图中,视频编码器950可以执行编码操作(包括对视频信息的编码和解码操作),例如,对高清视频内容提供硬件加速支持。还可以提供显示控制器955以加速显示操作,包括对系统的内部显示和外部显示提供支持。另外,可以存在调试单元945,并且该调试单元945可以包括如本文描述的低功率调试架构。每个单元可以使其功耗由电源管理器940所控制,该电源管理器940可以包括执行各种电源管理技术的控制逻辑。
在一些实施例中,SoC 900还可以包括被耦合到相干构造的非相干构造,各种外围设备可以耦合到该非相干构造。一个或多个接口960a-960d使能与一个或多个芯片外设备的通信。这种通信可以根据各种通信协议,例如,PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI、以及其他类型的通信协议。虽然在图5的实施例中以该高级形式示出,但是应当理解的是本发明的范围并不限于此。
现在参考图6,示出了实施例可以使用的示例系统的框图。如所见,系统1200可以是智能手机或其他无线通信器。基带处理器1205被配置为针对将从系统发送或由系统接收的通信信号执行各种信号处理。接下来,基带处理器1205被耦合到应用处理器1210(可以是系统的主要SoC),从而执行OS和其他系统软件,除了诸如许多众所周知的社交媒体app和多媒体app之类的用户应用之外。应用处理器1210还可以被配置为针对设备执行各种其他计算操作,并且可以包括如本文所描述的低功率调试架构。
接下来,应用处理器1210可以耦合到用户接口/显示器1220,例如,触屏显示器。另外,应用处理器1210可以耦合到存储器系统,该存储器系统包括非易失性存储器(称为闪速存储器1230)和系统存储器(称为动态随机存取存储器(DRAM)1235)。如进一步所见,应用处理器1210还耦合到捕获设备1240,例如,可以记录视频和/或静止图像的一个或多个图像捕获设备。
仍参考图6,通用集成电路卡(UICC)1240包括订户身份模块并且可能包括安全存储装置和加密处理器,UICC 1240也被耦合到应用处理器1210。系统1200还可以包括安全处理器1250,该安全处理器1250可以耦合到应用处理器1210。多个传感器1225可以耦合到应用处理器1210,以使能各种感测信息(例如,加速器和其他环境信息)的输入。音频输出设备1295可以提供接口(例如,以语音通信、播放或流送音频数据等形式)输出声音。
如进一步所示,提供了近场通信(NFC)无触点接口1260,其在NFC近场中经由NFC天线1265进行通信。尽管在图6中示出了单独的天线,但是应当理解的是在一些实现方式中可以提供一根天线或天线的不同集合,从而使能各种无线功能。
电源管理集成电路(PMIC)1215耦合于应用处理器1210,从而执行平台级电源管理。为此,PMIC 1215可以向应用处理器1210发送电源管理请求,从而按需进入某些低功率状态。此外,基于平台限制,PMIC 1215还可以控制系统1200的其他组件的功率级。
为了使通信能够被发送和接收,各种电路可以被耦合在基带处理器1205和天线1290之间。具体地,可以存在无线电频率(RF)收发器1270和无线局域网(WLAN)收发器1275。通常,RF收发器1270可以被用来根据给定的无线通信协议(例如,3G或4G无线通信协议(例如,根据码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)或其他协议))接收和发送无线数据和呼叫。另外,可以存在GPS传感器1280。还可以提供其他无线通信(例如,接收或发送无线电信号(例如,AM/FM和其他信号))。另外,经由WLAN收发器1275,还可以实现例如根据BluetoothTM标准或IEEE 802.11标准(例如,IEEE 802.11a/b/g/n)的无线通信。
现在参考图7,示出了实施例可以使用的另一示例系统的框图。在图7的示意图中,系统1300可以是移动低功率系统,例如,平板计算机、2:1平板、手机平板、或其他可转换式或独立的平板系统。如所示,存在SoC 1310,并且该SoC 1310可以被配置为作为设备的应用处理器进行操作。SoC 1310可以包括如本文所描述的低功率调试架构。
各种设备可以耦合到SoC 1310。在所示的示意图中,存储器子系统包括被耦合到SoC 1310的闪速存储器1340和DRAM 1345。另外,触控面板1320被耦合到SoC 1310,以通过触摸提供显示能力和用户输入,包括在触控面板1320的显示器上提供虚拟键盘。为了提供有线的网络连接,SoC 1310耦合于以太网接口1330。外围集线器1325被耦合到SoC 1310,以使能与各种外围设备的相接,例如,可以通过各种任意的端口或其他连接器被耦合到系统1300。
除了SoC 1310内的内部电源管理电路和功能以外,PMIC 1380被耦合到SoC 1310,从而例如基于系统是由电池1390供电还是由通过AC适配器1395的AC电源供电来提供基于平台的电源管理。除了该基于电源的电源管理以外,PMIC 1380还可以基于环境和使用条件执行平台电源管理活动。更进一步,PMIC 1380可以向SoC 1310传送控制和状态信息,从而在SoC 1310内引发各种电源管理行为。
仍参考图7,为了提供无线的能力,WLAN单元1350被耦合到SoC 1310,并且被耦合到天线1355。在各种实现方式中,WLAN单元1350可以根据一个或多个无线协议(包括IEEE802.11协议、BluetoothTM协议或任意其他无线协议)提供通信。
如进一步所示,多个传感器1360可以耦合到SoC 1310。这些传感器可以包括各种加速器、环境和其他传感器(包括用户手势传感器)。最终,音频编解码器1365被耦合到SoC1310,以向音频输出设备1370提供接口。当然应当理解的是,尽管在图7中示出了该特定的实现方式,但是许多变型或替代都是可能的。
下面转向图8,描绘了根据实施例的SoC设计的实施例。作为具体示意性的示例,SoC 2000被包括在用户设备(UE)中。在一个实施例中,UE指的是将由终端用户使用的任意设备,例如,可穿戴设备、手持电话、智能电话、平板、超薄笔记本、笔记本IoT设备,或任意其他类似设备。通常UE连接到基站或节点,其实质上与GSM网络中的移动站(MS)潜在地对应。
在此,SoC 2000包括核心2006和2007。与上述讨论类似,核心2006和2007可以符合指令集合架构,例如,基于
Figure BDA0002463487980000151
Architecture CoreTM的处理器、超微半导体股份有限公司(AMD)处理器、基于MIPS的处理器、基于ARM的处理器设计、或他们的客户以及他们的许可方或接管方。核心2006和2007被耦合到与总线接口单元2009和L2缓存2010相关联的缓存控制2008,从而与系统2000的其他部分进行通信。互连2010包括芯片上互连。
互连2010向其他组件(例如,调试单元2030)提供了通信信道,该调试单元2030可能具有如本文所描述的低功率架构。如所见,调试单元2030可以与多个芯片外连接相接。互连2010还耦合于启动ROM 2035以保存启动代码使其由核心2006和2007执行,从而初始化并启动SOC 2000;SDRAM控制器2040与外部存储器(例如,DRAM 2060)相接;闪存控制器2045与非易失性存储器(例如,闪存2065)相接;外围控制器2050(例如,串行外围接口)与外围设备相接;视频编解码器2020和视频接口2025经由MIPI或HDMI/DP接口中的一个接口来显示和接收输入(例如,触控使能输入);GPU 2015执行图形相关的计算等。
另外,系统示出了用于通信的外围设备,例如,蓝牙模块2070、3G调制解调器2075、GPS 2080、和WiFi 2085。系统中还包括电源控制器2055。
以下示例属于另外的实施例。
在一个示例中,装置包括:中央调试单元,该中央调试单元从多个源接收调试信号,该多个源包括至少一个硬件源、至少一个固件源、和至少一个软件源;跟踪合并单元,该跟踪合并单元从中央调试单元接收调试信号,并且具有仲裁逻辑以在来自多个源中的一个或多个源的调试信号和来自多个硬件单元的功能调试信号之间进行选择,该跟踪合并单元对所选择的调试信号或功能调试信号进行时间标记;并行跟踪接口,该并行跟踪接口接收经时间标记的所选择的调试信号或功能调试信号,并且对经时间标记的所选择的调试信号或功能调试信号进行并行化;串行跟踪接口,该串行跟踪接口接收经时间标记的所选择的调试信号或功能调试信号,并且对经时间标记的所选择的调试信号或功能调试信号进行串行化;以及选择单元,该选择单元从中央调试单元接收调试信号并从并行跟踪接口接收并行化的经时间标记的所选择的调试信号或功能调试信号,并在调试信号和并行化的经时间标记的所选择的调试信号或功能调试信号中选择一个用于在输出路径上输出,其中输出路径将从多个输出路径中被选择。
在示例中,该装置包括SoC,多个输出路径包括以下的一种或多种:通用输入/输出引脚的集合;微型安全数字引脚的集合;存储器互连的集合;以及至少一个通用串行总线引脚。选择单元可以被配置为当SoC被配置在具有封闭式机架的便携式设备内时在与微型安全数字引脚的集合相对应的输出路径上输出所选择的调试信号。
在示例中,该装置还包括分布式选择单元,该分布式选择单元具有:第一选择单元,该第一选择单元位于包括该装置的SoC的第一功能单元中;第二选择单元,其位于SoC的非核心逻辑中,该第二选择单元从包括所述第一选择单元的多个第一选择单元中接收输出;以及第三选择单元,该第三选择单元从包括所述第二选择单元的多个第二选择单元中接收输出,并向中央调试单元输出所选择的调试信号。
在示例中,该装置还包括跟踪收集单元,该跟踪收集单元被配置为经由SoC的测试接口接收跟踪控制信号,并且响应于跟踪控制信号,选择硬件跟踪信息、软件跟踪信息、和固件跟踪信息中的一个,用于从跟踪收集单元输出至中央调试单元。
在示例中,固件包括针对SoC的启动代码。
在示例中,该装置包括第一电源域和第二电源域,该第一电源域包括中央调试单元的第一部分,该第二电源域包括中央调试单元的第二部分,其中当SoC将以低功率模式进行操作时第一电源域将保持被上电并且第二电源域将被断电。
在示例中,中央调试单元的第一部分将接收并处理与低功率模式相关联的调试信号。
在示例中,该装置还包括熔断逻辑,该熔断逻辑被配置为在包括SoC的便携式设备的用户操作期间至少禁用中央调试单元的第一部分,其中熔断逻辑在SoC被包含于便携式设备之前被配置。该熔断逻辑可以被配置为将被重写,以在便携式设备的调试操作期间启用中央调试单元的第一部分。
在示例中,并行化的经时间标记的所选择的调试信号或功能调试信号与MIPI联盟系统跟踪协议相兼容。
在示例中,SoC被并入用户设备的触控使能设备中。
在另一示例中,系统包括显示器和存储器,并且包括上述示例的一个或多个示例中的装置。
在另一示例中,至少一个计算机可读介质包括指令,当该指令被执行时使得系统:配置处理器的调试电路以收集固件跟踪信息和硬件跟踪信息,该调试电路使得位于第一电源域的第一部分在包括处理器的平台开启时将被上电,并且使得位于第二电源域的第二部分在平台处于低功率状态时将被断电;在平台的预启动环境中,在调试电路中处理固件跟踪信息和硬件跟踪信息;以及将经处理的固件跟踪信息和经处理的硬件跟踪信息经由所选择的处理器的输出路径从处理器流送至耦合于平台的分析工具。
在示例中,至少一个计算机可读介质还包括指令,当该指令被执行时使得系统:基于经处理的固件跟踪信息和经处理的硬件跟踪信息的至少一者中的信息,响应于检测到错误来对错误检测事件进行时间标记。
在示例中,至少一个计算机可读介质还包括指令,当该指令被执行时启用预启动环境中的调试电路的第一部分,并且禁用预启动环境中的调试电路的第二部分。
在示例中,处理固件跟踪信息包括过滤、打包、和压缩固件跟踪信息中的一种或多种。
在另一示例中,SoC包括:至少一个核心,用于执行指令,该至少一个核心包括第一调试逻辑,用于提供关于至少一个核心的操作的第一功能调试信号;耦合于至少一个核心的非核心逻辑,用于执行非核心操作,该非核心逻辑包括第二调试逻辑,用于提供关于非核心逻辑的操作的第二功能调试信号;耦合于至少一个核心和非核心逻辑的中央调试单元,用于接收第一功能调试信号和第二功能调试信号,该中央调试单元还被配置为从至少一个固件源和至少一个软件源接收调试信息并输出经压缩的调试信息;跟踪合并单元,用于接收经压缩的调试信息并对经压缩的调试信息进行时间标记;以及输出单元,用于在多个输出路径中的一个输出路径上输出经时间标记的经压缩的调试信息,该一个输出路径将根据经由测试接口提供给SoC的配置来选择。
在示例中,该多个输出路径包括以下的一种或多种:通用输入/输出引脚的集合;微型安全数字引脚的集合;存储器互连的集合;以及至少一个串行引脚。
在示例中,SoC包括第一电源域和第二电源域,当包括SoC的平台开启时第一电源域保持被上电,并且当平台处于低功率状态时第二电源域将被断电,其中中央调试单元包括第一部分和第二部分,该第一部分被包括在第一电源域中,第二部分被包括在第二电源域中。
在示例中,SoC还包括熔断逻辑,该熔断逻辑被配置为在包括SoC的平台的用户操作期间禁用中央调试单元、跟踪合并单元、和输出单元,其中熔断逻辑将被重写,从而在平台的调试操作期间启用中央调试单元、跟踪合并单元、和输出单元的至少一个部分。
在示例中,中央调试单元包括以下中的至少一个:触发逻辑、过滤逻辑、打包逻辑、和压缩逻辑。
在示例中,并行跟踪接口被配置为接收经时间标记的经压缩的调试信息,并对经时间标记的经压缩的调试信息进行并行化。
在示例中,逻辑被配置为对并行化的经时间标记的经压缩的调试信息进行串行化,并经由串行输出路径输出串行化的经时间标记的经压缩的调试信息。该逻辑可以从跟踪合并单元经由串行输出路径输出经时间标记的经压缩的调试信息。
应当理解的是上述示例的各种组合都是可能的。
实施例可以被使用在许多不同类型的系统中。例如,在一个实施例中,通信设备可以被安排来执行本文描述的各种方法和技术。当然,本发明的范围不限于通信设备,并且替代的其他实施例可以针对其他类型的用于处理指令的装置,或包括指令的一个或多个机器可读介质,响应于在计算设备上执行该指令,使得设备实施本文描述的方法和技术中的一种或多种。
实施例可以用代码来实现,并且可以被存储在非暂态存储介质上(其上存储有指令),其可以被用来对系统进行编程以执行指令。存储介质可以包括但不限于:包括软盘、光盘、固态硬盘(SSD)、只读光盘存储器(CD-ROM)、可再写光盘(CD-RW)、和磁光盘的任意类型的磁盘;诸如只读存储器、随机存取存储器(RAM)(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦可编程只读存储器(EPROM)、闪速存储器、电可擦可编程只读存储器(EEPROM)之类的半导体设备、磁卡或光卡、或适用于存储电子指令的任意其他类型的媒体。
虽然已经关于有限数量的实施例描述了本发明,但是本领域技术人员将从中理解到许多修改和变化。其意味着覆盖所有这种修改和变化的附属权利要求都落在本发明的真实精神和范围内。

Claims (9)

1.一种用于执行调试操作的方法,包括:
配置处理器的调试电路以收集固件跟踪信息和硬件跟踪信息,所述调试电路使得位于第一电源域的第一部分在包括所述处理器的平台开启时将被上电,并且使得位于第二电源域的第二部分在所述平台处于低功率状态时将被断电;
在所述平台的预启动环境中,在所述调试电路中处理所述固件跟踪信息和所述硬件跟踪信息;以及
将经处理的固件跟踪信息和经处理的硬件跟踪信息经由所选择的所述处理器的输出路径从所述处理器流送至耦合于所述平台的分析工具。
2.如权利要求1所述的方法,还包括:基于经处理的固件跟踪信息和经处理的硬件跟踪信息的至少一者中的信息,响应于检测到错误来对错误检测事件进行时间标记。
3.如权利要求1所述的方法,还包括:启用所述预启动环境中的所述调试电路的所述第一部分,并且禁用所述预启动环境中的所述调试电路的所述第二部分。
4.如权利要求1所述的方法,其中,处理所述固件跟踪信息包括过滤、打包、和压缩所述固件跟踪信息中的一种或多种。
5.一种机器可读存储介质,包括机器可读指令,当所述机器可读指令被执行时,实现如权利要求1-4中任一项所要求的方法。
6.一种用于执行调试操作的设备,包括:
用于配置处理器的调试电路以收集固件跟踪信息和硬件跟踪信息的装置,所述调试电路使得位于第一电源域的第一部分在包括所述处理器的平台开启时将被上电,并且使得位于第二电源域的第二部分在所述平台处于低功率状态时将被断电;
用于在所述平台的预启动环境中,在所述调试电路中处理所述固件跟踪信息和所述硬件跟踪信息的装置;以及
用于将经处理的固件跟踪信息和经处理的硬件跟踪信息经由所选择的所述处理器的输出路径从所述处理器流送至耦合于所述平台的分析工具的装置。
7.如权利要求6所述的设备,还包括:用于基于经处理的固件跟踪信息和经处理的硬件跟踪信息的至少一者中的信息,响应于检测到错误来对错误检测事件进行时间标记的装置。
8.如权利要求6所述的设备,还包括:用于启用所述预启动环境中的所述调试电路的所述第一部分,并且禁用所述预启动环境中的所述调试电路的所述第二部分的装置。
9.如权利要求6所述的设备,其中,处理所述固件跟踪信息包括过滤、打包、和压缩所述固件跟踪信息中的一种或多种。
CN202010326725.5A 2014-09-12 2015-08-13 针对片上系统(soc)的低功率调试架构和系统 Pending CN111522745A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/484,427 2014-09-12
US14/484,427 US9753836B2 (en) 2014-09-12 2014-09-12 Low power debug architecture for system-on-chips (SoCs) and systems
CN201580041764.8A CN106575249B (zh) 2014-09-12 2015-08-13 针对片上系统(soc)和系统的低功率调试架构

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580041764.8A Division CN106575249B (zh) 2014-09-12 2015-08-13 针对片上系统(soc)和系统的低功率调试架构

Publications (1)

Publication Number Publication Date
CN111522745A true CN111522745A (zh) 2020-08-11

Family

ID=55454856

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010326725.5A Pending CN111522745A (zh) 2014-09-12 2015-08-13 针对片上系统(soc)的低功率调试架构和系统
CN201580041764.8A Active CN106575249B (zh) 2014-09-12 2015-08-13 针对片上系统(soc)和系统的低功率调试架构

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580041764.8A Active CN106575249B (zh) 2014-09-12 2015-08-13 针对片上系统(soc)和系统的低功率调试架构

Country Status (7)

Country Link
US (1) US9753836B2 (zh)
EP (1) EP3191965A4 (zh)
JP (1) JP6490803B2 (zh)
KR (1) KR102191815B1 (zh)
CN (2) CN111522745A (zh)
BR (1) BR112017002547A2 (zh)
WO (1) WO2016039924A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949431A (zh) * 2020-08-27 2020-11-17 英业达科技有限公司 片上系统产品的致命错误提供方法与致命错误识别方法
CN116502576A (zh) * 2023-06-26 2023-07-28 北京象帝先计算技术有限公司 指令流跟踪验证方法及调试系统

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091079B2 (en) * 2015-05-06 2018-10-02 Marvell World Trade Ltd. Apparatus and method for remotely testing memory-mapped devices of a system-on-chip via an ethernet interface
US9697013B2 (en) * 2015-06-10 2017-07-04 Dell Products, L.P. Systems and methods for providing technical support and exporting diagnostic data
GB2541216B (en) * 2015-08-12 2021-03-17 Ultrasoc Technologies Ltd Reconfiguring debug circuitry
US10054636B2 (en) * 2015-10-23 2018-08-21 Intel IP Corporation Device, system and method to support communication of test, debug or trace information with an external input/output interface
US9832006B1 (en) 2016-05-24 2017-11-28 Intel Corporation Method, apparatus and system for deskewing parallel interface links
US10372661B1 (en) 2017-02-28 2019-08-06 American Megatrends International, Llc Firmware debug trace capture using serial peripheral interface
US10824530B2 (en) * 2017-06-21 2020-11-03 Intel Corporation System, apparatus and method for non-intrusive platform telemetry reporting using an all-in-one connector
CN107273256A (zh) * 2017-06-22 2017-10-20 湖南国科微电子股份有限公司 一种Soc芯片的调试方法及系统
CN107704346B (zh) * 2017-08-08 2021-07-27 湖南国科微电子股份有限公司 Soc芯片调试方法及调试系统
US10606677B2 (en) * 2017-08-28 2020-03-31 American Megatrends International, Llc Method of retrieving debugging data in UEFI and computer system thereof
US10860332B2 (en) 2017-09-25 2020-12-08 Qualcomm Incorporated Multicore framework for use in pre-boot environment of a system-on-chip
US10962593B2 (en) 2018-04-03 2021-03-30 Samsung Electronics Co., Ltd. System on chip and operating method thereof
US10627881B2 (en) * 2018-04-12 2020-04-21 Qualcomm Incorporated Back power protection (BPP) in a system on a chip (SOC) with critical signaling scheme
KR102165747B1 (ko) * 2018-12-28 2020-10-14 성균관대학교산학협력단 보안성을 고려한 경량 크래시 리포트 기반 디버깅 방법
EP3891909A1 (en) 2019-02-19 2021-10-13 Siemens Industry Software Inc. Radio equipment test device
US10901871B2 (en) 2019-03-05 2021-01-26 Intel Corporation System, apparatus and method for dynamic multi-source tracing in a system
CN110149490A (zh) * 2019-06-14 2019-08-20 北京滴普科技有限公司 一种视频信号图像处理方法及系统
US20200285559A1 (en) * 2020-05-20 2020-09-10 Intel Corporation System, apparatus and method for dynamic tracing in a system having one or more virtualization environments
CN112052132B (zh) * 2020-09-11 2022-09-06 厦门紫光展锐科技有限公司 通过sdio接口调试外挂芯片的方法、装置、设备和介质
JP7506576B2 (ja) 2020-10-14 2024-06-26 シャープ株式会社 半導体装置
US11620176B2 (en) * 2021-07-15 2023-04-04 Beijing Tenafe Electronic Technology Co., Ltd. Visualization system for debug or performance analysis of SOC systems
US11544210B1 (en) 2021-07-15 2023-01-03 Beijing Tenafe Electronic Technology Co., Ltd. Collection of runtime information for debug and analysis
US11630502B2 (en) * 2021-07-30 2023-04-18 Advanced Micro Devices, Inc. Hierarchical state save and restore for device with varying power states
US11829312B2 (en) * 2021-12-31 2023-11-28 Snap Inc. Debug access of eyewear having multiple socs
CN115221070B (zh) * 2022-08-02 2023-06-20 无锡众星微系统技术有限公司 基于NVMe盘的片上系统诊断方法
CN117149694B (zh) * 2023-10-24 2024-02-23 南京芯驰半导体科技有限公司 基于多核异构的接口控制方法、装置及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3583937B2 (ja) * 1998-12-28 2004-11-04 富士通株式会社 情報処理装置
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US6560712B1 (en) 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
US6947884B2 (en) * 2000-03-02 2005-09-20 Texas Instruments Incorporated Scan interface with TDM feature for permitting signal overlay
US7003698B2 (en) 2002-06-29 2006-02-21 Intel Corporation Method and apparatus for transport of debug events between computer system components
JP2005301640A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd スイッチ装置、記憶制御システム及びトレースデータ取得方法
US7610482B1 (en) * 2006-06-28 2009-10-27 Qlogic, Corporation Method and system for managing boot trace information in host bus adapters
US8990633B2 (en) 2009-04-21 2015-03-24 Freescale Semiconductor, Inc. Tracing support for interconnect fabric
US8190931B2 (en) * 2009-04-30 2012-05-29 Texas Instruments Incorporated Power management events profiling
EP2362297B1 (en) 2010-02-25 2014-05-14 Telefonaktiebolaget L M Ericsson (publ) Technique for selecting a frequency of operation in a processor system
US20110239196A1 (en) * 2010-03-29 2011-09-29 Laurent Ichard Micro-Task Pipeline Visualization
US8826079B2 (en) * 2011-12-16 2014-09-02 Arm Limited Data processing apparatus and method for identifying debug events
US8924796B2 (en) * 2012-03-22 2014-12-30 Intel Mobile Communications GmbH System and method for processing trace information
GB2500074B (en) * 2012-07-09 2014-08-20 Ultrasoc Technologies Ltd Debug architecture
GB2500441B (en) * 2012-07-09 2014-03-05 Ultrasoc Technologies Ltd Data prioritisation in a debug architecture
US9009541B2 (en) * 2012-08-20 2015-04-14 Apple Inc. Efficient trace capture buffer management
US10146657B2 (en) * 2014-03-26 2018-12-04 Intel Corporation Initialization trace of a computing device
US9459985B2 (en) * 2014-03-28 2016-10-04 Intel Corporation Bios tracing using a hardware probe

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949431A (zh) * 2020-08-27 2020-11-17 英业达科技有限公司 片上系统产品的致命错误提供方法与致命错误识别方法
CN116502576A (zh) * 2023-06-26 2023-07-28 北京象帝先计算技术有限公司 指令流跟踪验证方法及调试系统
CN116502576B (zh) * 2023-06-26 2023-10-20 北京象帝先计算技术有限公司 指令流跟踪验证方法及调试系统

Also Published As

Publication number Publication date
KR102191815B1 (ko) 2020-12-16
EP3191965A1 (en) 2017-07-19
US9753836B2 (en) 2017-09-05
KR20170028995A (ko) 2017-03-14
EP3191965A4 (en) 2019-01-09
BR112017002547A2 (pt) 2017-12-05
US20160077905A1 (en) 2016-03-17
WO2016039924A1 (en) 2016-03-17
JP2017530464A (ja) 2017-10-12
CN106575249B (zh) 2020-05-26
CN106575249A (zh) 2017-04-19
JP6490803B2 (ja) 2019-03-27

Similar Documents

Publication Publication Date Title
CN106575249B (zh) 针对片上系统(soc)和系统的低功率调试架构
EP3272072B1 (en) Method, apparatus and system for dynamic bandwidth management in systems
EP3234789B1 (en) Apparatus and system for integrating devices in a root complex
US9652252B1 (en) System and method for power based selection of boot images
US8782456B2 (en) Dynamic and idle power reduction sequence using recombinant clock and power gating
US11204857B2 (en) Integrated circuit and application processor
US20170286254A1 (en) Method and apparatus for using target or unit under test (uut) as debugger
US10824530B2 (en) System, apparatus and method for non-intrusive platform telemetry reporting using an all-in-one connector
US9684578B2 (en) Embedded universal serial bus (USB) debug (EUD) for multi-interfaced debugging in electronic systems
US20120266029A1 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
US9372768B2 (en) Debug interface
US9619011B2 (en) System on chip for debugging a cluster regardless of power state of the cluster, method of operating the same, and system having the same
US9935637B2 (en) Systems and methods for FPGA development and operation
US9298587B2 (en) Integrated circuit including clock controlled debugging circuit and system-on-chip including the same
KR20130050383A (ko) 시스템 온 칩 내에 독립 로직 블록의 통합
US11257560B2 (en) Test architecture for die to die interconnect for three dimensional integrated circuits
US11933843B2 (en) Techniques to enable integrated circuit debug across low power states
JP2007264822A (ja) マイクロプロセッサシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination