CN103140769A - 包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及其方法 - Google Patents

包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及其方法 Download PDF

Info

Publication number
CN103140769A
CN103140769A CN2011800415964A CN201180041596A CN103140769A CN 103140769 A CN103140769 A CN 103140769A CN 2011800415964 A CN2011800415964 A CN 2011800415964A CN 201180041596 A CN201180041596 A CN 201180041596A CN 103140769 A CN103140769 A CN 103140769A
Authority
CN
China
Prior art keywords
module
analysis instrument
input end
logic analysis
signals
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.)
Granted
Application number
CN2011800415964A
Other languages
English (en)
Other versions
CN103140769B (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.)
Lexmark International Inc
Original Assignee
Lexmark International Inc
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 Lexmark International Inc filed Critical Lexmark International Inc
Publication of CN103140769A publication Critical patent/CN103140769A/zh
Application granted granted Critical
Publication of CN103140769B publication Critical patent/CN103140769B/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/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/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • 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
    • 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
    • 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/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Logic Circuits (AREA)
  • Debugging And Monitoring (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

一种包括具有增强的分析和调试能力的逻辑分析仪的集成电路及用于其的方法。在本发明的一个实施方案中,嵌入式逻辑分析仪(ELA)从集成电路(IC)内的多个总线接收多个信号。ELA包括互连模块,以从多个接收信号中选择触发信号和/或采样信号。触发模块设置至少一个触发条件并探测触发信号是否满足至少一个触发条件。当满足触发条件时,输出模块基于所满足的至少一个触发条件执行至少一个任务。如果输出模块发起采样过程,多个采样信号被采样并可以被存储在存储器中。输出模块执行多个用户定义的任务的能力增强了ELA的调试能力,并使其具有更多用途。

Description

包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及其方法
相关申请的交叉引用
根据37 C.F.R.§1.78,本申请是于2009年8月18日提交的题为“包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路电路及其方法”的申请号为12/542976的部分继续申请且要求该申请的较早提交日期的权益,因此,其全部内容通过引用的方式并入本文。
背景
1.发明领域
本发明一般涉及嵌入式逻辑分析仪,特别是涉及用于分析电子电路的可编程嵌入式逻辑分析仪。
2.背景技术的说明
逻辑分析仪是用来捕获和显示电子电路的数据信号的电子装置。通常,逻辑分析仪捕获太快而不能被用户观察到的数据信号。用户观察由逻辑分析仪捕获的数据信号,以有效地分析电子电路并基于分析采取先发制人的行动或调试。
逻辑分析仪大致可划分为外部逻辑分析仪和嵌入式逻辑分析仪。嵌入式逻辑分析仪通常被包括在可编程的逻辑器件或集成电路(IC)中,例如,复杂可编程逻辑器件(CPLD),现场可编程门阵列(FPGA),专用集成电路(ASIC)等。嵌入式逻辑分析仪能够捕获IC内的大量高速数据信号。
嵌入式逻辑分析仪可以包括存储器,用于存储所捕获的数据信号。通常,嵌入式逻辑分析仪是可编程的,以捕获和存储由用户指定的数据信号。由嵌入式逻辑分析仪所存储的数据信号可被转移到计算机,用于进一步分析。数据信号通常通过设置在IC上的接口被传输到计算机。
图1是被包括在集成电路(未示出)内的传统的嵌入式逻辑分析仪(ELA)100的方框图,ELA 100包括互连模块110,来接收集成电路内的多个数据信号。互连模块110是可编程的,以从多个接收信号中选择多个待采样的信号和至少一个触发信号,以使采样能够进行。至少一个触发信号被传输到触发模块120。触发模块120是可编程的,以设置触发条件,并探测至少一个触发信号是否满足触发条件。如果触发条件被满足时,触发模块120启动采样过程。采样过程启动后,存储控制器130开始将来自互连模块110的要采样的多个信号采样。采样信号可以被存储在存储器140中,用于进一步的分析。因此,ELA100操作来执行下面给出的代码:
IF(<TRIGGER CONDITION(触发条件)>THEN(SAMPLE SIGNALS(信号采样)(X)),
其中TRIGGER CONDITION是任何逻辑操作或逻辑操作系列,以及SIGNALS(X)是来自互连模块110的要采样的多个信号。根据由ELA100所执行的代码,当满足触发条件时,ELA100采样至少一个采样信号并将采样信号存储在存储器140中。
然而,传统的ELA被限制在当触发条件被满足时采样。此外,传统的ELA不捕获、分析,和/或调试IC内的软件数据或固件数据信号,以及额外的装置可能是必要的,以分析这些类型的数据。另外,为了编程ELA或分析在ELA内存储的数据,用户被要求出现在安装ELA的工作站。
因此将可取的是,提供具有增强的分析和调试能力的ELA,以避免上述的问题。
发明内容
本发明的示例性实施方案克服了已知的逻辑分析仪中的缺点,从而满足用于有效地测试和调试系统的机制的重要需求。根据示例性实施方案,公开了包括逻辑分析仪和第一模块的集成电路,该逻辑分析仪具有接收多个信号的第一输入和用于提供出现在第一输入的信号的选定样本的第一输出;该第一模块具有第一输入和输出,所述第一输入耦合到逻辑分析仪,用于接收出现在其第一输入的一个或多个信号,所述输出耦合到逻辑分析仪用于根据预定的功能,直接向其提供基于第一模块的第一输入处的一个或多个信号的不同组的一个或多个信号,所述预定的功能可被配置。通过提供基于出现在逻辑分析仪的第一输入的一个或多个信号的不同的信号组到逻辑分析仪,第一模块在能够有效地执行系统级和子系统级的测试和调试操作方面提供了增加的灵活性。
根据另外的示例性实施方案,其中公开了包括集成电路的系统,所述集成电路具有嵌入式逻辑分析仪块和模块,所述嵌入式逻辑分析仪块具有用于接收多个信号的输入和用于部分地基于所述多个信号来探测事件发生的触发事件块;所述模块耦合到嵌入式逻辑分析仪并具有基于对事件发生的探测的输出,该输出被提供到嵌入式逻辑分析仪用于采样或存储在其中。通过将基于事件的探测或发生的输出提供到嵌入式逻辑分析仪以用于采样或存储,所述模块有利地允许用于采样和存储系统数据的更加有效的机制。
本发明的其它特征和优点将在如下的详细描述中被列出,并且对于本领域的技术人员来说,通过如本文所描述的内容,包括下文的详细描述、权利要求,以及所附的附图,来实施本发明,这些其他特征和优点将是部分地明显的。
应该理解的是,本发明的给出的实施方案的前面的一般描述和下面的详细描述旨在提供用于理解如所要求的本发明的性质和特性的概述或框架。附图被包括以提供本发明的进一步理解,并且被纳入并构成本说明书的部分。附图示出了本发明的各种实施方案,并与说明书一起用于解释本发明的原理和操作。
附图的详细说明
本发明的各种实施方案的上述的和其他的特点和优点,以及实现它们的方式,通过参考附图将变得更加明显并被更好地理解,其中:
图1是常规的嵌入式逻辑分析仪的框图;
图2是包括根据本发明的逻辑分析仪的集成电路的一个实施方案的框图;
图3是嵌入图2的集成电路的装置的框图;
图4是示出了将远程主机耦合到图2的集成电路的网络接入设备的框图。
图5是示出了将软信号提供给包括在图2的集成电路上的逻辑分析仪的接口的框图。
图6是示出了被配置来将软信号提供给根据本发明的图1的逻辑分析仪的接口的框图;
图7是示出了与包括在图2的集成电路内的逻辑分析仪通信的处理器的框图。
图8是示出了被执行来捕获根据本发明的图2的集成电路内的软件信号的操作的流程图;
图9是示出了具有根据本发明的示例性实施方案的集成电路的系统的框图;
图10是示出了具有根据本发明的示例性实施方案的集成电路的系统的框图;和
图11是示出了具有根据本发明的示例性实施方案的集成电路的系统的框图。
详细说明
现在将详细参考如在附图中所示出的本发明的示例性实施方案。在可能的情况下,相同的参考标记将在整个附图中被用来指示相同的或类似的部件。
本发明是针对包括在集成电路中的具有增强的分析和调试能力的可编程嵌入式逻辑分析仪。图2示出了设在集成电路(IC)260上的嵌入式逻辑分析仪(ELA)200的一个实施方案。ELA200包括互连模块210,其是可编程的,以选择IC260内的多个候选信号中的至少一个。由互连模块210选择的多个候选信号可包括至少一个触发信号和/或至少一个要被采样的信号(即,采样信号)。互连模块210发送至少一个触发信号到触发模块220。触发模块220探测至少一个触发信号是否满足由用户指定的至少一个触发条件。如果触发条件被满足,输出模块230执行至少一个任务。举例来说,输出模块230可以修改IC260内的至少一个信号。
IC260包括携带多个候选信号的多个总线265。多个信号包括至少一个采样信号和至少一个触发信号。互连模块210从多个总线265接收多个信号。互连模块210是可编程的,以从多个接收信号中选择至少一个采样信号和/或至少一个触发信号。本质上,互连模块210选择由用户指定的采样信号和/或触发信号。在一个实施方案中,互连模块210可以是多路转换器。
互连模块210将触发信号发送到触发模块220。触发模块220是可编程的,以设置触发条件。触发条件可以是单一的逻辑操作(例如,简单事件)或一系列的逻辑操作(例如,由有限状态机执行的复杂的事件系列)。触发模块220探测触发信号是否满足至少一个触发条件。如果触发条件被满足,触发模块220将信息提供到输出模块230。
输出模块230基于、响应于或作为满足至少一个触发条件的结果执行来自一组任务的至少一个任务。该组任务可包括修改多个接收信号中的至少一个信号,修改至少一个触发条件,及启动采样过程。在一个实施方案中,输出模块230是现场可编程门阵列。
如果输出模块230启动采样过程,采样控制器240开始采样来自互连模块210的采样信号。由采样控制器240所采样的采样信号可被存储在存储器250中。存储在存储器250中的信号可被传输到计算机(未示出)进行分析。该信号可通过例如USB端口的通信端口280被传输到计算机。然后,传输到计算机的信号可以由用户分析。
虽然图2示出了存储器250存在于ELA200内,将由本领域的普通技术人员理解的是,在另外的实施方案中,存储器可以是集成电路260上的单独的组件。在又一另外的实施方案中,存储器可以位于与集成电路260分开的位置,只要其仍通信地耦合到ELA。信号分析后,嵌入IC260的装置300内的至少一个动作,如图3所示,可以基于分析通过配置或编程输出模块230来执行,以执行特定的任务。例如,用户可调试错误或故障,或纠正装置300的组件的动作。因此,该装置300可以被更有效地诊断,以确保装置300的正常运行。在一个实施方案中,该装置300可以是如打印机、扫描仪的成像设备,或具有打印、扫描、传真和/或复制的功能的多功能设备。
输出模块230可以基于、响应于满足的触发条件,或作为满足的触发条件的结果,被编程或配置来修改至少一个信号。如果满足的触发条件指示了错误,输出模块230可以修改由ELA200接收的多个信号中的至少一个信号,以更正指示的错误。例如,如果对于装置300的无差错操作而言,信号的“X”的值是30,以及如果触发条件X≠30被满足时,输出模块230修改信号X的值,以将信号的值带到30,用于装置300的无差错操作。
输出模块230也可以指示控制器270(在图2中所示)来修改由ELA200接收的多个信号中的至少一个信号,以纠正指示的错误。举例来说,如果调节马达速度的脉冲宽度调制器(PWM)被探测到被卡住,输出模块230可指示控制器270关闭PWM,因此防止损坏马达。输出模块230也能够停止直接存储器存取(DMA)操作。此外,如果需要,输出模块230可以修改触发条件。输出模块230的这些能力很大地提高了ELA200的调试能力。因此,ELA200通常执行以下给出的代码:
IF(<CONDITION(条件)>)THEN(<ACTION(S)(动作)>)
其中ACTION(S)是由输出模块或控制器执行的上述动作中的至少任何一个,以及CONDITION是由用户设置的触发条件。
在如图4所示的一个实施方案中,IC260包括网络接入设备400。网络接入设备400通信地耦合到ELA200,并直接地或通过网络连接到远程主机410。连接可以包括有线连接和/或无线连接,并且网络可以是因特网、局域网、广域网或城域网。远程主机410能够编程IC260内的ELA200。远程主机410还能够分析存储在存储器中的采样信号。远程主机410通过网络接入设备400访问ELA200。
ELA200可被编程以自动地和周期性地将存储的采样信号发送到远程主机410,以用于分析。例如,嵌入在打印机内的ELA200可被编程,以自动地和周期性地将编码信号发送到远程主机410。编码信号指示打印机内的马达的运转。如果确定编码信号被衰减或进入坏的状态,远程用户可提供指令来维修打印机。在一个实施方案中,ELA200被编程为,如果从远程主机410接收该指令或命令,便将存储的数据信号传输到远程主机410。
在如图5所示的另外的实施方案中,IC260包括中央处理单元(CPU)500。CPU 500提供了多个数据信号到ELA 200。数据信号可以是硬件、软件或固件信号。数据信号通过接口从CPU500提供到ELA200。接口可通信地耦合到CPU500和ELA200。接口包括存储介质510和多个通信线路(1-n)。多个通信线路被可通信地耦合到CPU500和存储介质510。多个通信线路(1-n)被配置来将多个数据信号从CPU500提供到存储介质510。存储介质510被配置来存储多个数据信号。
多个数据信号中的每个数据信号与数据字段和地址字段相关。数据字段提供要被存储的数据信号的值以及地址字段指定数据信号在存储介质510中存储的位置。存储介质510包括多个存储位置。多个存储位置中的每个都具有唯一的地址。存储在存储介质510中的多个数据信号通过IC260上的多个总线被提供到互连模块210。本质上,存储介质510与IC260上的多个总线进行电通信,以将所存储的数据信号提供到互连模块210。
提供到互连模块210的存储的数据信号包括硬件、软件和/或固件数据信号。数据信号包括多个采样信号和至少一个触发信号。互连模块210从多个接收的数据信号中选择多个采样信号和至少一个触发信号。触发信号被提供到触发模块220。触发模块220探测触发信号是否满足至少一个触发条件。如果触发条件被满足,采样控制器240采样来自互连模块210的多个采样信号。多个采样信号被存储在存储器250中。多个存储的信号连同其它存储的信号被传输到计算机用于分析。因此,可以在计算机上同时分析软件、硬件和/或固件信号。
在另外的实施方案中,如图6中所示,接口即多个通信线路(1-n)且存储介质510被设在IC600上。IC600包括图1的ELA100和CPU610。CPU610将多个数据信号提供到ELA100。多个数据信号包括至少一个软件或固件数据信号。通过多个通信线路(1-n)和存储介质510,从CPU610将多个数据信号提供到ELA100。多个通信线路(1-n)被配置来将多个数据信号从CPU610提供到存储介质510。存储介质510被配置来存储多个数据信号。存储在存储介质510中的数据信号通过IC600上的多个总线被提供到互连模块110。本质上,存储介质510与IC600上的多个总线电通信,以将所存储的数据信号提供到互连模块110。
在又一另外的实施方案中,如图7中所示,ELA100被设在包括处理器710的IC700上。处理器710从IC700上的多个总线接收多个信号。该信号可以是IC700内的硬件、软件和/或固件信号(箭头A所示)的任何组合。处理器710可通信地耦合到设在IC700上的ELA100。更具体地,处理器710可通信地耦合到ELA100的触发模块120。
在可替代的实施方案中,IC700可被通信地耦合到图2的ELA200。在本实施方案中,处理器710从触发模块220接收至少一个触发信号,以探测是否满足至少一个触发条件。如果满足至少一个触发条件,处理器710修改由处理器710接收的多个数据信号中的至少一个信号。处理器710也可编程,以当满足至少一个触发条件时,修改触发模块220中的至少一个触发条件。处理器710通过设在IC700处的接口720是可编程的。
IC700可包括网络接入设备400。网络接入设备400将IC700通信地耦合到远程主机410。远程主机410可以编程设在IC700上的ELA100。远程主机410还可以分析存储在ELA100中的采样信号。因此,远程主机410可以诊断嵌入ELA100和网络接入设备400的装置730。
图8是示出了用于捕获IC260内的软件信号或事件的方法的流程图。在块800,设在IC260上的CPU500将多个软件信号提供到,存储介质510。存储介质被配置来存储多个软件信号(块805)。在块810,存储介质510将所存储的软件信号发送到ELA200的互连模块210。互连模块210被编程以从多个接收到的软件信号中选择进行采样的多个软件信号(块815)。互连模块210也被编程来从多个接收到的软件信号中选择至少一个软件触发信号(块820)。用户在触发模块220中设置用于软件事件的至少一个触发条件(块825)。触发模块220探测至少一个软件触发信号是否满足所设置的触发条件(块830)。如果满足触发条件,触发模块220在块835处启动采样过程。否则,触发模块重复探测满足的所设的触发条件。
在启动采样过程中,采样控制器240采样来自互连模块210的要被采样的多个软件信号(块840)。采样的软件信号然后可以在块845处被存储在存储器250中。所存储的软件信号也可以被传输到计算机,用于通过运行在计算机上的程序或由用户进行分析。
将被本领域中的普通技术人员理解的是,本发明并不限于软件信号。而如硬件和固件的其它信号,可代替软件信号被捕获和/或与软件信号结合被捕获。
图9示出了根据本发明的另外的实施方案的系统集成电路900。集成电路900可以设在具有多个模块M的系统905中。集成电路900可以包括如上所述的具有互连模块210、触发模块220、存储控制器240和存储器250的嵌入式逻辑分析仪902。嵌入式逻辑分析仪902可以与系统模块M耦合,使嵌入式逻辑分析仪902可以被用来有效地测试或调试它被设在其中的系统905。
进一步理解的是,短语“测试”和“调试”旨在包括这些通常在开发、测试、调试、系统分析和系统及其系统模块M的现场监测以及维修期间执行的操作,并不旨在被限制到从设计贯穿系统使用寿命的系统活动的仅一个阶段或时间段。
集成电路900还可以包括自定义块904,其接收与嵌入式逻辑分析仪902相关联的一个或多个信号。特别是,自定义块904可以接收作为输入的从系统的其它模块M被提供到嵌入式逻辑分析仪902的一个或多个信号。该信号可以包括可以由嵌入式逻辑分析仪902采样或事件触发的信号。自定义块904可以在其输出产生基于一个或多个接收到的输入信号的一个或多个输出信号,并将其反馈到嵌入式逻辑分析仪902,用于采样或触发。通过为嵌入式逻辑分析仪902提供基于与嵌入式逻辑分析仪902相关的信号的、用于采样和/或事件触发的一个或多个附加的信号,嵌入式逻辑分析仪902可以更有效地调试集成电路900被设在其中的系统。
自定义块904可包括电路,所述电路是专用于可使用嵌入式逻辑分析仪902测试和/或调试的系统和/或系统模块M。在本发明的示例性实施方案中,自定义块904可以被配置,使得由其产生的信号可以是可配置的。具有可配置的自定义块904,有利地允许用于测试和/或调试各种各样的系统模块M和由其产生的系统信号的足够的灵活性。自定义块904可以被实现为FPGA或CPLD。可选地,自定义块904可以通过具有被耦合到其上,用于存储由处理器执行的代码的存储器的处理器来实现。通过具有可被访问用于加载不同代码的存储器,自定义模块904可以提供足够的灵活性,以测试和/或调试相当大数量的不同的系统模块M。在又一可替代形式中,自定义块904可包括状态机电路,所述状态机电路部分通过编程和/或将信息存储到位于状态机中或与状态机相关联的寄存器中可编程。应理解的是,自定义块904可以以任何数目的方式被实现,来提供可配置的功能和信号产生。
如图9中所示,自定义块904可接收被提供给嵌入式逻辑分析仪902的一个或多个信号。提供到嵌入式逻辑分析仪902的该信号可以通过将自定义块904的一个或多个输入直接耦合到嵌入式逻辑分析仪902的一个或多个输入而由自定义块904接收。除此之外或可选的是,如图9中虚线所示,提供给嵌入式逻辑分析仪的该信号可通过将自定义块904的一个或多个输入直接耦合到触发事件和/或被采样的互连模块210的一个或多个输出而由自定义块904接收。还如在图9中所示,自定义块904的输出可以为嵌入式逻辑分析仪902提供用于事件触发或采样的一个或多个输出信号902。该一个或多个输出信号可以通过将自定义块904的输出直接耦合到嵌入式逻辑分析仪902的输入,被提供到嵌入式逻辑分析仪902。另外的或可选的是,如在图9中的虚线所示,该一个或多个输出信号,可以通过将自定义块904的输出直接耦合到触发模块220的输入和/或存储控制器240的输入而被提供到嵌入式逻辑分析仪902。
集成电路900还可包括可被用于访问自定义块904和嵌入式逻辑分析仪902的接口906。特别是,接口906可以提供与网络上的如远程主机(未示出)的网络设备的有线或无线的连接。接口906可在网络设备和集成电路900中的各种块包括嵌入式逻辑分析仪902和自定义块904之间提供必要的接口。嵌入式逻辑分析仪902,并且特别是互连模块210和触发模块220,可以使用接口906被控制、配置和/或编程。此外,由嵌入式逻辑分析仪902采样的数据可被经由接口906下载到网络设备用于分析。
如上所述,自定义块904可以被使用接口906访问。例如,如果自定义块904是可配置的和/或可编程的,自定义块904可以由网络设备使用接口906配置,以生成被调整适于被测试或调试的特定的系统模块M的一个或多个输出信号。另外的或可选的是,自定义块904可在测试或调试系统期间使用接口906由远程主机控制。结果是,自定义块904可以在系统级测试或调试期间的运行时间被配置。
图9示出了自定义块904与集成电路900中的嵌入式逻辑分析仪902分开。应当理解的是,可选地,自定义块904可以位于集成电路900中的嵌入式逻辑分析仪902内,并耦合到如上所述的互连模块100、触发模块220和存储控制器240。
图10示出了根据本发明的另外的示例性实施方案的系统905的集成电路910。如上文参照图9所述的,集成电路910可以包括嵌入式逻辑分析仪902,其具有互连模块210、触发模块220、存储控制器240和存储器250。集成电路910还可以包括自定义块920,所述自定义块920用于基于提供到嵌入式逻辑分析仪902和/或在嵌入式逻辑分析仪902内产生的信号,产生用于由嵌入式逻辑分析仪902采样或事件触发的一个或多个信号。
如图9中的自定义块图904。自定义块920被耦合到嵌入式逻辑分析仪902,以接收提供给嵌入式逻辑分析仪902的作为输入的一个或多个信号。像自定义块904一样,自定义块920,可以基于被提供到嵌入式逻辑分析仪902、触发模块220(用于事件触发)和/或存储控制器240(用于选择性采样)的一个或多个接收到的输入信号产生一个或多个输出信号。类似于自定义块904,自定义块920可以包括专用于能够由嵌入式逻辑分析仪902测试或调试的系统模块M的电路。在一个实施方案中,由自定义块920执行的产生一个或多个输出信号的功能可以使用FPGA或CPLD电路、执行下载测试/调试代码的处理器、状态机电路等来配置和/或编程。接口906可被耦合到自定义块920,用于提供到其中的访问,使得自定义块可使用如主机设备的网络设备被控制、配置和/或编程。
此外,自定义块920可以接收由触发模块220所产生的一个或多个信号作为输入。特别是,由触发模块220产生的、表示至少一个事件的探测的一个或多个触发信号可以被提供作为到自定义块920的输入。自定义块920产生的一个或多个输出信号可基于由触发模块220所产生的一个或多个触发信号。以这种方式,自定义块920产生的输出信号可以基于由在测试或调试中的系统模块M产生的信号以及在测试或调试期间的运行时间被定义和执行的动作被定义。
例如,由嵌入式逻辑分析仪902的触发模块220所产生,并被提供到自定义块920的触发信号可用于启动自定义块920内的信号产生电路。在一个实施方案中,自定义块920可以被配置,或以其他方式编程作为累加器,以计数事件的数量,如由直接存储器存取(DMA)系统模块从存储器读出的字的数量。在系统的测试或调试中,相应地选择DMA模块,使用接口906以监测和控制、编程和/或配置触发模块220。来配置触发模块220的触发程序可包括用来触发累加的动作。在探测被提供到触发模块220的一个或多个信号的状态时,由触发模块220产生触发信号表示了状态的探测情况,并使自定义块920内被配置的累加器开始累加。
触发模块220还可以经由被用来启动自定义块920的相同的触发信号或不同的触发信号,在自定义块920启动后将其禁用。用于禁用的信号可以由电路驱动,所述电路可以被配置和/或编程和探测关于由触发模块220接收的一个或多个信号的至少一个触发事件的发生。如果自定义块920被配置为累加器,在禁用后,累加器的输出被提供到嵌入式逻辑分析仪902的输入,用来由存储控制器240选择性采样或由触发模块220事件触发。通过控制自定义块920内的累加器函数以仅在用户指定的触发事件时累加,并将累加的结果提供给嵌入式逻辑分析仪902,这与其它情况下的为了计数由DMA系统模块读取的字的数量所需要的存储器相比,需要相对少的存储器来存储累加器函数的输出的采样值。
像由触发模块220监测的任何其它触发事件一样,用于控制、启动和/或禁用自定义块902的触发事件的细节可以在测试或调试期间的运行时间被配置或编程。用于禁用自定义块920的触发事件,例如,可以部分地基于其启动后失效的预定的时间期间,其中预定的时间期间被配置,或以其它方式在运行时间内编程。要理解的是,虽然该触发事件可以基于触发模块220内定义的许多功能或操作中的任意一个,并基于从其接收的一个或多个信号。
要理解的是,自定义块904和920可以用在相同的集成电路芯片。图11示出根据本发明的示例性实施方案的系统905的该集成电路940,其包括自定义块904和920。还要理解的是,集成电路可包括多于一个的自定义块904和/或多于一个的自定义块920。关于在单一的集成电路芯片内包括多于一个的自定义块920,每个自定义块920可在其输入端接收来自触发模块220的一个或多个信号。由每个自定义块920从触发模块220接收的一个或多个信号,相对于由其它自定义块920接收的一个或多个信号可以是不同的。此外,每个自定义块920可以由主机设备使用接口906单独地被编程和/或配置。
要了解的是,集成电路900、910和940可以被用在可能受益于嵌入式机制以有助于有效地测试和调试系统和其系统模块M的几乎任何系统。例如,打印机、一体式打印设备,或多功能打印机可能包括集成电路900。
使用自定义块904和920已被发现大幅减少用于存储由嵌入式逻辑分析仪902采样的信号所需的内存。比如,打印机或其他成像设备可包括用于为打印机的打印头提供用于整个打印作业的打印数据的串行接口,这可能需要千兆字节的存储。如果希望知道打印头中的特定喷嘴喷射的次数,自定义块904或920可以被配置来接收来自串行接口的信号,并产生指示特定喷嘴喷射的信号,而没有打印头的任何其它喷嘴的任何信息。所产生的信号可以被提供作为到嵌入式逻辑分析仪902的输入,用于在测试/调试期间选择性地采样。自定义生成的信号的采样和在存储器中的存储被视为,只占用千字节的存储器,显著低于采样和保存整个串行接口所需的存储量。
用于测试和调试系统的机制可包括,除了自定义块904和920外,还包括用来与嵌入式逻辑分析仪902和自定义块904和920通信的软件。该软件为用户提供了选择用于该块的系统内选项和在系统综合和/或集成之后(如在系统测试和调试期间的运行时间)的控制或以其它方式对其进行编程的能力。软件,包括用户界面,其提供了经由接口906与嵌入式逻辑分析仪902及块904和920的通信。该软件可被用于在远程设备接收由嵌入式逻辑分析仪902采样并存储的数据,并将信号显示给远程设备用户。
对于本领域的技术人员显然的是,可以在不脱离本发明的精神和范围的情况下对本发明做出不同的修改和变化。例如,应当理解的是,嵌入式逻辑分析仪902可包括位于图2的嵌入式逻辑分析仪200中的输出模块230和控制器270。另外的或可选的是,集成电路900、910和940可包括如图5和6中所示的耦合到嵌入式逻辑分析仪902的CPU500和存储介质510。集成电路900、910和940还可以包括如在图7中所示的耦合到触发模块220的处理器710。因此,本发明旨在覆盖落入所附权利要求及其等同物的范围内的本发明的修改和变化。

Claims (20)

1.一种装置,其包括:
集成电路,包括:
逻辑分析仪电路,所述逻辑分析仪电路具有接收多个信号的第一输入端,和用于提供出现在所述第一输入端处的所述多个信号的选定样本的第一输出端;以及
第一模块,所述第一模块具有第一输入端和输出端,所述第一模块的所述第一输入端耦合到所述逻辑分析仪电路,用于接收出现在所述逻辑分析仪电路的所述第一输入端处的所述多个信号中的一个或多个,所述第一模块的所述输出端耦合到所述逻辑分析仪电路、用于根据预定功能,直接向所述逻辑分析仪电路提供不同组的一个或多个信号,所述不同组的一个或多个信号基于所述第一模块的所述第一输入端处的一个或多个信号,所述预定功能是可配置的。
2.根据权利要求1所述的装置,其中所述逻辑分析仪电路包括第二输出端,用于提供通过所述逻辑分析仪电路对至少一个触发事件的探测的指示,其中所述第一模块包括耦合到所述逻辑分析仪电路的所述第二输出端的第二输入端,以及其中所述第一模块的所述输出端选择性地基于在所述第一模块的所述第一输入端和所述第二输入端处接收到的信号。
3.如权利要求2所述的装置,其中所述第一模块可以被配置为累加器,所述累加器由所述逻辑分析仪电路的所述第二输出端启动。
4.如权利要求2所述的装置,其中所述第一模块可以被配置来执行由所述逻辑分析仪电路的所述第二输出端启动的功能。
5.如权利要求1所述的装置,其中所述逻辑分析仪电路包括耦合到所述逻辑分析仪电路的所述第一输入端的多路转换器块和耦合到所述输入多路转换器块的输出端用于探测至少一个触发事件的触发事件块,其中所述不同组的一个或多个信号被提供到所述触发事件块的输入端。
6.如权利要求1所述的装置,其中所述逻辑分析仪电路包括用于选择性地采样出现在所述逻辑分析仪电路的所述第一输入端和所述第一模块的所述输出端处的信号的输出控制块。
7.如权利要求1所述的装置,其中所述第一模块包括现场可编程电路。
8.如权利要求1所述的装置,其中所述逻辑分析仪电路包括输入多路转换器块,所述输入多路转换器块具有耦合到所述逻辑分析仪电路的所述第一输入端的第一输入端和耦合到所述第一模块的所述第一输出端的第二输入端。
9.如权利要求1所述的装置,其中由所述第一模块提供到所述逻辑分析仪电路的所述不同组的一个或多个信号可用于由所述逻辑分析仪电路进行选择性地采样和选择性地探测触发事件这两者中的至少一个。
10.一种集成电路,其包括:
逻辑分析仪电路,所述逻辑分析仪电路具有接收多个信号的第一输入端和用于提供出现在所述第一输入端的所述多个信号的选定样本的第一输出端;
第一模块,所述第一模块具有第一输入端和输出端,所述第一模块的所述第一输入端耦合到所述逻辑分析仪电路,用于接收出现在所述逻辑分析仪电路的所述第一输入端处的所述多个信号中的一个或多个,所述第一模块的所述输出端耦合到所述逻辑分析仪电路,用于根据预定功能,直接向所述逻辑分析仪电路提供不同组的一个或多个信号,所述不同组的一个或多个信号基于所述第一模块的所述第一输入端处的一个或多个信号,所述预定功能是可配置的。
11.如权利要求1所述的集成电路,其中所述逻辑分析仪电路包括第二输出端,用于提供由所述逻辑分析仪电路对至少一个触发事件的探测的指示,其中所述第一模块包括耦合到所述逻辑分析仪电路的所述第二输出端的第二输入端,以及其中所述第一模块的所述输出端选择性地基于在所述第一模块的所述第一输入端和所述第二输入端接收的信号。
12.如权利要求11所述的集成电路,其中所述第一模块是可配置的,以执行由所述逻辑分析仪电路的所述第二输出端启动的功能。
13.如权利要求10所述的集成电路,其中所述第一模块包括现场可编程电路。
14.如权利要求10所述的集成电路,还包括用于配置所述第一模块的预定功能的接口。
15.如权利要求10所述的集成电路,其中所述逻辑分析仪电路包括多路转换器块和触发事件块,所述多路转换器块耦合到所述逻辑分析仪电路的所述第一输入端,所述触发事件块耦合到所述输入多路转换器块的输出端,用于探测至少一个触发事件,其中所述不同组的一个或多个信号被提供到所述触发事件块的输入端。
16.如权利要求10所述的集成电路,其中所述逻辑分析仪电路包括输出控制块,所述输出控制块用于选择性地采样出现在所述逻辑分析仪电路的所述第一输入端和所述第一模块的所述输出端处的信号。
17.如权利要求10所述的集成电路,其中由所述第一模块提供到所述逻辑分析仪电路的所述不同组的一个或多个信号可用于由所述逻辑分析仪进行选择性地采样和选择性地探测触发事件这两者中的至少一个。
18.一种系统,其包括:
集成电路,包括:
嵌入式逻辑分析仪块,其具有用于接收多个信号的输入端和用于部分地基于所述多个信号探测事件发生的触发事件块;
模块,其被耦合到所述嵌入式逻辑分析仪块并具有基于对事件发生的所述探测的输出,所述输出被提供到所述嵌入式逻辑分析仪块,用于采样或存储在其中。
19.如权利要求18所述的系统,其中所述模块可以被配置以执行部分地基于所述事件发生的所述探测而启动的功能。
20.如权利要求18所述的系统,其中所述输出部分地基于出现在所述嵌入式逻辑分析仪块的所述输入端的所述多个信号中的至少一个。
CN201180041596.4A 2010-09-08 2011-09-08 包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及其方法 Active CN103140769B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/877,819 2010-09-08
US12/877,819 US8914681B2 (en) 2009-08-18 2010-09-08 Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
PCT/US2011/050755 WO2012033871A1 (en) 2010-09-08 2011-09-08 An integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor

Publications (2)

Publication Number Publication Date
CN103140769A true CN103140769A (zh) 2013-06-05
CN103140769B CN103140769B (zh) 2015-11-25

Family

ID=45810961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180041596.4A Active CN103140769B (zh) 2010-09-08 2011-09-08 包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及其方法

Country Status (11)

Country Link
US (2) US8914681B2 (zh)
EP (1) EP2614381B1 (zh)
KR (1) KR101918195B1 (zh)
CN (1) CN103140769B (zh)
AU (1) AU2011299256B2 (zh)
BR (1) BR112013004233B1 (zh)
CA (1) CA2807125C (zh)
HK (1) HK1187411A1 (zh)
RU (1) RU2598908C2 (zh)
SG (1) SG187693A1 (zh)
WO (1) WO2012033871A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105158680A (zh) * 2014-06-05 2015-12-16 Arm有限公司 逻辑分析仪
CN108228419A (zh) * 2016-12-12 2018-06-29 三星电子株式会社 高度灵活的性能计数器和系统调试模块
CN112634801A (zh) * 2021-01-08 2021-04-09 北京集睿致远科技有限公司 一种片内逻辑分析仪及芯片调试方法
CN117452190A (zh) * 2023-12-22 2024-01-26 合肥联宝信息技术有限公司 一种信号测试电路、方法及存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516304B2 (en) * 2009-08-18 2013-08-20 Lexmark International, Inc. Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
US9170901B2 (en) 2009-08-18 2015-10-27 Lexmark International, Inc. System and method for analyzing an electronics device including a logic analyzer
US9405755B1 (en) 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
US9405610B1 (en) 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
US9405651B1 (en) 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
KR102391385B1 (ko) * 2015-08-13 2022-04-27 삼성전자주식회사 내장형 로직 분석기 및 이를 포함하는 집적 회로
US10860322B2 (en) * 2015-10-30 2020-12-08 Arm Limited Modifying behavior of a data processing unit using rewritable behavior mappings of instructions
JP7427000B2 (ja) 2018-08-08 2024-02-02 ヌマスカル エイエス デジタル回路試験及び分析モジュール、システム及びそれの方法
US10816598B1 (en) * 2018-10-01 2020-10-27 Xilinx, Inc. Dynamic debugging of circuits
KR102105031B1 (ko) * 2018-12-31 2020-04-27 주식회사 다빈시스템스 이동통신 장치에서의 타이밍 획득 장치 및 방법
CN113656236B (zh) * 2020-05-12 2024-05-28 大唐移动通信设备有限公司 一种数据处理方法和装置
US11639962B1 (en) 2021-03-12 2023-05-02 Xilinx, Inc. Scalable scan architecture for multi-circuit block arrays

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194543A1 (en) * 1997-10-27 2002-12-19 Altera Corporation, A Delaware Corporation Enhanced embedded logic analyzer
CN1804809A (zh) * 2005-01-11 2006-07-19 惠普开发有限公司 产生触发信号的系统和方法
CN101013394A (zh) * 2007-02-12 2007-08-08 北京中星微电子有限公司 一种采用硬件逻辑对ic设计进行验证的方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4042262A1 (de) * 1990-12-31 1992-07-02 Richt Stefan Verfahren zur analyse der funktionsweise von digitalen schaltungen
US6311309B1 (en) * 1996-10-28 2001-10-30 Altera Corporation Methods and apparatus for simulating a portion of a circuit design
US5954830A (en) * 1997-04-08 1999-09-21 International Business Machines Corporation Method and apparatus for achieving higher performance data compression in ABIST testing by reducing the number of data outputs
US6016563A (en) * 1997-12-30 2000-01-18 Fleisher; Evgeny G. Method and apparatus for testing a logic design of a programmable logic device
JP4335999B2 (ja) * 1999-05-20 2009-09-30 株式会社ルネサステクノロジ プロセッサ内蔵半導体集積回路装置
US6564347B1 (en) * 1999-07-29 2003-05-13 Intel Corporation Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit
US6633838B1 (en) * 1999-11-04 2003-10-14 International Business Machines Corporation Multi-state logic analyzer integral to a microprocessor
US7240303B1 (en) * 1999-11-30 2007-07-03 Synplicity, Inc. Hardware/software co-debugging in a hardware description language
US7072818B1 (en) * 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6791352B2 (en) * 2002-02-08 2004-09-14 International Business Machines Corporation Method and apparatus for debugging a chip
US6918074B2 (en) * 2002-06-28 2005-07-12 Intel Corporation At speed testing asynchronous signals
US7650545B1 (en) * 2002-09-30 2010-01-19 Agere Systems Inc. Programmable interconnect for reconfigurable system-on-chip
US20040216061A1 (en) * 2003-04-28 2004-10-28 International Business Machines Corporation Embeddable method and apparatus for functional pattern testing of repeatable program instruction-driven logic circuits via signal signature generation
US7389452B2 (en) * 2004-06-29 2008-06-17 Electronics For Imaging, Inc. Methods and apparatus for monitoring internal signals in an integrated circuit
US7350121B2 (en) * 2004-08-13 2008-03-25 Broadcom Corporation Programmable embedded logic analyzer in an integrated circuit
US7493247B2 (en) * 2005-12-07 2009-02-17 Dafca, Inc. Integrated circuit analysis system and method using model checking
EP1854035A1 (en) * 2006-02-28 2007-11-14 Mentor Graphics Corporation Memory-based trigger generation scheme in an emulation environment
US7332929B1 (en) * 2006-03-03 2008-02-19 Azul Systems, Inc. Wide-scan on-chip logic analyzer with global trigger and interleaved SRAM capture buffers
US7797599B2 (en) * 2006-09-27 2010-09-14 Verigy (Singapore) Pte. Ltd. Diagnostic information capture from logic devices with built-in self test
US8516304B2 (en) * 2009-08-18 2013-08-20 Lexmark International, Inc. Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
US20110047424A1 (en) * 2009-08-18 2011-02-24 James Ray Bailey Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilites and a method therefor
US8384411B2 (en) * 2009-12-18 2013-02-26 Tektronix, Inc. Method and device for measuring inter-chip signals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194543A1 (en) * 1997-10-27 2002-12-19 Altera Corporation, A Delaware Corporation Enhanced embedded logic analyzer
CN1804809A (zh) * 2005-01-11 2006-07-19 惠普开发有限公司 产生触发信号的系统和方法
CN101013394A (zh) * 2007-02-12 2007-08-08 北京中星微电子有限公司 一种采用硬件逻辑对ic设计进行验证的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105158680A (zh) * 2014-06-05 2015-12-16 Arm有限公司 逻辑分析仪
CN105158680B (zh) * 2014-06-05 2019-10-25 Arm 有限公司 逻辑分析仪
CN108228419A (zh) * 2016-12-12 2018-06-29 三星电子株式会社 高度灵活的性能计数器和系统调试模块
CN108228419B (zh) * 2016-12-12 2023-08-29 三星电子株式会社 高度灵活的性能计数器和系统调试模块
CN112634801A (zh) * 2021-01-08 2021-04-09 北京集睿致远科技有限公司 一种片内逻辑分析仪及芯片调试方法
CN112634801B (zh) * 2021-01-08 2022-06-10 北京集睿致远科技有限公司 一种片内逻辑分析仪及芯片调试方法
CN117452190A (zh) * 2023-12-22 2024-01-26 合肥联宝信息技术有限公司 一种信号测试电路、方法及存储介质

Also Published As

Publication number Publication date
CA2807125C (en) 2018-02-27
US20110047423A1 (en) 2011-02-24
US20160011953A1 (en) 2016-01-14
CA2807125A1 (en) 2012-03-15
KR101918195B1 (ko) 2018-11-14
WO2012033871A1 (en) 2012-03-15
AU2011299256A1 (en) 2013-02-21
AU2011299256B2 (en) 2016-02-11
RU2013104873A (ru) 2014-10-20
EP2614381A4 (en) 2014-02-19
KR20130106355A (ko) 2013-09-27
RU2598908C2 (ru) 2016-10-10
HK1187411A1 (zh) 2014-04-04
CN103140769B (zh) 2015-11-25
SG187693A1 (en) 2013-03-28
US8914681B2 (en) 2014-12-16
BR112013004233B1 (pt) 2020-09-29
EP2614381B1 (en) 2015-11-18
EP2614381A1 (en) 2013-07-17
BR112013004233A2 (pt) 2016-07-05

Similar Documents

Publication Publication Date Title
CN103140769B (zh) 包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及其方法
CN103069289B (zh) 包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及方法
US8745447B2 (en) System and method for analyzing an electronics device including a logic analyzer
EP1178324B1 (en) Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits
US9170901B2 (en) System and method for analyzing an electronics device including a logic analyzer
US20210173010A1 (en) Diagnostic tool for traffic capture with known signature database
US20110047424A1 (en) Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilites and a method therefor
US20210111967A1 (en) Graphical user interface for traffic capture and debugging tool
CN109407655A (zh) 一种调试芯片的方法及装置
US20160282408A1 (en) Integrated Circuit Including a Programmable Logic Analyzer with Enhanced and Debugging Capabilities and a Method Therefor
CN117370092A (zh) 一种随机测试程序、芯片检测方法及装置
WO2012075303A2 (en) A system and method for analyzing an electronics device including a logic analyzer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant