一种通过逻辑设计提高芯片抗单粒子翻转能力的方法_5

文档序号:9887869阅读:来源:国知局
在进行数据变化量箝位前,第4个周期温度数据寄存器值为132,第5个周期温度数据寄存器值为150,变化量达到了 18,超过了数据变化量的上限,因此可以判断是温度数据寄存器受到单粒子翻转效应的影响,将第5个周期温度数据寄存器值输出的温度数据修改为变化前的132加上最大变化量上限10,即142,避免输出对外部设备造成影响。
[0089]发生数据范围箝位或数据变化量箝位后,向外部主控CPU发出步骤(I)定义的3号中断,即通知外部主控CPU数据寄存器和/或存储器发生了一次单粒子翻转。
[0090]本发明未详细说明部分属本领域技术人员公知常识。
【主权项】
1.一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于包括下列步骤: (1)为外部主控CPU增加N个中断源,N=I或N= 3,在待加固芯片内部产生三个中断信号,均为单粒子翻转中断信号,当这三个单粒子翻转中断信号触发时,代表待加固芯片内部出现单粒子翻转,单粒子翻转中断信号的序号代表待加固芯片发生单粒子翻转的逻辑部件,中断信号的序号为3个,定义3类中断,I号代表配置寄存器发生单粒子翻转;2号代表有限状态机发生单粒子翻转;3号代表加固的数据寄存器发生翻转;外部主控CPU将待加固芯片内部产生的三个中断信号连接到外部主控CPU自身增加的N个中断源上,以获取待加固芯片内部发生单粒子翻转的信息,并统计单粒子翻转发生的次数; (2)将芯片中的配置寄存器进行影响域划分,即如果待加固芯片内部的η个包含有限状态机的功能模块共享一个配置寄存器时,即η>1,为每一个包含有限状态机的功能模块提供独立的m个配置寄存器,BPm>l ,m<n,并且这些独立的配置寄存器与共享的配置寄存器的输入为相同的配置字,这些独立的配置寄存器的输出送至对应的包含有限状态机的功能模块; (3)配置寄存器进行步骤(2)的影响域划分之后,进行冗余编码,M定义为冗余编码扩展位宽,M为大于2的整数,冗余编码将配置寄存器中的每一个bit位都扩展为M个bit位,即将加固前的配置寄存器的每一个bit中的O和I,编码为预先设置的两个不同的二进制M位编码,并且预先设置的这两个不同的二进制M位编码的每一个相同bit位都Ol互斥;冗余编码前的每一个bit位只包含O和I两个逻辑状态,而经过冗余编码后,除了代表逻辑O和逻辑I的两个预先设置的二进制M位编码以外还增加了 M个对应逻辑O的冗余编码和M个对应逻辑I的冗余编码,这些冗余编码只有当代表逻辑O和逻辑I的两个预先设置的二进制M位编码被单粒子打翻后出现,并且代表逻辑O和逻辑I的两个预先设置的二进制M位编码对应的冗余状态互不相同,即不会发生混淆;随后在配置寄存器的输出端增加判决和刷新逻辑,即当单粒子翻转造成寄存器的输出编码不是按照预先设置的M位编码,而是冗余编码时,将不是按照预先设置的M位编码刷新为对应逻辑O或这逻辑I的M位编码,即自动刷新为单粒子翻转前的编码,同时向主控CPU发出步骤(I)定义的I号中断信号,即通知主控CPU,配置寄存器发生了一次单粒子翻转; (4)在进行步骤(3)后,针对有限状态机进行两方面的加固:第一方面的加固是在有限状态机的未定义状态中,增加返回初始状态的状态跳转,使有限状态机的状态进入未定义状态时立即跳转为上电复位之后的状态;第二方面的加固是采用步骤(3)中的冗余编码,为有限状态机的每一个已定义状态增加热备份的冗余状态,每个已定义状态的冗余状态个数为采用步骤(3)的冗余编码前的bit位宽乘以M,这些增加热备份的冗余状态,即已定义状态在发生单粒子翻转后的状态,与对应的已定义状态的功能完全相同;当单粒子翻转造成有限状态机的已定义状态发生变化时,会使有限状态机跳转到热备份的冗余状态进行工作,保持有限状态机的正常工作,同时向主控CPU发出步骤(I)定义的2号中断信号,即通知主控CPU,有限状态机发生了一次单粒子翻转;随后有限状态机会自动从冗余状态跳转为冗余状态对应的已定义状态; (5)在待加固芯片的数据寄存器和/或存储器上设置数据范围箝位和数据变化量箝位;数据范围箝位即在数据寄存器和/或数据存储器的输出上增加判决和箝位逻辑,判断数据寄存器和/或存储器中存储的数据是否超过定义的数据范围,如果数据寄存器和/或存储器中存储的数据不在数据范围中,则对数据寄存器和/或存储器中存储的输出数据进行箝位;定义的数据范围包含上限和下限,下限大于O,上限小于2P-1,其中P为数据寄存器或数据存储器的位宽;如果数据寄存器和/或存储器中存储的数据大于数据范围的上限,则将寄存器和/或存储器的输出变为数据范围的上限;反之如果数据寄存器和/或存储器中存储的数据小于数据范围的下限,则将寄存器和/或存储器的输出变为数据范围的下限;如果数据寄存器和/或存储器中存储的数据在数据范围上下限之间,则不发生箝位,即直接输出数据寄存器和/或存储器中存储的数据; 数据变化量箝位即在数据寄存器和/或数据存储器的输出上增加判决和箝位逻辑,判断数据寄存器和/或存储器中存储的数据发生变化时,变化量是否超过定义的最大变化量,如果变化量超过定义的最大变化量,则对数据寄存器和/或存储器中存储的输出数据进行箝位;即定义的最大变化量包含上限,上限小于2P_1,其中P为数据寄存器或数据存储器的位宽;如果数据寄存器和/或存储器中存储的数据发生变化时,变化量大于定义的最大变化量上限,则将输出数据修改为变化前的数据加上最大变化量上限;反之如果数据寄存器和/或存储器中存储的数据发生变化时,变化量小于定义的最大变化量上限,则不发生箝位,即直接输出发生变化后的数据寄存器和/或存储器中存储的数据; 发生数据范围箝位或数据变化量箝位后,向外部主控CPU发出步骤(I)定义的3号中断,即通知外部主控CPU数据寄存器和/或存储器发生了 一次单粒子翻转。2.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(I)中外部主控CPU上增加的单粒子翻转中断源个数N为3,待加固芯片内部产生的三个单粒子翻转中断依次连接在外部主控CPU的三个中断源上,此时待加固芯片上每次发生单粒子翻转时就会产生对应类型的三种单粒子翻转中断,并且外部主控CPU通过中断源来区分待加固芯片发生单粒子翻转的逻辑部件是加固过的配置寄存器、有限状态机还是数据寄存器和/或存储器,并对各自逻辑部件的单粒子翻转次数进行计数。3.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(I)中外部主控CPU上增加的单粒子翻转中断源个数N为I,待加固芯片内部产生的三个单粒子翻转中断经过芯片内部的或逻辑后产生一个单独的中断连接在外部主控CPU的一个中断源上,此时待加固芯片上每次无论那个类型的逻辑部件发生单粒子翻转时都会产生同一个单粒子翻转中断,并且外部主控CPU无法通过中断源来区分待加固芯片发生单粒子翻转的逻辑部件是加固过的配置寄存器、有限状态机还是数据寄存器和/或存储器,并只能对待加固芯片内部发生的总体的单粒子翻转次数进行计数。4.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(I)中的中断信号采用沿触发方式,当该中断信号产生上升沿或下降沿时触发。5.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(I)中的中断信号采用电平触发方式,当该中断信号产生高电平或低电平时触发。6.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(2)中的配置寄存器影响域划分时,m = n,即为所有共享同一个配置寄存器的包含有限状态机的功能模块都提供一个独立的配置寄存器。7.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(2)中的配置寄存器影响域划分时,m〈n,即为并非为所有共享同一个配置寄存器的包含有限状态机的功能模块都提供独立的配置寄存器。8.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(3)中的M位编码为二进制M个I和二进制M个O,即将配置寄存器中的每一个bit位都扩展为M个bit位,M为大于2的整数,并按照二进制M个I和二进制M个O的编码代替加固前的一个bit中的二进制I和O的两个编码;随后在配置寄存器的输出端增加判决和刷新逻辑,即当单粒子翻转造成输出编码不是按照M个I或M个O编码时,将不是按照M个I或M个O的编码的每一编码位均刷新为编码中数量多的编码位,即编码中数量多的编码位为I,则将不是按照M个I或M个O的编码刷新为M个I,当编码中数量多的编码位为O,则将不是按照M个I或M个O的编码刷新为M个O,实现自动刷新为单粒子翻转前的编码,同时向主控CPU发出步骤(I)定义的I号中断信号,即通知主控CPU,配置寄存器发生了 一次单粒子翻转。9.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(3)中配置寄存器进行步骤(2)的影响域划分之后,进行冗余编码,即将配置寄存器中的每一个bit位都扩展为3个bit位,并按照二进制111和二进制OOO的编码代替加固前的一个bit中的二进制I和O的两个编码;随后在配置寄存器的输出端增加判决和刷新逻辑,即当单粒子翻转造成输出编码不是按照111和000编码时,当出现110或101或011时,刷新为111,当出现100或010或001时,刷新为000,实现自动刷新为单粒子翻转前的编码,同时向主控CPU发出步骤(I)定义的I号中断信号,即通知主控CPU,配置寄存器发生了一次单粒子翻转。10.根据权利要求1所述的一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,其特征在于:所述步骤(4)中有限状态机的冗余编码的拓展位宽优选为3,即为有限状态机的每一个已定义状态增加热备份的冗余状态,每个已定义状态的冗余状态个数为采用步骤(3)的冗余编码前的bit位宽乘以3,这些冗余状态,即已定义状态在发生单粒子翻转后的状态,与对应的已定义状态的功能完全相同;当单粒子翻转造成有限状态机的已定义状态发生变化时,会使有限状态机跳转到热备份的冗余状态进行工作,保持有限状态机的正常工作,同时向主控CPU发出步骤(I)定义的2号中断信号,即通知主控CPU,有限状态机发生了一次单粒子翻转;随后有限状态机会自动从冗余状态跳转为冗余状态对应的已定义状态。
【专利摘要】一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,通过对芯片的配置寄存器、有限状态机、数据寄存器和存储器采用冗余编码等逻辑设计手段,极大的提高芯片的抗单粒子翻转能力,并向系统主控CPU发出3种中断信号,使系统能够掌握芯片内部发生单粒子翻转的情况。本发明能够以较低的设计复杂度和设计时间代价,大幅度提高芯片在空间单粒子环境下的可靠性和适应性,降低芯片因单粒子翻转造成功能错误或功能中断的概率。
【IPC分类】G06F17/50
【公开号】CN105653771
【申请号】
【发明人】袁超, 喻贤坤, 王磊, 姜爽, 王莉, 彭斌
【申请人】北京时代民芯科技有限公司, 北京微电子技术研究所
【公开日】2016年6月8日
【申请日】2015年12月25日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1