好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于FPGA的嵌入式加固系统设计.docx

13页
  • 卖家[上传人]:ji****81
  • 文档编号:226493578
  • 上传时间:2021-12-18
  • 文档格式:DOCX
  • 文档大小:20.49KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 基于FPGA的嵌入式加固系统设计 王璐+杨瑞强摘 要: 针对空间辐照环境,设计了一款基于FPGA平台抗辐照加固嵌入式系统通过对存储单元进行三模冗余设计和(12,8)汉明码EDAC编码设计进行加固对MC8051 IP核、I2C IP核、判决器,EDAC编码解码器等模块进行部分动态可重构设计使用ICAP接口进行回读对比和动态可重构操作系统配置后,定时对其进行回读对比当检测到FPGA发生单粒子翻转时,采用部分重配置消除单粒子影响,使系统恢复正常关键字: 抗辐照; 三模冗余; EDCA; 动态重构; ICAP: TN91?34 : A : 1004?373X(2014)18?0117?04Design of anti?radiation embedded hardened system based on FPGAWANG Lu, YANG Rui?qiang(Lanzhou Institution of Physics, Lanzhou 730000, China)Abstract: For the space radiation environment, an anti?radiation embedded hardened system based on FPGA is designed in this paper. The anti?radiation system is hardened by triple modular redundancy (TMR) design of memory units and Hamming Code(12,8)EDAC coding design. The partial dynamic reconfiguration design of MC8051 IP core, I2C IP core, decision device and EDAC codec modules was conducted. ICAP interface was used for readback contrast and dynamic reconfiguration operation. When SEU occurrence of FPGA is detected, partial reconfiguration is used to eliminate the single?particle impact, so as to make the system return to normal.Keywards: radiation resistence; triple modular redundancy; EDAC; dynamic reconfiguration; ICAP0 引 言航天器在外太空飞行,一直处于带电粒子构成的空间辐射环境中。

      空间辐射环境中的高能质子、中子、粒子、重离子等都能导致航天器电子系统中的半导体器件发生失效,错误等故障,严重影响航天器的可靠性和寿命据美国国家地球物理数据中心统计,自1971—1986年间,美国发射的39颗同步卫星,发生的故障共1 589次,其中由于各种辐射效应引起的故障达1 129次,占故障总数的71%,单粒子效应又占了辐照故障的55%中国空间科学技术研究院的统计了我国6颗同步卫星中的故障原因,空间辐射环境引起的故障在总故障中的比例[1]也达到了40%这些数据表明辐射效应是航天器发生故障的重要原因,是航天应用集成电路中需要解决的主要问题星载平台为了提高处理速度和综合性能,越来越多采用高密度SRAM型FPGASRAM型FPGA的配置存储器单元及LUT存储单元比较敏感,容易受单粒子效应影响当配置存储单元发生失效将导致FPGA功能持久失效(直到重新配置成功)LUT存储单元发生单粒子翻转会使得FPGA逻辑功能出现变化,使得配置逻辑与用户描述逻辑不一致1 系统设计本文针对单粒子效应对FPGA的影响,设计一款抗辐照加固的嵌入式系统,系统框图如图1所示图1 系统框图系统核心模块是MC8051 IP CORE,是由Oregano Systems公司开发的一款开源8051 IP核,其具有全可综合同步时钟设计,指令集完全兼容标准8051微控制器,优化架构使得操作码达到每操作码1~4个时钟,外围定时器、计数器及串口单元可根据需要定制等特点。

      在其外围配置4 KB的ROM,4 KB的RAM,以及16 KB的RAMX系统中选用的I2C IP Core 由Open Cores维护,遵守Wishbone总线协议,编写一个8051到Wishbone转换接口将MC8051核与I2C核连接起来因为只需要连接一个I2C模块,所有遵从Wishbone点到点连接模式,不需要另外设计仲裁器构成统一的嵌入式系统系统配置后,定时对其进行回读对比当检测到FPGA发生单粒子翻转时,采用部分重配置消除单粒子影响,使系统恢复正常因为对BRAM或SRL16回读有可能导致FPGA锁死,设计中不对存储模块进行回读对比,对RAMX做(12,8)汉明码的EDAC设计,对RAM做三模冗余设计,为保证时序正确,未对ROM部分做加固设计2 加固设计实现2.1 TMR设计三模冗余是指将目标部件复制相成同的三个目标部件来实现一个目标部件的功能,三个目标部件最终将通过一个判决器来判断目标部件的正确状态它利用的是相同一组部件同时出现错误概率较小的原理来实现可靠性的提高对片内RAM做三倍冗余加固有助于提高抗辐照性能具体实现如图2,图3所示,图2为RAM三模冗余的顶层视图,图3为判决器门级视图。

      图2 RAM三模冗余2.2 EDAC汉明码编码设计错误检测纠正编码是提高存储系统的可靠性的一种常用技术,将用于存储器的纠错编码技术引入芯片内部,自动检测并纠正错误这种方案不需要芯片外部提供额外的测试和纠正错误等环节,对可靠性有明显改进EDAC有多种编码技术,不同的编码技术有不同的检错和纠错能力本文选择使用[12,8]扩展汉明码编码来对RAMX模块加固即增加4位校验位,能够实现8位数据的2位查错,1位纠错图3 TMR判决器设8位数据为D7~D0,4位校验位为C3~C0,伴随向量为S3~S0则C3~C0为:[C3=D7⊕D6⊕D5⊕D4C2=D7⊕D3⊕D2⊕D1C1=D6⊕D5⊕D3⊕D2⊕D0C0=D6⊕D4⊕D3⊕D1⊕D0]伴随向量S3~S0为:[S3=D7⊕D6⊕D5⊕D4⊕C3S2=D7⊕D3⊕D2⊕D1⊕C2S1=D6⊕D5⊕D3⊕D2⊕D0⊕C1S0=D6⊕D4⊕D3⊕D1⊕D0⊕C0]其伴随向量与出错位置的对应关系如表1所列[2]表1 对应出错关系表设计状态机完成EDAC编码解码功能当系统对RAMX进行写操作时,EDAC模块首先将地址锁存,对数据进行编码处理,然后下一个时钟沿到来将编码后数据输出给RAMX。

      当系统读取RAMX中数据时,数据首先被读取到EDAC模块中并分别锁存,进而对数据进行译码操作,如果无误则将译码后数据输出给系统,如果有错过,EDAC模块将对错误进行纠正,并分别将纠正后数据发送系统和RAMX状态机流程如图4所示为了满足时序RAMX和EDAC模块时钟应是主时钟的5倍,对外部时钟做5分频,再分别对应送入各个模块图4 状态机设计图3 部分动态可重构设计动态重构时选择性的对可编程逻辑器件上的部分资源进行重配置,而不影响其器件上的其他资源在重配置过程中芯片仍然工作,系统建立新的逻辑过程中,未被重配置部分的逻辑功能仍然正常,即系统的逻辑功能在时间上是动态连续的Xilinx Virtex系列 FPGA中内部带有内部配置访问接口ICAP, 能对FPGA进行读/写操作,该类配置方式与Slave SelectMAP相似[3]通过 ICAP 内部访问配置端口对 FPGA 进行高速的局部重配置,大大提高了可重构系统的性能通过一个简单的状态机逻辑电路将部分比特流从FLASH中提取出来,然后数据通过端口送到ICAP进行比对,重配置等功能HWICAP 核是 Xilinx EDK 开发工具提供的一种将ICAP原语封装的 IP核,HWICAP 核包括内部访问配置端口 (Internal Configuration Access Port,ICAP)、块RAM(BlockRAM),以及相应的配置控制器[4]。

      BRAM 相当于配置存储器的缓存,用于存储从 FLASH中提取的局部重构模块的比特流文件或者从配置存储器读取的FPGA配置信息4 局部重构设计和实现流程4.1 模块设计和综合首先对整个设计进行划分,包含一个静态任务子集和一个动态任务子集,如图5所示将MC8051 CORE,I2C core及判决器,编码器部分做为动态模块,将HWICAP,存储模块,控制逻辑模块等作为静态模块[5]完成顶层模块设计输入和综合,完成各个子模块的设计输入,综合时子模块禁止插入I/O图5 重配置框图4.2 初始预算对设计进行全局区域布局,划分动态可重构区域及静态区域完成顶层模块和各个子模块的时序约束,完成各个模块区域约束及输入/输出约束4.3 模块激活对每一个子模块进行激活实现,将初始预算中作为“黑盒”处理的的子模块用具体功能的网表文件替代完成设计[6]对每个子模块内部逻辑进行单独约束动态可重构模块需要单独被综合实现4.4 合并阶段结合顶层模块将各个子模块合并,生成一个包含静态模块和动态可重构模块的完整的设计在这个阶段,软件会优化掉模块间没有启用的信号,优化整体系统性能4.5 下载实现完成整体布局布线之后,分别生成整个设计的全局配置文件和局部动态可重构模块的配置文件。

      使用XILINX 的iMPACT工具将配置文件下载到FPGA中实现设计将局部动态可重构模块配置文件拷贝到片外FLASH中,以完成后续动态可重构操作5 容错处理流程系统上电后,开始正常工作,控制逻辑通过ICAP接口回读比较FPGA中的配置位信息与FLASH中是否一致,如果一致,系统继续工作,如果不一致,判断为FPGA配置位发生单粒子翻转,通过ICAP读取FLASH中部分动态可重构配置文件完成动态重构操作,消除单粒子效应对系统的影响容错处理流程见图66 仿真验证对整个系统做仿真验证,验证加固后设计是否满足时序要求,与初始设计时序是否一致部分代码如下:这是一条简单的汇编程序,首先清零RAM,然后对累加器A和R0分别赋值0,然后相加再写入A,最后用A减去20,如果为零则跳转到下一条程序,如果非0,则对P1赋值2,并跳出程序以此类似,遍历所有标准51指令集MOV P1,#127 ; //All instructions passed图6 容错处理流程当所有程序都正常完成,对P1赋值127,结束程序仿真结果如图7示,验证无误,与预期结果一致7 结 语本文通过FPGA平台设计一款抗辐照加固嵌入式系统,通过对存储单元进行三模冗余设计和8位汉明码EDAC编码设计进行加固。

      对MC8051 IP核,I2C IP核、判决器,EDAC编码解码器等模块进行部分动态可重构设计通过加固设计后的系统在空间环境中的应用范围将大大扩大通过仿真的手段对系统功能和时序进行了验证但是对于加固的性能还没有进行论证,需要在进一步的工作中完成抗辐照能力验证图7 仿真波形参考文献[1] 刘必慰.集成电路单粒子效应建模与加固方法研究[D].长沙:国防科技大学,2009.[2] 周盛雨,陈晓敏.一种纠错编码器的实现[J].电子技术,2003(3):10?12.[3] Xilinx Inc. Xilinx defense and aerospa。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.