论文部分内容阅读
系统芯片(SoC)技术是一种将整个计算机或者其他电子系统集成到单一芯片的集成电路技术。基于SoC搭建的单板计算机有速度快、体积小、功耗低、成本低的优点,在商用嵌入式系统、星载计算机等领域广泛应用。基于SRAM型FPGA的可重构SoC相比普通基于ASIC的SoC灵活性更高、设计成本更低,已在航空航天领域得到应用。然而,在空间环境中,SRAM型FPGA容易受到空间高能粒子辐射而出现单粒子效应。并且随着集成电路工艺进步,半导体元器件特征尺寸减小、集成度提升,单粒子效应日益突出,使基于SRAM型FPGA的可重构SoC的可靠性面临严峻挑战。 FPGA芯片从设计、生产到应用的整个生命周期中,可在各个阶段采取不同技术提升可靠性。在芯片设计与制造阶段,防辐射工艺的使用、元器件级防护设计可有效提升可靠性;在EDA流程设计阶段,综合、布局布线技术的优化也可提升可靠性;在用户逻辑设计阶段,多模冗余、配置刷新是常用的提升可靠性的设计手段。空间应用中,FPGA可靠性设计往往借助星载计算机平台实现,使用高可靠单元对低可靠单元加固,同时以软件方式控制流程。本文针对可重构SoC空间应用的可靠性问题,利用SRAM型FPGA芯片独特的局部重构特点,提出了一种故障检测与恢复IP核设计。该设计面向Monitor-User SoC架构,包括基于双模冗余(DMR)的故障检测IP核设计和基于局部重构的故障恢复IP核设计。上述设计已在Xilinx ZYNQ平台进行了原型实现、验证与分析,实验结果表明本文所提设计的正确性与有效性。本文主要贡献包括: 1.Monitor-User SoC架构设计: 在高可靠FPGA上搭建Monitor SoC,对在低可靠FPGA上实现的User SoC进行故障检测与恢复。在Monitor SoC上,设计故障检测与恢复的IP核及API函数,用于监控UserSoC的故障并恢复其正常功能。在User SoC上,对待加固模块进行可靠性设计,为MonitorSoC上的故障检测与恢复IP核提供相应支持。 2.故障检测IP核设计: 可重构SoC设计以总线为中心,CPU、存储、外设都作为总线模块连接至系统。针对UserSoC,在模块级添加冗余设计,实现基于DMR的故障检测技术。针对Monitor SoC,设计Fault_CheckIP核及API函数用于故障检测。Fault_Check通过读取DMR比较结果判断是否发生故障。 3.故障恢复IP核设计: 在可重构SoC模块级进行局部重构设计,用于恢复SoC模块的功能。针对User SoC,在模块级进行局部重构设计,支持在不同资源进行局部重构。针对Monitor SoC,设计Config_Ctrl IP核及API函数用于局部重构控制,设计Switch_Ctrl IP核及API函数用于连接重构模块至系统。Monitor SoC通过Config_Ctrl、Switch_Ctrl控制User SoC模块的局部重构及连接而实现故障恢复。 4.原型系统实现、验证与分析: 本文在ZYNQ平台实现了基于Monitor-User架构的ARM-LEON3 SoC原型系统,在PS部分搭建ARM SoC作为Monitor SoC,在PL部分搭建LEON3 SoC作为User SoC。在ARM-LEON3 SoC原型系统之上实现故障检测与恢复的软件流程,并进行实验验证与分析。结果表明,Fault_Check、Switch_Ctrl IP核功能正确,开销较低;Config_CtrlIP核与功能类似的Xilinx Hwlcap IP核相比,性能提升约20倍而开销仅为3倍。