1、电气与自动化汪锦辉,等一种基于动态部分重构的 FPGA 自修复控制器第一作者简介:汪锦辉(1996),男,安徽黄山人,硕士研究生,研究方向为星载固态存储和数据处理。DOI:1019344/j cnki issn16715276202301057一种基于动态部分重构的 FPGA 自修复控制器汪锦辉,章泉源,袁霄亮,任海,闵康磊(上海航天电子技术研究所,上海 201109)摘要:由于 FPGA 具有灵活性高、开发周期短和性能强等优点,被广泛应用于航空航天自动化电子设备中。以航空航天强辐射环境下 SAM 型 FPGA 易受到单粒子效应的影响、会导致电子设备发生故障为研究背景,以提高 SAM 型 FP
2、GA 的可靠性、硬件资源利用率和减少故障修复时间为目标展开研究。基于 FPGA 动态部分重构技术设计了一种自修复控制器,能够根据系统的故障自检测信号,自主完成 FPGA 故障区域中部分位流的调度和配置刷新,有效缓解了单粒子应对 FPGA 器件造成的影响。实验证明:该自修复控制器的可行性和高效性可提高航空航天自动化电子设备的安全性和可靠性。关键词:FPGA;动态部分重构;单粒子效应;可靠性中图分类号:TP3321文献标志码:B文章编号:1671-5276(2023)01-0234-05A FPGA Selfreparing Controller Based on Dynamic Patial e
3、configurationWANG Jinhui,ZHANG Quanyuan,YUAN Xiaoliang,EN Hai,MIN Kanglei(Shanghai Aerospace Electronic Technology Institude,Shanghai 201109,China)Abstract:FPGA is widely used in aerospace automatic electronic equipment owing to its high flexibility,short development cycleand strong performance SAMb
4、ased FPGAs,however,are susceptible to single event effect in aerospace strong radiationenvironment causing possible electronic equipment falures,with which as the research background,the research aimed atimproving the reliability,hardware resource utilization and reducing the fault repair time of SA
5、Mbased FPGA is conductedBased on FPGA dynamic partial reconstruction technology,a self healing controller is designed,which can independentlycomplete the scheduling and configuration refresh of some bit streams in FPGA fault area according to the fault self detection signalof the system,and effectiv
6、ely alleviate the impact of single event effect on FPGA devices Experiments verify the feasibility andefficiency of the selfhealing controller with the capability of improving the safety and reliability of aerospace automation electronicequipmentKeywords:FPGA;dynamic partial reconfiguration;single e
7、vent effect;reliability0引言随着微电子技术的发展,以现场可编程门阵列(fieldprogrammable gate array,FPGA)为代表的半定制芯片因逻辑资源丰富、开发成本低、开发周期短等特点,被广泛应用于航空航天领域。近几年,静态随机存储器(static random-access memory,SAM)型 FPGA 由于性能高、灵活性高、成本低且不受国外进口限制被越来越多地应用于航天电子设备中1,大力推动了航天技术的快速发展。与反熔丝型的 FPGA 相比,SAM 型 FPGA 的抗辐射能力较低,在空间辐射环境中更容易受到高能粒子和射线的影响2。因此,如何提高
8、 SAM 型 FPGA 在空间环境中的可靠性已经成为学术界和工业界的研究热点。本文针对 SAM 型FPGA 的抗单粒子容错设计方法进行研究和分析,基于动态部分重构技术设计了一种自修复控制器,能够根据系统的故障自检测信号,自主完成 FPGA 故障区域中部分位流的调度和配置刷新,并通过理论分析和物理实验证明了该自修复控制器的可行性和有效性。1FPGA 抗单粒子容错设计方法目前,主流的 FPGA 抗单粒子容错设计方法主要包括冗余法3 和配置刷新法4 两类,其中冗余法又分为硬件冗余法、时间冗余法和信息冗余法 3 种;配置刷新法又包括外部刷新和内部刷新两种。以下分别对冗余法和配置刷新法展开研究和探讨。1
9、1冗余法硬件冗余法是最常用的冗余容错方法,通过对硬件设计进行多次备份的方式实现。根据容错系统的工作方式,硬件冗余可分为热备份和冷备份硬件冗余。热备份硬件冗余主、备模块同时运行,主要通过表决器掩蔽故障的方法实现容错,故障中断时间短、但硬件消耗和系统功耗大;冷备份硬件冗余只有主模块运行,备份模块在主故障后才会启用,系统功耗较小但故障中断时间长。两种都是根据432电气与自动化汪锦辉,等一种基于动态部分重构的 FPGA 自修复控制器多个相同模块同时出现故障概率较低的原理保证电路安全可靠运行。常用的硬件冗余有双备份比较和三模冗余。时间冗余法是通过对系统功能进行重复计算的方式实现5,通过比较多次重复计算的
10、结果是否一致判断系统是否故障,多用于系统故障的检测。信息冗余法常用于存储模块和数据传输模块的冗余容错方法,通过对数据编解码的方式实现错误数据位的检测和纠正,以检错纠错码技术应用最为广泛6。12配置刷新法配置刷新法是指系统配置完成后,根据预定的时间设置或故障检测信号,对 FPGA 配置控制存储器中的配置数据进行重写,从而消除单粒子翻转导致的错误积累。外部刷新主要有全局复位刷新、周期刷新和外部回读刷新 3 种实现方法。内部刷新主要包括内部回读刷新和动态部分重构刷新两种实现方法。各种配置刷新方法的过程和优缺点如表 17 所示。表 1配置刷新方法过程及优缺点刷新方式过程优点缺点外部刷新全局复位刷新定时
11、拉低 FPGA 复位管脚实现全局复位操作简单功能中断时间长周期刷新定时从外部非易失性存储器中加载全局位流到 FPGA 的外部配置接口故障中断短、资源消耗低定时刷新功耗大、系统性能降低外部回读刷新定时从 FPGA 外部配置接口读取全局位流到外部存储器中并与原配置位流进行比对,不一致则使用原配置位流进行回写故障中断短、功耗较低定时回读,设计复杂,资源消耗大内部刷新内部回读刷新定时从 FPGA 内部配置接口读取全局位流到外部存储器中并与原配置位流进行比对,不一致则使用原配置位流进行回写故障中断短、功耗较低定时回读,系统性能降低,资源消耗大动态部分重构刷新根据故障信号从外部非易失性存储器中加载部分位流
12、到 FPGA 的外部配置接口故障中断短、功耗低、修复速度快内部的刷新配置电路需要消耗一定逻辑资源2FPGA 动态部分重构技术动态部分重构技术指 FPGA 在运行时,设计者可以通过加载部分位流文件来修改 FPGA 可重构区域中的逻辑设计,修改过程中其余逻辑功能不受影响,整个系统也能够持续运行。图 1 为 FPGA 动态部分重构的基本原理图。通过下载 A1 bit、A2 bit、A3 bit 或 A4 bit 中任一位流文件,可以修改可重构区域 A 中的逻辑功能。FPGA 设计中的逻辑可分为静态逻辑和可重构逻辑,图 1 中密集方格区域中的逻辑为静态逻辑,区域 A 中的逻辑为可重构逻辑。当系统加载部
13、分位流文件时,静态逻辑保持运行状态,而可重构逻辑由部分位流文件的配置信息代替。FPGA 动态部分重构技术通过有限的硬件资源实现了 FPGA 内部逻辑的动态实时多路复用,对提高系统的集成度、灵活性和可靠性,降低系统的硬件成本和功耗有着重要意义。图 1动态部分重构基本原理图3基于动态部分重构的 FPGA 自修复控制器设计目前主流 FPGA 中的总线交互协议采用的都是 AXI总线协议,AXI 作为一种高级扩展接口,能够支持高性能和高频率的系统设计,具有灵活性与低延时的优点。因此本文基于 AXI 总线协议设计了 FPGA 自修复控制器。如图 2 所示,自修复控制器主要由 DMA 控制器、配置接口控制器
14、、异步 FIFO 和内部寄存器构成。当在接收到功能模块发出的故障自检测信号后,根据所需配置位流的大小和地址信息,通过 DMA 控制器生成对应的总线读控制信号送入处理器系统。经过处理器系统的接口协议转换后,DMA 控制器读取外部配置存储器中指定地址和长度的配置位流并传输到内部的异步 FIFO 中,再经过配置接口控制器将配置信息传输到内部配置接口,完成对 FPGA 动态部分重构。基于 AXI 总线协议设计的自修复控制器的顶层电路如图 3 所示,其中主要包括与 ICAP 接口的通信信号、与外部存储器通信的 AXI 总线读控制信号和来自 FPGA 逻辑电路的故障自检测信号,其中 FCi_epair 表
15、示系统中功能模块 FCi 的故障自检测信号。表 2 为自修复控制器与ICAP 接口之间的通信信号,主要用于自修复控制器对ICAP 接口的配置控制,将配置信息写入 ICAP 接口并返回重构过程信号。表 3 为自修复控制器与外部存储器通信532电气与自动化汪锦辉,等一种基于动态部分重构的 FPGA 自修复控制器的 AXI 总线读控制信号。图 2自修复控制器电路结构图图 3自修复控制器的顶层电路图表 2自修复控制器与 ICAP 接口之间的通信信号ICAP传输方向位宽信号含义icap_clkI1ICAP 接口时钟信号icap_resetI1ICAP 接口复位信号icap_csibO1ICAP 接口读写
16、使能信号icap_rdwrbO1ICAP 接口读写控制信号icap_oO32向 ICAP 接口写入配置信息cap_reqO1ICAP 接口配置过程信号表 3自修复控制器与外部存储器通信的AXI 总线读控制信号m_axi_mem传输方向位宽信号含义arlenO8每次读数据传输的次数arsizeO3每次读数据传输的字节数arvalidO1主设备的地址控制有效信号arreadyI1从设备允许接收地址控制信号araddrO32主设备中的地址信号rlastI1标记读信号的最后一次传输rvalidI1从设备读通道的有效信号rreadyO1主设备允许接收数据信号rdataI32从设备中的数据信号4自修复控制电路验证及分析41电路验证方案设计图 4 所示为自修复控制器的电路验证实验方案图,将自修复控制器与 ICAP 接口、接口转换模块和外部配置存储器相连接,手动触发系统功能模块 FC3 的故障自检测控制信号,通过用 FPGA 的内嵌逻辑分析仪 ILA 观察自修复控制器的位流配置过程。其中,自修复控制器工作时钟频率和 ICAP 接口时钟频率为 100MHz,采用 DD3 芯片作为外部配置存储器进行实验。