发明内容
有鉴于此,本发明提供了一种三模冗余防护结构FPGA单粒子翻转失效概率的评估方法,能够对三模冗余防护结构的FPGA抗单粒子翻转失效的性能进行评估。
为了解决上述技术问题,本发明是这样实现的:
一种三模冗余防护结构FPGA单粒子翻转失效概率的评估方法,包括如下步骤:
步骤1、选定FPGA器件的类型以及该FPGA器件所要工作的空间环境,包括轨道参数和空间环境参数;
步骤2、根据轨道参数和空间环境参数,计算在程序烧录之前所述FPGA器件的轨道本征粒子翻转率μ;
步骤3、根据步骤2得到的轨道本征粒子翻转率,得到每一个刷新周期ts内,FPGA器件中有i位单粒子翻转发生概率P(Ai);其中,i=1,2,...,n,n表示所述FPGA器件在一个刷新周期能发生单粒子翻转的最大位数;
步骤4、计算未采用三模冗余防护的FPGA器件的在轨失效概率P(E):其中P<E|Ai>表示经过程序烧录后的所述FPGA器件发生i位单粒子翻转的概率;
步骤5、对所述FPGA器件进行三模冗余防护模式划分:
根据FPGA器件中划分的功能模块个数M,将FPGA器件中的资源分成M组,各组中资源包含的比特位数与对应的功能模块占用的比特位数一致;将每个组分为3个包含相同比特位数的单元;
步骤6、得到采用三模冗余防护的FPGA器件的失效概率:
将步骤4得到的未采用三模冗余防护的FPGA器件的在轨失效概率P(E)作为每个单元发生错误的失效概率;针对所述步骤5划分的每个组,各组的失效概率等于其中的3个单元中至少有两个单元同时发生错误的失效概率;则FPGA器件的失效概率为各组失效概率之和。
所述步骤3中计算i位单粒子翻转发生概率P(Ai)的具体方法为:先根据轨道本征翻转率μ,计算每一个刷新周期ts内的单粒子翻转数ν:
ν=μ×ts;
然后采用泊松分布计算出现i次翻转的概率P(Ai):
3、如权利要求1所述的一种三模冗余防护结构FPGA单粒子翻转失效概率的评估方法,其特征在于,所述步骤6中,计算各组的失效概率的方法为:
针对第m个组,其失效概率为P(Em):
P(Em)=P(Em,1∩Em,2)+P(Em,1∩Em,3)+P(Em,2∩Em,3)-2P(Em,1∩Em,2∩Em,3)
其中,m=1,2,...,M;∩表示求交集;P(Em,1)、P(Em,2)和P(Em,3)分别表示第m个组中第一个单元、第二个单元和第三个单元的失效概率,且三者均等于所述步骤4得到的未采用三模冗余防护的FPGA器件的在轨失效概率P(E)。
所述步骤6中,FPGA器件的失效概率P(E总)为:
本发明具有如下有益效果:
本发明根据FPGA器件中划分的功能模块,将待评估的FPGA器件划分成多组,每个组包括三个具有相同比特位数的单元,由此模拟三模冗余防护结构,分别计算器件的单粒子本征翻转率和无防护时的失效率,最后得到带有三模冗余防护结构的失效概率,为抗单粒子效应的评估提供一套实用的理论方法,同时得到的失效概率能够真实反映三模冗余防护结果抗单粒子翻转性能。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明涉及一种FPGA单粒子翻转失效概率的评估方法,该模型能够有效的分析处于不同辐射环境参数(包括轨道参数和空间环境模型参数)条件下的SRAM-FPGA的单粒子翻转率、电路在轨的失效概率的估算。
本发明的解决方案包括以下步骤:
步骤1、选定辐射环境参数和器件的类型:
根据轨道参数(轨道高度,轨道倾角等参数),并结合空间环境模型(例如CREME 96)。器件类型的选择适用于SRAM类型的FPGA,例如选定Xilinx Virtex系列器件,根据具体的FPGA配置情况,获得该FPGA器件使用资源的位数,位数的单位为bit。
步骤2、轨道本征单粒子翻转率的计算:
首先通过地面重离子加速器试验或者国外文献获得器件静态翻转截面(σ)和线性能量传输(LET)的关系。器件静态翻转截面是指没有时钟信号时,器件本身所具有的单粒子翻转截面,与器件加载的电路无关。
以配置好的Xilinx Virtex XC2V3000 FPGA为例,将XC2V3000放入到真空靶室中采用注量率为f(p/(cm2〃s))的重离子(分别采用三种重离子12C、Si、和Br)进行辐照,经过一段时间t后,对XC2V3000的配置位回读,并与辐照前的配置位进行比较,就可以得到配置位的翻转位数n。XC2V3000器件的总配置位数N,由此可以得到XC2V3000器件的静态翻转截面为:
其中
n:配置位的翻转位数n;
f:重离子注量率,单位为p/(cm2〃s);
t:测试时间,单位为s;
N:XC2V3000总配置位数N。
上述采用的三种重离子通过TRIM软件计算在硅衬底中的LET值,然后把静态翻转截面和LET值一一对应起来,获得器件静态翻转截面和线性能量传输(σ-LET)曲线。
利用器件静态翻转截面和线性能量传输(σ-LET)曲线数据,采用Weibull分布方法进行拟合,获得拟合参数。
σ(LET)=σsat(1-exp{-[(LET-Lth)/W]S})
其中,σsat为饱和截面;Lth为LET阈值参数;W为宽度参数;S为无量纲指数。在获得FPGA受单粒子翻转响应的Weibull拟合参数(4个参数:σsat、Lth、W和S)的基础上,根据步骤(1)选定的轨道参数(例如同步轨道GEO、中轨轨道MEO),结合空间环境模型(CREME 96模型最恶劣7天、CREME 96模型最恶劣1天、1989年太阳事件最恶劣5分钟)计算SRAM-FPGA器件的轨道本征翻转率。以Xilinx Virtex XC2V3000 FPGA为例,计算在不同辐射环境条件下的轨道本征翻转率如表1所示。
表1不同轨道、不同空间环境条件下的轨道本征翻转率
步骤3、计算一位、多位单粒子翻转发生的概率;
根据轨道本征翻转率μ,计算每一个刷新周期ts内的单粒子翻转数ν:
ν=μ×ts
再采用泊松分布计算出现不同翻转次数单粒子翻转的概率P(Ai):
以Xilinx Virtex系列的某一FPGA为例,计算的结果如图2所示。图2为一个周期内不同翻转次数单粒子翻转发生的概率P(Ai);
步骤4、计算未采用防护设计的FPGA在轨失效概率;
本发明采用的是理论评估方法进行失效概率估算。在已知轨道本征翻转率μ的基础上,得到一个FPGA电路单元发生失效的概率为:
其中,n数值与该器件同时发生单粒子翻转最大位数,通常小于9位;P<E|Ai>是与具体电路结构有关的量,表示具体电路设计发生i位单粒子翻转的概率,通过重离子试验或者故障注入试验获得。
步骤5、对所述器件进行三模冗余防护模式进行划分:
为模拟FPGA器件的三模冗余防护模型,根据器件中划分的功能模块个数M,将器件中的资源分成M组,各组中的比特位数与对应的功能模块占用的比特位数一致;将每个组分为3个包含相同比特位数的单元;
图3是TMR防护的器件结构划分示意图,把TMR防护的电路结构进行划分成M组,每组的比特位数量可以相同,也可以不同。
步骤6、结合步骤4和步骤5计算采用三模冗余(TMR)防护的FPGA在轨失效概率:
假定在一个刷新周期内,单粒子造成一个位翻转能够发生在任何地方,一旦发生了,TMR可以修正这一错误。而在一个刷新周期内如果发生两个或两个以上位翻转,那么TMR就无效了,这时电路单元失效,直到下一个刷新周期才能恢复。当两个以上的单元发生错误,对应的组即发生错误,而整个器件也就产生一定的发生错误的概率。防护措施采用的是TMR与定时刷新相结合的方法。根据上面得到的数据:轨道本征翻转率μ和未采用防护设计的SRAM-FPGA在轨失效概率。考虑在一个刷新周期内存在多位翻转的情况下,建立理论模型估算采用TMR防护设计的SRAM-FPGA在轨失效的概率。
首先定义器件中每一个位的错误状态,Fm,k(m=1,...,M并且k=1,2,3)表示的是一个单元错误,即表示在单元(m,k)(我们记作block(m,k))中发生一个或者多个错误。Fm定义为第m组发生的组错误,表示的是block(m,1)、block(m,2)和block(m,3)中至少有两个单元同时发生了错误。F为总的系统发生失效概率,物理模型可表示为:
组错误:
系统失效:
具体计算方法:
(a)一个单元错误发生概率的计算过程:
计算单元错误概率时,单元中包括的Nm个位各不相同,一个单元错误等同于未采取防护措施的电路错误,由于没采用防护设计,所以发生了错误就会造成电路失效,因此,一个单元的失效概率即等于步骤4中得到的未采用三模冗余防护的器件的在轨失效概率P(E)。
(b)一个组错误发生概率的计算过程:
以Group(m)为例,组错误概率P(Em)计算比较复杂,且不受统计约束,这一点不同于上面计算的单元错误概率。这是因为错误发生在两个不同的单元不存在统计因果性,组错误发生的概率可以表示为:
P(Em)=P(Em,1∩Em,2)+P(Em,1∩Em,3)+P(Em,2∩Em,3)-2P(Em,1∩Em,2∩Em,3)
设定:
P(Em,1)=P(Em,2)=P(Em,3)
最后通过简单的计算,得到组错误的概率为:
P(Em)=3P2(Em,1)-2P3(Em,1)
m=1,2,...,M,M分组的情况要结合FPGA系统具体的设计划分每个组占用的物理资源,也就是bit位数,然后分别计算组错位发生的概率,共M个。
(c)一个系统错误发生概率的计算过程:
系统错误发生的概率等于系统失效的概率,根据上面计算得到的单元错误概率和组错误概率,最后得到FPGA系统失效概率。
本发明建立了一种FPGA系统单粒子翻转失效概率的估算方法,能够基于不同辐射环境条件下,实现具体应用的SRAM-FPGA系统单粒子翻转率、FPGA系统在轨失效概率的估算。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。