CN113591422B - 芯片验证中测试案例流程信息的生成系统及应用 - Google Patents

芯片验证中测试案例流程信息的生成系统及应用 Download PDF

Info

Publication number
CN113591422B
CN113591422B CN202110887751.XA CN202110887751A CN113591422B CN 113591422 B CN113591422 B CN 113591422B CN 202110887751 A CN202110887751 A CN 202110887751A CN 113591422 B CN113591422 B CN 113591422B
Authority
CN
China
Prior art keywords
flow chart
code
information
flow
document
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.)
Active
Application number
CN202110887751.XA
Other languages
English (en)
Other versions
CN113591422A (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.)
Mouxin Technology Shanghai Co ltd
Original Assignee
Mouxin Technology Shanghai Co ltd
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 Mouxin Technology Shanghai Co ltd filed Critical Mouxin Technology Shanghai Co ltd
Priority to CN202110887751.XA priority Critical patent/CN113591422B/zh
Publication of CN113591422A publication Critical patent/CN113591422A/zh
Application granted granted Critical
Publication of CN113591422B publication Critical patent/CN113591422B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/316Aspect-oriented programming techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了芯片验证中测试案例流程信息的生成系统及应用,涉及芯片开发技术领域。所述系统包括:验证人员客户端,用于在EDA仿真代码中加入流程标识符,在EDA仿真测试案例运行完成时,获取设置有流程标识符的EDA仿真代码信息后发送到流程信息生成装置;软件人员客户端,用于在C代码中加入流程标识符,在前述软件测试案例运行完成时,获取设置有流程标识符信息的C代码后发送到流程信息生成装置;流程信息生成装置,用于接收设置有流程标识符信息的EDA仿真代码或C代码,生成对应的流程图文档后存储在流程图数据库中。本发明提高了流程图绘制效率和可靠性,降低了验证工作量,同时提高了相关人员沟通的顺畅性和效率。

Description

芯片验证中测试案例流程信息的生成系统及应用
技术领域
本发明涉及芯片开发技术领域,尤其涉及一种芯片验证中测试案例流程信息的生成系统及应用。
背景技术
在芯片研发的过程中,芯片的验证(Verification)工作贯穿整个芯片设计流程,从行为级HDL设计,一直到芯片流片之前都需要进行大量的EDA(Eletronic DesignAutomation,电子设计自动化)验证。其中,测试案例(case test)是为了验证测试项目的功能或者性能而编写一系列的代码,以芯片设计中常用的UVM(Universal VerificationMethodology,通用验证方法学)验证为例,其测试案例是基于system verilog语言,其通过用UVM sequence(UVM序列)的方式产生激励。通过测试案例进行EDA仿真获取仿真结果后,后期还需要通过debug(侦错)工具来定位bug并进行改正,通常是由一个系统模型来运行软件,以此来检测芯片硬件设计中的bug。
在芯片debug过程中,芯片验证工程师(或称验证人员)和软件设计工程师(或称软件人员)都需要通过测试案例去验证芯片中某个模块功能的正确性。在一些情况下,芯片验证工程师和软件设计工程师还需要针对测试案例进行沟通。作为举例,比如芯片验证工程师提供某种EDA仿真测试案例的配置信息以给软件设计工程师在芯片上调试,以验证芯片中某个模块功能的正确性;软件设计工程师根据芯片验证工程师提供的EDA仿真测试案例的配置信息,通过脚本转换成C代码(将EDA仿真测试案例的配置转换成基于C语言的程序,以便对应的 C代码软件能够运行上述测试案例)并在芯片上面进行调试。软件设计工程师在调试过程中,可能会根据需要对测试案例的逻辑进行修改并在芯片上面运行,并记录芯片的运行结果,再把修改后的测试案例和对应的芯片运行结果提供给芯片验证工程师,上述过程中,芯片验证工程师和软件设计工程师可能需要向对方展示和讲解测试案例的逻辑和修改信息。
相比于基于代码语言的文本内容的沟通,采用流程图的方式进行沟通不仅简单直观,且易于展示和讲解,是芯片验证工程师和软件设计工程师在针对测试案例进行沟通的优选方式。然而,当前芯片验证工程师和软件设计工程师在绘制测试案例的逻辑模块的流程图文档时,往往需要重新将之前的测试案例的流程再走一遍,不仅增加了验证工作量,而且容易造成测试案例混乱,导致绘制的流程文档出错。
发明内容
本发明的目的在于:克服现有技术的不足,提供了一种芯片验证中测试案例流程信息的生成系统及应用。本发明能够针对基于硬件编程语言设计的仿真测试案例和基于C代码的软件测试案例,自动生成对应的流程图信息,提高了流程图绘制效率和可靠性,降低了验证工作量,同时提高了验证人员和软件人员就不同程序语言的测试案例进行沟通的顺畅性和效率。
为实现上述目标,本发明提供了如下技术方案:
一种芯片验证中测试案例流程信息的生成系统,包括验证人员客户端、软件人员客户端和流程信息生成装置;
所述验证人员客户端,用于采集验证人员针对EDA仿真测试案例设置的流程标识符信息,在前述EDA仿真测试案例对应的EDA仿真代码中用添加注释的方式加入前述设置的流程标识符信息;以及在前述EDA仿真测试案例运行完成时,获取前述设置有流程标识符信息的EDA仿真代码信息后发送到流程信息生成装置;
所述软件人员客户端,用于采集软件人员针对软件测试案例设置的流程标识符信息,在前述软件测试案例对应的C代码中用添加注释的方式加入前述设置的流程标识符信息;以及在前述软件测试案例运行完成时,获取前述设置有流程标识符信息的C代码信息后发送到流程信息生成装置;
所述流程信息生成装置,用于接收前述设置有流程标识符信息的EDA仿真代码信息或C代码信息,生成对应前述EDA仿真代码或C代码的流程图文档后,将生成的流程图文档存储在流程图数据库中。
进一步,所述流程信息生成装置被配置为:
获取验证人员客户端或软件人员客户端针对目标流程图文档发出的流程图下载请求,根据前述流程图下载请求,将前述目标流程图文档发送到对应的验证人员客户端或软件人员客户端。
进一步,所述验证人员客户端在接收前述目标流程图文档后,能够根据代码转换命令将前述目标流程图文档转换成具有流程标识符信息的EDA仿真代码;
所述软件人员客户端在接收前述目标流程图文档后,能够根据代码转换命令将前述目标流程图文档转换成具有流程标识符信息的C代码。
进一步,所述流程信息生成装置在生成对应EDA仿真代码的流程图文档后,针对该流程图文档向软件人员客户端发送流程图更新消息;
所述软件人员客户端被配置为:在接收前述流程图更新消息后,获取对应的被更新的流程图文档,将前述被更新的流程图文档转换成具有流程标识符信息的C代码,并将该C代码与前述被更新的流程图文档进行关联设置;以及,采集软件人员针对前述C代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在修改后的C代码运行完成时,获取修改后的C代码后发送到流程信息生成装置;
通过流程信息生成装置生成对应前述修改后的C代码的流程图文档后,对流程图数据库存储的流程图文档进行更新。
进一步,所述流程信息生成装置在生成对应C代码的流程图文档后,针对该流程图文档向验证人员客户端发送流程图更新消息;
所述验证人员客户端被配置为:在接收前述流程图更新消息后,获取对应的被更新的流程图文档,将前述被更新的流程图文档转换成具有流程标识符信息的EDA仿真代码,并将该EDA仿真代码与前述流程图文档进行关联设置;以及,采集验证人员针对前述EDA仿真中包含的操作指令的修改信息和/或流程标识符的修改信息,在修改后的EDA仿真代码运行完成时,获取修改后的EDA仿真代码后发送到流程信息生成装置;
通过流程信息生成装置生成对应前述修改后的EDA仿真代码的流程图文档后,对流程图数据库存储的流程图文档进行更新。
进一步,在更新流程图数据库中的流程图文档时,
用最新修改后的代码对应的流程图文档替换该修改前的代码关联的流程图文档;或者将最新修改后的代码对应的流程图文档对应着该修改前的代码关联的流程图文档的存储路径进行存储,此时,根据流程图文档的生成时间信息和修改次数进行文档命名。
进一步,在测试案例对应的代码中用添加注释的方式加入前述设置的流程标识符信息时,获取验证人员或软件人员针对对应代码中包含的各操作指令设置的流程标识符,将所述流程标识符以注释方式添加到对应操作指令的后面;
所述流程标识符包括注释符和标识操作符,所述注释符为/* */或者//,所述标识操作符至少包括有text_p、text_c、text_a、text_b和text_e,其中,text_p表示将对应的操作指令加入到流程图的方框内,text_c 表示将对应的操作指令加入到流程图的菱形框内,text_a 表示在上一个操作指令的旁边标识对应的注解内容,text_b 表示将对应的操作指令加入到流程图的椭圆开始框内,所述text_e 表示将对应的操作指令加入到流程图的椭圆结束框内。
本发明提供了一种芯片验证中测试案例流程信息的生成装置,包括如下结构:
EDA仿真代码接收单元,用于接收验证人员客户端发送的设置有流程标识符信息的EDA仿真代码信息,所述流程标识符信息为验证人员通过添加注释的方式加入前述EDA仿真代码的注释信息;
C代码接收单元,用于接收软件人员客户端发送的设置有流程标识符信息的C代码信息,所述流程标识符信息为软件人员通过添加注释的方式加入前述C代码的注释信息;
流程图生成单元,用于根据前述设置有流程标识符信息的EDA仿真代码信息生成对应前述EDA仿真代码的流程图文档,或者根据前述设置有流程标识符信息的C代码信息生成对应前述C代码的流程图文档;
流程图存储单元,用于将生成的流程图文档存储到流程图数据库中。
本发明还提供了一种芯片验证中测试案例流程信息的生成方法,包括如下步骤:
采集验证人员针对EDA仿真测试案例设置的流程标识符信息,在前述EDA仿真测试案例对应的EDA仿真代码中用添加注释的方式加入前述设置的流程标识符信息;监测到前述EDA仿真测试案例运行完成时,根据前述设置有流程标识符信息的EDA仿真代码信息生成对应前述EDA仿真代码的流程图文档,将生成的流程图文档存储在流程图数据库中;
以及,采集软件人员针对软件测试案例设置的流程标识符信息,在前述软件测试案例对应的C代码中用添加注释的方式加入前述设置的流程标识符信息;监测到前述软件测试案例运行完成时,根据前述设置有流程标识符信息的C代码信息生成对应前述C代码的流程图文档,将生成的流程图文档存储在流程图数据库中。
进一步,还包括步骤:在生成对应EDA仿真代码的流程图文档后,将该流程图文档发送到软件人员客户端并转换成具有流程标识符信息的C代码,将该C代码与该流程图文档进行关联设置;采集软件人员针对前述C代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在监测到修改后的C代码运行完成时,获取修改后的C代码生成对应前述修改后的C代码的流程图文档,对流程图数据库存储的流程图文档进行更新;
以及,在生成对应C代码的流程图文档后,将该流程图文档发送到验证人员客户端并转换成具有流程标识符信息的EDA仿真代码,将该EDA仿真代码与该流程图文档进行关联设置;采集验证人员针对前述EDA仿真代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在监测到修改后的EDA仿真代码运行完成时,获取修改后的EDA仿真代码生成对应前述修改后的EDA仿真代码的流程图文档,对流程图数据库存储的流程图文档进行更新。
本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:能够针对基于硬件编程语言设计的仿真测试案例和基于C代码的软件测试案例,自动生成对应的流程图信息,提高了流程图绘制效率和可靠性,降低了验证工作量,同时提高了验证人员和软件人员就不同程序语言的测试案例进行沟通的顺畅性和效率。
附图说明
图1为本发明实施例提供的芯片验证测试案例流程信息的生成系统的示意框图。
图2为本发明实施例提供的生成的测试案例的流程图示例图。
图3为本发明实施例提供的芯片验证中测试案例流程信息的生成装置的模块结构示意图。
图4为本发明实施例提供的芯片验证中测试案例流程信息的生成装置的信息传输示意图。
具体实施方式
以下结合附图和具体实施例对本发明公开的芯片验证中测试案例流程信息的生成系统及应用作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
实施例
参见图1所示,为本发明提供的一种芯片验证中测试案例流程信息的生成系统。
所述系统包括验证人员客户端、软件人员客户端和流程信息生成装置。
所述验证人员客户端,用于采集验证人员针对EDA仿真测试案例设置的流程标识符信息,在前述EDA仿真测试案例对应的EDA仿真代码中用添加注释的方式加入前述设置的流程标识符信息;以及在前述EDA仿真测试案例运行完成时,获取前述设置有流程标识符信息的EDA仿真代码信息后发送到流程信息生成装置。
所述软件人员客户端,用于采集软件人员针对软件测试案例设置的流程标识符信息,在前述软件测试案例对应的C代码中用添加注释的方式加入前述设置的流程标识符信息;以及在前述软件测试案例运行完成时,获取前述设置有流程标识符信息的C代码信息后发送到流程信息生成装置。
所述流程信息生成装置,用于接收前述设置有流程标识符信息的EDA仿真代码信息或C代码信息,生成对应前述EDA仿真代码或C代码的流程图文档后,将生成的流程图文档存储在流程图数据库中。
通过上述技术方案,可以根据验证人员或软件人员针对EDA仿真测试案例或软件测试案例的代码设置的流程标识符信息,在代码中用添加注释的方式对代码中包含的各操作指令设置对应的流程标识信息,当监测到前述代码对应的测试案例运行完成时,触发该测试案例对应的流程图文档自动生成。相关人员可以通过访问流程图数据库获取对应的流程图文档信息,以便进行案例逻辑展示、案例讲解、案例沟通等。
本实施例中,验证人员、软件人员还可以对目标测试案例对应的目标流程图文档进行下载。具体的,所述流程信息生成装置被配置为:获取验证人员客户端或软件人员客户端针对目标流程图文档发出的流程图下载请求,根据前述流程图下载请求,将前述目标流程图文档发送到对应的验证人员客户端或软件人员客户端。
作为举例而非限制,比如验证人员客户端或软件人员客户端设置有流程图下载控件,所述流程图下载控件被触发后,能够向流程信息生成装置发出流程图下载请求。所述流程图下载请求包括发出请求的客户端ID信息和请求的目标对象信息;所述目标对象信息,作为举例,比如请求的目标流程图文档对应的案例编号信息、案例版本信息等、案例名称信息等。根据前述下载请求中的目标对象信息,流程信息生成装置从流程图数据库中读取与目标对象信息匹配的目标流程图文档。然后,通过匹配客户端ID信息,将该目标流程图文档发送给前述客户端ID信息对应的客户端,即发出流程图下载请求的验证人员客户端或软件人员客户端。
优选的,所述验证人员客户端在接收前述目标流程图文档后,还能够根据代码转换命令将前述目标流程图文档转换成具有流程标识符信息的EDA仿真代码。所述软件人员客户端在接收前述目标流程图文档后,能够根据代码转换命令将前述目标流程图文档转换成具有流程标识符信息的C代码。也就是说,在验证人员客户端下载了目标流程图文档后,为便于验证人员查看,验证人员客户端可以将目标流程图文档转换成具有流程标识符信息的EDA仿真代码。对应的,在软件人员客户端下载了目标流程图文档后,为便于对应的软件人员查看,软件人员客户端可以将目标流程图文档转换成具有流程标识符信息的C代码。
具体实施时,上述验证人员客户端和软件人员客户端可以设置有流程图解析单元和代码转换单元。
所述流程图解析单元,用于解析获取的流程图文档中包含的代码类型信息、代码的操作指令序列信息和流程标识符信息。所述代码类型包括EDA仿真代码类型(对应EDA仿真测试案例)和C代码类型(对应软件测试案例)。所述代码的操作指令序列信息为该流程图中的代码内容(流程图文档是通过代码生成的)。所述流程标识符包括流程图中的框对象信息、框注解信息、以及前述框对象和框注解与操作指令的对应关系等。
所述代码转换单元,用于根据流程图解析单元解析的信息,基于获取流程图文档的客户端所属类型,将前述流程图文档中的代码转换成与前述客户端所属类型匹配的代码后,加注流程标识符后形成具有流程标识符信息的代码。
所述客户端所属类型包括验证人员客户端和软件人员客户端两类,对于验证人员客户端,其对应的是EDA仿真代码类型,对于软件人员客户端,其对应的C代码类型。也就是说,对于验证人员客户端获取的流程图文档,如果流程图文档中的代码类型是C代码,需要先将C代码转换成EDA仿真代码;对于软件人员客户端获取的流程图文档,如果流程图文档中的代码类型是EDA仿真代码,需要先将EDA仿真代码转换成C代码。EDA仿真代码与C代码之间的转换可以基于现有的脚本转换方式,在此不再赘述。
本实施例的另一实施方式中,所述流程信息生成装置在生成对应EDA仿真代码的流程图文档后,能够针对该流程图文档向软件人员客户端发送流程图更新消息。
此时,所述软件人员客户端被配置为:在接收前述流程图更新消息后,获取对应的被更新的流程图文档,将前述被更新的流程图文档转换成具有流程标识符信息的C代码,并将该C代码与前述被更新的流程图文档进行关联设置;以及,采集软件人员针对前述C代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在修改后的C代码运行完成时,获取修改后的C代码后发送到流程信息生成装置。
然后,通过流程信息生成装置生成对应前述修改后的C代码的流程图文档后,对流程图数据库存储的流程图文档进行更新。
同时,所述流程信息生成装置在生成对应C代码的流程图文档后,针对该流程图文档向验证人员客户端发送流程图更新消息。
此时,所述验证人员客户端被配置为:在接收前述流程图更新消息后,获取对应的被更新的流程图文档,将前述被更新的流程图文档转换成具有流程标识符信息的EDA仿真代码,并将该EDA仿真代码与前述流程图文档进行关联设置;以及,采集验证人员针对前述EDA仿真中包含的操作指令的修改信息和/或流程标识符的修改信息,在修改后的EDA仿真代码运行完成时,获取修改后的EDA仿真代码后发送到流程信息生成装置。
然后,通过流程信息生成装置生成对应前述修改后的EDA仿真代码的流程图文档后,对流程图数据库存储的流程图文档进行更新。
本实施例中,在更新流程图数据库中的流程图文档时,可以是用新流程图文档替换旧流程图文档,以保证流程图数据库存储的流程图文档为工程师最新修改后的代码对应的流程图文档,且删除对应的旧流程图文档。此时具体的,用最新修改后的代码对应的流程图文档,来替换该修改前的代码关联的流程图文档。
优选的,根据流程图文档的生成时间信息和修改次数进行文档命名。
另一实施方式中,在更新流程图数据库中的流程图文档时,还可以将新流程图文档作为新增文档存储在流程图数据库,此时,流程图数据库存储有当前最新的流程图文档和所有历史的流程图文档。为便于用户查阅同一组测试案例(比如对应与同一测试场景的测试案例)的不同修改版本代码的流程图文档,将相关的流程图文档存储在同一路径,作为举例,比如流程图数据库中的同一指定文件夹中。
具体的,可以将最新修改后的代码对应的流程图文档,对应着该修改前的代码关联的流程图文档的存储路径进行存储。此时,可以根据流程图文档的生成时间信息和修改次数进行文档命名。
作为举例而非限制,比如针对某一测试场景,验证人员提供了该测试场景对应的EDA仿真测试案例,该EDA仿真测试案例的代码为第一代EDA仿真代码。针对该第一代EDA仿真代码设置流程标识符信息后,监测到前述EDA仿真测试案例运行完成时,根据前述设置有流程标识符信息的EDA仿真代码信息生成对应前述EDA仿真代码的流程图文档,即第一版流程图文档,命名该文档时,在文档名称中加入文档的生成时间信息(比如2021-07-15-13-30)和修改次数(此时修改次数0),将生成的第一版流程图文档存储在流程图数据库中。软件人员在获取第一版流程图文档后,通过软件人员客户端将前述第一版流程图文档自动转换成对应的具有流程标识符信息的C代码,并将该C代码与前述流程图数据库中的第一版流程图文档进行关联设置。
采集软件人员针对前述C代码中包含的操作指令的修改信息和/或流程标识符的修改信息。在监测到修改后的C代码运行完成时,获取修改后的C代码生成对应前述修改后的C代码的流程图文档,即第二版流程图文档,命名该文档时,在文档名称中加入文档的生成时间信息(比如2021-07-15-15-30)和修改次数(此时修改次数1),对流程图数据库存储的流程图文档进行更新——比如用第二版流程图文档替换流程图数据库中的第一版流程图文档,或者将第二版流程图文档对应着第一版流程图文档的存储路径进行存储。
由于流程图数据库中更新了对应C代码的第二版流程图文档,流程信息生成装置就可以针对该第二版流程图文档向验证人员客户端发送流程图更新消息。此时,所述验证人员客户端在接收前述流程图更新消息后,能够获取对应的第二版流程图文档,并将前述第二版流程图文档转换成具有流程标识符信息的EDA仿真代码,并将该EDA仿真代码与前述第二版流程图文档进行关联设置。
采集验证人员针对前述EDA仿真中包含的操作指令的修改信息和/或流程标识符的修改信息。在监测到修改后的EDA仿真代码运行完成时,获取修改后的EDA仿真代码生成对应前述修改后的EDA仿真代码的流程图文档,即第三版流程图文档,命名该文档时,在文档名称中加入文档的生成时间信息(比如2021-07-15-17-30)和修改次数(此时修改次数2),对流程图数据库存储的流程图文档进行更新——比如用第三版流程图文档替换流程图数据库中的第二版流程图文档,或者将第三版流程图文档对应着第二版和第一版流程图文档的存储路径进行存储。
如此类推,验证人员和软件人员可以通过上述系统实现对同一测试场景下的测试案例的流程图文档的自动生成和迭代,直至能够确定测试案例的最终版代码,对应的最终版流程图文档也能自动生成。
通过验证人员客户端、软件人员客户端将流程图文档转换成具有流程标识符信息的代码时,具体可以通过在前描述的流程图解析单元和代码转换单元进行。流程图解析单元解析获取的流程图文档后,获取流程图文档包含的代码类型信息、代码的操作指令序列信息和流程标识符信息。然后代码转换单元根据解析的信息,基于获取流程图文档的客户端所属类型,将前述流程图文档中的代码转换成与前述客户端所属类型匹配的代码后,加注流程标识符后形成具有流程标识符信息的代码。EDA仿真代码与C代码之间的转换可以基于现有的脚本转换方式,在此不再赘述。
本实施例中,在测试案例对应的代码中用添加注释的方式加入前述设置的流程标识符信息时,获取验证人员或软件人员针对对应代码中包含的各操作指令设置的流程标识符,将所述流程标识符以注释方式添加到对应操作指令的后面。
典型的实施方式中,所述流程标识符可以包括注释符和标识操作符。
所述注释符优选为/* */或者//。
所述标识操作符至少包括有text_p、text_c、text_a、text_b和text_e。
其中,text_p表示将对应的操作指令加入到流程图的方框内。text_c 表示将对应的操作指令加入到流程图的菱形框内。text_a 表示在上一个操作指令的旁边标识对应的注解内容,可以在text_a后面直接输入需要标识的注解内容,也可以通过预设的符号引出需要标识的注解内容。text_b 表示将对应的操作指令加入到流程图的椭圆开始框内。所述text_e 表示将对应的操作指令加入到流程图的椭圆结束框内。
下面以注释符采用//为例,详细描述利用本实施例设置流程标识符信息并生成流程图文档的过程。
作为举例而非限制,EDA仿真人员测试案例的代码包括的操作指令如下:
task begin
Cpu_wirte(0x100, 0x100)
Cpu_read(0x200 , rdata)
Cpu_write(0x104, 0x104)
Do
Begin
Cpu_read(0x100, rdata)
End while (rdata != ‘h1)
Cpu_write(0x200, 0x111)
Cpu_write(0x300, 0x222)
End task
EDA仿真人员可以通过仿真人员客户端针对上述仿真代码设置流程标识符信息。采集验证人员针设置的流程标识符信息后,在前述EDA仿真代码中用添加注释的方式加入前述设置的流程标识符信息,加入后的代码如下:
task begin //text_b
// text_a 开始
Cpu_wirte(0x100, 0x100) //text_p
Cpu_read(0x200 , rdata) //text_p
Cpu_write(0x104, 0x104) //text_p
// text_a 配置DMA
Do
Begin
Cpu_read(0x100, rdata) //text_c
End while (rdata != ‘h1) //text_c
// text_a polling dma 中断
Cpu_write(0x200, 0x111) //text_p
Cpu_write(0x300, 0x222) // text_p
// text_a 配置iis 寄存器
End task // text_e
// text_a 结束
流程信息生成装置自动生成的流程图文档参见图2所示。
本实施例中,将流程图文档转换成EDA仿真代码或者C代码时,也遵循上述的规则,只是方向相反。具体的,流程图的方框内的对应内容作为操作指令,同时带注释//text_p;流程图的菱形框对应生成do while 循环语句的操作指令,同时带注释//text_c;流程图的框的旁边有注释的对应在操作指令旁边生成注解内容,同时带注释//text_a;流程图的椭圆开始框对应生成task begin 操作指令,同时带注释//text_b;流程图的椭圆结束框对应生成task end 操作指令,同时带注释//text_e。
参见图3所示,为本发明的另一实施例,提供了一种芯片验证中测试案例流程信息的生成装置。
所述装置包括EDA仿真代码接收单元,C代码接收单元,流程图生成单元和流程图存储单元,EDA仿真代码接收单元和C代码接收单元均与流程图生成单元通信连接,流程图生成单元与流程图存储单元通信连接。
所述EDA仿真代码接收单元,用于接收验证人员客户端发送的设置有流程标识符信息的EDA仿真代码信息,参见图4所示。所述流程标识符信息为验证人员通过添加注释的方式加入前述EDA仿真代码的注释信息。
所述C代码接收单元,用于接收软件人员客户端发送的设置有流程标识符信息的C代码信息,参见图4所示。所述流程标识符信息为软件人员通过添加注释的方式加入前述C代码的注释信息。
所述流程图生成单元,用于根据前述设置有流程标识符信息的EDA仿真代码信息生成对应前述EDA仿真代码的流程图文档,或者根据前述设置有流程标识符信息的C代码信息生成对应前述C代码的流程图文档。
所述流程图存储单元,用于将生成的流程图文档存储到流程图数据库中。流程图数据库可以是装置的一部分,也可以是装置关联的数据库。
本实施例中,所述装置还可以包括流程图下载单元,用于获取验证人员客户端或软件人员客户端针对目标流程图文档发出的流程图下载请求,根据前述流程图下载请求,将前述目标流程图文档发送到对应的验证人员客户端或软件人员客户端,参见图4所示。
所述验证人员客户端在接收前述目标流程图文档后,能够根据代码转换命令将前述目标流程图文档转换成具有流程标识符信息的EDA仿真代码。所述软件人员客户端在接收前述目标流程图文档后,能够根据代码转换命令将前述目标流程图文档转换成具有流程标识符信息的C代码。
本实施例中,所述装置还可以包括流程图更新提醒单元,用于在生成对应EDA仿真代码的流程图文档后,针对该流程图文档向软件人员客户端发送流程图更新消息;以及,在生成对应C代码的流程图文档后,针对该流程图文档向验证人员客户端发送流程图更新消息。
一方面,软件人员客户端在接收前述流程图更新消息后,能够获取对应的被更新的流程图文档,将前述被更新的流程图文档转换成具有流程标识符信息的C代码,并将该C代码与前述被更新的流程图文档进行关联设置;以及,采集软件人员针对前述C代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在修改后的C代码运行完成时,获取修改后的C代码后发送到前述装置。
所述装置接收修改后的C代码后,能够生成对应前述修改后的C代码的流程图文档后,对流程图数据库存储的流程图文档进行更新。
另一方面,验证人员客户端在接收前述流程图更新消息后,能够获取对应的被更新的流程图文档,将前述被更新的流程图文档转换成具有流程标识符信息的EDA仿真代码,并将该EDA仿真代码与前述流程图文档进行关联设置;以及,采集验证人员针对前述EDA仿真中包含的操作指令的修改信息和/或流程标识符的修改信息,在修改后的EDA仿真代码运行完成时,获取修改后的EDA仿真代码后发送到前述装置。
所述装置接收修改后的EDA仿真代码后,能够生成对应前述修改后的EDA仿真代码的流程图文档后,对流程图数据库存储的流程图文档进行更新。
其它技术特征参考在前实施例,在此不再赘述。
本发明的另一实施例,还提供了一种芯片验证中测试案例流程信息的生成方法。
所述方法包括如下步骤:采集验证针对EDA仿真测试案例设置的流程标识符信息,在前述EDA仿真测试案例对应的EDA仿真代码中用添加注释的方式加入前述设置的流程标识符信息;监测到前述EDA仿真测试案例运行完成时,根据前述设置有流程标识符信息的EDA仿真代码信息生成对应前述EDA仿真代码的流程图文档,将生成的流程图文档存储在流程图数据库中;以及,采集软件人员针对软件测试案例设置的流程标识符信息,在前述软件测试案例对应的C代码中用添加注释的方式加入前述设置的流程标识符信息;监测到前述软件测试案例运行完成时,根据前述设置有流程标识符信息的C代码信息生成对应前述C代码的流程图文档,将生成的流程图文档存储在流程图数据库中。
所述方法还可以包括步骤:在生成对应EDA仿真代码的流程图文档后,将该流程图文档发送到软件人员客户端并转换成具有流程标识符信息的C代码,将该C代码与该流程图文档进行关联设置;采集软件人员针对前述C代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在监测到修改后的C代码运行完成时,获取修改后的C代码生成对应前述修改后的C代码的流程图文档,对流程图数据库存储的流程图文档进行更新。以及,在生成对应C代码的流程图文档后,将该流程图文档发送到验证人员客户端并转换成具有流程标识符信息的EDA仿真代码,将该EDA仿真代码与该流程图文档进行关联设置;采集验证人员针对前述EDA仿真代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在监测到修改后的EDA仿真代码运行完成时,获取修改后的EDA仿真代码生成对应前述修改后的EDA仿真代码的流程图文档,对流程图数据库存储的流程图文档进行更新。
通过上述技术方案,可以实现对同一测试场景下的测试案例的流程图文档的自动生成和迭代,直至能够确定测试案例的最终版代码,对应的最终版流程图文档也能自动生成。一方面,提高了流程图绘制效率和可靠性,降低了验证工作量。同时,也提高了验证人员和软件人员就不同程序语言的测试案例进行沟通的顺畅性和效率。
其它技术特征参考在前实施例,在此不再赘述。
在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

Claims (7)

1.一种芯片验证中测试案例流程信息的生成系统,其特征在于:包括验证人员客户端、软件人员客户端和流程信息生成装置;
所述验证人员客户端,用于采集验证人员针对EDA仿真测试案例设置的流程标识符信息,在前述EDA仿真测试案例对应的EDA仿真代码中用添加注释的方式加入前述设置的流程标识符信息;以及在前述EDA仿真测试案例运行完成时,获取前述设置有流程标识符信息的EDA仿真代码信息后发送到流程信息生成装置;
所述软件人员客户端,用于采集软件人员针对软件测试案例设置的流程标识符信息,在前述软件测试案例对应的C代码中用添加注释的方式加入前述设置的流程标识符信息;以及在前述软件测试案例运行完成时,获取前述设置有流程标识符信息的C代码信息后发送到流程信息生成装置;
所述流程信息生成装置,用于接收前述设置有流程标识符信息的EDA仿真代码信息或C代码信息,生成对应前述EDA仿真代码或C代码的流程图文档后,将生成的流程图文档存储在流程图数据库中;
其中,所述流程信息生成装置在生成对应EDA仿真代码的流程图文档后,针对该流程图文档向软件人员客户端发送流程图更新消息;所述软件人员客户端被配置为:在接收前述流程图更新消息后,获取对应的被更新的流程图文档,将前述被更新的流程图文档转换成具有流程标识符信息的C代码,并将该C代码与前述被更新的流程图文档进行关联设置;以及,采集软件人员针对前述C代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在修改后的C代码运行完成时,获取修改后的C代码后发送到流程信息生成装置;
通过流程信息生成装置生成对应前述修改后的C代码的流程图文档后,对流程图数据库存储的流程图文档进行更新;
其中,所述流程信息生成装置在生成对应C代码的流程图文档后,针对该流程图文档向验证人员客户端发送流程图更新消息;所述验证人员客户端被配置为:在接收前述流程图更新消息后,获取对应的被更新的流程图文档,将前述被更新的流程图文档转换成具有流程标识符信息的EDA仿真代码,并将该EDA仿真代码与前述流程图文档进行关联设置;以及,采集验证人员针对前述EDA仿真中包含的操作指令的修改信息和/或流程标识符的修改信息,在修改后的EDA仿真代码运行完成时,获取修改后的EDA仿真代码后发送到流程信息生成装置;
通过流程信息生成装置生成对应前述修改后的EDA仿真代码的流程图文档后,对流程图数据库存储的流程图文档进行更新。
2.根据权利要求1所述的系统,其特征在于:所述流程信息生成装置被配置为:
获取验证人员客户端或软件人员客户端针对目标流程图文档发出的流程图下载请求,根据前述流程图下载请求,将前述目标流程图文档发送到对应的验证人员客户端或软件人员客户端。
3.根据权利要求2所述的系统,其特征在于:所述验证人员客户端在接收前述目标流程图文档后,能够根据代码转换命令将前述目标流程图文档转换成具有流程标识符信息的EDA仿真代码;
所述软件人员客户端在接收前述目标流程图文档后,能够根据代码转换命令将前述目标流程图文档转换成具有流程标识符信息的C代码。
4.根据权利要求1所述的系统,其特征在于:在更新流程图数据库中的流程图文档时,
用最新修改后的代码对应的流程图文档替换该修改前的代码关联的流程图文档;或者将最新修改后的代码对应的流程图文档对应着该修改前的代码关联的流程图文档的存储路径进行存储,此时,根据流程图文档的生成时间信息和修改次数进行文档命名。
5.根据权利要求1-4中任一项所述的系统,其特征在于:在测试案例对应的代码中用添加注释的方式加入前述设置的流程标识符信息时,获取验证人员或软件人员针对对应代码中包含的各操作指令设置的流程标识符,将所述流程标识符以注释方式添加到对应操作指令的后面;
所述流程标识符包括注释符和标识操作符,所述注释符为/* */或者//,所述标识操作符至少包括有text_p、text_c、text_a、text_b和text_e,其中,text_p表示将对应的操作指令加入到流程图的方框内,text_c 表示将对应的操作指令加入到流程图的菱形框内,text_a 表示在上一个操作指令的旁边标识对应的注解内容,text_b 表示将对应的操作指令加入到流程图的椭圆开始框内, text_e 表示将对应的操作指令加入到流程图的椭圆结束框内。
6.一种用于权利要求1所述系统的流程信息生成装置,其特征在于包括如下结构:
EDA仿真代码接收单元,用于接收验证人员客户端发送的设置有流程标识符信息的EDA仿真代码信息,所述流程标识符信息为验证人员通过添加注释的方式加入前述EDA仿真代码的注释信息;
C代码接收单元,用于接收软件人员客户端发送的设置有流程标识符信息的C代码信息,所述流程标识符信息为软件人员通过添加注释的方式加入前述C代码的注释信息;
流程图生成单元,用于根据前述设置有流程标识符信息的EDA仿真代码信息生成对应前述EDA仿真代码的流程图文档,或者根据前述设置有流程标识符信息的C代码信息生成对应前述C代码的流程图文档;
流程图存储单元,用于将生成的流程图文档存储到流程图数据库中。
7.一种根据权利要求1所述系统的流程信息生成方法,其特征在于包括步骤:
采集验证人员针对EDA仿真测试案例设置的流程标识符信息,在前述EDA仿真测试案例对应的EDA仿真代码中用添加注释的方式加入前述设置的流程标识符信息;监测到前述EDA仿真测试案例运行完成时,根据前述设置有流程标识符信息的EDA仿真代码信息生成对应前述EDA仿真代码的流程图文档,将生成的流程图文档存储在流程图数据库中;
以及,采集软件人员针对软件测试案例设置的流程标识符信息,在前述软件测试案例对应的C代码中用添加注释的方式加入前述设置的流程标识符信息;监测到前述软件测试案例运行完成时,根据前述设置有流程标识符信息的C代码信息生成对应前述C代码的流程图文档,将生成的流程图文档存储在流程图数据库中;
以及,在生成对应EDA仿真代码的流程图文档后,将该流程图文档发送到软件人员客户端并转换成具有流程标识符信息的C代码,将该C代码与该流程图文档进行关联设置;采集软件人员针对前述C代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在监测到修改后的C代码运行完成时,获取修改后的C代码生成对应前述修改后的C代码的流程图文档,对流程图数据库存储的流程图文档进行更新;
在生成对应C代码的流程图文档后,将该流程图文档发送到验证人员客户端并转换成具有流程标识符信息的EDA仿真代码,将该EDA仿真代码与该流程图文档进行关联设置;采集验证人员针对前述EDA仿真代码中包含的操作指令的修改信息和/或流程标识符的修改信息,在监测到修改后的EDA仿真代码运行完成时,获取修改后的EDA仿真代码生成对应前述修改后的EDA仿真代码的流程图文档,对流程图数据库存储的流程图文档进行更新。
CN202110887751.XA 2021-08-03 2021-08-03 芯片验证中测试案例流程信息的生成系统及应用 Active CN113591422B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110887751.XA CN113591422B (zh) 2021-08-03 2021-08-03 芯片验证中测试案例流程信息的生成系统及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110887751.XA CN113591422B (zh) 2021-08-03 2021-08-03 芯片验证中测试案例流程信息的生成系统及应用

Publications (2)

Publication Number Publication Date
CN113591422A CN113591422A (zh) 2021-11-02
CN113591422B true CN113591422B (zh) 2024-01-30

Family

ID=78254609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110887751.XA Active CN113591422B (zh) 2021-08-03 2021-08-03 芯片验证中测试案例流程信息的生成系统及应用

Country Status (1)

Country Link
CN (1) CN113591422B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116257244B (zh) * 2022-09-06 2023-10-03 无锡芯享信息科技有限公司 一种用于芯片制造eap系统的流程代码转换系统
CN115589407B (zh) * 2022-11-22 2023-03-10 大方智造(天津)科技有限公司 一种基于plm-dnc集成系统的文件传输验证方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864569A (en) * 1987-11-25 1989-09-05 Westinghouse Electric Corp. Software verification and validation configuration management system
US7093240B1 (en) * 2001-12-20 2006-08-15 Unisys Corporation Efficient timing chart creation and manipulation
CN107656865A (zh) * 2017-08-15 2018-02-02 黄璐瑶 测试需求确定方法及装置
CN107885499A (zh) * 2017-10-19 2018-04-06 平安壹钱包电子商务有限公司 一种接口文档生成方法及终端设备
CN111859832A (zh) * 2020-07-16 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种芯片仿真验证方法、装置及相关设备
US10896277B1 (en) * 2019-06-13 2021-01-19 Cadence Design Systems, Inc. Over-constraints for formal verification
CN113065300A (zh) * 2021-03-31 2021-07-02 眸芯科技(上海)有限公司 芯片eda仿真中回溯仿真波形的方法、系统及装置
CN113157269A (zh) * 2021-06-10 2021-07-23 上海齐感电子信息科技有限公司 验证系统及其验证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658633B2 (en) * 2001-10-03 2003-12-02 International Business Machines Corporation Automated system-on-chip integrated circuit design verification system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864569A (en) * 1987-11-25 1989-09-05 Westinghouse Electric Corp. Software verification and validation configuration management system
US7093240B1 (en) * 2001-12-20 2006-08-15 Unisys Corporation Efficient timing chart creation and manipulation
CN107656865A (zh) * 2017-08-15 2018-02-02 黄璐瑶 测试需求确定方法及装置
CN107885499A (zh) * 2017-10-19 2018-04-06 平安壹钱包电子商务有限公司 一种接口文档生成方法及终端设备
US10896277B1 (en) * 2019-06-13 2021-01-19 Cadence Design Systems, Inc. Over-constraints for formal verification
CN111859832A (zh) * 2020-07-16 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种芯片仿真验证方法、装置及相关设备
CN113065300A (zh) * 2021-03-31 2021-07-02 眸芯科技(上海)有限公司 芯片eda仿真中回溯仿真波形的方法、系统及装置
CN113157269A (zh) * 2021-06-10 2021-07-23 上海齐感电子信息科技有限公司 验证系统及其验证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EDA工程建模及其管理方法研究;陈怡;曾剑平;李晓潮;郭东辉;;现代电子技术(13);全文 *
Efficient Methodology of Sampling UVM RAL during Simulation for SoC Functional Coverage;Sameh El-Ashry et al.;《19th International Workshop on Microprocessor and SOC Test, Security and Verification》;第61-66页 *
基于SystemVerilog的SoC功能验证方法研究;程刚;蔡敏;;科学技术与工程(22);全文 *

Also Published As

Publication number Publication date
CN113591422A (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN113591422B (zh) 芯片验证中测试案例流程信息的生成系统及应用
CN106528100B (zh) 用于安全关键软件开发的基于模型的技术和过程的系统和方法
US7210123B2 (en) Software evaluation system having source code and function unit identification information in stored administration information
US20160350204A1 (en) System and method for providing automated computer language translation and verification
CN110825431B (zh) 接口文档处理方法及装置、系统、存储介质和电子设备
CN104346274B (zh) 程序调试器及一种程序的调试方法
CN112559354A (zh) 前端代码规范检测方法、装置、计算机设备及存储介质
CN106528744A (zh) 格式转换方法及系统
CN111427940B (zh) 一种自适应数据库转换方法及装置
CN107203535B (zh) 信息查询方法及装置
CN111103861B (zh) 开发基于车辆售后诊断需求的集成系统的方法和装置
CN103761095B (zh) 一种生成通用的升级文件头部数据信息的方法
KR20140143543A (ko) 차량 데이터 수집 시스템
CN110659210A (zh) 一种信息获取方法、装置、电子设备及存储介质
US10846059B2 (en) Automated generation of software bindings
CN115357289A (zh) 寄存器应用信息生成方法、装置、电子设备和存储介质
CN112230848A (zh) 一种nvm自动配置方法、装置和设备
US20140137083A1 (en) Instrumenting computer program code by merging template and target code methods
CN108614704B (zh) 代码编译方法及装置
JP2016181228A (ja) ソースコード演算装置およびソースコード演算方法
EP2535813A1 (en) Method and device for generating an alert during an analysis of performance of a computer application
CN108228314A (zh) 一种基于设备规约的虚拟原型错误检测方法
CN112559345A (zh) 基于LoadRunner的接口测试方法、计算机设备及存储介质
KR20170047013A (ko) 차량용 인증 가이드라인 파일 생성장치 및 방법과 그를 위한 프로그램을 기록한 기록매체
CN112363708B (zh) 一种支持Eclipse工具下的上下文保护方法及系统

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
GR01 Patent grant
GR01 Patent grant