基于FPGA动态可重构技术的二模冗余MIPS处理器
测出的故障情况有3 种:主子系统故障、备份子系统工作正常;主子系统正常、备份子系统故障;主系统子系统和备份子系统均出错。BIST模块检测出故障情况后,会将故障情况显示于故障灯(也就是A、B、C)上。当3个故障灯中有灯亮时,则表示系统出现故障。灯A、B亮,表示主子系统出现故障;灯A、C亮,表示备份子系统出现故障;灯A、B、C亮,表示两子系统均出现了故障。在出现故障后,系统会根据具体情况,对系统输出进行调整。当主子系统出现故障而备份子系统未出现故障时,系统输出则来自备份子系统;当备份子系统出现故障而主子系统未出现故障,系统输出则来自主子系统。当两子系统都出现了问题时,则需要停机维护。当其中一个子系统出现故障时,需要将无故障的子系统比特流重新下载入FPGA系统中。在下载时,系统的工作无需停止。
3 内建自测试技术与BIST结构分析
内建自测试技术(Build?in Self Test,BIST)是指在设计电路时,为了及时监测系统的状态,而设计一部分自测试电路来测试电路运行是否正常。BIST系统主要组成部分有测试向量生成、测试输入隔离、输出结果反馈分析和测试控制等,如图2(a)所示。
测试向量生成部分用于产生要输入到被测模块的测试向量,测试向量的生成含有两部分:测试输入的生成和测试结果的生成。测试输入用于作为被测电路的数据输入,而测试结果则用于对反馈结果的分析。测试输入隔离部分用于将BIST模块的测试向量输入和正常输入相分离。输出结果反馈分析部分用于分析被测电路中输出结果的正确性,并向外输出电路故障信息。
只用一组测试向量对电路故障进行测试将不具有可信度,所以在BIST技术中,通常需要使用多组测试向量对被测电路进行测试,因此在测试时需要一定的时序控制机制,测试控制部分用于完成测试的时序逻辑的控制。
图 2(b)为系统中的BIST模块的详细结构图。其中"自测试向量Memory"和"自测试结果Memory"的功能相当于图2(a)中测试向量生成器的功能,"自测试向量Memory"用于存放测试输入向量,"自测试结果Memory"用于存放测试对比结果。而"时序控制FSM"用于对测试时序的控制,包括测试向量地址生成、测试结果地址生成和测试输入隔离控制等。"结果比对器"用于将MIPS实时输出结果与"自测试结果Memory"单元的输出结果进行比较。"结果分析输出"单元是一个状态机,将根据"结果比对器"的输入来进行状态转换。图3为具体的时序控制状态机。
4 系统测试与分析
二模冗余系统的内建自测试中一共测试了6条指令。由于在实验中无法模拟出系统出现随机错误的情况,故测试时在电路中设置了一个人为出错的控制电路来产生系统故障。实验结果证明当二模系统出现故障时,BIST会自动启动去检测系统故障位置。当系统出现故障时,通过对出错部分的重新配置,可以使得系统恢复正常。
结语
本文根据FPGA动态部分重构技术、二模冗余技术,设计了一个基于二模冗余的MIPS处理器系统,系统可以对系统错误进行自行检测和错误自行定位,经测试系统可以正常运行。本系统下一步的工作是进一步完善故障自检测系统和设计故障的自修复系统。
- 基于PXI模块化仪器和LabVIEW软件,开发二次监视雷达自动测试系统(08-17)
- 几类电机测试系统(测功机)常用联轴器的区别(08-16)
- EDA环境衔接测量软件 电子产品开发周期大幅缩短(05-24)
- 实例解析:近场天线测试系统解决大型暗室测试难题(08-02)
- 构建以软件为中心的下一代自动化测试系统(08-02)
- LED积分球测试系统中电源对测试的影响(04-23)