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

文档序号:9887869阅读:来源:国知局
1时,刷新为111,当出现100或010或001时,刷新为000,实现自动刷新为单粒子翻转前的编码,同时向主控CPU发出步骤(I)定义的I号中断信号,即通知主控CPU,配置寄存器发生了一次单粒子翻转。
[0024]所述步骤(4)中有限状态机的冗余编码的拓展位宽优选为3,即为有限状态机的每一个已定义状态增加热备份的冗余状态,每个已定义状态的冗余状态个数为采用步骤(3)的冗余编码前的bit位宽乘以3,这些冗余状态,即已定义状态在发生单粒子翻转后的状态,与对应的已定义状态的功能完全相同;当单粒子翻转造成有限状态机的已定义状态发生变化时,会使有限状态机跳转到热备份的冗余状态进行工作,保持有限状态机的正常工作,同时向主控CPU发出步骤(I)定义的2号中断信号,即通知主控CPU,有限状态机发生了一次单粒子翻转;随后有限状态机会自动从冗余状态跳转为冗余状态对应的已定义状态;
[0025]所述步骤(5)中数据范围箝位的数据范围上限优选为大于2^-1。
[0026]本发明与现有技术相比的有益效果是:
[0027]相比与工艺单元设计加固的方法,本发明的逻辑设计方法与工艺无关,因此每当新的非加固工艺出现时,无需通过较长的设计周期来进行工艺单元设计加固,可以尽快利用新工艺特征线宽小,功能密度高的优势;而相比传统的三模冗余设计方法,本发明具备以下几项优势,一是通过配置寄存器和有限状态机的冗余编码实现了比三模冗余方法更高的系统级容错性,在外部主控CHJ配置字被单粒子打翻的情况下仍然能保持正常工作;二是采用配置寄存器的影响域划分实现了三模冗余无法实现的芯片模块级的可靠性提升;三是数据寄存器和存储器都能够被数据箝位保护到;四是通过单粒子翻转中断的加入,使得外部主控CPU可以随时监控芯片的单粒子翻转情况并计数;五是灵活性极高,当工艺平台抗单粒子翻转性能较低时,可以选用较高的冗余编码拓展位宽,实现高可靠性,而当工艺平台抗单粒子翻转性能较高时,可以针对关键逻辑部件选用较高的冗余编码拓展位宽,对非关键逻辑部件选择较低的冗余编码拓展位宽或放弃加固;这五点优势都是传统的三模冗余方法所不具备的。
[0028]详细来说,本发明与现有提升芯片抗单粒子翻转能力的技术相比,有益效果体现在:
[0029](I)全部逻辑设计方法均在逻辑设计层面实现,体现在两方面:一方面与工艺无关,因此无需忍受工艺加固设计较长的周期,只要新工艺出现就立即可以开始基于新工艺更高功能密度的平台开展芯片研制,极大的缩短了研制周期;另一方面与特定的硬件描述语言和工具无关,逻辑设计基于Veri log、VHDL、SystemVeri log甚至是网表形式,都不会影响本专利的实施,具备更高的适用性;
[0030](2)步骤(2)中所述的配置寄存器的影响域划分,在芯片级层面缩小了单个冗余配置寄存器的影响域,即冗余的多个配置寄存器中的某一个即使被单粒子打翻,也不会造成芯片级的功能错误甚至是功能中断,与步骤(3)中的配置寄存器的冗余编码相结合,可以实现比三模冗余这种寄存器层面的冗余更高的芯片级抗单粒子翻转性能提升。三模冗余的方法中一旦配置寄存器被打翻,则整个配置寄存器的影响域包含的模块则全部受到影响进入错误的工作状态,甚至导致芯片的功能中断;
[0031](3)步骤(3)中所述的配置寄存器的冗余编码,相比于三模冗余的方法,其冗余特性是基于编码层面而不是基于寄存器层面,因此实现了整个系统从外部主控CPU到芯片内部的抗单粒子翻转能力的全面提升,当单粒子翻转造成外部主控CHJ的配置字被打翻时,冗余编码仍然能够保证芯片的正常工作不受影响;而这种特性是三模冗余无法做到的。而且,可以根据系统设计要求自省选取冗余编码的扩展位宽,实现4冗余、5冗余等更高层次的容错性;
[0032](4)步骤(4)中所述的有限状态机的加固具备了三模冗余无法实现的两个有益效果,一个是有限状态机即使被单粒子打翻进入未定义状态时也不会锁死,能够自行跳转到复位后的初始状态;另一个是可以灵活的通过选取冗余编码的扩展位宽,实现4冗余有限状态机、5几余有限状态机等更尚层次的容错性;
[0033](5)步骤(5)中所述的数据寄存器、存储器的数据范围箝位和数据变化量箝位,完全不同于三模冗余的设计方法,能够采用算法上的箝位来避免错误的数据输出造成系统的错误甚至失效;而采用三模冗余的方法一旦被单粒子打翻造成数据溢出,可能对系统带来灾难性的后果。
[0034]综上所述,通过本专利的逻辑设计方法,能够以相比于工艺设计加固更快捷、更高效,相比于三模冗余更可靠、更灵活的方式,实现芯片的抗单粒子翻转能力的提升。
【附图说明】
[0035]图1是芯片内部逻辑设计示意图和系统构成图;
[0036]图2是本发明通过逻辑设计提高芯片抗单粒子翻转能力的实施流程图;
[0037]图3是本发明通过逻辑设计提高芯片抗单粒子翻转能力的逻辑设计示意图
[0038]图4是本发明的配置寄存器的影响域划分方法对比示意图;其中图4(a)是芯片进行影响域划分前的状态;图4(b)是芯片进行影响域划分后的状态;
[0039]图5是本发明的配置寄存器冗余编码方式对比示意图;其中图5(a)是进行冗余编码前的逻辑状态及受到单粒子翻转影响时的情况,图5(b)是进行冗余编码后的逻辑状态、冗余状态及受到单粒子翻转影响时的情况;
[0040]图6是本发明的配置寄存器冗余编码硬件自动刷新流程示意图;其中图6(a)是增加硬件自动刷新前的配置寄存器工作流程图;图6(b)是增加硬件自动刷新后的配置寄存器工作流程图;
[0041]图7是本发明的配置寄存器冗余编码方式与三模冗余方式对比图;其中图7(a)是三模冗余方式在外部主控CPU发生单粒子翻转时的情况;图7(b)是冗余编码方式在外部主控CPU发生单粒子翻转时的情况;
[0042]图8是对包含未定义状态的有限状态机进行处理的方法;其中图8(a)是处理前的有限状态机状态图;图8(b)是处理后的有限状态机状态图;
[0043]图9是米用冗余编码加固的有限状态机状态图;
[0044]图10是采用数据范围箝位方式对数据寄存器进行处理;
[0045]图11是采用数据变化量箝位方式对数据寄存器进行处理;
【具体实施方式】
[0046]本发明的基本思路为:一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,通过对芯片的配置寄存器、有限状态机、数据寄存器和存储器采用冗余编码等逻辑设计手段,极大的提高芯片的抗单粒子翻转能力,并向系统主控CPU发出3种中断信号,使系统能够掌握芯片内部发生单粒子翻转的情况。本发明能够以较低的设计复杂度和设计时间代价,大幅度提高芯片在空间单粒子环境下的可靠性和适应性,降低芯片因单粒子翻转造成功能错误或功能中断的概率。
[0047]本发明是一种通过逻辑设计提高芯片抗单粒子翻转能力的方法,方法实现的流程是基于航天应用对抗单粒子翻转能力有较高需求的集成电路芯片,图1是本发明描述的芯片内部逻辑设计示意图和系统构成图,针对芯片的不同逻辑部件采用不同的逻辑设计方法,芯片的逻辑部件包括:配置寄存器、有限状态机、数据寄存器和/或存储器;系统构成中芯片外围的设备包括外部主控(PU和外部设备。
[0048]其中配置寄存器由触发器单元实现,负责接收外部主控CPU中的配置字寄存器产生并传输给芯片的配置字,并储存在配置寄存器的触发器中;配置字用于主控CHJ对芯片工作模式的控制,映射在外部主控CHJ的地址空间中的特定地址;配置寄存器的位宽是由外部主控CPU的总线位宽决定,小于等于外部主控CPU的总线位宽;外部主控CPU是32位总线位宽时,配置寄存器的位宽最高为32位。配置寄存器的不同配置会引起芯片的工作模式不同,而芯片内部能够被配置寄存器中存储的不同配置字影响到工作模式的范围称之为配置寄存器的影响域。配置寄存器的影响域越大,说明配置寄存器越关键,芯片内部会有越大比例的逻辑会受到配置寄存器的影响。
[0049]例如当芯片是一个图像信号处理芯片并且配置寄存器位宽为2时,配置寄存器中存储的配置字可能是二进制00、01、10、11中的任意一个,二进制00对应图像曝光时间为1μs,二进制OI表示2ys,二进制10表示3ys,二进制11表示4ys,外部主控CPU用配置字来控制图像信号处理芯片工作的曝光时间;当发生芯片的配置寄存器发生单粒子翻转,使得当前存储的配置字00翻转为配置字01时,会使芯片的曝光时间从Iys意外的变为2ys,从而使得整个芯片工作在错误的工作模式下,引起图像过度曝光,这甚至可能造成整个系统失效。
[0050]再例如当芯片是一个马达电机驱动芯片并且配置寄存器位宽为2时,配置寄存器中存储的配置字可能是二进制00、01、10、11中的任意一个,二进制00对应马达驱动方波输出的频率为IMHz,二进制01表示2MHz,二进制10表示3MHz,二进制11表示4MHz,外部主控CPU用配置字来控制马达驱动方波的输出频率从而控制马达的转速;当发生芯片的配置寄存器发生单粒子翻转,使得当前存储的配置字00翻转为配置字01时,会使芯片的马达驱动方波输出频率从IMHz提升到2MHz,会改变马达的转速,这甚至可能造成整个系统失效甚至更严重的后果。
[0051]从上述的两个例子来看,配置寄存器的抗单粒子翻转能力在单粒子环境下是非常重要的。
[0052]有限状态机也是由触发器单元实现,包含若干影响芯片工作模式的工作状态,每一个工作状态都会使芯片完成不同的功能,有限状态机根据配置寄存器中的配置字,形成不同的状态跳转方式,进而影响整个芯片的工作流程;部分状态中没有设置任何的工作模式,这类状态称之为未定义状态,否则称之为工作状态。仍然以图像信号处理芯片为例,内部包含一个有限状态机,该有限状态机用2位二进制编码产生了 4个状态,其中包含三个工作状态,00、01和10分别代表了图像缓存、图像处理和图像传输,因为11未明确定义,没有设置任何的工作模式,因此11属于未定义状态。根据芯片的配置字,该状态机存在两种跳转方式,跳转方式I是图像处理跳转,即跳转顺序为图像缓存、图像处理、图像传输;跳转方式2是图像旁路跳转,跳转顺序为图像缓存、图像传输;第二种状态跳转方式与第一种不同,图像不经处理直接传输给主控CPU。
[0053]当单粒子翻转影响该有限状态机时可能造成两种后果。一种是当状态机处于跳转方式I时,有限状态机的状态从00状态被单粒子直接打翻到10状态,相当于本应工作在图像处理跳转的状态机却未对图像进行处理,发生工作状态的错误;另一种是当有限状态机处于任何一种跳转方式的10状态时,被单粒子打翻为11状态,即未定义状态,造成状态机锁死,芯片直接无法继续工作,直到系统被断电重启或复位。可见单粒子翻转对有限状态机的影响也会直接关系到芯片是否能正常工作。
[0054]数据寄存器和数据存储器都在芯片中负责数据的存储,前者由寄存器单元实现,而后者由SRAM等片上存储器实现。例如在图像信号处理芯片中,数据寄存器和/或存储器负责存储外部设备发送来的实时图像采集原始
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1