0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈中断验证

sanyue7758 来源:杰瑞IC验证 2023-04-11 09:51 次阅读

在工程项目中,不管是小到模块级验证,还是大到系统级验证,都有一项不可缺少的feature,那就是中断。

中断是一种硬件与软件间、cpu与外设间的交互手段,中断一旦出问题,芯片很可能会因此缺失某些特性,甚至于毁了整颗芯片,中断验证由此显得极为关键。

本期,黄鸭哥将给大家带来工程项目中常常碰到的中断的验证。

1

何为中断

我们先来了解下什么是中断?

中断是指:芯片在执行程序指令流的过程中,突然出现某些意外情况而需要中止执行当前程序,并转入处理新的程序指令流,处理完毕后又返回原被暂停的程序指令流继续运行的机制。

(注意,工程实践中需要注意中断和查询的区别,中断是事件触发型的,可以是软件也可以是硬件,而查询,一般是软件行为,循环poll某个状态或者寄存器值。比如,中断就好比你点了个外卖,然后你就去干你别的事了,过了一会外卖小哥打电话叫你下楼取外卖;而查询与中断的区别在于,外卖小哥不会打电话给你,你点完外卖后要一直拿着手机查询订单状态,当外卖到楼下后自己下楼取餐。)

2

中断执行

中断的具体流程是怎么样的呢?

1、当设备遇到某一事件或错误发生时,将发出IRQ中断给中断控制器(有的设备可能无中断控制器)。

2、中断控制器对这个IRQ进行硬件处理,把一些信息记录在中断控制器的寄存器上,然后中断控制器通过IRQ中断线给cpu发送中断信号

3、cpu收到中断信号后会对中断控制器中的寄存器进行访问,读取中断信息存入自身的状态寄存器中,并且有的中断控制器还会通过mask寄存器屏蔽对应的中断,之后cpu执行存好的中断驱动程序。

后面的操作就得根据具体的驱动程序来决定了,大致上就是备份数据,清中断源等,最后就是恢复数据,这整个就是一个中断发生后的处理流程啦!

3

中断类型

说完中断流程,我们来看下中断类型,按照功能类型来划分,中断可以分为事件中断和异常中断。

事件中断:一般是由硬件触发某个寄存器并拉高中断线,通知软件介入处理某些具体事务,比如一些周期性的神经网络训练请求或者完成一次DMA搬运操作等,事件中断属于软硬件协同工作上的一环。

异常中断:顾名思义,就是一些硬件不可预期的行为导致的错误发生,发生异常中断时,硬件可能已不能自我解决这种错误,需要向cpu申请支援。异常中断按照程度可以分为两类,分别为致命中断和非致命中断,它俩的区别在于硬件是否会由于异常错误挂死,甚至导致整个芯片崩溃宕机。

按照异常种类划分,例如可包括:

1、溢出中断,可能是某个计数器 ,也可能是某个buffer引发的溢出中断;

2、数据译码错误,比如,ecc中断,奇偶校验中断等;

3、协议违反中断,比如,axi协议的len不匹配数据,jedec协议的ca命令错误等等;

4、特性违反错误,比如,具体某个模块中的描述符错误,地址越界,传输错误等等。

对于模块级验证中的中断特性,验证人员需要考虑的是这些中断能不能被正常触发,触发中断后能不能正常上报,上报之后中断状态可不可查,中断源能不能被清除,清除之后能不能再次触发,中断是否可支持mask等。在这个一系列过程中,我们还要考虑中断类型与寄存器对应bit是否匹配(比如,ECC错误出现,feature中描述对应的寄存器的第1bit拉高,但是硬件模块错误的把第8bit拉高)、中断之间是否存在相互干扰、多中断发生时是否能准确上报、无异常发生时中断不能拉高、清除某个中断时不能错误清除其他的中断等等。

对于系统级中断验证,验证人员考虑的可能就不是那些底层的中断功能能否正常实现,而是要考虑各个模块,各个子系统的中断线能否正常汇聚到中断控制器,中断控制器的中断线是否能正常发送到cpu的中断管脚、进入低功耗模式前后的中断状态等等。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50102

    浏览量

    420202
  • 模块
    +关注

    关注

    7

    文章

    2652

    浏览量

    47258
  • 寄存器
    +关注

    关注

    31

    文章

    5280

    浏览量

    119737
  • 神经网络
    +关注

    关注

    42

    文章

    4731

    浏览量

    100366

原文标题:浅谈中断验证

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PCB经验浅谈

    PCB经验浅谈
    发表于 08-04 09:33

    手机硬件知识浅谈

    手机硬件知识浅谈
    发表于 05-15 11:04

    手机机构设计浅谈

    手机机构设计浅谈
    发表于 11-13 11:21

    浅谈射频PCB设计

    浅谈射频PCB设计
    发表于 03-20 15:07

    浅谈UWB与WMAN无线电系统的验证

    浅谈UWB与WMAN无线电系统的验证
    发表于 06-02 06:07

    浅谈检测/校准用软件的可靠性验证

    浅谈检测/校准用软件的可靠性验证
    发表于 02-07 18:01 7次下载

    浅谈当代安全验证问题

    浅谈当代安全验证问题
    发表于 09-07 10:55 3次下载
    <b class='flag-5'>浅谈</b>当代安全<b class='flag-5'>验证</b>问题

    浅谈51单片机的中断控制

    51系列单片机有5个中断源,2个优先级,可以实现二级中断服务嵌套结构。
    发表于 05-29 14:07 3918次阅读
    <b class='flag-5'>浅谈</b>51单片机的<b class='flag-5'>中断</b>控制

    浅谈51内核单片机中断

    51内核的最基础的中断源请求有外部中断、定时器中断和串口中断,这也是学习和开发者最长用的。当然还有其他的中断
    的头像 发表于 10-21 10:15 5027次阅读
    <b class='flag-5'>浅谈</b>51内核单片机<b class='flag-5'>中断</b>源

    11.51单片机外部中断实验

    时,发光二极管常亮,有外部中断时左移。2.完成以下功能及验证:①编程实现无中断时,发光二极管常亮,有外部中断时左移,有外部中断时右移。②
    发表于 11-22 12:06 13次下载
    11.51单片机外部<b class='flag-5'>中断</b>实验

    浅谈中断与单片机中断处理的过程

    中断是个很重要的一个概念,在计算机组成原理中曾经讲过这一概念,对于嵌入式方向来说,也是一个非常重要的一个知识点,经常出现在笔试中。中断所谓中断就是:CPU在正常执行程序的过程中,由于内部/外部
    发表于 11-22 14:21 9次下载
    <b class='flag-5'>浅谈</b><b class='flag-5'>中断</b>与单片机<b class='flag-5'>中断</b>处理的过程

    [IC]浅谈嵌入式MCU软件开发之中断优先级与中断嵌套

    [IC]浅谈嵌入式MCU软件开发之中断优先级与中断嵌套
    发表于 12-05 10:21 11次下载
    [IC]<b class='flag-5'>浅谈</b>嵌入式MCU软件开发之<b class='flag-5'>中断</b>优先级与<b class='flag-5'>中断</b>嵌套

    工程项目中常常碰到的中断验证科普

    对于系统级中断验证验证人员考虑的可能就不是那些底层的中断功能能否正常实现,而是要考虑各个模块,各个子系统的中断线能否正常汇聚到
    的头像 发表于 07-29 16:25 1614次阅读

    基于网络测试与验证

    数据平面验证技术可以通过验证设备的数据平面来检测网络错误,尽可能减少网络错误带来的代价,这也是减少网络中断的一种重要技术。
    的头像 发表于 10-25 11:06 1283次阅读

    科普一下工程项目中常常碰到的中断验证

    在工程项目中,不管是小到模块级验证,还是大到系统级验证,都有一项不可缺少的feature,那就是中断
    的头像 发表于 04-11 09:52 679次阅读