CN106407516A - 一种并行验证的验证方法 - Google Patents

一种并行验证的验证方法 Download PDF

Info

Publication number
CN106407516A
CN106407516A CN201610794359.XA CN201610794359A CN106407516A CN 106407516 A CN106407516 A CN 106407516A CN 201610794359 A CN201610794359 A CN 201610794359A CN 106407516 A CN106407516 A CN 106407516A
Authority
CN
China
Prior art keywords
verification
layer
tested module
checking
tested
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.)
Granted
Application number
CN201610794359.XA
Other languages
English (en)
Other versions
CN106407516B (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.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design 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 Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN201610794359.XA priority Critical patent/CN106407516B/zh
Publication of CN106407516A publication Critical patent/CN106407516A/zh
Application granted granted Critical
Publication of CN106407516B publication Critical patent/CN106407516B/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/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

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

Abstract

本发明描述了一种并行验证的验证方法,该发明可对若干个算法原理相同,但实现方式不同的逻辑设计模块进行并行验证,并将每个逻辑设计模块的结果和参考模型的预期计算结果进行比对,产生比对结果。该发明将把多个逻辑模块信号接口的差异性,封装在验证平台的最低层,而将通用的验证脚本及事务配置方法提供给验证平台的顶层,供验证人员使用,以便进行验证平台以及测试用例的重用,简化验证人员的工作量,并缩短验证周期。该发明将适用于算法原理相同,但由于需求不同,造成实现方式不同的模块的验证。经过验证后的模块组,将用于不同的项目,或用于性能对比及评估。

Description

一种并行验证的验证方法
技术领域
本发明属于集成电路芯片的逻辑验证领域,具体涉及芯片数字模块的并行验证方法。
背景技术
伴随微电子技术的快速发展,芯片的CPU处理能力、存储器容量等硬件指标均得到很大提高。芯片技术的不断成熟,使其成为许多行业解决传统问题的理想方案。芯片的逻辑功能日臻复杂,性能也在不断的得到完善。为了让芯片以及其衍生或升级产品的性能更优、功能更稳定,芯片中的某个关键功能模块可能会存在多个临时版本,而对这多个版本的有效评估,将是芯片研发团队面临的重大考验。而保证多个评估版本的功能正确性,将是评估工作的首要前提。
针对上述背景,芯片研发团队的一个或多个产品研发过程中,可能会对某个关键功能模块开发多个临时版本。这些临时版本的模块算法原理相同,但实现方式不同,其差异将体现在处理带宽、接口、内部是否包含流水等各个方面。而对这多个版本的并行验证方法,将有效的节省验证平台的开发周期,降低验证人员的工作量,提高一个或多个芯片产品的研发效率。
发明内容
本发明提出了一个针对原理相同,实现方式不同的多个功能模块验证需求的高效验证方法。
本发明提出的验证方法对应的平台架构,将以分层结构进行设计。自顶向下分别为:用户层、脚本层、测试层、场景层、功能层、命令层、信号层。这样搭建的目的,是为了方便各个组件的重用,以便节省验证平台的开发及测试时间,同时也能让验证平台层次清晰,便于理解和维护。
从功能层往上,所有的验证组件,以及测试层的初始化、运行、结果输出以及异常处理流程,均与被测模块的个数无关。由于使用了统一的接口模板,在功能层往下,被测模块输入信号的驱动方式,以及输出信号的监控方式,也与被测模块的个数无关。因此,无论有多少个被测模块,验证平台的工作流程都是固定的。当被测模块的个数发生变化时,与工作流程相关的验证组件均无需修改。唯一与被测模块个数相关的内容,就是驱动器、监视器、接口、快照的个数,以及他们在验证平台底层的连接。因此,在验证平台中,仅有信号层才会体现出不同被测模块的接口差异性。在信号层之上,所有验证组件对不同的被测模块的控制方式是相同的,他们的差异性仅区别于处理带宽。
所有和被测模块相关的部分,都可以集中在一个文件内部进行开发,便于调试、维护和其他项目继承。
附图说明
图1并行验证平台结构图
图2并行验证平台工作流程图
具体实施方式
以下结合说明书附图对本发明的具体实施方式进行详细说明。
如图1本发明验证平台架构图所示,数字N为被测模块的个数。101~10N代表被测模块,110代表断言,121~12N代表接口,131~13N代表快照,上述组件均为信号层组件。201~20N代表驱动器,211~21N代表监视器,220代表参考模型,上述组件均为命令层组件。300代表代理器、310代表检查器,320代表积分板,上述组件均为功能层组件。400代表场景层的事务产生器,500代表测试层的验证环境顶层,600代表脚本层的验证脚本,700代表用户层的输入输出设备。
图1中的101~10N代表被测模块,每个被测模块将根据不同的需求进行开发,彼此之间没有联系。每个被测模块的算法原理相同,工作流程相同。
图1中的110代表断言,断言将搜集每个被测模块中的内部或接口信号,对关键时序进行实施的检测,如有异常,断言将实时的将异常信息上报给测试层。
图1中的121~12N代表接口,每个接口的信号列表名均相同,但位宽不一定相同。接口与被测模块的连接在信号层实现。由于被测模块的差异性,接口在设计时将考虑通用性,其信号列表要兼容所有的被测模块的输入输出信号列表。接口的输入信号将由上层的驱动器进行驱动,接口的输出信号将由上层的监视器监控。
图1中的131~13N代表快照,每个快照的信号列表也均相同,它与接口的区别在于:接口信号与被测模块的输入输出端口进行连接。而快照信号将于被测模块的内部信号通过“跨模块引用”的方式进行连接。快照信号的所有信号都由上层的监视器监控。由于仅仅通过端口信号的监测,不能完全的对被测模块的功能点进行覆盖。故可通过快照的方式进行深入的监测,以达到验证目的。同样,快照的信号列表在设计时,也应考虑通用性。
图1中的201~20N代表驱动器,它将把上层的事务,转化成驱动信号列表,并通过接口传递给被测模块。所有的驱动器,都由同一个类模板例化。
图1中的211~21N代表监视器,它将监测接口和快照传递上来的信号,并从中提取出计算结果,填写到其事务中。所有的监视器,都由同一个类模板例化。
图1中的220代表参考模型,它通过将根据事务中的输入数据,进行期望结果的运算,并将其传递给积分板。
图1中的300代表代理器,代理器将把事务并行的进行分发,保证每个被测模块以及积分板都能得到相同的输入数据。
图1中的310代表检查器,检查器将并行的监控所有被测模块的计算结果数据,并传递给积分板。
图1中的320代表积分板,积分板将对所有被测模块的计算结果和参考模型的期望结果进行比对,并将所有比对结果反馈回测试层。
图1中的400代表事务产生器,事务产生器将根据上层的测试用例配置文件,生成当前测试用例的事务列表。事务列表中的每条事务将按照时间顺序依次分发给下层的代理器。
图1中的500代表验证环境顶层,从测试层往下,均为验证环境的功能。验证环境顶层将进行验证组件的初始化、运行、结果输出以及异常处理。在整个验证平台中,它具有承上启下的作用。一方面,它将初始化下层的验证组件,把上层提供的配置信息传递给下层验证组件,并运行验证人员手动配置的测试用例激励文件;另一方面,它将搜集下层组件上报的计算结果与异常信息,并以统一的格式反馈给用户层。
图1中的600代表验证脚本,验证脚本将处理用户层的脚本命令,并通过测试用例列表,找到对应的测试用例的描述信息。同时,它将根据该信息,生成测试用例配置文件。
图1中的700代表输入输出设备,用户(验证人员)通过输入设备输入脚本命令,以及手动测试用例配置文件,开始一条测试用例的验证。同时,用户通过输出设备,得到脚本和测试用例的运行结果。
图2中示例了并行验证平台的工作流程,从流程图中可以看出,并行验证平台的运行,是通过验证脚本和验证环境协调工作来实现的。除了手动测试用例配置文件中可能涉及一些与被测模块差异性相关的信息处理之外,其他配置输入信息均与多个被测模块的差异性无关。因此,该并行验证方法,是能够确保验证的简洁、高效与易维护性的。通过验证脚本的自动生成、以及验证人员的手动配置。验证平台可以覆盖所有的应用场景,满足功能覆盖率。
在验证平台上层,将以事务为数据处理的基本单元,因此将上层组件的控制与被测物的细节剥离开来,因此使其控制流程与被测模块无关,在验证平台下层,使用了验证组件模板的方式开发,使得组件本身的实现以及控制流程也与被测模块无关,唯一相关的仅仅是这些组件实例的个数,因此,所有和被测模块相关的部分,都可以集中在一个文件内部进行开发,便于调试、维护和其他项目继承。

Claims (9)

1.一种并行验证的验证方法,其特征在于,实现该验证方法的验证平台包括验证脚本与验证环境两部分,该验证方法支持相同算法不同实现方案的并行验证,使用并行化的方法进行验证,所有的被测模块(DUT),将同时被灌入测试输入时序,同时,验证环境会搜集所有被测模块的计算结果,确保所有模块的计算结果都计算完成后,再进行下一次计算;验证环境对于被测模块输入信号的驱动,以及输出信号的监控,均并行且独立的执行,不同的被测模块间的输入信号和输出信号,不会互相干扰。
2.根据权利要求1所述验证方法,其特征在于,所述验证环境是验证平台的主体,它包括各个验证组件,实现整个验证过程;所述验证脚本为所述验证平台生成测试用例配置文件,以便于在不同的场景中进行验证。
3.根据权利要求1所述的验证方法,其特征在于,所述验证平台以分层的形式来进行搭建,自顶向下的顺序依次为:用户层、脚本层、测试层、场景层、功能层、命令层、信号层,这样搭建,是为了方便各个组件的重用,以便节省验证平台的开发及测试时间,同时也能让验证平台层次清晰,便于理解和维护,其中:
用户层面向验证人员,对于大部分的验证场景,验证人员只需要通过输入设备,维护测试用例列表,并输入脚本命令,就可以运行仿真,仿真结束后,将得到脚本运行日志文件,以及测试用例的运行结果和异常信息;
脚本层处理用户层的脚本命令,并通过测试用例列表,找到对应的测试用例的描述信息,同时,它将根据该信、息,生成测试用例配置文件,以上步骤,都是验证脚本自动运行的,验证人员无需进行任何操作;
测试层包括验证环境顶层的所有功能,包括验证组件的初始化、运行、结果输出以及异常处理,在整个验证平台中,它具有承上启下的作用,一方面,它将初始化下层的验证组件,把上层提供的配置信息传递给下层验证组件,并运行验证人员手动配置的测试用例激励文件;另一方面,它将搜集下层组件上报的计算结果与异常信息,并以统一的格式反馈给用户层;
场景层根据上层的测试用例配置文件,生成当前测试用例的事务列表中,事务列表将包含所有的测试基本单元、即事务(Transaction)。不同的事务列表的组合将对应不同场景的测试;
功能层包含代理器、检查器和积分板,其中,代理器将把事务并行的进行分发,保证每个被测模块以及积分板都能得到相同的输入数据,检查器并行的监控所有被测模块的计算结果数据,并传递给积分板,最后,积分板对所有被测模块的计算结果和参考模型的期望结果进行比对,并将所有比对结果反馈回测试层;
命令层包含参考模型、驱动器组和监视器组,参考模型将根据事务中的输入数据,进行期望结果的运算,并将其传递给积分板,驱动器组包含多个驱动器,每个驱动器将生成不同的输入激励时序给不同的被测模块,且一一对应,监视器组包含多个监视器,每个监视器将监测不同被测模块的输出,并把输出结果写回到事务中,监视器与被测模块也是一一对应的;在命令层,所有驱动器从代理器得到的事务都是相同的,如果每个被测模块的计算过程都无误,所有监视器传递给检查器的事务也应该相同,且和参考模型产生的事务结果数据一致;
信号层包含接口组、快照组、断言和被测模块组,其中:接口组包含多个接口,每个接口都对应一簇输入输出信号,这簇输入信号将与一个被测模块连接,快招组包含多个快照,每个快照将对应一簇信号,这簇信号将对应一个被测模块的内部信号,断言将实时监测每个被测中的关键信号,当出现信号非法时,实时上报断言信息给测试层,被测模块组包含多个被测模块,各个被测模块的算法原理均相同,工作流程一致,但实现细节有差异。
4.根据权利要求1所述的验证方法,其特征在于,在自动生成测试用例配置文件的方式之外,所述验证平台还为用户开放了手动测试用例配置接口。
5.根据权利要求1所述的验证方法,通过验证脚本的自动生成、以及验证人员的手动配置。验证平台可以覆盖所有的应用场景,满足功能覆盖率。
6.根据权利要求3所述的验证方法,虽然在命令层之下,包含了多个驱动器、监视器、接口、快照,但他们均使用了统一的模板,即他们开发过程都是基于模板的开发,每个驱动器、监视器、接口、快照只是他们模板的一个实例(Instance)。
7.根据权利要求3所述的验证方法,不同的被测模块的实现细节的不同,可体现在接口工作频率、接口信号名、接口位宽、接口信号配置顺序与方式等各个方面,但,只要基本工作流程一致,就可以适用于本发明中的验证方法。
8.根据权利要求3所述的验证方法,从功能层往上,所有的验证组件,以及测试层的初始化、运行、结果输出以及异常处理流程,均与被测模块无关,由于使用了统一的接口模板,在功能层往下,被测模块输入信号的驱动方式,以及输出信号的监控方式,也与被测模块的个数无关,因此,无论有多少个被测模块,验证平台的工作流程都是固定的,当被测模块的个数发生变化时,与工作流程相关的验证组件均无需修改,唯一与被测模块个数相关的内容,就是驱动器、监视器、接口、快照的个数,以及他们在验证平台底层的连接。
9.根据权利要求3所述的验证方法,在验证平台上层,将以事务为数据处理的基本单元,因此将上层组件的控制与被测物的细节剥离开来,因此使其控制流程与被测模块无关,在验证平台下层,使用了验证组件模板的方式开发,使得组件本身的实现以及控制流程也与被测模块无关,唯一相关的仅仅是这些组件实例的个数,因此,所有和被测模块相关的部分,都可以集中在一个文件内部进行开发,便于调试、维护和其他项目继承。
CN201610794359.XA 2016-08-31 2016-08-31 一种并行验证的验证方法 Active CN106407516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610794359.XA CN106407516B (zh) 2016-08-31 2016-08-31 一种并行验证的验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610794359.XA CN106407516B (zh) 2016-08-31 2016-08-31 一种并行验证的验证方法

Publications (2)

Publication Number Publication Date
CN106407516A true CN106407516A (zh) 2017-02-15
CN106407516B CN106407516B (zh) 2019-07-16

Family

ID=58001096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610794359.XA Active CN106407516B (zh) 2016-08-31 2016-08-31 一种并行验证的验证方法

Country Status (1)

Country Link
CN (1) CN106407516B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528697A (zh) * 2017-09-28 2017-12-29 山西特信环宇信息技术有限公司 基于生物识别技术的电子证件验证终端系统及操作方法
CN108388516A (zh) * 2018-03-14 2018-08-10 上海微小卫星工程中心 可重构fpga软件的专用验证测试系统及方法
CN109684746A (zh) * 2018-12-27 2019-04-26 北京华大九天软件有限公司 一种定位数字时序路径spice仿真失败的方法
CN109726507A (zh) * 2019-01-17 2019-05-07 湖南进芯电子科技有限公司 一种高效的多功能验证平台及方法
CN111382065A (zh) * 2018-12-29 2020-07-07 贵阳忆芯科技有限公司 基于测试模板的验证流程管理系统及其方法
CN111984232A (zh) * 2020-07-31 2020-11-24 中国航空工业集团公司济南特种结构研究所 一种基于信号流的雷达罩测试软件设计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204633A1 (en) * 2002-04-11 2009-08-13 International Business Machines Corporation Dynamic creation of an application's xml document type definition (dtd)
CN101763451A (zh) * 2010-01-01 2010-06-30 江苏华丽网络工程有限公司 大规模网络芯片验证平台的建立方法
CN103593293A (zh) * 2013-11-22 2014-02-19 浪潮电子信息产业股份有限公司 一种并行自动化测试方法
CN203504585U (zh) * 2013-10-15 2014-03-26 上海聚星仪器有限公司 一种用于并行测试的多信道适配系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204633A1 (en) * 2002-04-11 2009-08-13 International Business Machines Corporation Dynamic creation of an application's xml document type definition (dtd)
CN101763451A (zh) * 2010-01-01 2010-06-30 江苏华丽网络工程有限公司 大规模网络芯片验证平台的建立方法
CN203504585U (zh) * 2013-10-15 2014-03-26 上海聚星仪器有限公司 一种用于并行测试的多信道适配系统
CN103593293A (zh) * 2013-11-22 2014-02-19 浪潮电子信息产业股份有限公司 一种并行自动化测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘涛 等: "曙光5000芯片组系统级功能验证平台", 《计算机工程与科学》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528697A (zh) * 2017-09-28 2017-12-29 山西特信环宇信息技术有限公司 基于生物识别技术的电子证件验证终端系统及操作方法
CN107528697B (zh) * 2017-09-28 2023-10-31 山西特信环宇信息技术有限公司 基于生物识别技术的电子证件验证终端系统及操作方法
CN108388516A (zh) * 2018-03-14 2018-08-10 上海微小卫星工程中心 可重构fpga软件的专用验证测试系统及方法
CN108388516B (zh) * 2018-03-14 2021-07-23 上海微小卫星工程中心 可重构fpga软件的专用验证测试系统
CN113392025A (zh) * 2018-03-14 2021-09-14 上海微小卫星工程中心 对可重构fpga软件进行过程监控的方法
CN113392025B (zh) * 2018-03-14 2024-01-26 上海微小卫星工程中心 对可重构fpga软件进行过程监控的方法
CN109684746A (zh) * 2018-12-27 2019-04-26 北京华大九天软件有限公司 一种定位数字时序路径spice仿真失败的方法
CN111382065A (zh) * 2018-12-29 2020-07-07 贵阳忆芯科技有限公司 基于测试模板的验证流程管理系统及其方法
CN111382065B (zh) * 2018-12-29 2024-02-23 贵阳忆芯科技有限公司 基于测试模板的验证流程管理系统及其方法
CN109726507A (zh) * 2019-01-17 2019-05-07 湖南进芯电子科技有限公司 一种高效的多功能验证平台及方法
CN109726507B (zh) * 2019-01-17 2023-04-18 湖南进芯电子科技有限公司 一种高效的多功能验证方法
CN111984232A (zh) * 2020-07-31 2020-11-24 中国航空工业集团公司济南特种结构研究所 一种基于信号流的雷达罩测试软件设计方法

Also Published As

Publication number Publication date
CN106407516B (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN106407516A (zh) 一种并行验证的验证方法
US7761285B2 (en) Data processing condition detector with table lookup
CN104518924B (zh) 自动化测试及结果比对方法及系统
CN104063321B (zh) 一种针对MicroBlaze软核程序的测试验证系统及测试验证方法
CN104486169B (zh) 可重用自动检测及随机验证系统和方法
Shanmugapriya et al. Software architecture evaluation methods-a survey
CN107423505A (zh) 一种模块级和SoC级可重用的验证系统及验证方法
US20090248390A1 (en) Trace debugging in a hardware emulation environment
EP3369015A1 (en) Methods and circuits for debugging circuit designs
US7047174B2 (en) Method for producing test patterns for testing an integrated circuit
Zadegan et al. Design, verification, and application of IEEE 1687
US9864004B1 (en) System and method for diagnosing failure locations in electronic circuits
TWI781634B (zh) 用以測試一或多個受測裝置之自動化測試裝備、方法及電腦程式,其中不同測試活動使用受測裝置資源之子集
CN110377472A (zh) 定位芯片运行错误的方法及装置
CN110347542A (zh) 一种提高验证环境重用性的端口连接方法、系统及介质
CN116090376B (zh) 芯片集成验证组件开发方法、装置及计算机设备
Neumann et al. UVM-based verification of smart-sensor systems
CN103218277A (zh) 服务器环境的自动检测方法与装置
Jutman et al. High quality system level test and diagnosis
US9581643B1 (en) Methods and circuits for testing partial circuit designs
CN107505512A (zh) 基于jtag技术的电子装备智能故障监测方法及装置
CN103593179B (zh) 用于在并行计算环境中开发软件的方法
Stürmer et al. Model quality assessment in practice: How to measure and assess the quality of software models during the embedded software development process
CN104811259B (zh) 一种卫星通信频偏验证方法
Ferrell et al. Modeling and performance considerations for automated fault isolation in complex systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant