一种抗单粒子翻转的fft加固设计方法
【专利摘要】本发明一种抗单粒子翻转的FFT加固设计方法,包括以下步骤:分析FFT算法及电路结构,对电路中旋转因子存储所需的ROM采用RAM结构进行实现,对RAM的数据和地址进行反馈式的三模冗余加固;对电路中的存储最终结果并实现倒位序的RAM进行加固,将RAM数据和地址分别加固,对地址寄存器和数据分别采用反馈式的三模冗余和三模冗余进行加固;对ROM中查找旋转因子的关键寄存器进行反馈式三模冗余加固。本发明提高了FFT电路在空间环境中的可靠性,增加了FFT电路在抗单粒子翻转方面的能力,在加固设计方面具有一定的灵活性,为设备提供抗单粒子能力更强的FFT电路设计,可迅速应用到星载处理设备的研制中。
【专利说明】一种抗单粒子翻转的FFT加固设计方法
【技术领域】
[0001]本发明涉及一种抗单粒子翻转的FFT加固设计方法,属于抗单粒子效应加固【技术领域】。
【背景技术】
[0002]快速傅里叶变换(FFT,Fast Fourier Transform)在通信系统数字信号分析和处理方面是一种非常重要的变换。广泛的应用在空间通信领域。目前FFT算法结构基本上包括基2FFT、基4FFT、分裂基FFT、混合基FFT以及以Winograd算法为代表的一类算法(素因子算法、Winograd算法)。其中,基2FFT、基4FFT算法、分裂基FFT和混合基FFT是针对N等于2的整数次幂的算法;素因子算法、Winograd算法是针对N不等于2的整数次幂的算法。两大类算法针对具体的应用情况,各有利弊,这些算法虽然实现方法不同,但对单粒子敏感的基本结构是一样的(不同算法的单粒子敏感结构有共性),即FFT电路结构中的ROM、RAM以及地址产生模块的计数器为敏感结构,需要进行单独的抗单粒子加固。目前的加固方法主要是对整个算法过程采取三模冗余和刷新来减轻电路的单粒子翻转效应影响,而对整个算法过程采用三模冗余和刷新的技术手段对系统的资源配置要求很高,资源浪费非常严重,使得整个实现系统过于复杂,不利于系统在空间的应用,同时目前的方法多是集中在三模冗余只是判断后进行输出,而对于错误的一路输出并没有及时更新和纠正,造成了空间资源的利用率较低,现在急需一种能够在空间快捷的实现FFT算法的同时又能完成FFT加固的技术,目前检索的文献看未见有专门针对FFT电路结构中敏感部件的加固方法,
【发明内容】
[0003]本发明的技术解决问题:克服现有技术的不足,提供了一种抗单粒子翻转的FFT加固设计方法,通过对FFT电路结构的分析,将电路中的关键存储器和关键寄存器进行反馈式的三模冗余设计,提高了 FFT电路的抗单粒子翻转能力,增加了 FFT电路在空间环境中的可靠性。
[0004]本发明技术解决方案:
[0005]—种抗单粒子翻转的FFT加固设计方法,实现方式如下:
[0006](I)分析FFT算法结构,找出了这些FFT电路结构中共同的单粒子敏感部件,SPFFT电路实现时存储旋转因子的ROM、存储最终数据并实现倒位序的RAM以及查找旋转因子的关键寄存器;所述的关键寄存器受单粒子效应影响后,会出现错并对后续计算造成影响的寄存器;
[0007](2)对存储旋转因子的ROM进行加固设计,将ROM采用RAM的结构实现,对于地址寄存器和数据存储区分别采用反馈式的三模冗余加固设计,其中对于地址寄存器,当三路数据中有一路出错后,通过判断纠错模块将出错的一路数据进行纠正处理,保证地址寄存器的正确性;当监测到一路数据出错后,将另两路正确的数据重新写入出错的RAM中用于保证数据的正确性;[0008](3)对存储最终数据并进行倒位序的RAM进行加固设计,对地址寄存器采用反馈式的三模冗余加固设计,其中当三路数据中有一路出错后,通过判断纠错模块将出错的一路数据进行纠正处理用于保证读写地址的正确性;对于存储区的数据进行三模冗余加固设计;
[0009](4)对各级蝶算中用到的关键寄存器进行反馈方式的三模冗余加固设计,将三模冗余的结果进行一个三选二判断并得到最终的判断结果,三选二判断结果在输出给下级逻辑的同时,通过反馈回路将三选二的判断结果置于本级逻辑三模冗余的输入端,即通过反馈回路对三模冗余逻辑进行实时更新。
[0010]本发明与现有技术相比具有如下优点:
[0011](I)本发明通过对基2FFT、基4FFT以及分裂基FFT算法实现结构的具体分析,看出虽然不同的FFT算法在算法层面略有不同,但是基本的运算结构是一样的,每级蝶算都是序列与旋转因子的乘加运算,在代码级实现时需要用到ROM来存储FFT运算中每一级运算的旋转因子,在FFT计算完毕后也需要用到RAM来存储计算结果并实现倒位序操作,通过在算法层面和电路层面对这些不同FFT实现结构的具体分析,找到了存储旋转因子的ROM、存储最终数据并实现倒位序的RAM以及查找旋转因子的关键寄存器是FFT算法实现的单粒子敏感结构,这些结构如果发生翻转会直接影响计算结果的正确性,本发明只是对空间FFT算法实现的关键部件进行加固技术,节省了空间资源和成本,提高了利用率和效果。
[0012](2)本发明相对于传统的FFT力_设计,采用对FFT电路中的关键存储区和关键寄存器进行反馈式的三模冗余加固设计,提高了 FFT电路的抗单粒子翻转能力,增加了 FFT电路在空间环境中的可靠性,同时反馈式的设计能够保证正确地对指定位置的存储区域进行实时更新,保证数据利用的可靠性和准确性。
[0013](3)本发明相对于传统加固方式,能够在资源有限的情况下(不能采用全三模冗余、部分三模冗余或者刷新技术),通过对FFT电路中的关键寄存器和存储器进行加固设计,提高了设计在抗单粒子翻转加固方面的灵活性,节省了成本,提高了效率,通用性较强。
【专利附图】
【附图说明】
[0014]图1是本发明加固设计结构示意图;
[0015]图2是本发明ROM存储区加固设计示意图;
[0016]图3是本发明RAM存储区加固设计示意图;
[0017]图4是本发明关键寄存器加固设计示意图。
【具体实施方式】
[0018]下面结合附图进一步说明本发明的工作原理和工作过程:
[0019]如图1所示,本发明一种抗单粒子翻转的FFT加固设计方法,实现方式如下:
[0020](I)分析FFT算法结构,找出FFT电路实现时存储旋转因子的ROM、存储最终数据并实现倒位序的RAM以及查找旋转因子的关键寄存器;所述的关键寄存器受单粒子效应影响后,会出现错并对后续计算造成影响的寄存器。
[0021]本发明通过对基2FFT、基4FFT以及分裂基FFT算法实现结构的具体分析,看出虽然不同的FFT算法在算法层面略有不同,但是基本的运算结构是一样的,每级蝶算都是序列与旋转因子的乘加运算,在代码级实现时需要用到ROM来存储FFT运算中每一级运算的旋转因子,在FFT计算完毕后也需要用到RAM来存储计算结果并实现倒位序操作,通过在算法层面和电路层面对这些不同FFT实现结构的具体分析,找到了存储旋转因子的ROM、存储最终数据并实现倒位序的RAM以及查找旋转因子的关键寄存器是FFT算法实现的单粒子敏感结构。
[0022](2)对存储旋转因子的ROM进行加固设计,将ROM采用RAM的结构实现,重要存储区的防护加固思路是将数据和地址分别加固,对于地址寄存器和数据存储区分别采用反馈式的三模冗余设计。对于地址寄存器,当三路数据中有一路出错后,通过判断恢复模块将出错的一路数据进行纠正处理,保证地址寄存器的正确性。对于数据的存储,虽然从算法和电路实现上只需要用到R0M,但是由于ROM里存储数据的重要性,必须保证数据正确,在加固设计上,将ROM采用RAM的结构实现,当监测到一路数据出错后,将另两路正确的数据重新写入出错的RAM中,保证数据的正确性。
[0023]对FFT电路中旋转因子存储的ROM采用如图2所示的加固设计,其中A 口为用户端口,B 口为加固端口,首先对存储区域进行三模冗余设计,即对RAM调用三份,并对从三份RAM的B 口读出的数据进行三选二判断,将判断结果反馈并对RAM的数据内容进行实时更新。对地址和数据的反馈式三模冗余加固设计,能够保证正确地对指定位置的存储区域进行实时更新,即保证数据反馈实时更新自身操作的正确可靠性。
[0024](3)对存储最终数据并进行倒位序的RAM进行加固设计,对地址寄存器采用反馈式的三模冗余加固设计,其中当三路数据中有一路出错后,通过判断纠错模块将出错的一路数据进行纠正处理用于保证读写地址的正确性;对于存储区的数据进行三模冗余加固设计(这是因为此处RAM中的数据是实时更新的,出错后下次会被新的数据重写,不需要进行纠错)。
[0025]对存储最终数据并进行倒位序的RAM进行加固设计具体实施例如图3所示。对存储区域的数据进行三模冗余设计,即对RAM调用三份,并对从三份RAM中读出的数据进行三选二判断输出。对于地址寄存器,采用反馈式三模冗余的方式进行加固,当监测到一路地址出错后,将另两路正确的地址重新写入出错的地址中,以保证能够正确地对指定位置的存储区域进行实时更新,即保证数据反馈实时更新自身操作的正确可靠性。
[0026](4)对各级蝶算中用到的关键寄存器进行反馈方式的三模冗余加固设计,将三模冗余的结果进行一个三选二判断并得到最终的判断结果,三选二判断结果在输出给下级逻辑的同时,通过反馈回路将三选二的判断结果置于本级逻辑三模冗余的输入端,即通过反馈回路对三模冗余逻辑进行实时更新。
[0027]如图4所示,下面以FFT蝶算中的关键寄存器中的计数寄存器为例进行分析:FFT电路涉及到的计数器寄存器为单粒子敏感点,在实际设计中,对需要加固的寄存器进行三模冗余设计,将三模冗余的结果进行一个三选二判断并得到最终的判断结果,三选二判断结果在输出给下级逻辑的同时,通过反馈回路将三选二的判断结果置于本级逻辑三模冗余的输入端,即通过反馈回路对三模冗余逻辑进行实时更新。
[0028]通过增加反馈回路,确保在三模冗余逻辑设计中,当任何一路因为翻转出现错误后,能够通过三选二判断结果快速纠正出现错误的这路逻辑,避免因为错误的累积和不可恢复而造成系统功能中断,进行寄存器三模后,在输出端增加判断与恢复电路,通过判断表决器的输出结果同三模冗余逻辑各自结果进行比较,来决定该模块工作是否对三模冗余逻辑进行更新恢复:如果数据比较结果确定某一路逻辑出错不正确,那么通过该模块开始启动向寄存器中重新写入正确值来对出错的这路寄存器进行更新,从而达到纠检错的目的。
[0029]本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
【权利要求】
1.一种抗单粒子翻转的FFT加固设计方法,其特征在于实现方式如下: (1)分析FFT算法结构,找出了这些FFT电路结构中共同的单粒子敏感部件,即FFT电路实现时存储旋转因子的ROM、存储最终数据并实现倒位序的RAM以及查找旋转因子的关键寄存器;所述的关键寄存器受单粒子效应影响后,会出现错并对后续计算造成影响的寄存器; (2)对存储旋转因子的ROM进行加固设计,将ROM采用RAM的结构实现,对于地址寄存器和数据存储区分别采用反馈式的三模冗余加固设计,其中对于地址寄存器,当三路数据中有一路出错后,通过判断纠错模块将出错的一路数据进行纠正处理,保证地址寄存器的正确性;当监测到一路数据出错后,将另两路正确的数据重新写入出错的RAM中用于保证数据的正确性; (3)对存储最终数据并进行倒位序的RAM进行加固设计,对地址寄存器采用反馈式的三模冗余加固设计,其中当三路数据中有一路出错后,通过判断纠错模块将出错的一路数据进行纠正处理用于保证读写地址的正确性;对于存储区的数据进行三模冗余加固设计; (4)对各级蝶算中用到的关键寄存器进行反馈方式的三模冗余加固设计,将三模冗余的结果进行一个三选二判断并得到最终的判断结果,三选二判断结果在输出给下级逻辑的同时,通过反馈回路将三选二的判断结果置于本级逻辑三模冗余的输入端,即通过反馈回路对三模冗余逻辑进行实时更新。
【文档编号】G06F17/14GK103955448SQ201410217007
【公开日】2014年7月30日 申请日期:2014年5月21日 优先权日:2014年5月21日
【发明者】杨玉辰, 周国昌, 赖晓玲, 李维佳, 张国霞, 高翔 申请人:西安空间无线电技术研究所