首页> 中国专利> 芯片验证中辅助波形debug的方法及应用

芯片验证中辅助波形debug的方法及应用

摘要

本发明公开了芯片验证中辅助波形debug的方法及应用,涉及芯片开发技术领域。所述方法包括如下步骤:在运行测试案例的过程中,根据测试案例运行的顺序针对各个配置文件中的每一行配置生成一中间文件;所述配置文件是基于第一类寄存器的寄存器配置信息文件,所述中间文件用于记录第一类寄存器到各个其它类型寄存器的系统文件的配置对应关系,以及每个配置所在的测试案例文件名称和行数;输出运行生成的波形文件,在波形debug时,根据用户对波形的触发操作获取被触发的配置对象,并输出该配置对象所在的测试案例文件名称和行数。本发明使得用户能够清晰直观地获取需要debug的目标对象信息,无需用户进行人工转换、查询。

著录项

  • 公开/公告号CN112346918A

    专利类型发明专利

  • 公开/公告日2021-02-09

    原文格式PDF

  • 申请/专利权人 眸芯科技(上海)有限公司;

    申请/专利号CN202011155942.9

  • 发明设计人 袁力;胡扬央;

    申请日2020-10-26

  • 分类号G06F11/22(20060101);

  • 代理机构

  • 代理人

  • 地址 201210 上海市浦东新区祥科路298号1幢8层

  • 入库时间 2023-06-19 09:51:02

说明书

技术领域

本发明涉及芯片开发技术领域,尤其涉及一种芯片验证中辅助波形debug的方法及应用。

背景技术

在芯片设计领域,验证(Verification)工作贯穿整个设计流程,从行为级HDL设计,一直到芯片流片(TAPE-OUT)之前都需要进行大量的EDA(Eletronic DesignAutomation,电子设计自动化)验证,当前验证工作已经占整个设计工作70%左右。当EDA验证的结果与芯片设计的目标性能不符时,就需要找出芯片设计中的缺陷并且修复它。其中,通过测试案例(case test)进行仿真并生成FSDB(Fast Signal Data Base)文件,通过Verdi等波形debug(侦错,或称除错)工具来定位bug(缺陷)并进行改正(改正后可再次仿真)是较为普通的仿真验证方法。

在通过波形debug工具定位bug的过程中,可以看到在整个运行过程中芯片的寄存器的配置情况(通过波形查看寄存器值是否按预设要求写入)。现有技术中,通过波形debug工具寻找bug时,波形文件中显示的寄存器配置情况为DMA(Direct Memory Access,直接存储器访问)的寄存器配置信息,而测试案例(case test)中显示的寄存器配置情况为CPU(Central Processing Unit,中央处理器)的寄存器配置信息。作为举例,比如:验证人员在波形文件中看到了一个APB(Advanced Peripheral Bus,外围总线)的配置信息为“在0x10地址写了一个0x3”,该配置信息是在配置一个DMA的寄存器,而该DMA寄存器的配置信息对应的CPU寄存器的配置信息为“在0x28000010地址写了一个0x3”,即,测试案例中显示的对应的APB的配置信息为“在0x28000010地址写了一个0x3”。也就是说,波形文件中显示的寄存器配置情况可能无法和测试案例中配置的点对应起来,需要验证人员将波形对应的配置信息转换成对应的CPU(Central Processing Unit,中央处理器)中的配置信息。考虑到通常情况下,一个测试案例可能包括大量测试配置文件,如果依靠验证人员肉眼检查波形文件并人工转换配置信息,需要消耗验证人员大量的时间,使得验证人员难以快速准确地确定需要debug的目标,降低了debug效率。

发明内容

本发明的目的在于:克服现有技术的不足,提供了一种芯片验证中辅助波形debug的方法及应用。本发明将波形中选中的配置信息与该配置对应的测试案例信息进行对应输出,使得用户能够清晰直观地获取需要debug的目标对象信息,无需用户进行人工转换和查询,尤其适用于包括大量测试配置文件的测试案例,显著提高了debug效率。

为实现上述目标,本发明提供了如下技术方案:

一种芯片验证中辅助波形debug的方法,包括如下步骤:

在运行测试案例的过程中,根据测试案例运行的顺序针对各个配置文件中的每一行配置生成一中间文件;所述配置文件是基于第一类寄存器的寄存器配置信息文件,所述中间文件用于记录前述第一类寄存器到各个其它类型寄存器的系统文件的配置对应关系,以及每个配置所在的测试案例文件名称和行数;

输出运行生成的波形文件,在波形debug时,根据用户对波形的触发操作获取被触发的配置对象;

对应着所述配置对象,输出该配置对象所在的测试案例文件名称和行数。

进一步,所述中间文件为cfg格式文件,所述波形文件为FSDB波形文件。

进一步,所述第一类寄存器为CPU,测试案例的配置文件是CPU的寄存器配置信息。

进一步,所述波形文件对应的寄存器配置信息为DMA的寄存器配置信息,中间文件记录有CPU到DMA的寄存器的配置对应关系。

进一步,根据用户对波形的触发操作获取被触发的配置对象的步骤包括,采集用户对波形的触发操作,获取被触发的波形点信息;获取该波形点对应的配置对象作为被触发的配置对象;

对应着所述波形点所在位置或邻近区域,输出对应的配置对象的DMA的寄存器配置信息。

进一步,所述触发操作为用户用鼠标点选或将鼠标停留在波形图中的某个波形点的操作,所述波形点对应的配置为被触发的配置对象;或者,

所述触发操作为用户用手指点选或将手指停留在波形图中的某个波形点的操作,所述波形点对应的配置为被触发的配置对象;或者,

所述触发操作为采集到用户通过显示界面的触发控件选择对应配置的操作,将所述触发控件关联的一个或多个配置对象作为用户选中的配置对象;或者,

所述触发操作为采集到用户通过语音/动作选中波形中一个或多个配置的操作,通过对语音/动作进行语义识别/动作分析来获取用户选中的配置对象。

本发明还提供了一种芯片EDA验证方法,在进行波形debug时,通过前述任一项所述的方法辅助debug。

本发明还提供了一种芯片验证中辅助波形debug的装置,包括如下结构:

数据提取模块,用于在运行测试案例的过程中,根据测试案例运行的顺序针对各个配置文件中的每一行配置生成一中间文件;所述配置文件是基于第一类寄存器的寄存器配置信息文件,所述中间文件用于记录前述第一类寄存器到各个其它类型寄存器的系统文件的配置对应关系,以及每个配置所在的测试案例文件名称和行数;

信息输出模块,用于输出运行生成的波形文件;以及在波形debug时,根据用户对波形的触发操作获取被触发的配置对象,对应着所述配置对象,输出该配置对象所在的测试案例文件名称和行数。

进一步,所述第一类寄存器为CPU,测试案例的配置文件是CPU的寄存器配置信息;

所述波形文件对应的寄存器配置信息为DMA的寄存器配置信息,中间文件记录有CPU到DMA的寄存器的配置对应关系。

进一步,所述信息输出模块被配置为,

采集用户对波形的触发操作,获取被触发的波形点信息;获取该波形点对应的配置对象作为被触发的配置对象;以及,

对应着所述波形点所在位置或邻近区域,输出对应的配置对象的DMA的寄存器配置信息。

本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:将波形中选中的配置信息与该配置对应的测试案例信息进行对应输出,使得用户能够清晰直观地获取需要debug的目标对象,无需用户进行人工转换和查询,尤其适用于包括大量测试配置文件的测试案例,显著提高了debug效率。

附图说明

图1为本发明实施例提供的芯片验证中辅助波形debug的方法流程图。

图2为本发明实施例提供的信息传输图。

图3为辅助波形debug的装置的模块结构示意图。

附图标记说明:

辅助波形debug的装置100;数据提取模块110,信息输出模块120。

具体实施方式

以下结合附图和具体实施例对本发明公开的芯片验证中辅助波形debug的方法及应用作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

实施例

参见图1和图2所示,为本发明提供的一种芯片验证中辅助波形debug(侦错,或称除错)的方法,所述方法,包括如下步骤:

S100,在运行测试案例的过程中,根据测试案例(case test)运行的顺序针对各个配置文件中的每一行配置生成一中间文件;所述配置文件是基于第一类寄存器的寄存器配置信息文件,所述中间文件用于记录前述第一类寄存器到各个其它类型寄存器的系统文件的配置对应关系,以及每个配置所在的测试案例文件名称和行数。

参见图2所示,在测试平台中,通过被测电路运行测试案例(case test)进行仿真,并生成仿真波形文件。在测试案例(case test)运行的过程当中,根据测试案例(casetest)运行的顺序,通过脚本将各个配置文件中的每一行配置都生成一个中间文件。

所述配置文件,是基于第一类寄存器(内部寄存器)的寄存器配置信息文件。本实施例中,所述第一类寄存器为CPU,即测试案例的配置文件是CPU的寄存器配置信息。

所述中间文件,用于记录前述CPU到各个其它类型寄存器的系统文件(SYS)的配置对应关系,以及每个配置所在的测试案例文件名称和行数。本实施例中,所述中间文件优选为cfg格式文件。作为举例而非限制,比如中间文件的名称可以为mid.cfg。

S200,输出运行生成的波形文件,在波形debug时,根据用户对波形的触发操作获取被触发的配置对象。

所述仿真波形文件,优选为FSDB波形文件。然后,可以通过Verdi等波形debug工具来定位bug并进行改正,改正后可再次仿真。

对于输出的波形,用户可以通过触发操作来选择希望查看的某个配置对象的信息。具体的,根据用户对波形的触发操作获取被触发的配置对象的步骤可以如下:采集用户对波形的触发操作,获取被触发的波形点信息;获取该波形点对应的配置对象作为被触发的配置对象。

所述用户对波形的触发操作,可以是手动触发也可以是语音触发,还可以是其他动作触发。

本实施例中,在进行波形debug时,可以根据用户对波形的触发操作获取被触发的配置对象,并执行步骤S300。

S300,对应着所述配置对象,输出该配置对象所在的测试案例文件名称和行数。即,在波形中输出用户触发的配置对象对应的测试案例信息。如此,可以根据用户的触发操作,在显示界面上对应着输出的波形标记出对应的测试案例信息。

本实施例中,优选的,所述波形文件对应的寄存器配置信息为DMA的寄存器配置信息,所述中间文件mid.cfg记录的是CPU到DMA的寄存器的配置对应关系。

以及,根据用户选择的波形点,对应着所述波形点所在位置或邻近区域,输出对应的配置对象的DMA的寄存器配置信息。

在一个实施方式中,所述触发操作为用户用鼠标点选或将鼠标停留在波形图中的某个波形点的操作,所述波形点对应的配置为被触发的配置对象。

作为举例而非限制,以一个APB作为配置对象为例详细描述本发明的应用场景。

在测试案例(case test)运行的过程当中,脚本根据测试案例运行的顺序将各个配置文件中的每一行配置都生成一个中间文件mid.cfg。所述中间文件mid.cfg中至少记录了如下两个信息:第一对应信息,CPU到DMA的寄存器的配置对应关系;第二对应信息,配置所在的测试案例文件名称和行数。对于所述第一对应信息,作为举例,比如对于某个APB的配置,该配置对应的CPU信息是在“0x28000010地址写了一个0x3”,其对应到DMA的寄存器的配置信息是“在0x10地址写了一个0x3”,则在中间文件中记录上述CPU信息到DMA配置信息的对应关系。对于所述第二对应信息,作为举例,对于上述APB配置,其对应的测试案例文件名为dma_cfg.sv,行数为第178行,则在中间文件中记录dma_cfg.sv第178行。当然,根据需要,还可以进一步输出该配置的其它相关信息。

在debug波形的时,波形向用户显示的是DMA配置信息“在0x10地址写了一个0x3”,用户用鼠标点选或将鼠标停留在对应的波形点的时候,触发了对前述APB配置的选择,读取该APB配置对应的中间文件,得到该配置所在的测试案例文件名称和行数;然后,在显示界面上,对应着所述波形点显示出上述配置在哪个测试案例文件的第几行,比如显示文本“dma_cfg.sv第178行”。

在另一个实施方式中,所述触发操作为用户用手指点选或将手指停留在波形图中的某个波形点的操作,所述波形点对应的配置为被触发的配置对象。

在另一个实施方式中,所述触发操作为采集到用户通过显示界面的触发控件选择对应配置的操作,将所述触发控件关联的一个或多个配置对象作为用户选中的配置对象。

在另一个实施方式中,所述触发操作为采集到用户通过语音/动作选中波形中一个或多个配置的操作,通过对语音/动作进行语义识别/动作分析来获取用户选中的配置对象。

通过采用上述技术方案,可以在波形中标记用户选中的配置对象的测试案例信息,使得用户能够清晰直观地获取需要debug的目标对象,无需用户进行人工转换和查询,尤其适用于包括大量测试配置文件的测试案例,显著提高了debug效率。

本发明的另一实施例,还提供了一种芯片EDA验证方法,在进行波形debug时,通过如下方法辅助debug。

所述方法,包括如下步骤:在运行测试案例的过程中,根据测试案例运行的顺序针对各个配置文件中的每一行配置生成一中间文件;所述配置文件是基于第一类寄存器的寄存器配置信息文件,所述中间文件用于记录前述第一类寄存器到各个其它类型寄存器的系统文件的配置对应关系,以及每个配置所在的测试案例文件名称和行数。输出运行生成的波形文件,在波形debug时,根据用户对波形的触发操作获取被触发的配置对象。对应着所述配置对象,输出该配置对象所在的测试案例文件名称和行数。

具体的,在测试案例运行的过程当中,根据测试案例运行的顺序,通过脚本将各个配置文件中的每一行配置都生成一个中间文件。

所述配置文件,是基于第一类寄存器的寄存器配置信息文件。本实施例中,所述第一类寄存器为CPU,即测试案例的配置文件是CPU的寄存器配置信息。

所述中间文件,用于记录前述CPU到各个其它类型寄存器的系统文件(SYS)的配置对应关系,以及每个配置所在的测试案例文件名称和行数。本实施例中,所述中间文件优选为cfg格式文件。作为举例而非限制,比如中间文件的名称可以为mid.cfg。

所述仿真波形文件,优选为FSDB波形文件。然后,可以通过Verdi等波形debug工具来定位bug并进行改正,改正后可再次仿真。

对于输出的波形,用户可以通过触发操作来选择希望查看的某个配置对象的信息。具体的,根据用户对波形的触发操作获取被触发的配置对象的步骤可以如下:采集用户对波形的触发操作,获取被触发的波形点信息;获取该波形点对应的配置对象作为被触发的配置对象。

所述用户对波形的触发操作,可以是手动触发也可以是语音触发,还可以是其他动作触发。

本实施例中,在进行波形debug时,可以根据用户对波形的触发操作获取被触发的配置对象。以及,在波形中输出用户触发的配置对象对应的测试案例信息。如此,可以根据用户的触发操作,在显示界面上对应着输出的波形标记出对应的测试案例信息。

其它技术特征参考在前实施例,在此不再赘述。

参见图3所示,为本发明的另一实施例,提供了一种芯片验证中辅助波形debug的装置。

所述辅助波形debug的装置100包括数据提取模块110和信息输出模块120。

所述数据提取模块110,用于在运行测试案例的过程中,根据测试案例运行的顺序针对各个配置文件中的每一行配置生成一中间文件;所述配置文件是基于第一类寄存器的寄存器配置信息文件,所述中间文件用于记录前述第一类寄存器到各个其它类型寄存器的系统文件的配置对应关系,以及每个配置所在的测试案例文件名称和行数。

所述信息输出模块120,用于输出运行生成的波形文件;以及在波形debug时,根据用户对波形的触发操作获取被触发的配置对象,对应着所述配置对象,输出该配置对象所在的测试案例文件名称和行数。

本实施例中,所述第一类寄存器为CPU,测试案例的配置文件是CPU的寄存器配置信息;

所述波形文件对应的寄存器配置信息为DMA的寄存器配置信息,中间文件记录有CPU到DMA的寄存器的配置对应关系。

优选的,所述信息输出模块被配置为:采集用户对波形的触发操作,获取被触发的波形点信息;获取该波形点对应的配置对象作为被触发的配置对象;以及,对应着所述波形点所在位置或邻近区域,输出对应的配置对象的DMA的寄存器配置信息。

其它技术特征参考在前实施例,在此不再赘述。

在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号