论文部分内容阅读
随着半导体工艺的不断发展,微处理器芯片朝着更小的特征尺寸、更低的工作电压和更高的时钟频率的方向发展。更高的集成度能够带来更强劲的性能和更小的芯片体积,适应更加丰富的应用场景,但也使得微处理器对粒子辐射、电磁干扰、电压扰动等因素变得更加敏感。此外,在一些航空航天等苛刻的关键任务中,微处理器芯片极易受到空间辐射环境中各种能量粒子的撞击而产生单粒子效应,从而引发软错误,严重影响微处理器的可靠性。传统的评估技术主要集中于发生在存储单元中的单粒子翻转。近年来有研究表明,随着时钟频率的不断上升,特征尺寸的不断减小,单粒子瞬态的影响占据了越来越关键的地位。在软错误敏感性评估领域,故障注入作为一种有效、灵活并且方便的方法受到研究人员的广泛关注,但也存在着许多不足。为了自动快速的对微处理器进行软错误敏感性评估,本文对基于FPGA故障注入的方法进行了研究。本文首先对FPGA的内部结构、工作原理、开发环境和开发流程进行简单的介绍。然后采用模块化的方法对PIC16F54微处理器进行设计,并在FPGA上实现和验证。接着提出一种基于FPGA的微处理器SEU软错误敏感性评估方法,在FPGA芯片上同步运行有故障和无故障的两个微处理器,并充分利用FPGA的并行性,把故障注入控制、故障分类、故障列表等模块均在硬件上实现,能够自动快速的实现SEU故障注入,但不支持SET故障脉冲注入,不能评估微处理器SET软错误敏感性。为了快速准确的评估微处理器SET软错误敏感性,本文提出一种改进的基于FPGA故障注入的软错误敏感性评估方法。该方法通过分析微处理器门级网表和时序文件,提取SET故障注入位置和传输延时信息,使用扫描链实现SET故障脉冲的注入,同时考虑了时窗屏蔽效应、逻辑屏蔽效应和电气屏蔽效应对SET故障脉冲传播的影响。基于该方法对PIC16F54微处理器进行故障注入,实验结果表明,使用该方法进行故障注入及软错误敏感性评估所需的时间比ISim软件仿真方法提高了约4个数量级。