《基于动态重构技术的FPGA电路容错性能评估系统.docx》由会员分享,可在线阅读,更多相关《基于动态重构技术的FPGA电路容错性能评估系统.docx(4页珍藏版)》请在第一文库网上搜索。
1、基于动态重构技术的FPGA电路容错性能评估系统1 .背景介绍空间辐射环境中的高能带电粒子入射到生导旌器件的特定区域有可能会引起单粒子效应,从宏观角度看,EE眼的配置存储器中该单元存储的信息由“1”变成了“0”,即出现了存储状态的翻转。美国1OSAIamOS国家实验室、BrighamYoung大学和Xi1inx公司对FPGA的单粒子效应进行了多次实验,得出了:单粒子效应引起的FPGA故障多数是由配置存储器发生单粒子翻转引起的。针对FPGA内部的单粒子效应故障,研究者们提出了相应的检测与加固设计方法,如三模冗余(TMR)设计、两模块冗余(DMR)设计、时间三模冗余(TTMR)设计、状态机状态编码加
2、固设计、运算单元的结果校验等多种方法。这些方法从逻辑设计方面提高了FPGA抗单粒子效应的能力。图2.1动态重配置的两种方式本文作者在项目实践中对于系统可靠性设计方面采用过三模冗余、纠错编码等加固措施。这些加固方法带来了系统资源占用率的上升和运算速度的降低,但是其对于抗单粒子翻转性能的提升程度却难以通过简单方法获得,因此需要一种验证方法对其加固效果做出客观评估,需要一个测试系统来完成具有充足覆盖率的自动化大规模测试。本文所描述的基于动态重构技术的FPGA电路容错性能评估系统即在此需求下设计完成的。2 .动态重配置技术简介FPGA的“动态可重配置”,是指在系统运行期间,随时可以通过对FPGA的重新
3、配置来改变其逻辑功能,而且并不影响系统的正常运行,FPGA逻辑功能的改变在时间上保持动态连续。由此可见,FPGA的动态可重配置不仅可以改变而且能够动态地改变数字逻辑系统的功能,与静态可重配置相比,FPGA的动态可重配置有着更广阔的应用前景。如图2.1所示,有两种途径可以实现动态重配置:(1)依靠JTAG、S1ectMAP等外部配置端口进行配置,这种方式的重配置依靠FPGA外部芯片或者上位机系统;(2)依靠内部端口(ICAP)完成对配置寄存器,由FPGA内部产生配置指令,完成对FPGA动态区域的重新配置。2.1 内部配置访问端口内部配置访问端口(Interna1ConfigurationAcce
4、ssPort,ICAP)是FPGA内部配置寄存器的访问端口,为动态重构技未在后卫可缄程系统的应用提供了基本条件。在嵌入式的微处理器或其他用户逻辑控制下,从PC或者片上存储器中读取配置数据写入该ICAP接旦即可完成芯片的动态重构。ICAP用于动态局部自重构,它是FPGA内部单元的入口,用户可通过ICAP访问配置寄存器。ICAP与Se1ectMAP工作方式相同,但不同于Se1ectMAP的双向数据总线,ICAP提供专门的读/写总线,总线宽度可以通过设置参数ICAP_WIDTH来确定,有三种可选的数据宽度:8位、16位和32位。表2.1ICAP接口信号表管蟠名塔方句摧逑C1KInputKAP时钟CE
5、InputICAP片选低有效,与藻战嗯接匚的CSU等可IRITEIDDUt耍写住号.。读.1写与装栽映搂口的R-B住号芍可X31:0QpUtKAP号数缉总线总线宽受主工CAjIZDTH参数耒也定031:0Output二CAP读数嘱息线.息线充变由工CAPJH参政来法定BUSYInput七状态.高有效.在写操作中EUSY定号保持低电平ICAP接口信号和读k国2.2和图2.3所示。sJ1111111111111111111图22ICAP读时序,4J1111J1r1r1r1r1r1nJ11U11图2.31CAXOf0*3尤1a2 .2配置信息写入与回读配置信息写入的过程即是按照配置命令将数据写入配置
6、寄存器,写入配置信息就是完成FPGA的完整配置或重配置。写入过程是通过发送包数据到帧输入寄存器(FrameDataRegisterInput,FDRI)来实现的,写入过程包括写命令字、与数据。配置信息回读是通过配置端口将FPGA内部配置存储器中的数据读出的过程。回读过程可以读出C1B、IOB的寄存器、FPGA内部存储器的当前状态以及布线资源的配置情况等,而且可以通过对回读数据的校验来检验当前配置数据的正确性。本文设计的系统通过回读将待测系统的配置信息读入存储器,在此配置信息基础上注入错误后写回到配置存储器以实现故障模拟。回读过程是通过发送命令从帧输出寄存器(FrameDataRegisterO
7、utput,FDRO)中读取数据包来实现的。回读过程分为写操作命令、读取数据和恢复现场三部分。每一帧的回读数据内容都决定着与其相应的物理排列的FPGA功能模块的功能逻辑.3 .基于动态重构技术的FPGA电路容错性能评估系统的实现本系统结构如图3.1所示,分为上位机控制模块、MicroBIaZe模块、配置信息读写模块、激励产生与测试数据收集模块。其中上位机模块提供用户交互界面,可对模拟粒子量、测试循环等参数进行配置,与测试平台之间依靠TCP/IP协议通信。在动态重构技术支持下,测试平台只需在一片FPGA内即可实现。为了与上位机实现TCP/IP通信,测试平台内嵌了MiCroB1aZe处理器。MicroB1aze处理器模块获取上位机指令并翻译成逻辑时序通过GPIO发送至平台的逻辑部分。逻辑部分包含了配置信息读写、待测模块激励生成和数据收集等功能。下面将分别详细介绍上位机控制程序、MicroBIaZe模块和逻辑部分的实现。图3.1系统结