微处理器内嵌SRAM多位异向单粒子翻转的测试方法及系统与流程

文档序号:14122248阅读:414来源:国知局
微处理器内嵌SRAM多位异向单粒子翻转的测试方法及系统与流程

本发明涉及单粒子效应试验技术领域,尤其涉及一种微处理器内嵌sram多位异向单粒子翻转的测试方法及系统。



背景技术:

随着工艺尺寸的缩小和集成度的提高,集成电路在空间辐射效应中的单粒子效应变得越来越明显。微处理器是航天器电子系统中的核心元器件,其中内嵌sram约占整个芯片面积的50%~60%,是对单粒子事件最敏感件之一。其中,单粒子翻转是最常见的单粒子效应之一,是考核电路抗单粒子能力的重要指标。

中国专利公开号cn105590652a,公开日是2016.05.18,名为“sram中子单粒子效应试验方法”中公开了一种单粒子效应试验方法,该发明采用将回读结果与写入值进行简单比较的方式统计发生的翻转数,其不足之处在于:一是未对回读结果进行翻转位数统计,降低了翻转统计准确度;二是未对发生翻转的数据进行回写(原始数据),存在翻转积累现象,增加统计误差;三是该方法不具备单粒子异向翻转测试能力,四是在试验过程中需要多次开启粒子加速器,操作过程复杂。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足之处,提供一种微处理器内嵌sram多位异向单粒子翻转的测试方法及系统,该方法通过执行回读值非与测试码、测试码非与回读值操作,并对发生翻转的数据地址增加复写操作,从而克服了多位翻转统计准确度低、粒子翻转积累的缺点,同时增加了“0”到“1”翻转数和“1”到“0”翻转数的统计功能,且整个试验过程无需重复启动粒子加速器,简化了试验过程。

本发明的技术解决方案是:

一种微处理器内嵌sram多位异向单粒子翻转的测试方法及系统,包括下列步骤:

(1)初始化微处理器内嵌sram的配置,设置第一翻转计数seu1_0、第二翻转计数seu0_1和翻转总计数seu_total,之后进行微处理器内嵌sram的辐照试验;

(2)向所述sram的全部地址写入测试码;

(3)回读所述sram首地址的数据,得到回读值;

(4)将所述回读值按位取反,然后和所述测试码进行按位与操作,得到第一中间值;

(5)将所述测试码按位取反,然后和所述回读值进行按位与操作,得到第二中间值;

(6)如果第一中间值和第二中间值均等于0,则执行步骤(7),否则,计算第一翻转计数seu1_0和第二翻转计数seu0_1的值,并向当前地址复写原始测试码;

(7)回读所述sram的下一个地址,重复步骤(4)~(6),直至遍历sram全部地址,计算翻转总计数seu_total的值,并输出第一翻转计数seu1_0、第二翻转计数seu0_1和翻转总计数seu_total的值;

(8)重复步骤(3)~(7),直至输出翻转总计数达到预设的翻转值或辐照总注量达到预设注量,进入步骤(9);

(9)最后一次输出的第一翻转计数seu1_0、第二翻转计数seu0_1和翻转总计数seu_total的值,分别表示“1”到“0”翻转数、“0”到“1”翻转数和粒子翻转总数,从而完成微处理器内嵌sram多位异向单粒子翻转的测试。

步骤(1)中所述第一翻转计数seu1_0、第二翻转计数seu0_1和翻转总计数seu_total均初始化为0。

所述步骤(2)中测试码为任意二进制数。

所述测试码优选采用55码或aa码。

计算第一翻转计数seu1_0和第二翻转计数seu0_1的值,具体为:

(5.1)分别求得第一中间值和第二中间值中“1”的个数count0、count1;

(5.2)累加count0得到的值即为第一翻转计数seu1_0的值;

(5.3)累加count1得到的值即为第二翻转计数seu0_1的值。

步骤(5.1)计算第一中间值和第二中间值中“1”的个数count0、count1,具体采用n=n&(n-1)算法,其中n为任意二进制数。

所述翻转总计数seu_total的值即为第一翻转计数seu1_0与第二翻转计数seu0_1之和。

在执行步骤(3)~(8)的过程中,还同时监测被测sram的电流,当电流超过闩锁阈值时对其限流,并提示发生单粒子闩锁。

微处理器内嵌sram多位异向单粒子翻转的测试系统,包括:辐照试验系统和数据处理系统;辐照试验系统用于对微处理器内嵌sram进行辐照试验,数据处理系统按照上述测试方法对微处理器内嵌sram多位异向单粒子翻转进行测试。

本发明与现有技术相比的有益效果是:

(1)对于发生单粒子翻转的地址增加了多位翻转统计功能,同时增加了复写过程,有效避免了多位翻转及翻转积累带来的统计误差,极大地提高了检测准确度。

(2)试验过程中增加了“1”到“0”翻转数、“0”到“1”翻转数统计功能,对使用非对称形式的单粒子加固存储单元的单粒子翻转效应检测具有重要的指导意义。

(3)整个试验过程无需重复启动粒子加速器,简化试验过程,降低了试验成本。

附图说明

图1是本发明微处理器内嵌sram多位异向单粒子翻转测试方法流程图;

图2是本发明微处理器内嵌sram多位异向单粒子翻转测试系统原理图。

具体实施方式

如图1所示,针对现有技术中单粒子翻转的测试技术难点,本发明提出了一种微处理器内嵌sram多位异向单粒子翻转的测试方法,包括下列步骤:

(1)初始化微处理器内嵌sram的配置,设置第一翻转计数seu1_0、第二翻转计数seu0_1和翻转总计数seu_total,之后进行微处理器内嵌sram的辐照试验;

第一翻转计数seu1_0、第二翻转计数seu0_1和翻转总计数seu_total相当于变量,均初始化为0。

(2)向所述sram的全部地址写入测试码;测试码为任意二进制数,优选采用55码或aa码。

(3)回读所述sram首地址的数据,得到回读值;

(4)将所述回读值按位取反,然后和所述测试码进行按位与操作,得到第一中间值;

(5)将所述测试码按位取反,然后和所述回读值进行按位与操作,得到第二中间值;

(6)如果第一中间值和第二中间值均等于0,则执行步骤(7),否则,计算第一翻转计数seu1_0和第二翻转计数seu0_1的值,并向当前地址复写原始测试码;

计算第一翻转计数seu1_0和第二翻转计数seu0_1的值,具体为:

(a)分别求得第一中间值和第二中间值中“1”的个数count0、count1;具体采用n=n&(n-1)算法,其中n为任意二进制数。

n=n&(n-1)算法c代码描述如下:

unsignedintfunc(unsignedintn)

{

unsignedintn=0;

for(n=0;n;n++)

n=n&(n-1);

returnn;

}

计算过程描述如下:

初始化计数n为0,循环执行n=n&(n-1),直至n等于0跳出循环,函数返回值n即为所求二进制数中“1”的个数。

(b)累加count0得到的值即为第一翻转计数seu1_0的值;

(c)累加count1得到的值即为第二翻转计数seu0_1的值。

(7)回读所述sram的下一个地址,重复步骤(4)~(6),直至遍历sram全部地址,计算翻转总计数seu_total的值(第一翻转计数seu1_0与第二翻转计数seu0_1之和,每次循环循环执行步骤4~6,都会生成新的seu1_0、seu0_1的值,步骤7这里计算seu_total=seu1_0+seu0_1,使用的是最新一次得到的seu1_0、seu0_1),并输出第一翻转计数seu1_0、第二翻转计数seu0_1和翻转总计数seu_total的值;

(8)重复步骤(3)~(7),直至输出翻转总数达到预设的翻转值或辐照总注量达到预设注量,进入步骤(9);

(9)最后一次输出的第一翻转计数seu1_0、第二翻转计数seu0_1和翻转总计数seu_total的值,分别表示“1”到“0”翻转数、“0”到“1”翻转数和粒子翻转总数,从而完成微处理器内嵌sram多位异向单粒子翻转的测试。

在执行步骤(3)~(8)的过程中,还同时监测被测sram的电流,当电流超过闩锁阈值时对其限流,并提示发生单粒子闩锁。

本发明还提出了一种微处理器内嵌sram多位异向单粒子翻转的测试系统,包括:辐照试验系统和数据处理系统;辐照试验系统用于对微处理器内嵌sram进行辐照试验,数据处理系统按照上述测试方法对微处理器内嵌sram多位异向单粒子翻转进行测试。具体实现如图2所示,辐照试验测试系统由上位机、下位机和辐照试验系统组成。辐照试验系统提供辐照试验的环境,测试程序通过上位机下载至下位机,并在下位机运行,测试结果通过串口传输至上位机输出显示。

实施例:

(1)初始化所述sram配置,32位位宽,大小为256kb,等待周期分别为1,分别初始化“1”到“0”翻转计数seu1_0、“0”到“1”翻转计数seu0_1、粒子翻转总数seu_total为0,开始微处理器内嵌sram辐照试验。

(2)向所述sram全部地址写入测试码0x55555555。

(3)回读所述sram首地址的数据,得到回读值。

(4)将回读值按位取反,然后和测试码0x55555555进行按位与操作,得到第一中间值。

(5)将测试码0x55555555按位取反,然后和回读值进行按位与操作,得到第二中间值。

(6)判断第一中间值和第二中间值是否均等于0,是,则执行步骤(7),否则,采用n=n&(n-1)算法(n为32位二进制数),分别求得第一中间值和第二中间值中“1”的个数count0、count1,分别累加count0、count1,得到“1”到“0”翻转数seu1_0、“0”到“1”翻转数seu0_1,并向当前地址复写原始测试码0x55555555。

(7)判断是否遍历所述sram全部地址空间,是,对seu1_0、seu0_1求和,得到粒子翻转总数seu_total,输出翻转计数seu1_0、seu0_1、seu_total;否则回读所述sram的下一个地址数据,重复步骤(4)、(5)、(6)。

(8)判断输出翻转总数是否达到预设的翻转值或辐照总注量是否达到预设注量,是,则停止辐照,结束试验;否则重复步骤(3)、(4)、(5)、(6)、(7)。

(9)最后一次输出的翻转计数seu1_0、seu0_1、seu_total则分别表示“1”到“0”翻转数、“0”到“1”翻转数和粒子翻转总数。

本发明技术方案对于发生单粒子翻转的地址增加了多位翻转统计功能,同时增加了复写过程,有效避免了多位翻转及翻转积累带来的统计误差,极大地提高了检测准确度,同时,适用本发明方法或者系统进行测试时,无需重复启动粒子加速器,简化试验过程,降低了试验成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1