CN107797929B - 可编程逻辑仿真测试功能覆盖率的统计方法和装置 - Google Patents

可编程逻辑仿真测试功能覆盖率的统计方法和装置 Download PDF

Info

Publication number
CN107797929B
CN107797929B CN201711014421.XA CN201711014421A CN107797929B CN 107797929 B CN107797929 B CN 107797929B CN 201711014421 A CN201711014421 A CN 201711014421A CN 107797929 B CN107797929 B CN 107797929B
Authority
CN
China
Prior art keywords
test
sva
design
assertion
item
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
CN201711014421.XA
Other languages
English (en)
Other versions
CN107797929A (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.)
China General Nuclear Power Corp
China Techenergy Co Ltd
Original Assignee
China General Nuclear Power Corp
China Techenergy 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 China General Nuclear Power Corp, China Techenergy Co Ltd filed Critical China General Nuclear Power Corp
Priority to CN201711014421.XA priority Critical patent/CN107797929B/zh
Publication of CN107797929A publication Critical patent/CN107797929A/zh
Application granted granted Critical
Publication of CN107797929B publication Critical patent/CN107797929B/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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

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

Abstract

本发明属于安全级仪控***仿真测试的技术领域,为了解决现有技术中仿真测试功能覆盖率不能准确得到的技术问题,本发明提供一种可有效提高可编程逻辑仿真测试功能覆盖率的统计方法和装置,所述统计方法包括:S1、对HPD需求规格书中的需求项进行形式化描述,并按照预定的编码规则对各需求项建立唯一的编号;S2、建立待测试***的追踪矩阵;S3、编写测试规程中的每条测试通过准则相应的SVA断言代码;S4、按照所述测试用例对应的测试激励,执行完成后通过SVA断言自动生成测试结果。能够通过在仿真测试过程中增加对编码环节进行有效的追踪和监控,从而直观的体现功能覆盖率,使可编程逻辑的仿真测试过程更严谨、更符合高可靠性的要求。

Description

可编程逻辑仿真测试功能覆盖率的统计方法和装置
技术领域
本发明涉及安全级仪控***仿真测试的技术领域,尤其涉及一种可编程逻辑仿真测试功能覆盖率的统计方法和装置。
背景技术
在一些对可靠性和安全性要求较高的行业,如核、军工、航空航天等领域,非常重视测试的完整性和可靠性。现有技术中,通常的统计方法是将需求、设计、测试等环节条目化,建立自上而下的追踪关系,以保证从需求到最终交付成果之间的一致性。
例如,HPD(HDL-programmed device的简称,即HDL可编程器件;而HDL是hardwaredescription language的简称,中文翻译为硬件描述语言)白盒验证方法除代码审查外主要有仿真测试和形式化验证两种:仿真统计方法根据设计说明书编写测试激励,将仿真波形与设计进行比较后,记录测试结果;形式化验证方法根据设计编写约束,将输入信号限制在一个可控的范围内,再通过断言判断被测对象的响应是否正确。但是但前者的缺点是功能覆盖率无法统计;后者缺点是机器自动执行运行效率低下,无法根据实际功能调整和优化测试用例。
为了解决上述两种方法存在的不足,申请号为CN201410178300.9的中国专利公开了一种采用“功能仿真加断言”的方式开展仿真测试,具体地:通过手动编制测试向量或通过测试工具自动生成随机测试向量的方式产生测试激励,再通过断言判断被测对象输出的响应是否符合预期结果。
但是发明人在实现本发明的过程中发现:上述方法虽然能兼顾仿真测试和形式化验证各自的优点,例如,可以提高测试效率,尤其对于回归测试和重复测试效果非常明显,并且测试结果的自动判断还可以减少人为判断失误导致的错漏检。上述技术方案虽然从一定程度上提高了测试效率和可重用性,但由于功能覆盖率得不到根本性的保证,因此无法从根本上解决从需求项到最终交付成果之间的一致性和完整性问题,也不便于审查和监管,很难达到核行业对于高可靠性和监管的要求。
发明内容
为了解决现有技术中仿真测试功能覆盖率不能准确得到的技术问题,本发明的目的是提供一种有效提高可编程逻辑仿真测试功能覆盖率的统计方法和装置,能够通过在仿真测试过程中增加对编码环节进行有效的追踪和监控,并对HPD需求(设计)项进行形式化描述,从而直观的体现功能覆盖率,使可编程逻辑的仿真测试过程更严谨、更符合高可靠性的要求。
为了实现上述目的,本发明提供的技术方案包括:
一种可编程逻辑仿真测试功能覆盖率的统计方法,其特征在于,包括:
S1、对研发生命周期中的需求规格书、设计说明书、测试设计、测试用例、测试规程、SVA断言和测试记录进行形式化描述,并按照预定的编码规则对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录建立唯一的编号;
S2、通过形式化描述,并按照预定的编码规则,建立对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录之间的追踪矩阵;
S3、在构建仿真测试环境中,编写测试规程中的每条测试通过准则相应的SVA断言代码;
S4、按照所述测试用例对应的测试激励,自动执行测试;测试执行过程中,若某条断言没有通过,自动提示设计人员修改设计;若某条断言没有被遍历到,自动提示设计人员对应测试项功能覆盖率不足,需要补充测试激励;并且所有测试用例执行完成后通过SVA断言自动生成测试结果。
本发明实施例优选地,所述方法还包括:S5、步骤S4测试执行完成后,通过所述SVA断言内嵌的统计功能得到各测试项的测试覆盖情况,以及是否测试通过;并且形成测试记录和功能覆盖率的统计报告。
本发明实施例优选地,所述方法还包括:S6、当某个所述测试项中的测试结论为不通过的,需判断所述测试项目不通过是测试激励的问题还是被测设计的问题,修订所述测试激励或所述被测设计后重新执行测试用例,直至得到测试结论为通过。
本发明实施例优选地,所述步骤S3中的测试通过准则包括:如果一个在测试中被检查的属性与测试通过准则不一致,则断言为失败;或者果一个被禁止在设计中出现的属性在测试过程中发生,则断言为失败。
本发明实施例优选地,所述SVA断言用于描述和控制时序相关的内容,并且还提供多个内嵌的函数,所述内嵌的函数用于测试时序关系和自动收集功能覆盖率数据。
本发明了另一方面提供一种可编程逻辑仿真测试功能覆盖率的统计装置,其特征在于,包括:
编码生成模块,用于对研发生命周期中的需求规格书、设计说明书、测试设计、测试用例、测试规程、SVA断言和测试记录进行形式化描述,并按照预定的编码规则对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录建立唯一的编号;
追踪矩阵生成模块,用于通过形式化描述,并按照预定的编码规则,建立对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录之间的追踪矩阵;
仿真测试环境生成模块,用于在构建仿真测试环境中,编写测试规程中的每条测试通过准则相应的SVA断言代码;
测试结果生成模块,用于按照所述测试用例对应的测试激励;测试执行过程中,若某条断言没有通过,自动提示设计人员修改设计;若某条断言没有被遍历到,自动提示设计人员对应测试项功能覆盖率不足,需要补充测试激励;自动执行测试,并且所有测试用例执行完成后通过SVA断言自动生成测试结果。
本发明实施例优选地,所述统计装置还包括:统计报告生成模块,用于在测试执行完成后,通过所述SVA断言内嵌的统计功能得到各测试项的测试覆盖情况,以及是否测试通过;并且形成测试记录和功能覆盖率的统计报告。
本发明实施例优选地,所述统计装置还包括:测试结果诊断模块,当某个所述测试项中的测试结论为不通过的,需判断所述测试项目不通过是测试激励的问题还是被测设计的问题,修订所述测试激励或所述被测设计后重新执行测试用例,直至得到测试结论为通过。
本发明实施例优选地,所述仿真测试环境生成模块设置成如果一个在测试中被检查的属性与测试通过准则不一致,则断言为失败;或者果一个被禁止在设计中出现的属性在测试过程中发生,则断言为失败。
本发明实施例优选地,所述SVA断言用于描述和控制时序相关的内容,并且还提供多个内嵌的函数,所述内嵌的函数用于测试时序关系和自动收集功能覆盖率数据。
采用本发明提供的上述技术方案,可以获得以下有益效果中的至少一种:
1、通过断言将形式化的设计和验证思想与核行业的全生命周期可追踪性相结合,使得产品验证过程中的功能覆盖率指标可以被量化;进而有效提高HPD测试活动完备性,使测试过程更严谨、测试结果更具有说服力。
2、将断言及其判断结果作为测试记录的一部分,测试执行过程中依据SVA自动生成测试结果。测试结果自动化分析可有效提高测试效率,避免人工操作产生的测试结果误判断。
3、追踪矩阵和SVA代码编写可以根据用户需求自行拓展,所以针对典型设计开发的SVA代码具有一定的可重用性。
发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书变得显而易见,或者通过实施本发明的技术方案而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构和/或流程来实现和获得。
附图说明
图1为本发明实施例提供一种可编程逻辑仿真测试功能覆盖率的统计方法的流程图。
图2为本发明实施例提供一种可编程逻辑仿真测试功能覆盖率的统计装置的结构框图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,这些具体的说明只是让本领域普通技术人员更加容易、清晰理解本发明,而非对本发明的限定性解释;并且只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组控制器可执行指令的控制***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面通过附图和具体实施例,对本发明的技术方案进行详细描述:
实施例
如图1所示,本实施例提供一种可编程逻辑仿真测试功能覆盖率的统计方法,该统计方法包括:
S1、对研发生命周期中的需求规格书、设计说明书、测试设计、测试用例、测试规程、SVA断言和测试记录进行形式化描述,并按照预定的编码规则对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录建立唯一的编号。保证所有的需求项不会在设计和测试过程中出现遗漏,同时保证代码实现阶段没有产生与***需求不相关的冗余逻辑。
S2、通过形式化描述,并按照预定的编码规则,建立对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录之间的追踪矩阵;本实施例提及的待测试***通常是针对FPGA(英文全称Field-Programmable Gate Array,现场可编程门阵列)类型逻辑编辑器的测试,并且该步骤中建立的追踪矩阵,是指搭建矩阵的框架,矩阵中部分参数需要待后续步骤完成后,再将运行结果填充至追踪矩阵中;本实施例提及的追踪矩阵追踪矩阵的建立方法包括,首先是对需求文档中的需求项进行编号,当然编号肯定是有规则的,通常是三段式,中间用“-”隔开;第一段是阶段名称,比如用FRE表示需求项,用FDE表示设计项,用FIT表示测试项,以此类详细请见下文的表4;第二段是芯片名称或板卡名称如表4中的AFABB01,用来与其他产品进行区分;第三段表示功能,像表4中举例的nnet指的是nnet接口功能。
S3、在构建仿真测试环境中,编写测试规程中的每条测试通过准则相应的SVA断言代码;本实施例优选地,规则描述性语言为SVA类型的描述性语言,用于描述和控制时序相关的内容,并且还提供多个内嵌的函数,内嵌的函数用于测试时序关系和自动收集功能覆盖率数据。具体地,SVA(英文全称为System Verilog Assertion)语言,是一种简洁的过程语言,可以更好的控制时序,这种描述性语言,本身简洁移动,维护容易;并且提供内嵌的机制来提供功能覆盖的数据,当断言失败时,仿真***会根据;断言(Assertion)是设计的属性的描述(如果一个在模拟中被检查的属性不像我们期望的那样表现,那么这个断言失败;如果一个被禁止在设计中出现的属性在模拟过程中发生,那么这个断言失败);并且步骤S3中的测试通过准则与前述步骤S1中的预定规则相对应,下文还有详细的描述。
S4、按照测试用例对应的测试激励,自动执行测试;测试执行过程中,若某条断言没有通过,自动提示设计人员修改设计;若某条断言没有被遍历到,自动提示设计人员对应测试项功能覆盖率不足,需要补充测试激励;并且所有测试用例执行完成后通过SVA断言自动生成测试结果;即测试执行过程中,按照预定脚本注入测试激励,并自动执行测试用例,测试过程无测试人员干预,所有测试用例执行完成后通过SVA断言自动生成测试结果。
因此,通过上述统计方法中的步骤S1-S4可以与核行业的全生命周期可追踪性相结合,更好的实现功能覆盖的测试。
本实施例优选地,上述统计方法还包括:S5、步骤S4测试执行完成后,通过SVA断言内嵌的统计功能得到各测试项的测试覆盖情况,以及是否测试通过;并且形成测试记录和功能覆盖率的统计报告。由于SVA断言(包括但不限于SVA)实现在测试规格中从自然语言到机器语言的转化过程,并且测试结果还能通过自然语言直观的体现。
本实施例进一步优选地,上述统计方法还包括:S6、当某个测试项中的测试结论为不通过的,需判断测试项目不通过是测试激励的问题还是被测设计的问题,修订测试激励或被测设计后重新执行测试用例,直至得到测试结论为通过。具体地,通过规则描述性语言中的描述和内嵌函数,能够快速定位到具体哪个测试结果不通过,然后修订测试激励或被测设计。
本实施例优选地,步骤S3中的测试通过准则包括:如果一个在测试中被检查的属性与测试通过准则不一致,则断言为失败;或者果一个被禁止在设计中出现的属性在测试过程中发生,则断言为失败。
采用上述统计方法,可以利用形式化断言,链接测试规程、测试执行和测试记录,自动化的进行结果分析。为了本领域技术人员更容易理解本实施例中的技术方案,下面进一步解释如下:
1)、本实施例优选的一种测试规程,如表1所示,规则编号即步骤S1中“编号”的一种体现方式,其中,测试规程是测试向量的上一个阶段;追踪矩阵的覆盖范围和顺序是:需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录,其中SVA描述需与表1中的判定标准完全一致;具体过程是将需求文件中的各需求项进行条目化,之后对这些需求项进行编号;下文中表4的例子中为了节省篇幅只列了一个需求项,实际会有很多;对这些需求项分别进行逐级追踪,按照上面的顺序一直追踪到测试记录,这样就保证了过程可控。
Figure BDA0001446174810000081
表1.统计方法中的一种测试规则示例
2)、在测试代码中与表1中的测试规程相对应的测试向量和SVA部分描述如下:
Figure BDA0001446174810000082
Figure BDA0001446174810000091
需要说明的是,上述代码只是针对表1中这种特定规则的SVA描述,assertproperty为SVA的关键字,描述属性;$error为SVA的内嵌函数,用于定位错误位置。
3)、下面结合表3,示意一种测试结果形成的测试记录:
Figure BDA0001446174810000092
表3.与表1中测试规定对应的一种测试结果
4)、生成追踪矩阵,其中,追踪矩阵的意义在于证明所有需求规格书中的需求项都在研发生命周期过程中进行了有效的设计和验证,并且各研发过程满足一致性和正确性:
Figure BDA0001446174810000101
表4.追踪矩阵局部示意图
如图2所示,本实施例还提供一种可编程逻辑仿真测试功能覆盖率的统计装置,该统计装置包括:
编码生成模块110,用于对研发生命周期中的需求规格书、设计说明书、测试设计、测试用例、测试规程、SVA断言和测试记录进行形式化描述,并按照预定的编码规则对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录建立唯一的编号;
追踪矩阵生成模块120,用于通过形式化描述,并按照预定的编码规则,建立对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录之间的追踪矩阵。具体地,SVA(英文全称为System Verilog Assertion),是一种简洁的过程语言,可以更好的控制时序,这种描述性语言,本身简洁移动,维护容易;并且提供内嵌的机制来提供功能覆盖的数据,当断言失败时,仿真***会根据;
仿真测试环境生成模块130,用于在构建仿真测试环境中,编写测试规程中的每条测试通过准则相应的SVA断言代码;
测试结果生成模块140,用于按照测试用例对应的测试激励,自动执行测试,并且所有测试用例执行完成后通过SVA断言自动生成测试结果。
本实施例优选地,统计装置还包括:统计报告生成模块,用于在测试执行完成后,通过SVA断言内嵌的统计功能得到各测试项的测试覆盖情况,以及是否测试通过;并且形成测试记录和功能覆盖率的统计报告。
本实施进一步例优选地,统计装置还包括:测试结果诊断模块,当某个测试项中的测试结论为不通过的,需判断测试项目不通过是测试激励的问题还是被测设计的问题,修订测试激励或被测设计后重新执行测试用例,直至得到测试结论为通过。
本实施例优选地,仿真测试环境生成模块设置成如果一个在测试中被检查的属性与测试通过准则不一致,则断言为失败;或者果一个被禁止在设计中出现的属性在测试过程中发生,则断言为失败。
本实施例优选地,上述SVA断言,用于描述和控制时序相关的内容,并且还提供多个内嵌的函数,内嵌的函数用于测试时序关系和自动收集功能覆盖率数据。
需要说明的是,本实施例提及的不同模块为分别加载执行与相应模块功能对应程序的控制器,并且可以是同一个控制器中加载在存储器中保存的不同应用程序,也可以是不同控制器中加载不同的应用程序。
采用本发明实施例提供的上述技术方案,可以获得以下有益效果中的至少一种:
1、通过断言将形式化的设计和验证思想与核行业的全生命周期可追踪性相结合,使得产品验证过程中的功能覆盖率指标可以被量化;进而有效提高HPD测试活动完备性,使测试过程更严谨、测试结果更具有说服力。
2、将断言及其判断结果作为测试记录的一部分,测试执行过程中依据SVA自动生成测试结果;测试结果自动化分析可有效提高测试效率,避免人工操作产生的测试结果误判断。
3、追踪矩阵和SVA代码编写可以根据用户需求自行拓展,所以针对典型设计开发的SVA代码具有一定的可重用性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后需要说明的是,上述说明仅是本发明的最佳实施例而已,并非对本发明做任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围内,都可利用上述揭示的做法和技术内容对本发明技术方案做出许多可能的变动和简单的替换等,这些都属于本发明技术方案保护的范围。

Claims (10)

1.一种可编程逻辑仿真测试功能覆盖率的统计方法,其特征在于,包括:
S1、对研发生命周期中的需求规格书、设计说明书、测试设计、测试用例、测试规程、SVA断言和测试记录进行形式化描述,并按照预定的编码规则对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录建立唯一的编号;
S2、通过形式化描述,并按照预定的编码规则,建立对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录之间的追踪矩阵;其中,追踪矩阵和SVA代码编写可以根据用户需求自行拓展,针对典型设计开发的SVA代码具有一定的可重用性;
S3、在构建仿真测试环境中,编写测试规程中的每条测试通过准则相应的SVA断言代码;
S4、按照所述测试用例对应的测试激励,自动执行测试;测试执行过程中,若某条断言没有通过,自动提示设计人员修改设计;若某条断言没有被遍历到,自动提示设计人员对应测试项功能覆盖率不足,需要补充测试激励;并且所有测试用例执行完成后通过SVA断言自动生成测试结果。
2.根据权利要求1所述的统计方法,其特征在于,所述方法还包括:S5、步骤S4测试执行完成后,通过所述SVA断言内嵌的统计功能得到各测试项的测试覆盖情况,以及是否测试通过;并且形成测试记录和功能覆盖率的统计报告。
3.根据权利要求2所述的统计方法,其特征在于,所述方法还包括:S6、当某个所述测试项中的测试结论为不通过的,需判断所述测试项目不通过是测试激励的问题还是被测设计的问题,修订所述测试激励或所述被测设计后重新执行测试用例,直至得到测试结论为通过。
4.根据权利要求1所述的统计方法,其特征在于,所述步骤S3中的测试通过准则包括:如果一个在测试中被检查的属性与测试通过准则不一致,则断言为失败;或者果一个被禁止在设计中出现的属性在测试过程中发生,则断言为失败。
5.根据权利要求1-4中任意一种所述的统计方法,其特征在于,所述SVA断言用于描述和控制时序相关的内容,并且还提供多个内嵌的函数,所述内嵌的函数用于测试时序关系和自动收集功能覆盖率数据。
6.一种可编程逻辑仿真测试功能覆盖率的统计装置,其特征在于,包括:
编码生成模块,用于对研发生命周期中的需求规格书、设计说明书、测试设计、测试用例、测试规程、SVA断言和测试记录进行形式化描述,并按照预定的编码规则对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录建立唯一的编号;
追踪矩阵生成模块,用于通过形式化描述,并按照预定的编码规则,建立对各个需求项、设计项、测试项、测试用例、测试规程、SVA断言和测试记录之间的追踪矩阵;其中,追踪矩阵和SVA代码编写可以根据用户需求自行拓展,针对典型设计开发的SVA代码具有一定的可重用性;
仿真测试环境生成模块,用于在构建仿真测试环境中,编写测试规程中的每条测试通过准则相应的SVA断言代码;
测试结果生成模块,用于按照所述测试用例对应的测试激励;测试执行过程中,若某条断言没有通过,自动提示设计人员修改设计;若某条断言没有被遍历到,自动提示设计人员对应测试项功能覆盖率不足,需要补充测试激励;自动执行测试,并且所有测试用例执行完成后通过SVA断言自动生成测试结果。
7.根据权利要求6所述的统计装置,其特征在于,所述统计装置还包括:统计报告生成模块,用于在测试执行完成后,通过所述SVA断言内嵌的统计功能得到各测试项的测试覆盖情况,以及是否测试通过;并且形成测试记录和功能覆盖率的统计报告。
8.根据权利要求7所述的统计装置,其特征在于,所述统计装置还包括:测试结果诊断模块,当某个所述测试项中的测试结论为不通过的,需判断所述测试项目不通过是测试激励的问题还是被测设计的问题,修订所述测试激励或所述被测设计后重新执行测试用例,直至得到测试结论为通过。
9.根据权利要求6所述的统计装置,其特征在于,所述仿真测试环境生成模块设置成如果一个在测试中被检查的属性与测试通过准则不一致,则断言为失败;或者果一个被禁止在设计中出现的属性在测试过程中发生,则断言为失败。
10.根据权利要求6-9中任意一种所述的统计装置,其特征在于,所述SVA断言用于描述和控制时序相关的内容,并且还提供多个内嵌的函数,所述内嵌的函数用于测试时序关系和自动收集功能覆盖率数据。
CN201711014421.XA 2017-10-26 2017-10-26 可编程逻辑仿真测试功能覆盖率的统计方法和装置 Active CN107797929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711014421.XA CN107797929B (zh) 2017-10-26 2017-10-26 可编程逻辑仿真测试功能覆盖率的统计方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711014421.XA CN107797929B (zh) 2017-10-26 2017-10-26 可编程逻辑仿真测试功能覆盖率的统计方法和装置

Publications (2)

Publication Number Publication Date
CN107797929A CN107797929A (zh) 2018-03-13
CN107797929B true CN107797929B (zh) 2021-01-22

Family

ID=61547883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711014421.XA Active CN107797929B (zh) 2017-10-26 2017-10-26 可编程逻辑仿真测试功能覆盖率的统计方法和装置

Country Status (1)

Country Link
CN (1) CN107797929B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563545B (zh) * 2018-04-11 2021-06-08 北京计算机技术及应用研究所 一种覆盖率驱动软硬件协同的sopc功能验证方法和***
CN108920374A (zh) * 2018-07-11 2018-11-30 郑州云海信息技术有限公司 一种快速统计需求测试覆盖率的方法及***
CN109444726B (zh) * 2018-10-12 2021-01-26 盛科网络(苏州)有限公司 测试激励行为一致性的检查方法及检查装置
CN109446098A (zh) * 2018-11-09 2019-03-08 贵州医渡云技术有限公司 一种对象的测试方法、装置、介质及电子设备
CN110688296A (zh) * 2019-02-25 2020-01-14 上海核工程研究设计院有限公司 一种针对计算机化规程组态的自动化测试方法
CN109902021B (zh) * 2019-03-13 2021-03-02 北京国舜科技股份有限公司 一种信息***安全测试质量评价方法及***
CN110502441B (zh) * 2019-08-12 2022-02-18 中核控制***工程有限公司 基于vba的dcs单体测试用例自动生成方法
CN111031015B (zh) * 2019-11-29 2022-05-06 天津市滨海新区信息技术创新中心 混合协议转换设计的验证方法、装置、设备及存储介质
CN113157574A (zh) * 2021-04-19 2021-07-23 上海湃星信息科技有限公司 一种软件实物测试覆盖率收集方法及装置、电子设备
CN114091388A (zh) * 2021-12-01 2022-02-25 广东工业大学 一种断言属性构造方法和***与断言验证方法和***
CN114661615B (zh) * 2022-04-11 2024-01-30 成都迪真计算机科技有限公司 一种fpga软件测试方法和设备
CN114817015A (zh) * 2022-04-14 2022-07-29 芯天下技术股份有限公司 测试用例的覆盖率统计方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365770A (zh) * 2012-04-09 2013-10-23 陆兵 移动终端软件测试***及软件测试方法
CN105404572A (zh) * 2015-12-08 2016-03-16 北京时代民芯科技有限公司 一种基于遍历搜索存储模型的Cache***形式化验证方法
CN106294148A (zh) * 2016-08-08 2017-01-04 清华大学 基于扩展符号变迁***的c语言程序软件验证方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070101196A1 (en) * 2005-11-01 2007-05-03 Rogers William A Functional testing and verification of software application
CN102736973A (zh) * 2011-04-07 2012-10-17 中国科学技术大学 不变量指导的随机测试用例自动化生成方法
US8984457B2 (en) * 2013-03-15 2015-03-17 Atrenta, Inc. System and method for a hybrid clock domain crossing verification
CN104408264B (zh) * 2014-12-12 2018-01-09 浪潮电子信息产业股份有限公司 一种基于断言的嵌入式存储控制器验证***及方法
CN106773785B (zh) * 2016-12-26 2020-02-18 中核控制***工程有限公司 一种基于fpga技术的核安全级智能仿真验证平台的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365770A (zh) * 2012-04-09 2013-10-23 陆兵 移动终端软件测试***及软件测试方法
CN105404572A (zh) * 2015-12-08 2016-03-16 北京时代民芯科技有限公司 一种基于遍历搜索存储模型的Cache***形式化验证方法
CN106294148A (zh) * 2016-08-08 2017-01-04 清华大学 基于扩展符号变迁***的c语言程序软件验证方法及装置

Also Published As

Publication number Publication date
CN107797929A (zh) 2018-03-13

Similar Documents

Publication Publication Date Title
CN107797929B (zh) 可编程逻辑仿真测试功能覆盖率的统计方法和装置
CN114065677B (zh) 用于集成电路硬件设计的故障注入测试的方法和***
CN104077140B (zh) 用于持续集成的自动化编译方法和编译装置
CN111950212B (zh) 高效的多模式验证平台及方法
CN105786695B (zh) 数据测试方法及***
CN112052172B (zh) 第三方通道的快速测试方法、装置和电子设备
CN109885499B (zh) 一种机器人自动化测试***及测试方法
CN105185413A (zh) 用于片上存储管理单元容错结构的自动验证平台与方法
US20220253375A1 (en) Systems and methods for device testing to avoid resource conflicts for a large number of test scenarios
Yang et al. Specification-based test repair using a lightweight formal method
US6691078B1 (en) Target design model behavior explorer
He et al. Model-based verification of PLC programs using Simulink design
CN106649094A (zh) 一种基于EventViewer开发过程中的测试方法
CN114398848A (zh) 一种测试向量生成方法、装置及存储介质
US20170161403A1 (en) Assertion statement check and debug
US10528689B1 (en) Verification process for IJTAG based test pattern migration
Barbosa et al. Verification and validation of (real time) COTS products using fault injection techniques
CN110955605A (zh) 一种cpu验证单步动态执行的方法
US20160063162A1 (en) System and method using pass/fail test results to prioritize electronic design verification review
CN114661615B (zh) 一种fpga软件测试方法和设备
CN115934559A (zh) 表单智能测试***的测试方法
Friedler et al. Effective post-silicon failure localization using dynamic program slicing
US7231619B1 (en) Extended model checking hardware verification
CN112433947A (zh) 一种基于网络数据的混沌工程方法及***
CN105335177A (zh) 嵌入式***的测试方法、测试装置和测试***

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