CN107861850B - 一种中断验证系统及其使用方法、计算机设备、存储介质 - Google Patents
一种中断验证系统及其使用方法、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN107861850B CN107861850B CN201711238546.0A CN201711238546A CN107861850B CN 107861850 B CN107861850 B CN 107861850B CN 201711238546 A CN201711238546 A CN 201711238546A CN 107861850 B CN107861850 B CN 107861850B
- Authority
- CN
- China
- Prior art keywords
- interrupt
- dut
- interruption
- message
- scoreboard
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2231—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test interrupt circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种中断验证系统及其使用方法、计算机设备、存储介质,包括:在Sequence模块根据需要模拟的中断构造激励产生报文后,通过UVC模块将所述报文分别发送至DUT以及Scoreboard装置;DUT根据接收的所述报文进行中断处理;Scoreboard装置根据接收的所述报文进行中断处理;Monitor模块监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。采用本发明,能够连续构造中断,能够进行实时中断处理比对。
Description
技术领域
本发明涉及计算机处理技术领域,特别涉及一种中断验证系统及其使用方法、计算机设备、存储介质。
背景技术
中断装置和中断处理程序统称为中断系统。中断系统是硬件的重要组成部分。实时控制、故障自动处理、硬件与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了硬件工作效率。
不同的计算机的硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。
中断是CPU对系统发生的某个事件作出的一种反应。图1为中断处理示意图,如图所示,引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现由软件和硬件综合完成,硬件部分叫做硬件装置,软件部分成为软件处理程序。
一般在验证中断的环境中,中断装置为被测设备DUT(Device Under Test,测试中设备),一般由FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,专用集成电路)等实现,是实际产品中需要产生中断的硬件设备;中断处理程序为TB(Testbench,用于验证设计或模型的虚拟环境),响应DUT中断请求,同时还需要产生中断内容作为预期结果用于比对,校验DUT的功能是否正常。
现有技术的不足在于:不能实现实时中断处理,或者不能支持连续构造中断,因而在将产生的中断内容作为预期结果用于比对时,不能很好的校验DUT的功能是否正常。
发明内容
本发明提供了一种中断验证系统及其使用方法、计算机设备、存储介质,用以解决不能连续构造中断,和/或不能进行实时中断处理比对的问题。
本发明实施例中提供了一种中断验证系统,包括:
Sequence模块,用于根据需要模拟的中断构造激励产生报文;
UVC模块,用于将所述报文分别发送至DUT以及Scoreboard装置;
DUT,用于根据接收的所述报文进行中断处理;
Scoreboard装置,用于根据接收的所述报文进行中断处理;
Monitor模块,用于监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。
实施中,UVC模块进一步用于通过Pin接口以PIN数据形式将所述报文发送至DUT,和/或,UVC模块进一步用于通过TLM port接口将所述报文封装成事务级信息后发送至Scoreboard装置。
实施中,所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程是同步的。
实施中,Monitor模块进一步用于使所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程同步。
实施中,Monitor模块进一步用于实时监控所述DUT中的内部信号,并根据监控的信号使所述Scoreboard装置进行的中断处理过程与所述DUT进行的中断处理过程同步。
本发明实施例中提供了一种中断验证系统的使用方法,包括:
在Sequence模块根据需要模拟的中断构造激励产生报文后,通过UVC模块将所述报文分别发送至DUT以及Scoreboard装置;
DUT根据接收的所述报文进行中断处理;
Scoreboard装置根据接收的所述报文进行中断处理;
Monitor模块监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。
实施中,在将所述报文发送至DUT时,UVC模块通过Pin接口以PIN数据形式将所述报文发送至DUT;
和/或,在将所述报文发送至Scoreboard装置时,UVC模块通过TLM port接口将所述报文封装成事务级信息后发送至Scoreboard装置。
实施中,所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程是同步的。
实施中,通过Monitor模块使所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程同步。
实施中,Monitor模块实时监控所述DUT中的内部信号,并根据监控的信号使所述Scoreboard装置进行的中断处理过程与所述DUT进行的中断处理过程同步。
实施中,Monitor模块是根据获取到的DUT中的报文处理时间,使所述Scoreboard装置同步进行报文解析来保障中断处理过程同步的;
和/或,Monitor模块是根据获取到的DUT中的中断FIFO读取时刻使所述Scoreboard装置同步读取TB的中断队列来保障中断处理过程同步的。
实施中,Scoreboard装置在进行TB中断响应流程时,所检测到的中断是由DUT在DUT中断上报流程中产生的中断。
实施中,进一步包括:
在DUT中断上报流程中,在判断中断使能是否有效时,若TB中断响应流程中重新使能中断清除中断状态寄存器,且DUT中断上报流程中没有中断使能关闭,则在DUT中断上报流程中产生中断,否则在DUT中断上报流程中开始判断中断FIFO是否非空。
实施中,Monitor模块进行比较,包括:
在DUT中断上报流程中产生中断后,在TB中断响应流程中获取DUT与Scoreboard装置中产生的中断状态信息,分别从DUT的中断FIFO与Scoreboard装置中TB的队列中同步获取中断数据;
对获取的所述中断数据进行比较。
实施中,进一步包括:
在对获取的所述中断数据进行比较完成后,当TB中断产生流程中更新中断状态信息时,在TB中断响应流程中刷新中断状态寄存器。
本发明实施例中提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现中断验证系统的使用方法。
本发明实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行中断验证系统的使用方法的计算机程序。
本发明有益效果如下:
由于采用了Sequence模块,该模块根据需要模拟的中断构造激励产生报文,因此能够连续构造中断;
由于在根据需要模拟的中断构造激励产生报文后,通过UVC模块将所述报文分别发送至DUT以及Scoreboard装置进行中断处理,而Monitor模块监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。因此能够进行实时中断处理比对。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为背景技术中中断处理示意图;
图2为本发明实施例中中断验证系统结构示意图;
图3为本发明实施例中中断验证系统的使用方法实施流程示意图;
图4为本发明实施例中中断处理实施流程示意图;
图5为本发明实施例中TB中断产生流程实施示意图;
图6为本发明实施例中TB中断响应流程实施示意图;
图7为本发明实施例中DUT中断产生流程实施示意图;
图8为本发明实施例中DUT中断上报流程实施示意图。
具体实施方式
发明人在发明过程中注意到:
在DUT代码实现中断方法中,中断FIFO(First In First Out,先进先出)中存在数据且中断使能打开或中断屏蔽失效时,上报中断,更新中断状态寄存器;上报中断后,使能关闭或屏蔽开启,避免重复上报中断;CPU读取中断状态寄存器、中断FIFO数据结束后,需要打开使能或关闭屏蔽,使芯片可以继续上报中断。
根据上述中断上报过程,验证该功能的方案一般有以下两种:
方案一:仿真结束时统一做中断处理。
该方案实现过程最简单,但局限也最大。不论DUT何时上报中断,TB仅在仿真结束时,做中断响应操作,一次读取所有中断状态和中断FIFO,并与TB的处理结果做比较。对于一般的中断,该方案可以应对,但其不足在于:对于时间相关的中断,无法判断上报中断的时间点是否正确,例如表项老化等,不能做到实时比对,因而无法满足需求。并且该方案与CPU会立即响应中断的实际操作不符,也不能验证在处理中断过程中产生新中断的复杂情况,局限性显著。
方案二:TB与DUT各自产生中断,并在DUT产生中断时响应。
该方案较为接近现实,但也有一定的局限性。能够模拟实际情况,在中断产生时即做出响应,通过一些方法可以实现表项老化等与时间相关的处理,但由于TB与DUT独立工作,产生中断的时机不能同步,所以只能独立构造中断,不能连续构造,否则如果当前中断处理过程中正在产生新的中断,DUT与TB处理无法一致。
为了解决上述问题,本发明提出了一种中断验证系统及其使用方法,可以实现实时中断处理、支持连续构造中断、并实现完全自动化比对。下面结合附图对本发明的具体实施方式进行说明。
首先对运用的平台一种中断验证系统进行说明,系统是使用以UVM为基础的方法学搭建的验证平台,图2为中断验证系统结构示意图,如图所示,系统中包括:
Sequence(序列)模块201,用于根据需要模拟的中断构造激励产生报文;
UVC模块202,用于将所述报文分别发送至DUT以及Scoreboard装置;
DUT203,用于根据接收的所述报文进行中断处理;
Scoreboard装置204,用于根据接收的所述报文进行中断处理;
Monitor模块205,用于监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。
下面对系统的具体实施进行说明。
UVM(Universal Verification Methodology,通用验证方法学)是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。
Sequence模块,用以构造激励,根据需要模拟的中断构造激励产生报文。其主要用于产生激励,实现带约束的随机化、错误插入等,满足各种需求下的激励构造。
UVC模块,该模块用以实现数据互通,将所述报文分别发送至DUT以及Scoreboard装置。其用于在事务级帧数据包和物理接口数据流之间转化,实现与DUT的数据互通。
其中,关于UVC(UVM Verification Component,UVM验证组件),UVM平台的架构主要是UVC构成的,而每个UVC都已经是封装好、功能完善且可配置的验证环境,UVC可以分为接口UVC和模块UVC,接口UVC是对DUT的接口按照规定的协议建模,主要包括事务数据、序列器、序列发生器、驱动器、监视器、代理、环境等;而模块UVC主要是对DUT的功能建立模型,包括参考模型、记分板等。在验证工程项目搭建验证平台时,通过按照需求,配置功能齐全的UVC,可以快速有效地搭建一个验证平台,而在不同的工程项目中,当接口协议相同时,就可以调用相应的接口UVC,当DUT的主要功能相同时,也可以调用相应的模块UVC。
关于实施例中所涉及的事务,事务级传输、事务级接口、事务级报文中的事务(Transcation),是指一种数据描述的抽象级别,使用面向对象结构,存储有效数据,以实现在不同组件之间快速传递的目的。也即,在平台内部,使用时序或者纯数据传输,在处理比较麻烦时,本领域技术人员会采用抽象一下的方式,放到一个类(与C++的Class类基本相同)里,用面向对象的方式实现数据传递。这个类也即事务级的数据。
Scoreboard装置,根据接收的所述报文进行中断处理,用以验证功能正确性。实现与DUT相同的功能,同步处理,与DUT的结果做比对,验证DUT功能是否正确。
DUT,用以根据需要设计代码,根据接收的所述报文进行中断处理。
Monitor模块,用以监控DUT内部信号,监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。实现中断比对的关键路径,实现与DUT同步处理。
进一步的,实施中为了方便设置,还可以设置Config模块206,用以配置信息。配置验证环境和DUT等。
上述系统中,由Sequence模块、UVC模块、Config模块、Scoreboard装置构成了实施例中所指的TB总环境。
UVC模块与Scoreboard装置间具体实施时可以是TLM port接口,其是事务级传输接口。UVC模块将发送和接收的数据封装成事务级信息后,传递给Scoreboard装置处理,用于验证DUT的响应是否正确。其中,TLM(Transaction Level Modeling,事务处理级建模)是UVM中的一个关键技术,用于实现不同Component组件之间的数据交互,替代普通的数据直连,提高处理效率,降低编码复杂度。
UVC模块与DUT间具体实施时可以是Pin接口,其是物理接口。
则在实施中,UVC模块进一步用于通过Pin接口以PIN数据形式将所述报文发送至DUT,和/或,UVC模块进一步用于通过TLM port接口将所述报文封装成事务级信息后发送至Scoreboard装置。
实施中,为了同步处理,保证处理的实时性,以及实现自动比对的同时保证一致性等需要,所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程是同步的。
具体实施中,Monitor模块进一步用于使所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程同步。
进一步的,具体实施中,Monitor模块进一步用于实时监控所述DUT中的内部信号,并根据监控的信号使所述Scoreboard装置进行的中断处理过程与所述DUT进行的中断处理过程同步。
从而使得TB中断产生过程实时监控DUT内部信号,在TB和DUT的中断状态和内容的获取时间也实现了同步操作。下面还会对各模块的具体使用方法进行说明。
介绍了以UVM为基础搭建的中断验证系统构成的验证环境的基础上,下面对中断验证系统的使用方法进行说明。
图3为中断验证系统的使用方法实施流程示意图,如图所示,可以包括:
步骤301、在Sequence模块根据需要模拟的中断构造激励产生报文后,通过UVC模块将所述报文分别发送至DUT以及Scoreboard装置;
步骤302、DUT根据接收的所述报文进行中断处理;
步骤303、Scoreboard装置根据接收的所述报文进行中断处理;
步骤304、Monitor模块监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。
为更好的说明中断处理流程的实施,下面将分别从TB中断产生流程、TB中断响应流程、DUT中断产生流程、DUT中断上报流程来进行说明。
图4为中断处理实施流程示意图,图5为TB中断产生流程实施示意图、图6为TB中断响应流程实施示意图、图7为DUT中断产生流程实施示意图、图8为DUT中断上报流程实施示意图,如图所示,下面进行说明。
图4为中断处理实施流程示意图,如图所示,包括如下步骤:
步骤401、Sequence模块主动发送CCM(Continuity Check Message,连续性检查消息)报文;
步骤402、UVC模块将报文变换为PIN数据,发至Scoreboard装置开始TB的中断产生流程,转入步骤501;以及发至DUT开始DUT的中断产生流程,转入步骤801;
步骤501、Scoreboard报文处理程序入口;
步骤801、DUT报文处理程序入口。
该激励产生流程中,在步骤401中通过Sequence组件构造激励,在步骤402步骤由UVC双发到DUT和Scoreboard装置各一份,分别对应图5的步骤流程和图8的步骤流程,作为原始报文供后续处理。
实施中,在将所述报文发送至DUT时,UVC模块通过Pin接口以PIN数据形式将所述报文发送至DUT;
和/或,在将所述报文发送至Scoreboard装置时,UVC模块通过TLM port接口将所述报文封装成事务级信息后发送至Scoreboard装置。
图5为TB中断产生流程实施示意图,如图所示,包括如下步骤:
步骤501、Scoreboard报文处理程序入口;
步骤502、监控DUT的处理周期,同步执行接收报文解析、表项老化等处理;
步骤503、判断是否上报中断,是则转入步骤504,否则转入步骤502;
步骤504、写入TB中断数据队列;
步骤505、更新中断状态信息。
图6为TB中断响应流程实施示意图,如图所示,包括如下步骤:
步骤601、Scoreboard中断响应程序入口;
步骤602、是否检测到中断,也即判断是否interrupt==1,是则转入步骤603,否则转入步骤602;
步骤603、读取并比对TB和DUT中断状态信息,开始处理中断;
步骤604、读取TB中断队列;
步骤605、读取DUT中断FIFO;
实施中,步骤604、步骤605可以同步执行。
步骤606、比对TB和DUT的中断数据;
步骤607、判断处理是否完成,是则转入步骤608,否则转入步骤604以及605,继续处理中断;
步骤608、重新使能中断,int_en=1,清除平台中断状态寄存器;
步骤609、根据TB的报文处理流程中断状态信息,重写中断状态寄存器。
图7为DUT中断产生流程实施示意图,如图所示,包括如下步骤:
步骤701、报文处理程序入口;
步骤702、接收报文解析、表项老化等处理;
步骤703、判断是否上报中断,是则转入步骤704,否则转入步骤702;
步骤704、写入中断FIFO;
步骤705、更新中断状态信息(读清)。
图8为DUT中断上报流程实施示意图,如图所示,包括如下步骤:
步骤801、中断上报程序入口;
步骤802、判断中断FIFO是否非空,也即判断是否empty!=1,是则转入步骤803,否则转入步骤802;
步骤803、判断是否中断使能,也即判断是否int_en==1,是则转入步骤804,否则转入步骤802;
步骤804、产生中断,interrupt=1;
步骤805、中断使能关闭,int_en=0,转入步骤802。
下面对四个流程之间的交互关系进行说明,之所以产生交互,只因为在TB中断产生过程中实时监控DUT内部信号,也即,DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程是同步的,由于可以实现同步处理,所以保证了处理的实时性;而在TB和DUT的中断状态和内容的获取时间也可以实现了同步操作,从而实现自动比对的同时,保证了一致性。
1、步骤701为DUT报文处理程序主入口,是一种DUT的中断产生流程,通过Pin接收步骤402中UVC发送的报文。步骤702执行报文解析,步骤703判断是否需要上报中断。当需要上报中断时,则跳转到步骤704,并将数据写入中断FIFO,在步骤705中更新中断状态寄存器,更新的数据作为输入被步骤603读取。如果步骤703判断不需要上报中断,则返回步骤702继续等待报文做下一次的解析。
2、步骤501为Scoreboard报文处理程序主入口,是TB的中断产生流程,处理过程与图7的步骤类似,在Scoreboard中通过TLM port接收步骤402中UVC发送的报文。步骤502执行报文解析,步骤503判断是否需要上报中断。
当需要上报中断时,则跳转到步骤504,并将数据写入中断队列,在步骤505中更新中断状态信息,更新的数据作为输入被步骤603和步骤609读取。
如果步骤503判断不需要上报中断,则返回步骤502继续等待报文做下一次的解析。
实施中,在执行步骤502时,为了实现实时比对,可以通过Monitor方式获取步骤702中DUT的报文处理时间并同步执行报文解析,以此来保障TB和DUT处理的同步性。也即,Monitor模块是根据获取到的DUT中的报文处理时间,使所述Scoreboard装置同步进行报文解析来保障中断处理过程同步的。
3、步骤801为DUT中断上报程序主入口,是DUT中断上报流程。步骤802中判断中断FIFO是否有数据,空则停留在步骤802继续等待,非空则跳转到步骤803。
步骤803中判断中断使能是否有效,此中断使能受步骤608和步骤805控制,前者置位,后者清零。
当使能无效时,返回步骤802,当使能有效时,则跳转到步骤804。步骤804会产生中断,中断信号会被步骤602获取并处理。
之后执行步骤805,将中断使能关闭,此使能信号会影响步骤803的判断条件。主要作用为避免反复上报中断。使能的再次开启需要Scoreboard中断响应流程步骤608的置位。
也即,实施中还可以进一步包括:
在DUT中断上报流程中,在判断中断使能是否有效时,若TB中断响应流程中重新使能中断清除中断状态寄存器,且DUT中断上报流程中没有中断使能关闭,则在DUT中断上报流程中产生中断,否则在DUT中断上报流程中开始判断中断FIFO是否非空。
4、步骤601为Scoreboard中断响应程序主入口,是TB的中断响应流程。步骤602监控步骤804产生的中断信号是否有效,没有中断时保持在步骤602继续等待,有中断时跳转到步骤603。也即,Scoreboard装置在进行TB中断响应流程时,所检测到的中断是由DUT在DUT中断上报流程中产生的中断。
步骤603从步骤505和步骤705中分别获取中断状态信息并执行比较,然后步骤604和步骤605同步执行,分别从DUT和TB的内部FIFO和队列中同步获取中断数据,在接下来的步骤606中执行数据比对。
也即,实施中,Monitor模块进行比较,可以包括:
在DUT中断上报流程中产生中断后,在TB中断响应流程中获取DUT与Scoreboard装置中产生的中断状态信息,分别从DUT的中断FIFO与Scoreboard装置中TB的队列中同步获取中断数据;对获取的所述中断数据进行比较。
然后,步骤607判断是否处理完成所有的中断,如果没有,则返回步骤604和步骤605继续处理下一个中断,如果完成,则跳转到步骤608,清除中断状态寄存器并重新使能中断使能信号,该中断信号会影响步骤803的判断条件。
最后,在步骤609中根据步骤505当前的中断状态信息,刷新中断状态寄存器以保证处理中断期间产生的新中断不会被覆盖。
也即,实施中还可以进一步包括:
在对获取的所述中断数据进行比较完成后,当TB中断产生流程中更新中断状态信息时,在TB中断响应流程中刷新中断状态寄存器。
实施中,步骤604读取TB的中断队列时通过Monitor方式获取DUT的中断FIFO读取时刻进行同步操作,保证步骤604读取TB中断的时刻与步骤605读取DUT中断的时刻严格一致。也即,Monitor模块是根据获取到的DUT中的中断FIFO读取时刻使所述Scoreboard装置同步读取TB的中断队列来保障中断处理过程同步的。
在各流程交互具体实施中:
TB中断响应流程和DUT中断上报流程的交互过程按实际需求执行。TB中断响应流程模拟CPU行为,步骤602响应步骤804的中断信号,正常处理中断信息,并与TB的预期结果做比较,验证DUT功能。
实施中,通过Monitor模块使所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程同步。具体的,TB中断产生流程、TB中断响应流程和DUT中断产生流程并非完全独立执行,而是在步骤502和步骤604通过Monitor实时监控DUT相关的内部信号,使TB中断产生流程和TB中断响应流程的处理时间均与DUT中断产生流程同步,实现在同一时刻执行操作。也即,Monitor模块实时监控所述DUT中的内部信号,并根据监控的信号使所述Scoreboard装置进行的中断处理过程与所述DUT进行的中断处理过程同步。如是便解决了TB处理中断与DUT不同步,从而导致无法实时比对成功的问题。
TB中断产生流程与TB中断响应流程在Scoreboard中独立执行,模拟DUT行为,使中断产生和中断处理互不干涉,实现处理中断时可以继续产生中断的场景,不受客观条件限制。
由于优化了FPGA/ASIC等设计的中断功能自动化比对,因此采用上述方案能够减少了后期板上调试的工作量。
基于同一发明构思,本发明实施例中还提供了一种计算机设备、一种计算机可读存储介质,由于这些设备解决问题的原理与中断验证系统的使用方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下所述方法:
在Sequence模块根据需要模拟的中断构造激励产生报文后,通过UVC模块将所述报文分别发送至DUT以及Scoreboard装置;
DUT根据接收的所述报文进行中断处理;
Scoreboard装置根据接收的所述报文进行中断处理;
Monitor模块监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。
实施中,在将所述报文发送至DUT时,UVC模块通过Pin接口以PIN数据形式将所述报文发送至DUT;
和/或,在将所述报文发送至Scoreboard装置时,UVC模块通过TLM port接口将所述报文封装成事务级信息后发送至Scoreboard装置。
实施中,所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程是同步的。
实施中,通过Monitor模块使所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程同步。
实施中,Monitor模块实时监控所述DUT中的内部信号,并根据监控的信号使所述Scoreboard装置进行的中断处理过程与所述DUT进行的中断处理过程同步。
实施中,Monitor模块是根据获取到的DUT中的报文处理时间,使所述Scoreboard装置同步进行报文解析来保障中断处理过程同步的;
和/或,Monitor模块是根据获取到的DUT中的中断FIFO读取时刻使所述Scoreboard装置同步读取TB的中断队列来保障中断处理过程同步的。
实施中,Scoreboard装置在进行TB中断响应流程时,所检测到的中断是由DUT在DUT中断上报流程中产生的中断。
实施中,进一步包括:
在DUT中断上报流程中,在判断中断使能是否有效时,若TB中断响应流程中重新使能中断清除中断状态寄存器,且DUT中断上报流程中没有中断使能关闭,则在DUT中断上报流程中产生中断,否则在DUT中断上报流程中开始判断中断FIFO是否非空。
实施中,Monitor模块进行比较,包括:
在DUT中断上报流程中产生中断后,在TB中断响应流程中获取DUT与Scoreboard装置中产生的中断状态信息,分别从DUT的中断FIFO与Scoreboard装置中TB的队列中同步获取中断数据;
对获取的所述中断数据进行比较。
实施中,进一步包括:
在对获取的所述中断数据进行比较完成后,当TB中断产生流程中更新中断状态信息时,在TB中断响应流程中刷新中断状态寄存器。
一种计算机可读存储介质,所述计算机可读存储介质存储有执行如下方法的计算机程序:
在Sequence模块根据需要模拟的中断构造激励产生报文后,通过UVC模块将所述报文分别发送至DUT以及Scoreboard装置;
DUT根据接收的所述报文进行中断处理;
Scoreboard装置根据接收的所述报文进行中断处理;
Monitor模块监控所述DUT以及所述Scoreboard装置的中断处理过程,并进行比较。
实施中,在将所述报文发送至DUT时,UVC模块通过Pin接口以PIN数据形式将所述报文发送至DUT;
和/或,在将所述报文发送至Scoreboard装置时,UVC模块通过TLM port接口将所述报文封装成事务级信息后发送至Scoreboard装置。
实施中,所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程是同步的。
实施中,通过Monitor模块使所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程同步。
实施中,Monitor模块实时监控所述DUT中的内部信号,并根据监控的信号使所述Scoreboard装置进行的中断处理过程与所述DUT进行的中断处理过程同步。
实施中,Monitor模块是根据获取到的DUT中的报文处理时间,使所述Scoreboard装置同步进行报文解析来保障中断处理过程同步的;
和/或,Monitor模块是根据获取到的DUT中的中断FIFO读取时刻使所述Scoreboard装置同步读取TB的中断队列来保障中断处理过程同步的。
实施中,Scoreboard装置在进行TB中断响应流程时,所检测到的中断是由DUT在DUT中断上报流程中产生的中断。
实施中,进一步包括:
在DUT中断上报流程中,在判断中断使能是否有效时,若TB中断响应流程中重新使能中断清除中断状态寄存器,且DUT中断上报流程中没有中断使能关闭,则在DUT中断上报流程中产生中断,否则在DUT中断上报流程中开始判断中断FIFO是否非空。
实施中,Monitor模块进行比较,包括:
在DUT中断上报流程中产生中断后,在TB中断响应流程中获取DUT与Scoreboard装置中产生的中断状态信息,分别从DUT的中断FIFO与Scoreboard装置中TB的队列中同步获取中断数据;
对获取的所述中断数据进行比较。
实施中,进一步包括:
在对获取的所述中断数据进行比较完成后,当TB中断产生流程中更新中断状态信息时,在TB中断响应流程中刷新中断状态寄存器。
综上所述,在本发明实施例提供的技术方案中,TB中断响应流程和DUT中断上报流程的交互过程按实际需求执行。TB中断响应流程模拟CPU行为,响应DUT中断上报流程的中断信号,正常处理中断信息,并与TB的预期结果做比较,验证DUT功能。
TB中断产生流程、TB中断响应流程和DUT中断产生流程并非完全独立执行,而是通过Monitor实时监控DUT相关的内部信号,使TB中断产生流程和TB中断响应流程的处理时间均与DUT中断产生流程同步,实现在同一时刻执行操作。如是便解决了TB处理中断与DUT不同步,从而导致无法实时比对成功的问题。
TB中断产生流程与TB中断响应流程在Scoreboard中独立执行,模拟DUT行为,使中断产生和中断处理互不干涉,实现处理中断时可以继续产生中断的场景,不受客观条件限制。
因此,TB中断产生过程实时监控DUT内部信号,实现同步处理,保证处理的实时性,解决了中断验证的实时性和同步性,可以应用在大多数中断验证领域;
TB和DUT的中断状态和内容的获取时间也实现了同步操作,实现自动比对的同时,保证了一致性,解决了自动比对的难点,可以应用在大多数中断验证领域。
还由于优化了FPGA/ASIC等设计的中断功能自动化比对,因此采用上述方案能够减少了后期板上调试的工作量。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种中断验证系统,其特征在于,包括:
序列Sequence模块,用于根据需要模拟的中断构造激励产生报文;
通用验证方法学验证组件UVC模块,用于将所述报文分别发送至测试中设备DUT以及Scoreboard装置;
DUT,用于根据接收的所述报文进行中断处理;
Scoreboard装置,用于根据接收的所述报文进行中断处理;
监控Monitor模块,用于监控所述DUT以及所述Scoreboard装置的中断处理过程,使所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程同步,并进行比较。
2.如权利要求1所述的系统,其特征在于,UVC模块进一步用于通过Pin接口以PIN数据形式将所述报文发送至DUT,和/或,UVC模块进一步用于通过事务处理级建模TLM port接口将所述报文封装成事务级信息后发送至Scoreboard装置。
3.如权利要求1所述的系统,其特征在于,Monitor模块进一步用于实时监控所述DUT中的内部信号,并根据监控的信号使所述Scoreboard装置进行的中断处理过程与所述DUT进行的中断处理过程同步。
4.一种如权利要求1所述的中断验证系统的使用方法,其特征在于,包括:
在Sequence模块根据需要模拟的中断构造激励产生报文后,通过UVC模块将所述报文分别发送至DUT以及Scoreboard装置;
DUT根据接收的所述报文进行中断处理;
Scoreboard装置根据接收的所述报文进行中断处理;
Monitor模块监控所述DUT以及所述Scoreboard装置的中断处理过程,使所述DUT以及所述Scoreboard装置根据接收的所述报文进行的中断处理过程同步,并进行比较。
5.如权利要求4所述的方法,其特征在于,在将所述报文发送至DUT时,UVC模块通过Pin接口以PIN数据形式将所述报文发送至DUT;
和/或,在将所述报文发送至Scoreboard装置时,UVC模块通过TLM port接口将所述报文封装成事务级信息后发送至Scoreboard装置。
6.如权利要求4所述的方法,其特征在于,Monitor模块实时监控所述DUT中的内部信号,并根据监控的信号使所述Scoreboard装置进行的中断处理过程与所述DUT进行的中断处理过程同步。
7.如权利要求6所述的方法,其特征在于,Monitor模块是根据获取到的DUT中的报文处理时间,使所述Scoreboard装置同步进行报文解析来保障中断处理过程同步的;
和/或,Monitor模块是根据获取到的DUT中的中断FIFO读取时刻使所述Scoreboard装置同步读取TB的中断队列来保障中断处理过程同步的。
8.如权利要求4所述的方法,其特征在于,Scoreboard装置在进行TB中断响应流程时,所检测到的中断是由DUT在DUT中断上报流程中产生的中断。
9.如权利要求4所述的方法,其特征在于,进一步包括:
在DUT中断上报流程中,在判断中断使能是否有效时,若TB中断响应流程中重新使能中断清除中断状态寄存器,且DUT中断上报流程中没有中断使能关闭,则在DUT中断上报流程中产生中断,否则在DUT中断上报流程中开始判断中断FIFO是否非空。
10.如权利要求4所述的方法,其特征在于,Monitor模块进行比较,包括:
在DUT中断上报流程中产生中断后,在TB中断响应流程中获取DUT与Scoreboard装置中产生的中断状态信息,分别从DUT的中断FIFO与Scoreboard装置中TB的队列中同步获取中断数据;
对获取的所述中断数据进行比较。
11.如权利要求10所述的方法,其特征在于,进一步包括:
在对获取的所述中断数据进行比较完成后,当TB中断产生流程中更新中断状态信息时,在TB中断响应流程中刷新中断状态寄存器。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求4至11任一所述方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求4至11任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711238546.0A CN107861850B (zh) | 2017-11-30 | 2017-11-30 | 一种中断验证系统及其使用方法、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711238546.0A CN107861850B (zh) | 2017-11-30 | 2017-11-30 | 一种中断验证系统及其使用方法、计算机设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107861850A CN107861850A (zh) | 2018-03-30 |
CN107861850B true CN107861850B (zh) | 2020-11-03 |
Family
ID=61704217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711238546.0A Active CN107861850B (zh) | 2017-11-30 | 2017-11-30 | 一种中断验证系统及其使用方法、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861850B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189565A (zh) * | 2018-08-02 | 2019-01-11 | 深圳忆联信息系统有限公司 | 一种基于多设备的ahb突发传输打断验证方法及其系统 |
CN109614350B (zh) * | 2018-10-29 | 2022-03-15 | 中国航空工业集团公司洛阳电光设备研究所 | 一种用于处理器间双口ram通信的中断系统 |
CN110992607A (zh) * | 2019-11-22 | 2020-04-10 | 福建新大陆支付技术有限公司 | 一种通过接口协议方式接入终端的方法 |
CN111221692B (zh) * | 2019-12-31 | 2020-11-03 | 深圳市芯天下技术有限公司 | 一种Nor Flash的数模混合验证方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200506733A (en) * | 2003-08-15 | 2005-02-16 | Via Tech Inc | Apparatus and method for the co-simulation of CPU and DUT modules |
US7444257B2 (en) * | 2003-02-07 | 2008-10-28 | Arm Limited | Generation of a testbench for a representation of a device |
CN102147829A (zh) * | 2011-03-29 | 2011-08-10 | 李姮乐 | 一种ic功能验证方法 |
CN103838899A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 针对硬核mcu的中断控制器的仿真验证系统及方法 |
CN106933727A (zh) * | 2015-12-29 | 2017-07-07 | 北京国睿中数科技股份有限公司 | 处理器中断机制的验证方法及验证装置 |
CN106940428A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842038B2 (en) * | 2015-04-30 | 2017-12-12 | Advantest Corporation | Method and system for advanced fail data transfer mechanisms |
-
2017
- 2017-11-30 CN CN201711238546.0A patent/CN107861850B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444257B2 (en) * | 2003-02-07 | 2008-10-28 | Arm Limited | Generation of a testbench for a representation of a device |
TW200506733A (en) * | 2003-08-15 | 2005-02-16 | Via Tech Inc | Apparatus and method for the co-simulation of CPU and DUT modules |
CN102147829A (zh) * | 2011-03-29 | 2011-08-10 | 李姮乐 | 一种ic功能验证方法 |
CN103838899A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 针对硬核mcu的中断控制器的仿真验证系统及方法 |
CN106933727A (zh) * | 2015-12-29 | 2017-07-07 | 北京国睿中数科技股份有限公司 | 处理器中断机制的验证方法及验证装置 |
CN106940428A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
Random testing for system-level functional verification of system-on-chip;M. Qinsheng, C. Yang, Y. Jun and W. Min;《Journal of Systems Engineering and Electronics》;20091231;第20卷(第6期);第1378-1383页 * |
基于UVM可重用验证平台的研究;张怡琳;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315(第3期);第I135-105页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107861850A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861850B (zh) | 一种中断验证系统及其使用方法、计算机设备、存储介质 | |
US20170337309A1 (en) | Target Capture And Replay In Emulation | |
JP4472615B2 (ja) | プログラマブルデバイスのモデリング方法および装置 | |
JP5022262B2 (ja) | デバッグ中にツールを使用可能な試験システム及び方法 | |
US10552190B2 (en) | Precise error injection for driver testing | |
CN105446933B (zh) | 多核心处理器的调试系统与调试方法 | |
US20080312900A1 (en) | Simulation apparatus and simulation method | |
US7979822B2 (en) | Apparatus and method for performing a sequence of verification tests to verify a design of a data processing system | |
JP6030237B2 (ja) | マイコン故障注入方法及びシステム | |
KR20170110072A (ko) | 멀티-코어 마이크로컨트롤러에서 크로스-코어 브레이크포인트들을 생성하기 위한 시스템 및 방법 | |
US9703905B2 (en) | Method and system for simulating multiple processors in parallel and scheduler | |
JP2007058813A (ja) | 検証装置及び検証方法 | |
US7099813B2 (en) | Simulating program instruction execution and hardware device operation | |
US20030101040A1 (en) | Hardware simulation using a test scenario manager | |
US8701089B2 (en) | Program execution device and method for controlling the same | |
JPWO2015079503A1 (ja) | システム構築支援装置 | |
Caba et al. | Testing framework for on-board verification of HLS modules using grey-box technique and FPGA overlays | |
JP2000163456A (ja) | 論理検証方法 | |
JP2010244376A (ja) | ソフトウェア開発装置、及び、ソフトウェア開発装置を用いたデバッグ方法 | |
Gong et al. | RTL simulation of high performance dynamic reconfiguration: A video processing case study | |
Buzdalov | Simulation of AADL models with software-in-the-loop execution | |
KR20140140789A (ko) | 실시간 시스템용 하드웨어-소프트웨어 통합 시뮬레이션을 위한 실행 동기화 방법 | |
CN116594830A (zh) | 硬件仿真工具、调试方法和存储介质 | |
CN118052194A (zh) | 芯片仿真验证系统、方法以及电子设备 | |
KR20240009766A (ko) | 차량용 소프트웨어 플랫폼의 시뮬레이션을 위한 네트워크 가상화 장치 및 방법 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100094 First to Fifth Floors of Building 11, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing Applicant after: Raisecom Technology Inc. Address before: 100085 No. 2 Building, No. 28 Shangdi Sixth Street, Haidian District, Beijing Applicant before: Raisecom Technology Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |