CN1987820A - 用于跟踪现场可编程门阵列中的程序执行的方法和系统 - Google Patents
用于跟踪现场可编程门阵列中的程序执行的方法和系统 Download PDFInfo
- Publication number
- CN1987820A CN1987820A CNA2006100901817A CN200610090181A CN1987820A CN 1987820 A CN1987820 A CN 1987820A CN A2006100901817 A CNA2006100901817 A CN A2006100901817A CN 200610090181 A CN200610090181 A CN 200610090181A CN 1987820 A CN1987820 A CN 1987820A
- Authority
- CN
- China
- Prior art keywords
- microprocessor
- signal
- address
- data
- bus
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003491 array Methods 0.000 title abstract 2
- 238000012360 testing method Methods 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 13
- 239000012141 concentrate Substances 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 description 10
- 238000005259 measurement Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000010998 test method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 244000287680 Garcinia dulcis Species 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/25—Testing of logic operation, e.g. by logic analysers
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)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明描述了用于跟踪现场可编程门阵列和其它合适的可编程逻辑器件中的程序执行的方法和系统。
Description
技术领域
本发明涉及用于跟踪现场可编程门阵列中的程序执行的方法和系统。
背景技术
诸如片上系统(SOC)、现场可编程门阵列(FPGA)和专用集成电路(ASIC)之类的集成系统经常包含为辅助电路内测试而设计的特征。通常,当在诸如现场可编程门阵列(FPGA)之类的大电路上执行电路内测试时,提供这样的电路信号,该电路信号代表整个工作范围中的实际工作信号。在遍及电路中的各个点产生的信号随后被监控。这种测试一般被称为实时软件程序跟踪捕获。
很多FPGA包括嵌入式的微处理器。这些微处理器通常被实现在可综合结构以及例如使用专用硅的硬件中。与FPGA、ASIC或可编程逻辑器件(PLD)中的其它组件一样,在执行期间跟踪微处理器中的信号是很有用的。以这种方式,可以对微处理器执行调试。
在执行电路内测试时,诸如示波器和逻辑分析仪之类的测试仪器很有用。很多数字设计者习惯于使用逻辑分析仪作为调试工具来开发试样板(prototype board)。这些设计者使用逻辑分析仪来帮助揭示集成问题和设计错误。为了观察系统的行为,设计者探测各个总线和芯片上的各种信号,以尝试隔离出问题的根本原因。通常,这些信号被提供给在输出端用于探测的电路。这样的信号被称为跟踪信号。通过这种对各种组件的探测和重探测,可以收集足够的信息来正确地估计导致问题的因素。利用这种信息,工程团队可以了解错误并实现解决方案。
当前用于跟踪嵌入在FPGA中的微处理器的程序执行的方法存在若干缺陷。此外,将微处理器嵌入在FPGA或其他PLD上给测试增加了挑战。例如,已知测试方法需要将所有地址信号、读/写数据信号、控制信号和执行状态信号路由到外部以供逻辑分析仪捕获和进行后处理分析。但是,由于印制电路板上的可用空间(real estate)变得越来越稀少,并且专门用于调试的FPGA引脚有限,因此对处理器的实时测试变得无法实行。例如,使用已知测试方法,32位的Harvard体系结构处理器将需要大约135个或更多专用引脚来跟踪处理器执行。由于可获得的FPGA引脚有限,因此这些已知方法无法实行。另外,为了测量微处理器的行为,不是来自FPGA的所有信号都必须被分析。因此,已知的测试方法无法实行并且效率很低。
利用已知方法测试嵌入在FPGA中的微处理器还需要从几千(或者几万)信号中确定利用微处理器标识的那些信号。只有在执行该确定之后,才能进行有用的测量。显而易见,该过滤过程很费力。
此外,总线上的很多引脚都是静态的。例如,32位地址总线可能具有很多不访问已被填充的存储器并因此为静态的引脚。但是,已知测试方法需要路由和捕获所有位,即使很多保持静态也是如此。可以意识到,这样的测试方法效率低,尤其是在专用于测试的引脚数目稀少时。
因此,存在对于至少克服了上述已知方法的缺陷的用于测试嵌入式微处理器的装置和方法的需求。
附图说明
从以下结合附图的详细描述中,可以最好地理解本教导。其中特征不一定是按比例绘制的。在实践中,类似标号指代类似特征。
图1是根据示例性实施例的动态探测系统的简化框图。
图2是根据示例性实施例的包括微处理器和微处理器跟踪内核(MTC)的FPGA的简化示意图。
图3A是根据示例性实施例用于设置FPGA中的微处理器测试信号的方法的流程图。
图3B是根据示例性实施例被用于设置测试仪器以在微处理器上执行测量的图形用户界面的显示代表。
图4A是根据示例性实施例用于设置FPGA中的微处理器测试信号以及设置用于在微处理器上执行测量的测试仪器的方法的流程图。
图4B是根据示例性实施例被用于设置微处理器以测试FPGA中的信号的图形用户界面的显示代表。
具体实施方式
在以下详细描述中,为了说明而非限制的目的,提出了公开特定细节的示例性实施例,以便对本发明提供全面理解。此外,对已知器件、硬件、软件、固件、方法和系统的描述可以被省略,以免模糊示例性实施例的描述。尽管如此,根据示例性实施例,这样本领域普通技术人员之一已知的硬件、软件、固件、器件、方法和系统可以被使用。最后,在实际应用中,类似标号指代类似特征。
以下详细描述给出这样的方法,该方法可以由计算机可读介质、相关处理器、逻辑分析仪、微处理器仿真器、数字存储示波器、配置有数据获取卡的通用个人计算机等中的数据位的操作的例程和符号表示来体现。方法在这里(一般地)被看作导致所需结果的步骤或动作序列,因此包含诸如“例程”、“程序”、“对象”、“功能”、“子例程”和“过程”之类的本领域术语。
示例性实施例的装置和方法将针对逻辑分析仪上的实现方式来描述,但是这里引用的方法可以在通用计算机或其他网络设备上工作,所述通用计算机或其他网络设备由存储在具有所需信号处理能力的计算机和接口中的例程来有选择地激活或重配置。除此之外,这里给出的方法不一定与任何特定器件相关,相反,根据这里的教导,例程可与各种器件一起使用。可执行本教导的功能的机器包括由诸如AGILENT TECHNOLOGIES,INC.、HEWLETT PACKARD和TEKTRONIX,INC.之类的公司以及其他测试和测量设备制造商制造的机器。
对于用于这里所述实施例的软件,本领域普通技术人员将意识到,存在多种用于创建用于执行这里所述过程的软件的平台和语言。某些示例性实施例可以利用C编程语言的多种变体中任意一种来实现。此外,本领域普通技术人员还将意识到,对实际平台和语言的选择通常由构建的实际系统的细节来指定,以致于在一种系统上工作的平台和语言不能有效地用于另一系统。另外,在某些实施例中,适合于与内核和其他组件一起使用的商业软件可以被实现,以实现某些有益方面。某些商业软件是出于举例说明的目的而提出的。
图1是根据示例性实施例的动态探测系统100的框图。动态探测系统100例如简化了在包括至少一个微处理器的FPGA和片上系统(SOC)上的调试。动态探测系统100提高了可观察性,从而有助于电路内调试。虽然动态探测系统100是针对SOC流设计的(允许用于SOC的所有现有工具、设计过程和硬件描述语言(HDL)保持不变),但是本教导不局限于SOC,而是可被用在FPGA上和外的各种环境中。实际上,所示实施例描述了FPGA上的系统100的实现方式。
动态探测系统100一般包括逻辑分析仪101,其连接到在FPGA103或其他合适的PLD中实现的一个或多个内核102(例如跟踪内核、处理器、软宏)。专用微处理器跟踪内核(MTC)104被用于强制测量,以用于调试实现在FPGA103中的微处理器105。跟踪内核104包括专用调试内核,其辅助内部微处理器信号从FPGA103到逻辑分析仪101的路由。内核104可能适合于将来自嵌入在FPGA中的单个微处理器的内部信号连接到由逻辑分析仪101探测的输出引脚。虽然本描述示出单个MTC的使用,但是在实施例中,可以用与上述方法基本类似的方法在FPGA103中例示多个MTC104。在所引用的共同转让的专利申请中,更全面地描述了某些类型的用于调试FPGA103的内核的数据收集的细节。
如这里更全面描述的,MTC104适合于以如下方式收集来自微处理器105的测量结果,所述方式减少了所需引脚的数目并且降低了确定将由正被测试的微处理器105处理的信号的过程的复杂性。
来自MTC104的数据信号是通过数据信号总线109从FPGA103上的专用引脚108获得的。数据信号总线109通常(但不一定)包括与逻辑分析仪101相关联的常规探测连接。如结合示例性实施例所描述的,专用引脚108是从FPGA103的多个引脚中选出的。
逻辑分析仪101包括逻辑分析部分和探测控制部分。逻辑分析仪101例如可以基于Palo Alto,CA的Agilent Technologies出售的AGILENT16903A。逻辑分析部分一般包括已知逻辑分析仪,而探测控制部分一般包括在伴随逻辑分析部分的操作系统下运行的附加软件。包括在逻辑分析仪101中的一种软件是反汇编程序。该反汇编程序包括用于将处理器总线周期转换成用户可理解的记忆和数据事务的后处理软件。如这里更全面描述的,用户提供到反汇编程序的信息被用于确定由活动引脚寻址的存储器。从该信息中,确定用于对微处理器105的执行进行测量的引脚需求。
动态探测系统100还可以包括经由链路107的串行通信总线110,所述链路107还被称为JTAG,其根据多种串行通信标准中的任意一种(例如IEEE 1149.1)工作。JTAG的益处包括低带宽、容易获得,并且可经由FPGA内侧的JTAG控制器与FPGA容易地集成。JTAG控制器的目的在于确定已由用户选出用于测试的总线和信号。
动态探测系统100还包括用户接口(UI)111。在示例性实施例中,UI111可以是网络中的个人计算机(PC)或终端。当然,可以想到其它类型的用户接口。这些用户接口包括(但不局限于)可通过有线或无线链路连接到FPGA103的便携式计算机和类似合适的设备。UI111经由JTAG链路112连接到FPGA103,并且适合于执行这里更全面描述的内核配置。在一个实施例中,MTC104经由UI111被添加到FPGA103。在特定实施例中,MTC104通过驻留在UI111中的商业上可获得的XilinxPlatform Studio软件的修改版本被添加。具体而言,嵌入式开发套件(EDK)被包括在Xilinx Studio Platform中,以使得能够将MTC104添加到FPGA103。
图2是具有微处理器和跟踪信号的FPGA103的简化示意图。图2隔离出逻辑分析仪101和FPGA103之间的交互。先前描述的很多特征是当前所述实施例所共有的。因此,共有特征不被重复。
FPGA103包括先前描述的微处理器105和MTC104。逻辑分析仪101(在图2中未示出)通过总线109连接到跟踪引脚108。跟踪引脚108通过相应数目个跟踪线201连接到MTC104。在一个实施例中,微处理器105是基于Harvard体系结构的,并且包括指令(程序)“端”和数据“端”。指令端连接到指令存储器202,而数据端连接到数据存储器203。在工作期间,微处理器105向存储器202、203发送信号。指令存储器202经由指令地址总线204、指令数据总线205上的各个信号和总线控制信号206被微处理器105所访问。数据存储器203经由数据地址总线207、(数据)数据总线208上的各个信号和数据总线控制信号209被微处理器105所访问。例如,地址和数据总线是32位总线,并且控制信号是5位信号,如图2所示。
MTC104经由所示连接访问各个总线。选定数目的微处理器跟踪信号从总线中被收集,以便在逻辑分析仪101处对微处理器105进行测量。微处理器跟踪信号是从指令地址总线、数据地址总线、数据数据总线和总线控制信号收集的。MTC104经由UI111被配置以从总线204、205、207和208中选出所需微处理器跟踪信号,并将这些选出的跟踪信号路由到FPGA103上的引脚108。具体而言,所选指令地址信号210、211、所选数据地址信号212、213和控制总线信号214和215被路由到MTC104,然后再路由到引脚108。显而易见,控制总线信号206、209是利用各个地址和数据信号来路由的。
很多收集测量数据的已知方法例如必须路由地址总线204、207的所有地址信号以用于测量,与这些已知方法相反,在示例性实施例中,只有所选信号被路由到跟踪引脚108。这使得逻辑分析仪101能够利用分配用于跟踪测量的相对较少的引脚108来执行调试微处理器105所需的测量。
如前所述,专用于利用逻辑分析仪或其他测试设备测试组件的引脚数目很少。因此,使所需引脚数目最小化是测试设备设计者的一个迫切需求。使测试引脚最小化的需求与收集足够数据和来自特定信号类型的数据以调试微处理器的需求相互竞争。因此,按FPGA103上专用于测试的引脚的数目来成比例地缩放所需用于测试的信号是有用的。这种比例缩放是以各种方式经由本教导来执行的。两种示例性方法被实现,以实现跟踪测量中有限跟踪引脚的有效利用。虽然示例性方法的示例性实施例通常描述路由地址信号,但是也可以设想以类似方法路由数据信号(指令端和数据端两者)。
当前描述了配置测试仪器以从微处理器105收集相关信号的方法。本示例性实施例的方法包括从大量信号(在105数量级上)中确定与FPGA103相关的涉及微处理器105的那些信号。这些信号可以从微处理器供应商处获得,也可以从微处理器105上的数据表中获得。这些信号是预定的并被提供给UI111。然后,用户从这组信号(在101到102的数量级上)中选出用于对微处理器105的功能执行有用分析最需要的那些信号。利用UI111的配置软件(例如EDK软件),MTC104被配置为从各个总线204、207获取这些信号并将这些跟踪信号提供到跟踪引脚108。有益的是,信号的选择将被路由到所分配的跟踪引脚。例如,如果存在8个可用的跟踪引脚,则只有8个信号可被路由以用于分析。在MTC104的配置期间,可选择对于特定测量最有用的信号来路由。
图3A是根据示例性实施例用于设置测试仪器以用于对FPGA的微处理器执行测量的方法的流程图。该方法在结合图1和图2及其描述阅读时可被最好地理解。
该方法包括在步骤301处选择与微处理器相关联的信号的子集。例如,在FPGA103中,可能存在105或更多信号可用于FPGA103的各种组件。在这些信号中,只有一部分与微处理器105相关联。因为将所有信号路由到跟踪引脚108是不实际的,因此确定与微处理器相关联的信号子集并将其提供到UI111中的数据库中。但是,在给定被分配用于逻辑分析仪101的测量的跟踪引脚数目的情况下,该子集可能需要被进一步缩小。
在步骤302处,依赖于可用引脚108的数目,信号子集被进一步缩小。在特定实施例中,用户确定某些在当前分析中有用的微处理器总线(例如指令地址总线204和指令数据总线207)。用户从信号子集中选出所需总线并经由UI111上的GUI输入这些总线。在选择总线之后,EDK软件配置MTC104以将总线路由到跟踪引脚108。在步骤303处,信号被从连接到MTC104的信号路由到跟踪引脚108。
本实施例允许用户配置MTC104以访问来自参与存储器202、203的总线204、209的信号。这些信号随后被传输到引脚108,然后被传输到逻辑分析仪101。可以意识到,向引脚108路由信号的标准可以变化。但是,该示例性实施例的方法允许用户匹配路由到可用引脚的信号。在MTC104被配置之后,逻辑分析仪绑定引脚108以确定信号与引脚对。
图3B是根据示例性实施例在设置测量仪器以对微处理器105执行测量时有用的GUI的代表。该GUI例如被实现在UI111的软件中。
该GUI包括域305,在该域中MTC104被选择。例如,MTC可以是由Agilent Technologies提供的MicroBlaze Trace Core。在选择MTC之后,特定于所选MTC的多个微处理器总线信号和参数填充在域306中。域306允许用户选择其感兴趣的微处理器信号。所选信号在307处示出。所选信号被添加到域308。域309允许用户输入将被路由到跟踪引脚108的信号数目。以这种方式,可以将信号数目减小到符合可用引脚容量。
本教导的另一方法在减小测试微处理器所需引脚数目方面很有用。该示例性方法是后处理(post-processor)技术,其中逻辑分析仪101的反汇编程序应用软件被提供有与被评估的特定微处理器相关的某些参数。
如前所述,32位Harvard体系结构微处理器的完整反汇编程序将需要135数量级上的引脚来路由所有信号。但是,微处理器105一般包括远超过写入到微处理器105的代码的地址空间。因此,存储器空间中存在不被访问的部分并因此存在静态的地址信号。对微处理器105的分析仅需要收集活动信号。因此,提供到逻辑分析仪101的反汇编程序的参数指示微处理器105中活动的地址位。然后,逻辑分析仪101仅自由捕获活动信号用于分析,而将所有静态位设置为预定值。这允许只将逻辑分析仪的分析所需的那些活动位通过跟踪引脚108来路由。
例如,FPGA上的微处理器程序一般不需要全部4G字节(32位)的程序空间和全部4G字节的数据空间。程序使用的地址空间的子集通常可以用少于32位来代表。只有该较小位集合需要被路由到FPGA的引脚。根据本教导的方法,静态位不被路由到FPGA的引脚。
图4A是根据示例性实施例用于设置测试仪器以对微处理器执行测量的方法的流程图。该方法在结合图1和2及其描述阅读时可以最好地理解。如前所述,该示例性实施例的方法集中于从微处理器收集地址信号。需要强调的是,数据信号也可通过类似方法来收集。
在步骤401处,用于完全代表由正被测试的微处理器的软件程序占用的存储器空间所需的地址信号的数目被确定。通常,用户基于在用户设计中实现的存储器量来确定地址信号数目。如前所述,依赖于写入到微处理器的代码的大小,只有地址空间的一部分是活动的。因此只有地址信号的一部分访问已被填充的存储器。参考图2,这翻译为只有存储器202和微处理器105之间的某些指令地址信号和存储器203和微处理器105之间的某些数据地址信号发送“活动”信号。因为这些活动信号在执行用于分析的测量时是有用的,因此只有这些活动信号被路由到MTC104并随后被路由到逻辑分析仪101。
在步骤402处,用户基于在用户设计中实现的存储器量来确定完全代表由正被测试的微处理器的数据占用的存储空间所需的地址信号的数目。如前所述,依赖于写入到微处理器的代码的大小,只有地址空间的一部分是活动的。因此,只需要地址信号的一部分来访问已填充的存储器。
在步骤403处,代表微处理器105的指令端和数据端两者的存储空间的地址信号被选择。在结合图2所述示例性实施例中,分别从地址总线204和207中选出的地址信号210和地址信号211被路由到MTC104,并随后被路由到逻辑分析仪101以待测量和分析。对地址信号的选择是在利用前述配置软件(例如前述EDK软件)和UI111配置MTC104时被执行的。
在特定实施例中,用于路由到逻辑分析仪的地址信号的选择是在经由UI111中的配置软件配置MTC104期间被执行的。当在步骤401、402处确定了所需地址信号的数目时,用户选择起始地址,并且由于待用的所有地址信号都被选择,因此“终止”地址信号是已知的。另外,在完成对地址信号的选择之后,用户在步骤403中选择针对选出的每个位的引脚。例如,如果存在10个需要路由到跟踪引脚的地址位,配置软件则将MTC104配置为将10个地址位路由到10个所选跟踪引脚(例如跟踪引脚108中的10个)。
当在步骤403中选出地址信号之后,在步骤404处,由指令和数据端占用的地址空间被输入到测试仪器(在本实施例中为逻辑分析仪101)。显而易见,活动位被输入并与静态位相组合。
在特定实施例中,完全代表存储空间所需的所有信号可经由图4A的方法来路由。但是,可能不存在足够跟踪引脚来路由所有信号。在特定实施例中,用户可能选择不提供所有总线的信号。因此,为了在有限引脚预算内工作,用户可以选择仅跟踪微处理器的指令端,或仅跟踪微处理器的数据端。此外,在所选一端(指令或数据),用户可以选择仅跟踪地址总线或仅跟踪数据总线。为了调整对用于测量的跟踪信号的选择,示例性实施例的方法被修改以选择一“端”或一条(多条)总线用于分析。而且,该选择在配置MTC104时被执行。然后,反汇编程序自动调整其功能以匹配所提供的信号。这是通过逻辑分析仪/反汇编程序经由JTAG链路112询问MTC104以确定已被确定引脚的信号来实现的。
为了实现所述调整,图4A的示例性实施例的方法设想根据所选用于测量的一端而删除步骤401或402中的一个,并且修改步骤403和404来使该方法适合于所选端或总线。例如,如果用户希望(或仅具有)足够跟踪引脚来对微处理器的指令端进行测量,则步骤402将居先。另外,步骤403将被修改以选择代表指令而非数据占用的存储空间的地址信号,并且步骤404将被修改以输入由指令而非数据占用的地址空间。
图4B是如步骤404提出的适合于输入地址空间的逻辑分析仪101的GUI的代表。如果知道活动位的起始地址,用户就设置针对微处理器每一端的起始地址信号。用户在域405中输入数据端存储器和指令端存储器的起始地址。逻辑分析仪101的反汇编程序通过将该起始地址值添加到被路由到FPGA103上的引脚的地址位来计算全部32位地址。显而易见,对于数据信号,可以对微处理器105的指令端和数据端两者提供类似的GUI。
根据本公开文本,这里描述的各种方法和设备可被实现在硬件和软件中。此外,各种方法和参数仅以示例方式而非限制方式被包括进来。根据本公开文本,本领域技术人员可以在确定他们自己的技术和用于实现这些技术所需的设备时实现本教导,同时保留在所附权利要求书的范围之内。
Claims (20)
1.一种用于设置测试仪器以对微处理器执行测量的方法,该方法包括:
确定完全代表多条指令占用的存储空间所需的多个地址信号;
确定完全代表数据占用的存储空间所需的多个地址信号;
选择完全代表由所述指令或所述数据或这两者占用的存储空间的地址信号;以及
将所述指令和所述数据占用的地址空间输入到所述测试仪器。
2.如权利要求1所述的方法,其中所述微处理器被实现在现场可编程门阵列中。
3.如权利要求2所述的方法,还包括将特定地址信号路由到所述现场可编程门阵列上的指定引脚。
4.如权利要求2所述的方法,还包括提供微处理器跟踪内核,该微处理器跟踪内核适合于选择微处理器跟踪信号,并将所述微处理器跟踪信号路由到所述现场可编程门阵列上的引脚。
5.如权利要求4所述的方法,其中所述微处理器跟踪信号包括以下信号中的一个或多个:指令地址总线、数据地址总线、数据数据总线以及总线控制信号。
6.如权利要求5所述的方法,其中所述选择微处理器跟踪信号的步骤还包括仅选择完全代表所述存储空间所需的地址信号。
7.如权利要求6所述的方法,还包括将所述微处理器跟踪内核配置为执行对微处理器跟踪信号的选择。
8.如权利要求1所述的方法,其中所述输入步骤还包括选择起始存储器地址。
9.一种用于设置测试仪器以对微处理器执行测量的方法,该方法包括:
选择信号子集,其中所述信号子集仅包括与所述微处理器相关联的信号;以及
基于已分配的多个引脚从所述信号子集中选择微处理器跟踪信号。
10.如权利要求9所述的方法,还包括:
在可编程逻辑器件上提供微处理器跟踪内核。
11.如权利要求9所述的方法,其中所述可编程逻辑器件是现场可编程门阵列。
12.如权利要求11所述的方法,还包括:
配置所述微处理器跟踪内核以选择所述微处理器跟踪信号。
13.如权利要求9所述的方法,还包括在选择所述微处理器跟踪信号之后,将所述微处理器跟踪信号路由到所选引脚。
14.如权利要求9所述的方法,还包括嵌入微处理器跟踪内核,该微处理器跟踪内核适合于选择所述微处理器跟踪信号以及将所述微处理器跟踪信号路由到所述现场可编程门阵列上的引脚。
15.如权利要求14所述的方法,其中所述微处理器跟踪信号包括以下信号中的一个或多个:指令地址总线、数据地址总线、数据数据总线以及总线控制信号。
16.如权利要求15所述的方法,其中所述选择微处理器跟踪信号的步骤还包括仅选择完全代表存储空间所需的地址信号。
17.一种动态探测系统,包括:
测试设备;
具有微处理器的现场可编程门阵列;
适合于将所述测试设备连接到所述现场可编程门阵列的跟踪引脚;以及
被配置为从仅包括与所述微处理器相关联的信号的信号子集中选择微处理器跟踪信号的微处理器跟踪内核。
18.如权利要求17所述的动态探测系统,其中所述测试设备是逻辑分析仪。
19.如权利要求17所述的动态探测系统,其中所述微处理器跟踪信号仅是完全代表存储空间所需的地址信号。
20.如权利要求17所述的动态探测系统,其中所述微处理器跟踪信号包括以下信号中的一个或多个:指令地址总线、数据地址总线、数据数据总线以及总线控制信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/305,953 US20070168749A1 (en) | 2005-12-19 | 2005-12-19 | Method and system for tracing program execution in field programmable gate arrays |
US11/305,953 | 2005-12-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1987820A true CN1987820A (zh) | 2007-06-27 |
Family
ID=38171110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100901817A Pending CN1987820A (zh) | 2005-12-19 | 2006-07-03 | 用于跟踪现场可编程门阵列中的程序执行的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070168749A1 (zh) |
EP (1) | EP1816566A2 (zh) |
JP (1) | JP2007172599A (zh) |
CN (1) | CN1987820A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105702301A (zh) * | 2015-12-31 | 2016-06-22 | 深圳市德名利电子有限公司 | 一种抓取闪存有效信号的方法及系统以及逻辑分析仪 |
CN109314103A (zh) * | 2016-06-30 | 2019-02-05 | 英特尔公司 | 用于远程现场可编程门阵列处理的方法和装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552405B1 (en) * | 2007-07-24 | 2009-06-23 | Xilinx, Inc. | Methods of implementing embedded processor systems including state machines |
GB0818239D0 (en) * | 2008-10-06 | 2008-11-12 | Omiino Ltd | System for internally monitoring an intergrated circuit |
CN101902756B (zh) * | 2009-05-27 | 2013-12-11 | 中兴通讯股份有限公司 | M2m业务平台及其工作方法 |
US8595561B1 (en) * | 2010-10-27 | 2013-11-26 | Xilinx, Inc. | Integrated debugging within an integrated circuit having an embedded processor |
US8595555B1 (en) | 2011-01-13 | 2013-11-26 | Xilinx, Inc. | Debugging an integrated circuit with an embedded processor |
US8677306B1 (en) * | 2012-10-11 | 2014-03-18 | Easic Corporation | Microcontroller controlled or direct mode controlled network-fabric on a structured ASIC |
US9053232B2 (en) * | 2012-12-14 | 2015-06-09 | Altera Corporation | Method and apparatus for supporting a unified debug environment |
CN107632910B (zh) * | 2016-07-18 | 2020-10-27 | 深圳市中兴微电子技术有限公司 | 一种测试方法和装置 |
CN110988662B (zh) * | 2019-12-09 | 2022-08-02 | 上海国微思尔芯技术股份有限公司 | 一种基于fpga原型验证开发板的信号调试系统及方法 |
US20220026490A1 (en) * | 2021-07-16 | 2022-01-27 | Arm Limited | Debug probe for measuring at least one property of a target system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4483002A (en) * | 1982-04-19 | 1984-11-13 | International Business Machines Corporation | Digital device testing apparatus and method |
US5491793A (en) * | 1992-07-31 | 1996-02-13 | Fujitsu Limited | Debug support in a processor chip |
US5717695A (en) * | 1995-12-04 | 1998-02-10 | Silicon Graphics, Inc. | Output pin for selectively outputting one of a plurality of signals internal to a semiconductor chip according to a programmable register for diagnostics |
US5859993A (en) * | 1996-08-30 | 1999-01-12 | Cypress Semiconductor Corporation | Dual ROM microprogrammable microprocessor and universal serial bus microcontroller development system |
US7007205B1 (en) * | 2001-02-15 | 2006-02-28 | Silicon Graphics, Inc. | Method and apparatus for recording trace data in a microprocessor based integrated circuit |
US6760898B1 (en) * | 2002-02-22 | 2004-07-06 | Xilinx, Inc. | Method and system for inserting probe points in FPGA-based system-on-chip (SoC) |
US7150002B1 (en) * | 2002-03-29 | 2006-12-12 | Cypress Semiconductor Corp. | Graphical user interface with logic unifying functions |
US7519879B2 (en) * | 2004-04-26 | 2009-04-14 | Agilent Technologies, Inc. | Apparatus and method for dynamic in-circuit probing of field programmable gate arrays |
US20070220352A1 (en) * | 2006-02-28 | 2007-09-20 | Hernandez Adrian M | Method and apparatus for measuring signals in a semiconductor device |
-
2005
- 2005-12-19 US US11/305,953 patent/US20070168749A1/en not_active Abandoned
-
2006
- 2006-07-03 CN CNA2006100901817A patent/CN1987820A/zh active Pending
- 2006-10-26 EP EP06255529A patent/EP1816566A2/en not_active Withdrawn
- 2006-12-04 JP JP2006326416A patent/JP2007172599A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105702301A (zh) * | 2015-12-31 | 2016-06-22 | 深圳市德名利电子有限公司 | 一种抓取闪存有效信号的方法及系统以及逻辑分析仪 |
CN105702301B (zh) * | 2015-12-31 | 2019-04-26 | 深圳市德名利电子有限公司 | 一种抓取闪存有效信号的方法及系统以及逻辑分析仪 |
CN109314103A (zh) * | 2016-06-30 | 2019-02-05 | 英特尔公司 | 用于远程现场可编程门阵列处理的方法和装置 |
CN109314103B (zh) * | 2016-06-30 | 2023-08-15 | 英特尔公司 | 用于远程现场可编程门阵列处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20070168749A1 (en) | 2007-07-19 |
EP1816566A2 (en) | 2007-08-08 |
JP2007172599A (ja) | 2007-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1987820A (zh) | 用于跟踪现场可编程门阵列中的程序执行的方法和系统 | |
US8032329B2 (en) | Method and system to monitor, debug, and analyze performance of an electronic design | |
US7478028B2 (en) | Method for automatically searching for functional defects in a description of a circuit | |
US8356272B2 (en) | Logic verification module apparatus to serve as a hyper prototype for debugging an electronic design that exceeds the capacity of a single FPGA | |
US20090254525A1 (en) | Method and system for a database to monitor and analyze performance of an electronic design | |
KR101477287B1 (ko) | 시험 모듈 생성 장치, 시험 순서 생성 장치, 생성 방법, 프로그램, 및 시험 장치 | |
DE10392667T5 (de) | Ereignisbasiertes IC-Testsystem | |
US10268787B2 (en) | Hybrid timing analysis method and associated system and non-transitory computer readable medium | |
US20070050166A1 (en) | Method and system for simulating test instruments and instrument functions | |
Hutchings et al. | Designing and debugging custom computing applications | |
US5115502A (en) | Method and apparatus for determining internal status of a processor using simulation guided by acquired data | |
US20200074040A1 (en) | Hierarchical expression coverage clustering for design verification | |
CN116126700A (zh) | 一种基于SystemC的芯片验证方法及系统 | |
US10161999B1 (en) | Configurable system and method for debugging a circuit | |
CN117076337B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
CN116521468B (zh) | 一种fpga在线调试方法及支持在线调试的fpga | |
CN113918741A (zh) | 数据处理方法、装置、系统、计算机设备和存储介质 | |
US10234502B1 (en) | Circuit defect diagnosis based on sink cell fault models | |
US9400858B1 (en) | Virtual verification machine for a hardware based verification platform | |
Karnane et al. | Automating root-cause analysis to reduce time to find bugs by up to 50% | |
CN100389425C (zh) | 实现数模混合型集成电路验证的方法及装置 | |
CN117370168B (zh) | 设置逻辑系统设计的仿真还原点的方法及相关设备 | |
US7188043B1 (en) | Boundary scan analysis | |
Carter et al. | Object Oriented Checkers as a First Step Towards Coverage Driven Verification in DO-254 Design Assurance | |
CN115292760A (zh) | 芯片验证系统、方法及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |