针对硬核MCU的中断控制器的仿真验证系统及方法技术方案

技术编号:10115652 阅读:136 留言:0更新日期:2014-06-04 20:02
本发明专利技术公开了一种针对硬核MCU的中断控制器的仿真验证系统,包括:测试软件和仿真验证环境模块;测试软件包括主程序和中断服务程序;主程序采用随机的方式对相关中断寄存器进行赋值,并将中断寄存器配置,中断处理信息,软件准备好信号传递给所述仿真验证环境模块;中断服务程序记录中断标号与中断顺序;仿真验证环境模块,采用随机方式产生中断置位信息,直接对仿真验证系统中的各中断标志位进行设置;测试软件和仿真验证环境模块配合获取中断处理信息,在一定流程控制下协同完成对中断控制器的仿真验证。本发明专利技术还公开了一种针对硬核MCU的中断控制器的仿真验证方法。本发明专利技术能提高验证效率和覆盖率,且具有很强的可复用性。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种针对硬核MCU的中断控制器的仿真验证系统,包括:测试软件和仿真验证环境模块;测试软件包括主程序和中断服务程序;主程序采用随机的方式对相关中断寄存器进行赋值,并将中断寄存器配置,中断处理信息,软件准备好信号传递给所述仿真验证环境模块;中断服务程序记录中断标号与中断顺序;仿真验证环境模块,采用随机方式产生中断置位信息,直接对仿真验证系统中的各中断标志位进行设置;测试软件和仿真验证环境模块配合获取中断处理信息,在一定流程控制下协同完成对中断控制器的仿真验证。本专利技术还公开了一种针对硬核MCU的中断控制器的仿真验证方法。本专利技术能提高验证效率和覆盖率,且具有很强的可复用性。【专利说明】针对硬核MCU的中断控制器的仿真验证系统及方法
本专利技术涉及SOC (芯片上系统)的功能验证领域,特别是涉及一种针对硬核MCU(Micro Control Unit微控制单元)的中断控制器的仿真验证系统。本专利技术还涉及一种针对硬核MCU的中断控制器的仿真验证方法。
技术介绍
中断系统是MCU的重要组成部分,实时控制、故障自动处理、与外围设备间的数据传送一般都会采用中断系统。一次完整的中断过程包括,中断源产生,中断源向MCU提出中断请求,MCU暂停现行程序而转为响应中断请求,处理中断源对应的中断服务程序,中断返回。MCU中往往包含多个中断源,通常由中断控制器负责根据中断标志和寄存器进行判断,告知MCU内核此时应当处理哪一个中断。中断控制器功能的正确与否,直接关系着MCU能否正确处理中断。因此,对中断控制器的详细验证是必不可少的。当前的MCU设计经常采用购买的内核与自主设计的外设进行组装,而内核可能为硬核或者加密核,这时将无法单独提取中断控制器模块进行验证。如果只通过人工手动撰写系统级验证测试例,会降低验证效率,且很难覆盖到大量可能发生的中断源触发情况,因而难以确保中断控制器模块的功能是否正确。
技术实现思路
本专利技术要解决的技术问题是提供一种针对硬核MCU的中断控制器的仿真验证系统,能够基于随机的方式针对硬核MCU的中断控制器进行仿真验证,提高验证效率和覆盖率;为此,本专利技术还要提供一种针对硬核MCU的中断控制器的仿真验证方法。为解决上述技术问题,本专利技术的针对硬核MCU的中断控制器的仿真验证系统包括:测试软件和仿真验证环境模块;所述测试软件包括主程序和中断服务程序;所述主程序采用随机的方式对相关中断寄存器进行赋值,并将中断寄存器配置,中断处理信息,软件准备好信号传递给所述仿真验证环境模块;所述中断服务程序记录中断标号与中断顺序;所述仿真验证环境模块,采用随机方式产生中断置位信息,直接对仿真验证系统中的各中断标志位进行设置;所述测试软件和仿真验证环境模块配合获取中断处理信息,在一定流程控制下协同完成对中断控制器的仿真验证。本专利技术的针对硬核MCU的中断控制器的仿真验证方法,包括如下步骤:步骤一、测试软件开始运行后,首先进行各相关中断寄存器的设置,在随机设置好各中断寄存器的值后,向特定RAM地址写入设置的中断寄存器值,该中断寄存器设置信息将由仿真验证环境模块的监视模块收集;步骤二、所述监视模块将发送软件准备好信号给仿真验证环境模块的中断产生器模块,由中断产生器模块产生随机置位信息,对中断标志进行置位,并将置位信息传递给仿真验证环境模块的记分板模块;根据不同的中断寄存器设置和中断标志位置位,若触发了中断,则相应的中断服务子程序将被执行;通过在中断服务子程序里预先写入适当的标志位,由测试软件记录下中断的触发和执行顺序;所有被触发的中断服务子程序执行结束之后,由测试软件发送结束标志告知仿真验证环境模块,由监视模块来获取之前由测试软件收集的相关中断信息,并送入记分板模块;若中断未触发,则直接由测试软件发送结束信号,将中断未执行的信息传递给监视模块,然后由监视模块送入记分板模块;步骤三、记分板模块将通过中断寄存器设置信息和中断标志位置位信息收集覆盖率,并计算出正常情况下中断的触发以及执行顺序,将其与经仿真得到的真实中断产生情况进行对比,得出判断结果,结束一个随机测试例的仿真。本专利技术针对硬核MCU的中断控制器难以进行全面验证的困难,提取整个MCU中与中断相关的电路部分(包括MCU内核,外围中断控制器,ROM程序存储器模型,RAM存储器模型,ROM总线控制器等),运用测试软件和仿真验证环境模块协同随机的方式对中断控制器进行验证。随机性的引入将大大提升仿真验证中对不同中断发生处理情况的覆盖率,且这样的仿真验证具有很强的可复用性,适用于大部分硬核MCU的中断控制器的仿真验证,能极大提高验证效率和覆盖率,增强设计的信心。【专利附图】【附图说明】下面结合附图与【具体实施方式】对本专利技术作进一步详细的说明:图1是所述针对硬核MCU的中断控制器的仿真验证系统架构图;图2是图1所示仿真验证系统的验证流程图。【具体实施方式】在硬核MCU的实际应用中,中断的产生情况是纷繁多样的,人工撰写中断测试例通常仅能针对特殊应用对中断寄存器进行配置,进而在一定条件下触发中断,这会导致仿真验证上大量可能状况的遗漏。本专利技术采用随机方式对中断控制器进行仿真验证,可减少人工撰写测试例的工作量,高效的提升仿真验证的覆盖范围,因此是十分有必要的。所述随机包括软测试件中对各相关中断寄存器的随机设置;硬核MCU中断标志位的随机设置。参见图1所示,在一实施例中,所述针对硬核MCU的中断控制器的仿真验证系统,包括:DUT (Design Under Test:待测设计)模块(图1中虚线框内所包括的部分),测试软件和仿真验证环境模块。为验证硬核MCU的中断控制器,DUT模块需要包括整个MCU中与中断相关的电路设计部分,在本实施例中包括=MCU内核及MCU内核自带的中断控制器(即图1中的内部中断控制器,该“内部中断控制器”就是要进行仿真验证的中断控制器)、外围中断控制器、ROM总线控制器和ROM程序存储器模型、RAM存储器模型(R0M/RAM都只是行为级模型);其中,ROM程序存储器模型用于存储仿真验证所需的测试软件,MCU内核通过ROM总线控制器访问所述测试软件,RAM存储器模型用于存放所述测试软件中使用的变量。所述测试软件包括主程序和中断服务程序。所述主程序采用随机的方式对相关中断寄存器进行赋值(或称设置),并将中断寄存器配置,中断处理信息,软件准备好信号传递给所述仿真验证环境模块,等待所有服务程序执行结束,发送中断处理信息,发送测试软件处理结束信号。所述中断服务程序包括η个中断服务子程序,每个中断服务子程序包括中断标号记录,中断顺序记录等。所述仿真验证环境模块包括中断产生器模块,监视模块和记分板模块;可以采用System Verilog语言来搭建开发。所述中断产生器模块,通过随机方式产生中断置位信息,直接在环境代码中对系统中的各中断标志位进行设置(可使用System Verilog语言中的force语句),其中,中断标志位信息可分为两组,一组直接输入MCU内核自带的中断控制器(即图1中的中断标志位组2);另一组通过外围中断控制器处理,再将处理结果输入到MCU的内部中断控制器中(SP图1中的中断标志位组1),最终触发在测试软件中已由寄存器配置使能的中断。该中断产生本文档来自技高网
...
针对硬核MCU的中断控制器的仿真验证系统及方法

【技术保护点】
一种针对硬核MCU的中断控制器的仿真验证系统,其特征在于,包括:测试软件和仿真验证环境模块;所述测试软件包括主程序和中断服务程序;所述主程序采用随机的方式对相关中断寄存器进行赋值,并将中断寄存器配置,中断处理信息,软件准备好信号传递给所述仿真验证环境模块;所述中断服务程序记录中断标号与中断顺序;所述仿真验证环境模块,采用随机方式产生中断置位信息,直接对仿真验证系统中的各中断标志位进行设置;所述测试软件和仿真验证环境模块配合获取中断处理信息,在一定流程控制下协同完成对中断控制器的仿真验证。

【技术特征摘要】

【专利技术属性】
技术研发人员:唐旸杨宁昕陈磊
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1