- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
一种抗SEU存储器电路的FPGA设计
在上述TMR和扩展汉明码模块的设计中,对出错数据的回写是设计中的重点和难点,主要应考虑是否回写和何时回写两个问题。这两个问题可由时序控制模块来解决。它主要根据CPU的控制信号,适时的发出错误标示输出使能信号flag_oe,从而改变CPU对RAM的读写状态,完成修正数据的正确回写。
另外,电路中的错误标示信号对整体设计的稳定性至关重要。为了保证错误标示信号的稳定,可在双向传输门B的读入端加一个锁存器,锁存器的锁存使能端也可由时序控制模块的flag_latch来控制。
4.3 模式选择模块
模式选择模块用于接收来自CPU的配置信号config和片选信号cs_fpga,以便将32位的配置数据写入配置寄存器。该寄存器的低18位数据为模式配置数据,地址信号通过与该数据进行比较,可使小于该地址的存储器空间工作于TMR模式,大于该地址的存储空间工作于扩展汉明码模式。
本电路采用软件故障注入法来进行电路的有效性验证,所以,在电路设计中,可将模式配置寄存器的其余14位用于注入外部干扰数据,并将其连接到ctrl_err与add_err信号,以用来进行软件故障的注入,模拟SEU对电路的影响。
4.4 控制逻辑模块
该模块可接收模式选择模块的模式信号mode,以对TMR模块和扩展汉明码模块输出的读写信号和片选信号进行选择,然后输出到RAM芯片的引脚上去,从而实现CPU对RAM的正确访问。尤其是当电路工作于扩展汉明码模式时,还需根据地址信号判断当前对哪个124 Kx (16+8)bit的存储空间片选有效。其具体电路如图5所示。
5 结束语
本设计中的抗SEU存储器的设计可通过ACTEL的ProAsic系列A3P400 FPGA实现,并可使用与其配套的Liber08.5 EDA工具进行代码的编辑和原理图的绘制,并进行功能仿真与电路的综合。通过仿真可以看到,本设计可以达到预期的目的,它既可实现存储器的抗SEU设计,又可以满足对存储器使用灵活性的要求,而且具有功能完善、适应性强、电路简单等特点,非常适用于星载RAM的抗辐射电路设计。