一种调试系统及方法

文档序号:6489208阅读:205来源:国知局
一种调试系统及方法
【专利摘要】本发明涉及一种调试系统及方法,其中调试系统包括:核簇、数据池、数据采集模块、数据传输模块、时钟管理模块和调试处理模块;核簇包括至少一个IP核,IP核包括至少一个集成元件;时钟管理模块用于产生时钟信号驱动所述IP核中的集成元件和数据采集模块工作;数据采集模块用于采集所述IP核中集成元件的数据获得采样数据,并将所述采样数据通过数据传输模块传输给调试处理模块;调试处理模块用于对接收到的采样数据进行处理,并产生相应的调试数据通过数据传输模块传输给所述数据池;数据池对所述调试数据进行处理,并将处理后的数据加载到对应的所述集成元件的输入。本发明能够提高调测的效率和准确性。
【专利说明】一种调试系统及方法
【技术领域】
[0001]本发明涉及芯片测试领域,尤其涉及一种调试系统及方法。
【背景技术】
[0002]随着摩尔定律逐渐失效和集成电路的特征尺寸接近物理极限,功耗和应用的多样性、产品的推出周期应市场之需进一步缩短,已促使SOC (System on Chip,片上系统)已成为目前主流的集成电路设计方法学。在力争将海量运算量和控制灵活性集于一身时,又要适应某些特殊算法(因为时延太紧或者吞吐量太大,或二者兼而有之)时,DSP配合CPU,在加上某些特殊的硬件加速器,以及各种互联结构和外设IP构成的SOC系统,已成为目前SOC系统的主流设计和实现方法。然而如何对集成有多个DSP、CPU以及多个硬件加速器的SOC芯片进行跟踪和调试,是一个非常棘手的问题。由于所要观测的控制信号繁多,数据信号量太大,所以一般的调测系统难以满足速度和吞吐量的要求,也没有办法进行裁剪,并且现有技术中单独对CPU、DSP和硬件加速器的进行调试,效率非常低,并且不精确。

【发明内容】

[0003]本发明要解决的主要技术问题是,提供一种调试系统及方法,能够提高调测的效率和准确性。
[0004]为解决上述技术问题,本发明提供一种调试系统,其具体技术方案如下:
[0005]一种调试系统,其特征在于,包括:核簇、数据池、数据采集模块、数据传输模块、时钟管理模块和调试处理模块;所述核簇包括至少一个IP核,所述IP核包括至少一个集成元件;所述时钟管理模块用于产生时钟信号驱动所述IP核中的集成元件和所述数据采集模块工作;所述数据采集模块用于采集所述IP核中集成元件的数据获得采样数据,并将所述采样数据通过所述数据传输模块传输给所述调试处理模块;所述调试处理模块用于对接收到的采样数据进行处理,并产生相应的调试数据通过所述数据传输模块传输给所述数据池;所述数据池用于对所述调试数据进行处理,并将处理后的数据加载到对应的所述集成兀件的输入。
[0006]进一步地,所述调试数据至少包括:加载数据和命令参数配置数据中的一种;所述数据池用于对所述加载数据进行预定的数据格式转换,和/或对所述命令参数配置数据进行解析。
[0007]进一步地,所述数据采集模块包括:多路选择器和用于控制寄存器;所述控制寄存器用于在所述数据池的配置下,产生控制信号给所述多路选择器;所述多路选择器用于根据所述控制信号,选择相应的采样数据传输给所述数据传输模块。
[0008]进一步地,所述数据传输模块包括:数据缓存模块和总线桥;所述数据缓存模块用于在所述时钟管理模块的驱动下缓存所述数据模块输出的采样数据和所述调试处理模块产生的调试数据;所述总线桥用于在所述时钟管理模块的驱动下在所述数据缓存模块与所述调试处理模块之间传输数据。[0009]进一步地,所述数据缓存模块包括第一 FIFO数据缓存器和第一 FIFO缓存控制器;所述第一 FIFO缓存控制器用于控制所述第一 FIFO数据缓存器对采样数据进行缓存和输出;所述第一 FIFO数据缓存器用于在时钟管理模块的驱动下缓存所述数据模块输出的采样数据,并且当产生将满信号时,将将满信号传输到所述时钟管理模块;所述时钟管理模块还用于根据所述将满信号关闭对应的所述集成元件。
[0010]进一步地,所述数据缓存模块还包括第二 FIFO数据缓存器和第二 FIFO缓存控制器;所述第二缓存控制器用于控制所述第二 FIFO数据缓存器对所述调试数据进行缓存和输出;所述第二 FIFO数据缓存器用于在所述时钟管理模块的驱动下缓存所述调试数据,并且当产生将满信号时,将将满信号传输给所述调试处理模块;所述调试处理模块还用于接收到将满信号后停止发送调试数据给所述第二 FIFO数据缓存器。
[0011]进一步地,所述IP核包括CUP、DSP和硬件加速器中的至少一种集成元件。
[0012]同样为解决上述的技术问题本发明还提供了一种调试方法,其具体的技术方案如下:
[0013]一种调试方法,其特征在于,包括以下步骤:
[0014]在时钟管理模块的驱动下采集核簇中至少一个IP核中的至少一个集成元件的数据获得采样数据;
[0015]对采样数据进行处理产生相应的调试数据;
[0016]对所述调试数据进行处理,将处理后的调试数据加载到对应的所述集成元件的输入。
[0017]进一步地,所述采集核簇中至少一个IP核中的至少一个集成元件的数据之后,对采集到的数据进行处理之前还包括:
[0018]根据接收的控制信号选择出相应的采样数据。
[0019]进一步地,所述调试数据至少包括:加载数据和命令参数配置数据中的一种;
[0020]所述对所述调试数据进行处理具体包括:
[0021]对所述加载数据进行预定的数据格式转换,和/或解析所述命令参数配置数据。
[0022]本发明的有益效果是:
[0023]本发明提供的一种调试系统及方法能够有效的对多核集成电路进行调测。在设置由多核组成的核簇,可以实现对统一的对IP核中的集成元件进行调测,解决多核调测的问题;设置时钟管理模块,是系统的中的各个模块在均在时钟管理模块的控制下工作,可以提高了系统的调测速度降低能耗;在数据采集模块中设置多路选择器,可以根据需求配置选择需要测试的采样信号;设置数据缓存模块用来缓存调测数据和采样数据,便于提高调测的稳定性和准确性,同时在数据缓存模块中设置第一 FIFO缓存器,并将其将满信号传输给时钟管理模块进行处理,可以实现动态调测功能。
【专利附图】

【附图说明】
[0024]图1为本发明实施例调试系统的一种结构示意图;
[0025]图2为本发明实施例中核簇的结构示意图;
[0026]图3为本发明实施例中数据采集模块对信号采样的示意图;
[0027]图4为本发明实施例数据池下行数据的格式表;[0028]图5为本发明实施例中数据采集模块的结构示意图;
[0029]图6为本发明实施例调试系统的另一种结构示意图
[0030]图7为本发明实施例中数据缓存模块的结构示意图;
[0031]图8为本发明实施例中时钟管理模块的结构示意图;
[0032]图9为本发明实施例中总线桥的结构示意图;
[0033]图10为本发明实施例调试方法的流程图。
【具体实施方式】
[0034]下面通过【具体实施方式】结合附图对本发明作进一步详细说明。
[0035]本实施例描述的调试系统,如图1所示,包括:核簇、数据池、数据采集模块、数据传输模块、时钟管理模块和调试处理模块,这6个模块配合完成调试,其中:
[0036]所述核簇包括至少一个IP核,所述IP核包括至少一个集成元件;
[0037]所述时钟管理模块用于产生时钟信号驱动所述IP核中的集成元件和所述数据采集模块工作;
[0038]所述数据采集模块用于采集所述IP核中集成元件的数据获得采样数据,并将所述采样数据通过所述数据传输模块传输给所述调试处理模块;
[0039]所述调试处理模块用于对接收到的采样数据进行处理,并产生相应的调试数据通过所述数据传输模块传输给所述数据池;所述数据池用于对所述调试数据进行处理,并将处理后的数据加载到对应的所述集成元件的输入。
[0040]本实施例的调试系统可以对各种集成电路进行调试,比较对SOC芯片进行调试。
[0041]核簇是本实施例的调试跟踪对象,核簇的组成很灵活,包括多个IP核,其中IP核内可以集成多个集成元件,以SOC芯片为例,一个IP核可以包括4个CPU或者4个DSP,也可以包括CPU、DSP或者硬件加速器。IP核内的集成元件可以是CPU、DSP或者硬件加速器中的一种或多种;CPU、DSP和硬件加速器的数量和种类都不受限制。CPU和DSP可以是厂商提供的IP核,也可以是自研的IP核;硬件加速器指的是厂商提供或者自研的可以完成某种功能的逻辑电路。这些CPU、DSP和硬件加速器可以支持或者不支持中断功能。如图2所示,核簇包括的IP核包括:IPO-1Pn,时钟管理模块的时钟信号加载在每个IP核的时钟输入端。当时钟管理模块控制IP核和数据采样模块工作时,数据采样模块会接收到IP核(具体哪个可以人为预先设定,通过时钟管理模块来控制IP核来实现)传输的数据,数据采集模块将采样数据传输到调试处理模块;调试处理模块处理采样数据产生相应的调试数据传输给数据池;数据池对调试数据进行处理并加载到对应IP核中。采用时钟管理模块能够方便管理和保持调测的稳定性。本实施例的时钟管理模块是用来管理核的运行的,其产生的时钟信号作为使能信号给IP核,IP核在时钟管理模块的时钟驱动下工作,同样数据采集模块也是在时钟管理模块的驱动下工作的,具体的采样过程如图3所示,Clk为IP_cluster正常工作的时钟,clk_gated是时钟管理模块的输出,用来对核的运行进行管理。在clk_gated的每个上升沿,核运行一个时钟,进而将输出送到数据采样模块,数据采样模块在elk的驱动下,对被采样的N个数据进行逐一采样,从而获得一个稳定的采样数据流,并将其送到调试处理模块处理。
[0042]上述的调试数据可以至少包括:加载数据和命令参数配置数据中的一种。当调试数据为加载数据时,数据池根据预先定义好的格式对加载数据进行数据格式转换,将转换后的数据加载在集成元件的输入。当调试数据为命令参数配置数据时,数据池将对该命令参数配置数据进行解析,将解析后的数据分配到对应的集成元件。
[0043]如将由调试处理模块到数据池方向传输的数据称之为下行数据,将有数据采样模块到调试处理模块方向传输的数据称之为上行数据。数据池负责对下行数据进行处理,例如根据数据的MSB来判断数据种类,如图4所示,从下行数据位宽为N+1位,如果data[N]为1’bO,表明data[N-1:0]是IP_cluster加载数据,数据池会根据预先定义好的格式,将数据——加载到IP_cluster的输入;如果是data[N]为I’ bl,表明data[N_l:0]是调测命令参数配置数据则对其进行解析将处理后的数据传输到相应的IP中相应的集成元件(如IPO中的第一个CPU,IPl中的第二个DSP等)。
[0044]如图5所示,为了根据用户的需求对特定的,或者用户感兴趣的数据进行测试,本实施例中的数据采集模块包括多路选择器和控制寄存器;其中多路选择器接收核簇传输的数据,控制寄存器根据数据池的配置产生一个控制信号给多路选择器,多路选择器根据该控制信号选取相应的数据进行输出。如对一个包括三个IP核的核簇进行测试,其中IPO包括 2 个 CPU (CPUUCPU2), IPl 包括 3 个 DSP (DSP1、DSP2、DSP3),IP2 包括一个 CPU (CPU3)、一个DSP (DSP4)和一个硬件加速器;用户只要求对IPO中的第一个CUP、IPl中的第二个DSP和IP2中的硬件加速器进行调试,具体的过程如下:
[0045]多路选择器接收IPO、IPl 和 IP2 传输的 d0、dl、d2、d3、d4、d5、d6、d7 数据,d0、dl为 IPO 中 2 个 CPU (CPUU CPU2)的输出数据,d2、d3、d4 为 IPl 中三个 DSP (DSP1、DSP2、DSP3)输出的数据,d5、d6、d7为IP2中CPU3、DSP4、硬件加速器这三个集成元件对应的输出数据;数据池对控制寄存器进行配置使其产生选择CPU1、DSP2、硬件加速器的控制信号,多选择器接收器接收到该控制信号后从d0、dl、d2、d3、d4、d5、d6、d7中选取d0、d3、d7数据进行输出。
[0046]在实施调试过程中考虑到数据的传输速率和整个系统的稳定性,本实施例中的数据传输模块包括:数据缓存模块和总线桥;所述数据缓存模块用于在所述时钟管理模块的驱动下缓存所述数据模块输出的采样数据和所述调试处理模块产生的调试数据;所述总线桥用于在所述时钟管理模块的驱动下在所述数据缓存模块与所述调试处理模块之间传输数据。其中数据池从数据缓存模块中读取调试数据,数据采集模块将采集到的数据缓存到数据缓存模块,以对SOC芯片调试为例,调试系统的结构示意图如图6所示,其中核簇、时钟管理模块、数据池、数据采集模块、数据缓存模块和总线桥都位于芯片上,调试处理模块位于芯片外。
[0047]如图7所示,为了能够使调试系统能够实现动态调测功能,上述数据缓存模块包括第一 FIFO数据缓存器和第一 FIFO缓存控制器;所述第一 FIFO缓存控制器用于控制所述第一 FIFO数据缓存器对采样数据进行缓存和输出;所述第一 FIFO数据缓存器用于在时钟管理模块的驱动下缓存所述数据模块输出的采样数据,并且当产生将满信号时,将将满信号传输到所述时钟管理模块;所述时钟管理模块还用于根据所述将满信号关闭对应的所述集成元件。上行FIFO的将满信号(almoSt_full)需要接到时钟管理模块,防止因为总线传输速度较小时引起上行FIFO溢出,从而防止上行数据丢失;将满信号需要在时钟管理模块中控制时钟,在上行FIFO数据将要溢出时,almost_full有效时,将核的时钟拉到固定电平(即关闭该时钟对应的集成元件),在almost_full无效时,释放核的时钟,从而实现对核的动态调测。
[0048]进一步的,如图7所示为了防止总线速率太高导致下行加载数据丢失,所述数据缓存模块还包括第二 FIFO数据缓存器和第二 FIFO缓存控制器;所述第二缓存控制器用于控制所述第二 FIFO数据缓存器对所述调试数据进行缓存和输出;所述第二 FIFO数据缓存器用于在所述时钟管理模块的驱动下缓存所述调试数据,并且当产生将满信号时,将将满信号传输给所述调试处理模块;所述调试处理模块还用于接收到将满信号后停止发送调试数据给所述第二 FIFO数据缓存器。下行FIFO的将满信号(almoSt_full)用来防止在总线速率太高时,配置数据或者加载数据的丢失。此信号需要接到总线桥上,由总线桥将下行FIFO将满的信号通过总线传给调试处理模块,调试处理模块接收到到下行FIFO将满的信号,停止发送调试数据至数据缓存模块,等待将满信号失效后继续发送。
[0049]如图8所示,本实施例中的时钟管理模块可以由时钟门控管理(clk_gate_ctrl),latch和与门组成;门控管理单元受计数配置寄存器(cnt_config_reg)和almost_full来控制。其中计数配置寄存器可以通过data_pool对其进行动态配置,从而可以控制核的运行速率和采样速率,进而控制调测的总体速度。Almost_full是用来在上行FIFO将满时,对核进行锁定操作,防止上行数据溢出。
[0050]如图9所示,本实施中的总线桥可以包括:总线桥接和总线对外接口。通过对外接口的多样化可以实现片内到片外数据传输多样化,满足各种与接口相对应的调试处理模块。总线桥选择方式比较灵活,选用何种总线,应根据芯片的规模大小、被测信号的数量和规模以及每块芯片最小调测时间来进行选择。总线可以选用各种标准总线,也可以采用自定义总线。为了加快涉及进度,建议总线对外接口模块选用现成的IP核,总线桥接需要根据总线的类型进行单独设计。
[0051]上述调试处理模块可以为调试跟踪器,调试跟踪器是人和芯片交互的界面,具有以下几个功能:
[0052]参数设置功能;
[0053]参数转化为标准格式功能;
[0054]提取仿真波形,将其转化为标准调测格式功能;
[0055]对被采样的数据具有保存功能;
[0056]能根据配置参数进行波形恢复功能;
[0057]具有再实波形功能;
[0058]可以将实测波形与仿真波形进行比对功能。
[0059]通过上述本发明的调试系统可以对实现以下功能:
[0060](I)解决了目前多核异构SOC上,多个DSP、CPU、硬件加速器分别调测的问题;
[0061](2)对外调测接口具有多样性,解决了目前调测接口种类少和速度不匹配问题;
[0062](3)采用门控时钟的方式,提高了系统的调测速度;
[0063](4)提出了调测数据再恢复的方法,解决了实时波形再现的问题;
[0064](5)可以将已有波形转为调测加载信号,增强了对系统的调测能力;
[0065](6)增加了实时波形和仿真波形比对功能,可进行实时查错。
[0066]对应上述的调试系统本实施例还提供了一种调试方法,如图10所示,包括以下步骤:
[0067]步骤101:在时钟管理模块的驱动下采集核簇中至少一个IP核中的至少一个集成元件的数据获得采样数据;
[0068]步骤102:对采样数据进行处理产生相应的调试数据;
[0069]步骤103:对所述调试数据进行处理,将处理后的调试数据加载到对应的所述集成兀件的输入。
[0070]进一步地,在步骤101中采集核簇中至少一个I P核中的至少一个集成元件的数据之后,在步骤102之前还包括:
[0071]根据接收的控制信号选择出相应的采样数据。
[0072]进一步地,上述调试数据至少包括:加载数据和命令参数配置数据中的一种;
[0073]步骤103中对所述调试数据进行处理具体包括:
[0074]对所述加载数据进行预定的数据格式转换,和/或解析所述命令参数配置数据。
[0075]以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
【权利要求】
1.一种调试系统,其特征在于,包括:核簇、数据池、数据采集模块、数据传输模块、时钟管理模块和调试处理模块;所述核簇包括至少一个IP核,所述IP核包括至少一个集成元件;所述时钟管理模块用于产生时钟信号驱动所述IP核中的集成元件和所述数据采集模块工作;所述数据采集模块用于采集所述IP核中集成元件的数据获得采样数据,并将所述采样数据通过所述数据传输模块传输给所述调试处理模块;所述调试处理模块用于对接收到的采样数据进行处理,并产生相应的调试数据通过所述数据传输模块传输给所述数据池; 所述数据池用于对所述调试数据进行处理,并将处理后的数据加载到对应的所述集成兀件的输入。
2.如权利要求1所述的调试系统,所述调试数据至少包括:加载数据和命令参数配置数据中的一种;所述数据池用于对所述加载数据进行预定的数据格式转换,和/或对所述命令参数配置数据进行解析。
3.如权利要求2所述的调试系统,其特征在于,所述数据采集模块包括:多路选择器和控制寄存器;所述控制寄存器用于在所述数据池的配置下,产生控制信号给所述多路选择器;所述多路选择器用于根据所述控制信号,选择相应的采样数据传输给所述数据传输模块。
4.如权利要求1-3任一项所述的调试系统,其特征在于,所述数据传输模块包括:数据缓存模块和总线桥;所述数据缓存模块用于在所述时钟管理模块的驱动下缓存所述数据模块输出的采样数据和所述调试处理模块产生的调试数据;所述总线桥用于在所述时钟管理模块的驱动下在所述数据缓存模块与所述调试处理模块之间传输数据。
5.如权利要求4所述的调试系统,其特征在于,所述数据缓存模块包括第一FIFO数据缓存器和第一 FIFO缓存控制器;所述第一 FIFO缓存控制器用于控制所述第一 FIFO数据缓存器对采样数据进行缓存和输出;所述第一 FIFO数据缓存器用于在时钟管理模块的驱动下缓存所述数据模块输出的采样数据,并且当产生将满信号时,将将满信号传输到所述时钟管理模块;所述时钟管理模块还用于根据所述将满信号关闭对应的所述集成元件。
6.如权利要求5所述的调试系统,其特征在于,所述数据缓存模块还包括第二FIFO数据缓存器和第二 FIFO缓存控制器;所述第二缓存控制器用于控制所述第二 FIFO数据缓存器对所述调试数据进行缓存和输出;所述第二 FIFO数据缓存器用于在所述时钟管理模块的驱动下缓存所述调试数据,并且当产生将满信号时,将将满信号传输给所述调试处理模块;所述调试处理模块还用于接收到将满信号后停止发送调试数据给所述第二 FIFO数据缓存器。
7.如权利要求6所述的调试系统,其特征在于,所述IP核包括CUP、DSP和硬件加速器中的至少一种集成元件。
8.—种调试方法,其特征在于,包括以下步骤: 在时钟管理模块的驱动下采集核簇中至少一个IP核中的至少一个集成元件的数据获得采样数据; 对采样数据进行处理产生相应的调试数据; 对所述调试数据进行处理,将处理后的调试数据加载到对应的所述集成元件的输入。
9.如权利要求8所述的调试方法,其特征在于,所述采集核簇中至少一个IP核中的至少一个集成元件的数据之后,对采集到的数据进行处理之前还包括:根据接收的控制信号选择出相应的采样数据。
10.如权利要求9所述的调试方法,其特征在于,所述调试数据至少包括:加载数据和命令参数配置数据中的一种; 所述对所述调试数据进行处理具体包括: 对所述加载数据进行预定的数`据格式转换,和/或解析所述命令参数配置数据。
【文档编号】G06F11/267GK103678078SQ201210361208
【公开日】2014年3月26日 申请日期:2012年9月25日 优先权日:2012年9月25日
【发明者】党君礼 申请人:深圳市中兴微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1