[发明专利]一种通过逻辑设计提高芯片抗单粒子翻转能力的方法有效
申请号: | 201510993615.3 | 申请日: | 2015-12-25 |
公开(公告)号: | CN105653771B | 公开(公告)日: | 2018-12-21 |
发明(设计)人: | 袁超;喻贤坤;王磊;姜爽;王莉;彭斌 | 申请(专利权)人: | 北京时代民芯科技有限公司;北京微电子技术研究所 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 杨春颖 |
地址: | 100076 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,通过对芯片的配置寄存器、有限状态机、数据寄存器和存储器采用冗余编码等逻辑设计手段,极大的提高芯片的抗单粒子翻转能力,并向系统主控CPU发出3种中断信号,使系统能够掌握芯片内部发生单粒子翻转的情况。本发明能够以较低的设计复杂度和设计时间代价,大幅度提高芯片在空间单粒子环境下的可靠性和适应性,降低芯片因单粒子翻转造成功能错误或功能中断的概率。 | ||
搜索关键词: | 一种 通过 逻辑设计 提高 芯片 粒子 翻转 能力 方法 | ||
【主权项】:
1.一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于包括下列步骤:(1)为外部主控CPU增加N个中断源,N=1或N=3,在待加固芯片内部产生三个中断信号,均为单粒子翻转中断信号,当这三个单粒子翻转中断信号触发时,代表待加固芯片内部出现单粒子翻转,单粒子翻转中断信号的序号代表待加固芯片发生单粒子翻转的逻辑部件,中断信号的序号为3个,定义3类中断,1号代表配置寄存器发生单粒子翻转;2号代表有限状态机发生单粒子翻转;3号代表加固的数据寄存器和/或存储器发生翻转;外部主控CPU将待加固芯片内部产生的三个中断信号连接到外部主控CPU自身增加的N个中断源上,以获取待加固芯片内部发生单粒子翻转的信息,并统计单粒子翻转发生的次数;(2)将芯片中的配置寄存器进行影响域划分,即如果待加固芯片内部的n个包含有限状态机的功能模块共享一个配置寄存器时,即n>1,为每一个包含有限状态机的功能模块提供独立的m个配置寄存器,即m>1,m≤n,并且这些独立的配置寄存器与共享的配置寄存器的输入为相同的配置字,这些独立的配置寄存器的输出送至对应的包含有限状态机的功能模块;(3)配置寄存器进行步骤(2)的影响域划分之后,进行冗余编码,M定义为冗余编码扩展位宽,M为大于2的整数,冗余编码将配置寄存器中的每一个bit位都扩展为M个bit位,即将加固前的配置寄存器的每一个bit中的0和1,编码为预先设置的两个不同的二进制M位编码,并且预先设置的这两个不同的二进制M位编码的每一个相同bit位都01互斥;冗余编码前的每一个bit位只包含0和1两个逻辑状态,而经过冗余编码后,除了代表逻辑0和逻辑1的两个预先设置的二进制M位编码以外还增加了M个对应逻辑0的冗余编码和M个对应逻辑1的冗余编码,这些冗余编码只有当代表逻辑0和逻辑1的两个预先设置的二进制M位编码被单粒子打翻后出现,并且代表逻辑0和逻辑1的两个预先设置的二进制M位编码对应的冗余状态互不相同,即不会发生混淆;随后在配置寄存器的输出端增加判决和刷新逻辑,即当单粒子翻转造成寄存器的输出编码不是按照预先设置的M位编码,而是冗余编码时,将不是按照预先设置的M位编码刷新为对应逻辑0或者逻辑1的M位编码,即自动刷新为单粒子翻转前的编码,同时向主控CPU发出步骤(1)定义的1号中断信号,即通知主控CPU,配置寄存器发生了一次单粒子翻转;(4)在进行步骤(3)后,针对有限状态机进行两方面的加固:第一方面的加固是在有限状态机的未定义状态中,增加返回初始状态的状态跳转,使有限状态机的状态进入未定义状态时立即跳转为上电复位之后的状态;第二方面的加固是采用步骤(3)中的冗余编码,为有限状态机的每一个已定义状态增加热备份的冗余状态,每个已定义状态的冗余状态个数为采用步骤(3)的冗余编码前的bit位宽乘以M,这些增加热备份的冗余状态,即已定义状态在发生单粒子翻转后的状态,与对应的已定义状态的功能完全相同;当单粒子翻转造成有限状态机的已定义状态发生变化时,会使有限状态机跳转到热备份的冗余状态进行工作,保持有限状态机的正常工作,同时向主控CPU发出步骤(1)定义的2号中断信号,即通知主控CPU,有限状态机发生了一次单粒子翻转;随后有限状态机会自动从冗余状态跳转为冗余状态对应的已定义状态;(5)在待加固芯片的数据寄存器和/或存储器上设置数据范围箝位和数据变化量箝位;数据范围箝位即在数据寄存器和/或数据存储器的输出上增加判决和箝位逻辑,判断数据寄存器和/或存储器中存储的数据是否超过定义的数据范围,如果数据寄存器和/或存储器中存储的数据不在数据范围中,则对数据寄存器和/或存储器中存储的输出数据进行箝位;定义的数据范围包含上限和下限,下限大于0,上限小于2P‑1,其中P为数据寄存器或数据存储器的位宽;如果数据寄存器和/或存储器中存储的数据大于数据范围的上限,则将寄存器和/或存储器的输出变为数据范围的上限;反之如果数据寄存器和/或存储器中存储的数据小于数据范围的下限,则将寄存器和/或存储器的输出变为数据范围的下限;如果数据寄存器和/或存储器中存储的数据在数据范围上下限之间,则不发生箝位,即直接输出数据寄存器和/或存储器中存储的数据;数据变化量箝位即在数据寄存器和/或数据存储器的输出上增加判决和箝位逻辑,判断数据寄存器和/或存储器中存储的数据发生变化时,变化量是否超过定义的最大变化量,如果变化量超过定义的最大变化量,则对数据寄存器和/或存储器中存储的输出数据进行箝位;即定义的最大变化量包含上限,上限小于2P‑1,其中P为数据寄存器或数据存储器的位宽;如果数据寄存器和/或存储器中存储的数据发生变化时,变化量大于定义的最大变化量上限,则将输出数据修改为变化前的数据加上最大变化量上限;反之如果数据寄存器和/或存储器中存储的数据发生变化时,变化量小于定义的最大变化量上限,则不发生箝位,即直接输出发生变化后的数据寄存器和/或存储器中存储的数据;发生数据范围箝位或数据变化量箝位后,向外部主控CPU发出步骤(1)定义的3号中断,即通知外部主控CPU数据寄存器和/或存储器发生了一次单粒子翻转。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;北京微电子技术研究所,未经北京时代民芯科技有限公司;北京微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510993615.3/,转载请声明来源钻瓜专利网。