一种现场可编程门阵列的抗辐射性能快速模拟方法转让专利

申请号 : CN200910198448.8

文献号 : CN102054056B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王伶俐周学功童家榕刘智斌胡光喜

申请人 : 复旦大学

摘要 :

本发明属于电子技术领域,具体涉及一种现场可编程门阵列的抗辐射性能快速模拟方法。该方法提出了一种与具体硬件结构无关、基于权重的错误注入模型,用于准确模拟基于SRAM的FPGA抗辐射性能;同时提出了基于JTAG边界扫描技术和动态局部重配置技术的错误注入模拟平台。结合二者的错误注入系统不但具有良好的通用性,而且能更准确更高效地进行模拟,同时成本更低。

权利要求 :

1.一种现场可编程门阵列的抗辐射性能快速模拟方法,其特征在于,采用错误注入系统,基于权重的错误注入模型,同时结合JTAG边界扫描技术和动态局部重配置技术的错误注入模拟平台,模拟FPGA的抗辐射性能;

所述的错误注入系统其组成如下:

(1)根据FPGA中可编程点具有不同的单粒子翻转敏感性,建立基于权重的错误注入模型,其中,所述的编程点对单粒子翻转的敏感程度,包括:查找表Look Up Table中的可编程点,Configurable Logic Block内部互连中的可编程点,Configurable Logic Block外部互连中的可编程点和Input Output Block中的可编程点,通过设定FPGA中各个可编程点对应的翻转权重,建立基于权重的错误注入模型WBFI(Weight Based Fault Injection)(2)通过结合JTAG边界扫描技术和FPGA的动态局部重配置技术,实现错误注入模拟平台,其中将待测器件,测试向量生成器及结果比较器集成在一块FPGA芯片中,同时通过动态局部重配置技术实现错误的快速注入;

所述的可编程点翻转权重通过下述方法设置:

(1)器件的单粒子翻转横截面(Device Cross Section,DCS)表示为式⑴中DCSsat指可编程点的DCS饱和值;LET0指可编程点发生单粒子翻转的LET阈值;

常数w和s与具体器件和具体工艺相关;其中,LET为入射粒子穿过某一确定材料时发生能量传递的量度;

(2)各个可编程点的翻转权重设置如下,

W(LET)=DCS(LET)·σ (2)式⑵中DCS(LET)由式⑴给出;翻转因子σ反映了物理版图以及负载电容的不对称性对可编程点发生翻转的影响,表示可编程点发生0→1翻转以及1→0翻转所分别对应的权重因子;

(3)由式⑵,可得第i个可编程点在WBFI模型下发生翻转的概率为

(4)同时,根据所有可编程点所具有的翻转概率构建对应于FPGA芯片的累计翻转概率映射表Mm*n,m*n表示FPGA芯片的可编程点阵列规模,其中,第i个可编程点所具有的累计翻转概率如下式:Psum,i(LET)=Psum,i-1(LET)+Pi(LET),0<i≤m*n,Psum,0=0.0 (4)(5)由式⑶和式⑷可知,最后一个可编程点具有的累计翻转概率为1.0,每次错误注入时,通过生成(0,1]的随机数a,并在已构建的映射表中查找满足Psum,i-1<a≤Psum,i对应的i值,就可确定第i个可编程点要发生翻转,对应每个随机数a∈(0,1],映射表中有且仅有一个i值满足条件;

所述的错误注入通过下述方法和步骤:

(1)用于JTAG的测试向量和电路的参考输出值均从Mentor公司的ModelSim工具对待测电路的仿真文件中获得;

(2)通过运用动态局部重配置技术,每次错误注入时不需要把完整的配置位流下载到FPGA中,只需在运行时改变给定可编程点的配置值,使得错误注入效率提高;

(3)通过运用JTAG边界扫描技术,每次错误注入完成后利用串联的边界扫描寄存器,将测试向量输入到待测器件作为激励,并且控制测试存取端口控制器的状态运转,最后从边界扫描寄存器中回读待测器件的实际输出值到PC机与参考输出值进行比较,从而确定发生翻转的可编程点是否对电路功能产生影响。

说明书 :

一种现场可编程门阵列的抗辐射性能快速模拟方法

技术领域

[0001] 本发明属于电子技术领域,具体涉及一种可编程器件的抗辐射性能快速模拟方法。

背景技术

[0002] 现场可编程门阵列(Field Programmable Gate Array,FPGA)由于其设计周期短,上市时间快,非重复工程费用(Non-Recursive Engineering,NRE)低的特点,加之具有动态可重配置的特性,因而在民用通信、消费类电子产品、汽车、医疗等领域中获得了广泛的应用。目前主流的通用FPGA采用SRAM(Static Random Access Memory)可编程单元实现,各个可编程单元的配置值决定了FPGA所实现电路的功能。然而,高能粒子如α粒子、中子等,都会使可编程单元的配置值由于单粒子翻转(Single Event Upset,SEU)而发生改变,从而可能导致电路发生单粒子功能中断(Single Event FunctionalInterruption,SEFI)。因此,随着半导体制造工艺进入纳米尺度,FPGA的可靠性和安全性将面临抗辐射的严峻挑战。
[0003] 为了评估FPGA的抗辐射性能,已有的研究工作提出了许多不同的模拟技术。文献[1]采用的辐射实验(Radiation Testing)模拟方法拥有较高的准确性,但是其具有高成本以及可能损坏待测器件(Device Under Test,DUT)的缺点。文献[2][3]采用错误注入的方法模拟单粒子翻转导致的可编程点配置值改变。利用错误注入模拟单粒子翻转的方法具有低成本,无害于待测器件,高可控性以及更利于分析等优点,被广泛应用于FPGA抗辐射性能方面的分析研究。文献[2]提出了“FLIPPER”错误注入系统。它采用Xilinx公司的FPGA芯片XQ2VR6000作为待测器件,并通过板载RAM存放测试时使用的测试向量以及正确的输出参考值。文献[3]提出了“SLAAC-1V”错误注入系统。它采用了3块Xilinx XCV100FPGA芯片:其中一块用作待测器件,另一块用于实现正确设计,第三块用于比较待测器件与正确设计的输出值是否一致。然而,上述错误注入系统均采用随机模型进行注入,并且硬件成本都较高。
[0004] 与本发明相关的参考文献有:
[0005] [1]M.Ceschia,M.Violante,M.Sonza Reorda et al.Identification and Classification ofSingle-Event Upsets in the Configuration Memory of SRAM-Based FPGAs[J].IEEE Trans.Nucl.Sci.,vol.50,pp.2088-2094,Dec.2003.
[0006] [2]M.Alderighi,F.Casini,S.D’Angelo et al.Evaluation of Single Event Upset MitigationSchemes for SRAM based FPGAs using the FLIPPER Fault Injection Platform[C].22nd IEEEInternational Symposium on Defect and Fault Tolerance in VLSI Systems,pp.105-113,Sep.26-28,2007,Rome,Italy.
[0007] [3]Eric Johnson,Michael Wirthlin and Michael Caffrey.Single-Event Upset Simulation on anFPGA[C].Engineering of Reconfigurable Systems and Algorithms(ERSA),Jun.24-27,2002,Las Vegas,Nevada,USA.
[0008] [4]Andrea Manuzzato,Simone Gerardin,Alessandro Paccagnella,Luca Sterpone and MassimoViolante,“Effectiveness of TMR-Based Techniques to Mitigate Alpha-Induced SEUAccumulation in Commercial SRAM-Based FPGAs”,IEEE Trans.Nucl.Sci.,vol.55,pp.1968-1973,Aug.2008.
[0009] [5]Configurable Computing Lab,Brigham Young University,“BYU-LANL Triple ModularRedundancy Usage Guide”,Version 0.4.1-1Dec.2008.发明内容
[0010] 本发明的目的在于提供一种可编程器件的抗辐射性能快速模拟方法。具体而言,本发明涉及一种现场可编程门阵列(FPGA,Field Programmable GateArray)的抗辐射性能快速模拟方法。本方法提出了一种与具体硬件结构无关、基于权重的错误注入模型,用于准确模拟基于SRAM(Static Random AccessMemory)的FPGA抗辐射性能;同时提出结合JTAG(Joint TestAction Group)边界扫描技术和动态局部重配置技术的错误注入模拟平台,二者组成的错误注入系统具有很好的通用性,不但能更准确地模拟FPGA的抗辐射性能,而且使得硬件成本更低,同时注入效率更高。
[0011] 本发明提供的现场可编程门阵列的抗辐射性能快速模拟方法,其特征在于其使用的错误注入系统组成如下:
[0012] (1)根据FPGA中可编程点具有不同的单粒子翻转敏感性,建立基于权重的错误注入模型。
[0013] 根据可编程点对单粒子翻转的敏感程度,可分为四类:查找表(Look UpTable,LUT)中的可编程点,CLB(Configurable Logic Block)内部互连中的可编程点,CLB外部互连中的可编程点以及IOB(Input Output Block)中的可编程点。并且,即使是同一种类的可编程点,由于物理版图和负载电容的不对称性,其发生0→1以及1→0翻转的敏感程度也是不同的。因此,通过设定FPGA中各个可编程点对应的翻转权重,建立基于权重的错误注入模型WBFI(Weight Based Fault Injection),从而准确模拟真实辐射实验的特性。
[0014] (2)通过结合JTAG边界扫描技术和FPGA的动态局部重配置技术,实现低成本,高效率的错误注入模拟平台。
[0015] 本发明提出的错误注入模拟平台将待测器件(Device Under Test,DUT),测试向量生成器(Test Pattern Generator,TPG),正确设计以及结果比较器有机地集成在一块FPGA芯片中,同时通过动态局部重配置技术实现错误的快速注入,除了能达到更低成本和系统结构更为统一外,也使得错误注入流程更加紧密和高效。
[0016] 本发明基于权重的错误注入模型中,
[0017] 通用的FPGA是由可编程逻辑单元块(Configurable Logic Block,CLB),输入输出单元(Input/Output Block,IOB)以及可编程互连资源组成的重复阵列,其中包含了大量用于实现电路功能的可编程点。根据可编程点对单粒子翻转的敏感程度,可分为四类[1]:查找表(Look Up Table,LUT)中的可编程点,CLB内部互连中的可编程点,CLB外部互连中的可编程点以及IOB中的可编程点,如图1所示。
[0018] 文献[1]通过辐射实验证明了FPGA中不同种类的可编程点具有不同的单粒子翻转敏感性。其中以查找表中的可编程点最为敏感,而IOB中的可编程点则表现出最低的敏感性。这是因为查找表中的可编程点不但会直接受到单粒子翻转的影响,还可能间接受到器件中其他资源的作用而发生翻转,例如对于用作分布式RAM的查找表,若控制其写使能的资源发生了单粒子翻转,同样会导致查找表的可编程点配置值改变;IOB中的可编程点则由于受到封装的影响而表现出最低的敏感性。文献[4]同样通过辐射实验证明了不同种类的可编程点具有不同的单粒子翻转敏感性,并且进一步指出了由于物理版图或者负载电容的不对称性,即使是同一种类的可编程点,其发生0→1翻转以及1→0翻转所对应的DCS值也是不同的。
[0019] 因此,采用随机模型的错误注入系统并不能反映真实辐射实验的上述特性。本发明通过设定FPGA中各个可编程点对应的翻转权重,从而建立基于权重的错误注入模型WBFI(Weight Based Fault Injection,WBFI),以准确模拟真实辐射实验的特性。
[0020] 器件的单粒子翻转横截面(Device Cross Section,DCS)常用来描述FPGA中可编程点对单粒子翻转的敏感程度,与入射粒子的线性能量传输值(LinearEnergy Transfer,LET)相关。其中DCS定义为可编程点发生单粒子翻转的数量与粒子流量密度(Particle Fluence)之间的比值。LET是入射粒子穿过某一确定材料时发生能量传递的量度。在描述2
电子器件受辐射影响发生单粒子翻转时,它的单位是MeV·cm/mg。并且,DCS与LET之间的关系曲线能够用威布尔方程(Weibull Formula)进行很好的拟合[1],表示如下:
[0021]
[0022] 式(1)中DCSsat指可编程点的DCS饱和值;LET0指可编程点发生单粒子翻转的LET阈值;常数w和s与具体器件和具体工艺相关。
[0023] 对于各个可编程点的翻转权重设置,本发明提出了具体的实现方法如下:
[0024] W(LET)=DCS(LET)·σ (2)
[0025] 式(2)中DCS(LET)由式(1)给出;翻转因子σ反映了物理版图以及负载电容的不对称性对可编程点发生翻转的影响,表示可编程点发生0→1翻转以及1→0翻转所分别对应的权重因子。由式(2),可知第i个可编程点在WBFI模型下发生翻转的概率如下式:
[0026]
[0027] 同时,根据所有可编程点所具有的翻转概率构建对应于FPGA芯片的累计翻转概率映射表Mm*n,其中m *n表示FPGA芯片的可编程点阵列规模。其中,第i个可编程点所具有的累计翻转概率如下式:
[0028] Psum,i(LET)=Psum,i-1(LET)+Pi(LET),0<i≤m*n,Psum,0=0.0 (4)[0029] 由式(3)和式(4)可知,最后一个可编程点具有的累计翻转概率为1.0,如图2所示。每次错误注入时,通过生成(0,1]的随机数a,并在已构建的映射表中查找满足Psum,i-1<a≤Psum,i对应的i值,就可确定第i个可编程点要发生翻转。显然,由于映射表是单调递增的,因此对应每个随机数a∈(0,1],映射表中有且仅有一个i值满足条件。
[0030] 本发明同时提出结合动态局部重配置技术和JTAG边界扫描技术的错误注入模拟平台。通过运用动态局部重配置技术,每次错误注入时并不需要把完整的配置位流下载到FPGA中,而只需在运行时改变给定可编程点的配置值,使得错误注入的效率大大提高。
[0031] 同时,通过运用JTAG边界扫描技术,实现测试向量的输入以及待测器件输出结果的回读,从而验证电路的功能。每次错误注入完成后,通过串联的边界扫描寄存器(Boundary Scan Register,BSR)将测试向量输入到待测器件作为激励,并且控制测试存取端口(Test Access Port,TAP)控制器的状态运转,最后从边界扫描寄存器中回读待测器件的实际输出值到PC机与参考输出值进行比较,从而确定发生翻转的可编程点是否对电路功能产生影响。用于JTAG的测试向量和电路的参考输出值均可从ModelSim对该电路的仿真文件中获得,这将大大降低了电路功能的验证难度。
[0032] 与文献[2]提出的“FLIPPER”和文献[3]提出的“SLAAC-1V”错误注入系统相比,本发明提出的错误注入模拟平台既不需要板载SRAM存放测试向量和正确参考值,也不需要额外的两块FPGA芯片用于实现正确设计和结果比较。取而代之,利用通用FPGA芯片内建的JTAG边界扫描技术配合软件程序同时完成了测试向量的输入和结果比较两项任务。因此,该架构将待测器件,测试向量生成器(Test Pattern Generator,TPG),正确设计以及结果比较器有机地集成在一块FPGA芯片中,除了能达到更低成本和系统结构更为统一外,也使得错误注入流程的衔接更加紧密。
[0033] 本发明提供了一种现场可编程门阵列的抗辐射性能模拟中快速高效的错误注入方法,其包括如下步骤:
[0034] (1)用于JTAG的测试向量和电路的参考输出值均从Mentor公司的ModelSim工具对待测电路的仿真文件中获得,
[0035] (2)通过运用动态局部重配置技术,每次错误注入时并不需要把完整的配置位流下载到FPGA中,而只需在运行时改变给定可编程点的配置值,使得错误注入的效率大大提高,
[0036] (3)通过运用JTAG边界扫描技术,每次错误注入完成后利用串联的边界扫描寄存器(Boundary Scan Register,BSR)将测试向量输入到待测器件作为激励,并且控制测试存取端口(Test Access Port,TAP)控制器的状态运转,最后从边界扫描寄存器中回读待测器件的实际输出值到PC机与参考输出值进行比较,从而确定发生翻转的可编程点是否对电路功能产生影响。

附图说明

[0037] 图1FPGA可编程点种类。
[0038] 图2累计翻转概率映射表。
[0039] 图3DCS比率与翻转比率的比较。
[0040] 图4错误注入系统测试电路板。
[0041] 图5FPGA抗辐射性能模拟实验频数分布图。

具体实施方式

[0042] 实施例1 真实辐射环境的模拟
[0043] 为了模拟不同粒子引起的单粒子翻转效应,实验时对WBFI模型分别设定不同的LET值以统计不同种类可编程点发生翻转的个数之比Sa/b(LET)。每次实验模拟10000个单粒子翻转引起的可编程点值改变,结果如图3所示。由图3可见,WBFI模型下不同种类可编程点之间的翻转个数比Sa/b(LET)能够很好地吻合真实辐射实验下不同种类可编程点之间的DCS比值曲线Qa/b(LET),证明了本发明模型能够准确地模拟真实辐射实验环境下的错误注入。
[0044] 实施例2 FPGA抗辐射性能模拟实验
[0045] 采用复旦大学研发的FDP系列FPGA芯片FPGA-2支持动态局部重配置和JTAG边界扫描技术,能方便地实现本发明提出的错误注入模拟平台。因此,本发明利用FPGA-2搭建基于WBFI模型的错误注入系统,测试电路板如图4所示。
[0046] 本发明使用经过三模冗余(Triple Module Redundancy,TMR)后的基于修正布斯(Booth)编码以及华莱士树(Wallace Tree)结构的18位非流水线乘法器作为测试电路。三模冗余后的测试电路在FPGA-2下的查找表利用率为91%,可编程逻辑单元利用率为99%,IOB利用率为50%。其中使用了杨百翰大学(Brigham Young University,BYU)提供的开源工具BL-TMR[5]对电路进行三模冗余。
[0047] 为了评估WBFI模型达到的效果,本发明实验中同时采用随机注入模型作对比。测试电路在WBFI模型下以及随机注入模型下分别进行了200次和155次单粒子翻转模拟实验,分别注入了55963个和56198个错误。并且,软件程序统计了每次发生单粒子功能中断时合共注入的错误数量频数分布,如图5所示。图5还画出了对应两种错误注入模型的累计频率分布曲线以及WBFI模型相对随机注入模型的频数差值曲线(Δf=fWBFI-f随机)。
[0048] 在注入错误数量相同的情况下,WBFI模型所检测到的单粒子功能中断次数比随机模型多29%。由图5,根据频数差值曲线可知发生单粒子功能中断时合共注入的错误数量在500以下的次数WBFI模型较随机模型多(Δf>0);在500以上的次数WBFI模型较随机模型少(Δf<0)。并且从累计频率分布曲线可知在注入错误数量较少时就检测到单粒子功能中断的概率WBFI模型明显比随机模型大。
[0049] 由于随机模型下FPGA中各个可编程点的翻转概率是相同的,因此错误注入时不同种类的可编程点发生翻转的数量将正比于该种类可编程点在FPGA中的总量。而WBFI模型考虑了在给定LET值下不同种类的可编程点具有不同的翻转概率,使得查找表和IOB中的可编程点发生翻转的数量明显比随机模型下多。对于经过三模冗余后的设计,这将导致两种模型检测到的单粒子功能中断次数存在较大差异。这是因为当单粒子翻转发生在查找表中,特别是发生在用作表决器(Voter)的查找表中时,电路功能将容易出现错误;并且对由于IOB紧张而没有对IOB使用三模冗余的设计,单粒子翻转发生在IOB中也将更容易导致单粒子功能中断。随机模型由于没有权重的设置往往导致查找表和IOB中的可编程点翻转较少,使得测出的FPGA抗辐射性能较真实辐射实验乐观,存在一定程度的误差。而WBFI模型正好解决了这一问题,使得错误注入模拟更贴近真实辐射实验,对FPGA抗辐射性能的评估也将更准确。