一种加速芯片中断控制器验证的系统及方法

文档序号:8380882阅读:452来源:国知局
一种加速芯片中断控制器验证的系统及方法
【技术领域】
[0001]本发明涉及的是一种片上系统(System on a chip: SOC)芯片验证技术领域,尤其是一种加速芯片中断控制器验证的系统及方法。
【背景技术】
[0002]在现有技术中,公知的技术是现有的为了预防芯片运行中可能出现的异常行为,在芯片中都会加入中断控制器的设计。为了验证中断控制器,首先需要使中断触发。在现有的芯片验证中,芯片某些中断的实际触发事件可能需要很长时间的仿真才能发生,甚至有些中断触发条件可能很苛刻很难发生。比如在一个Nand Flash控制器中设计了 ecc校验失败中断,对于一个40位的ecc校验,可能需要对一整页Flash的8KB数据读写η次之后才会有ecc校验失败中断发生。而且在芯片级验证中,为了触发所有的中断,需要跟中断有关联的所有模块都参与仿真才可以,这不仅需要很长的仿真时间,而且需要耗费大量的硬件资源。为了缩短验证时间,本发明提出了一种通过模拟中断触发加速中断控制器验证的方法。

【发明内容】

[0003]本发明的目的就是针对现有技术所存在的不足,而提供一种加速芯片中断控制器验证的系统及方法,该方案在测试中,通过往某个预留寄存器中写入某个特定的数值触发模拟中断源,之后模拟中断源会替代实际中断源强制使实际中断信号触发,从而启动中断控制器工作,快速实现对中断控制器的验证,并且不需要链接实际的中断产生模块就能完成中断控制器的功能验证,减少了硬件仿真资源开销。
[0004]本方案是通过如下技术措施来实现的:一种加速芯片中断控制器验证的系统,其特征在于包括如下模块:
中断触发模块,通过软件接口往预留寄存器中写入一个特定的寄存器值,用于触发中断测试事件;
中断释放模块,通过软件接口往预留寄存器中写入一个特定的寄存器值,用于触发中断释放事件;
模拟中断源模块,实时监测中断测试事件和中断释放事件,监测到中断测试事件发生后依次将所有的实际中断信号触发,并且在监测到中断释放事件后将各中断信号释放。
[0005]一种加速芯片中断控制器验证的方法,其特征在于包括如下步骤:
1)在软件测试用例中,通过配置中断寄存器将中断使能打开,通过配置预留寄存器触发中断测试事件;
2)各个实际中断源被强制触发,中断控制器将中断请求信号传输到CPU,CPU检测到中断请求信号后启动相应的中断处理程序,进行中断处理和测试;
3)监测到中断释放事件时,释放中断信号,完成中断测试。
[0006]在步骤I)中,配置中断寄存器将中断使能打开,往系统预留的某个寄存器中写入一个特定的寄存器值以触发中断测试事件。
[0007]在步骤2)中设置一用于实时监测中断测试事件和中断释放事件的模拟中断源模块。
[0008]所述的步骤2)中,模拟中断源监测到中断测试事件发生后,触发各个实际中断源,中断控制器发中断请求信号给CPU,CPU检测到中断信号后启动相应的中断请求信号后启动相应的中断处理程序,进行中断处理和测试。
[0009]在步骤3)中,往系统预留的某个寄存器中写入一个特定的寄存器值触发中断释放事件。
[0010]所述的步骤3)中,模拟中断源监测到中断释放事件后,将相应的实际中断信号释放,完成中断测试。
[0011]本方案的有益效果可根据对上述方案的叙述得知,由于在该方案中通过往某个预留寄存器中写入一个特定的寄存器值触发中断测试事件,中断信号的产生不再依赖于实际的中断源,快速实现了中断信号的触发,大大缩短了仿真时间;有一个模拟中断源模块,可以实时监测中断测试事件和中断释放事件,监测到中断测试事件发生后依次将所有的实际中断信号触发,并且在监测到中断释放事件后将各中断信号释放,不需要链接实际的中断产生模块就能完成中断控制器的功能验证;硬件监测到预留寄存器中有某个特定的寄存器值写入的话就会触发相应的中断释放事件,模拟中断源模块一旦监测到中断释放事件后会将相应的实际中断信号释放,完成中断测试。由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
[0012]【附图说明】:
图1为本发明【具体实施方式】的验证架构图。
[0013]图2为本发明【具体实施方式】的流程图。
【具体实施方式】
[0014]为能清楚说明本方案的技术特点,下面通过一个【具体实施方式】,并结合其附图,对本方案进行阐述。
[0015]本方案的加速芯片中断控制器验证的系统,中断触发模块,通过软件接口往预留寄存器中写入一个特定的寄存器值,用于触发中断测试事件;中断释放模块,通过软件接口往预留寄存器中写入一个特定的寄存器值,用于触发中断释放事件;模拟中断源模块(Virtual Interrupt Source),实时监测中断测试事件和中断释放事件,监测到中断测试事件发生后依次将所有的实际中断信号触发,并且在监测到中断释放事件后将各中断信号释放。
[0016]软件启动测试时,先将某个特定的寄存器值写入某预留的特定寄存器以触发中断测试事件;随后,模拟中断源模块(Virtual Interrupt Source)监测到中断测试事件发生后,模拟触发各个中断源(isr_nfc_v/isr_dma_v/isr_sata_v/......);中断控制器
(interrupt controller)监测到有中断信号后会产生中断请求信号(itr_req),并将中断请求信号传输给CPU ;CPU检测到中断请求信号后启动相应的中断处理程序,进行中断处理和测试;在中断处理程序中,会将某个特定的寄存器值写入某预留的特定寄存器以触发中断释放事件;模拟中断源模块(Virtual Interrupt Source)监测到中断释放事件后,将相应的实际中断信号释放,完成中断测试。本实施例中,实际上是使用模拟中断源模块(Virtual Interrupt Source)产生的模拟中断信号 isr—nfc—v/isr—dma—v/isr—sata—
v/......,替代了 NFC、DMA、SATA Controller 等模块实际的中断信号 isr—nfc/isr—dma/isr—
sata/......,这样验证时,就不需要连接图中的NFC、DMA、SATA Controller等模块,减少了硬件仿真资源开销。
[0017]本发明并不仅限于上述【具体实施方式】,本领域普通技术人员在本发明的实质范围内做出的变化、改型、添加或替换,也应属于本发明的保护范围。
【主权项】
1.一种加速芯片中断控制器验证的系统,其特征在于包括如下模块: 中断触发模块,通过软件接口往预留寄存器中写入一个特定的寄存器值,用于触发中断测试事件; 中断释放模块,通过软件接口往预留寄存器中写入一个特定的寄存器值,用于触发中断释放事件; 模拟中断源模块,实时监测中断测试事件和中断释放事件,监测到中断测试事件发生后依次将所有的实际中断信号触发,并且在监测到中断释放事件后将各中断信号释放。
2.一种加速芯片中断控制器验证的方法,其特征在于包括如下步骤: 1)在软件测试用例中,通过配置中断寄存器将中断使能打开,通过配置预留寄存器触发中断测试事件; 2)各个实际中断源被强制触发,中断控制器将中断请求信号传输到CPU,CPU检测到中断请求信号后启动相应的中断处理程序,进行中断处理和测试; 3)监测到中断释放事件时,释放中断信号,完成中断测试。
3.根据权利要求2所述的加速芯片中断控制器验证的方法,其特征是:在步骤I)中,配置中断寄存器将中断使能打开,往系统预留的某个寄存器中写入一个特定的寄存器值以触发中断测试事件。
4.根据权利要求2所述的加速芯片中断控制器验证的方法,其特征是:在步骤3)中,往预留寄存器中写入一个特定的寄存器值以触发中断释放事件。
5.根据权利要求2所述的加速芯片中断控制器验证的方法,其特征是:在步骤2)中设置一用于实时监测中断测试事件和中断释放事件的模拟中断源模块。
6.根据权利要求5所述的加速芯片中断控制器验证的方法,其特征是:所述的步骤2)中,模拟中断源监测到中断测试事件发生后,触发各个实际中断源,中断控制器发中断请求信号给CPU,CPU检测到中断请求信号后启动相应的中断处理程序,进行中断处理和测试。
7.根据权利要求5所述的加速芯片中断控制器验证的方法,其特征是:所述的步骤3)中,模拟中断源监测到释放中断事件后,将相应的实际中断信号释放,完成中断测试。
【专利摘要】本发明提供了一种加速芯片中断控制器验证的系统及方法,该方案包括如下模块:中断触发模块、中断释放模块、模拟中断源模块。该方案在测试中,通过往某个预留寄存器中写入某个特定的数值触发中断测试事件,之后模拟中断源会替代实际中断源强制使实际中断信号触发,从而启动中断控制器工作,快速实现对中断控制器的验证,并且不需要链接实际的中断产生模块就能完成中断控制器的功能验证,减少了硬件仿真资源开销。
【IPC分类】G06F11-36
【公开号】CN104699620
【申请号】CN201510150498
【发明人】戴绍新, 李风志, 姚香君, 杨萌, 李文军, 石易明
【申请人】山东华芯半导体有限公司
【公开日】2015年6月10日
【申请日】2015年4月1日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1