0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

论SRAM型FPGA软核Microblaze抗单粒子加固的方法

国产FPGA之家 来源:国产FPGA之家 2023-08-28 14:30 次阅读

Microblaze是32位/64位 RISC软核处理器,可以用作微处理器、实时处理器和应用处理器(Linux+MMU)。Microblaze作为FPGA的软核,搭建硬件系统时有丰富的IP资源,软件开发则有配套的SDK软件。 目前Microblaze在工业、医疗、汽车、消费以及通信市场有着广泛的应用。

Microblaze有这么多优点,是否可以用在宇航市场上呢?空间环境中,FPGA会受到单粒子效应影响,Microblaze是使用FPGA内部的资源来实现的,可能会发生功能中断或程序跑飞等情况,因此需要对Microblaze进行软件层面的加固来降低SEE的影响。

Microblaze最小系统的组成包括Clock Wizard,Processor System Reset,Microblaze IP,Data Local Memory Bus, Instruction Local Memory Bus,Data LMB BRAM Controller, Instruction LMB BRAM Controller和Block Memory。 今天贫道以Microblaze最小系统为例,简单介绍一下PG268 Xilinx方案(Fault torelant和Fail safe),然后着重介绍高可靠加固方案、方案在TMR工具的实现和故障注入验证结果,如图1所示:

9ba62a6e-4559-11ee-a2ef-92fbcf53809c.png

图1 Microblaze最小系统

01

Xilinx 加固方案

Fault-tolerant Type是对原系统整体复制两份,并在关键的Data LMB Controller和Instruction LMB Controller增加判决器,并对IO接口增加判决器。假如单路MB由于SEE发生软错误,那么通过判决器能够把软错误屏蔽掉。Fault-tolerant Type优点是实现简单,只需要利用好TMR Manager的Run block Automation功能,就能一键实现加固。Fault-tolerant Type属于粗粒度加固,因此缺点是可靠性提升有限。

9bc21de6-4559-11ee-a2ef-92fbcf53809c.png

图2 Fault-tolerant默认框图

9bee6752-4559-11ee-a2ef-92fbcf53809c.png

图3 TMR Voter插入位置 值得一提的是Fault-tolerant Type默认的方案是对BRAM做TMR,如果BRAM资源受限,那么可以更改设计对BRAM做ECC。

9c0ec9b6-4559-11ee-a2ef-92fbcf53809c.png

图4 Fault-tolerant Type ECC实现

Fail-Safe Type加入了TMR Comparator,实时对三个sub block进行比较。当某一个sub block发生异常的时候,另外两路正常的sub block进入到lock step模式。Lock step模式下,一旦发现两路sub block数据不一致,那么就会进入到Fatal stop模式。

Fail-Safe Type的优点是可以在lock step模式下,通过APP尝试进行恢复,恢复成功后重新返回到fault torelant模式。Fail-Safe Type的优点也是缺点,APP需要用户自行开发,设计比较复杂。此外如果软错误比较严重,会进入到Fatal stop模式,该模式没法完成恢复,只能重新加载来解决软错误。

9c26ab3a-4559-11ee-a2ef-92fbcf53809c.png

图5 Fail-Safe Type框图

9c433372-4559-11ee-a2ef-92fbcf53809c.png

图6 Fail-Safe Type故障模式转换流程

02

高可靠加固方案

高可靠加固方案是把Microblaze当做一般的IP,在网表层面采用TMR工具进行细粒度加固。同时考虑Microblaze的特点,对存储器BRAM进行TMR加固或者ECC加固。考虑到TMR或者ECC只能屏蔽错误,无法消除错误。因此为了更进一步提高可靠性,对储存器采用ECC+回写刷新,这样可以消除错误。本文只讨论Local Memory应用场景的加固方案和实现,下面将对实现部分做简要的介绍。

1.1存储器BRAM ECC实现

Microblaze默认的Local Memory结构如下图所示,需要做的是展开microblaze_0_local_memory。

9c7909de-4559-11ee-a2ef-92fbcf53809c.png

图7 MicroblazeLocal Memory

展开microblaze_0_local_memory,可以看到local_memory是由LMB Bus、LMB BRAM Controller和Block Memory组成。

9c909a5e-4559-11ee-a2ef-92fbcf53809c.png

图8 LocalMemory结构

需要做的是打开LBM BRAM Controller,勾选Error Correction Code。

9cac832c-4559-11ee-a2ef-92fbcf53809c.png

图9 LMB BRAM Controller设置

工具自动实现更改Block Memory属性,使用Soft方式来实现BRAM的ECCH32-7编解码。

9cd9bd1a-4559-11ee-a2ef-92fbcf53809c.png

图10 Block Memroy ECC参数设置

2.1存储器BRAMECC+自刷新逻辑

默认的Local Memroy结构里面,BRAM的两个端口都被占用住,要想实现自刷新就得更改Local Memroy结构。Microblaze支持复用DLMB和ILMB的控制器,这样两个控制器就共用一个BRAM端口,另一个端口用于自刷新,如下图所示:

9d0e64ac-4559-11ee-a2ef-92fbcf53809c.png

图11 共享memory结构

开发的自刷新模块连接到Freeport上,对BRAM全地址循环遍历,读出数据(32bit)和校验位(7bit)进行1bit错误纠错。如果解码过程出现1bit错误,把纠错后的数据回写到BRAM中。

9d3297f0-4559-11ee-a2ef-92fbcf53809c.png

图12 自刷新结构

2.2MicroBlaze System TMR实现

TMR工具可以对任意资源设置属性,Block Memroy采样ECC方案,因此属性设置为Converge。

9d64f45c-4559-11ee-a2ef-92fbcf53809c.png

图13 TMR工具Custom模式下参数自定义设置 TMR工具可以统计出加固前的资源消耗,以及预估加固后的资源消耗,便于设计师进行评估和迭代设计。

9d97b860-4559-11ee-a2ef-92fbcf53809c.png

图14TMR工具加固前资源统计和加固后资源预估

加固完成后,TMR工具可以统计出准确的资源使用情况。

9db748ec-4559-11ee-a2ef-92fbcf53809c.png

图15TMR工具加固后资源统计

TMR工具自动创建加固后工程并自动添加约束文件。

9ddd11bc-4559-11ee-a2ef-92fbcf53809c.png

图16 TMR PSOT工程

执行Implementation和Generate Bitstream。

9e056fa4-4559-11ee-a2ef-92fbcf53809c.png

图17 POST工程完成IMPL和BITGEN

2.3故障注入验证

Microblaze System采用TMR进行加固可靠性得到提升,TMR加固推荐采用DTMR/GTMR加固方式。Microblaze System中存储器部分选择的是ECC加固,需要针对Block Memroy进行故障注入验证。

9e174e04-4559-11ee-a2ef-92fbcf53809c.png

图18 BRAM故障注入测试 故障注入验证结果如下:

1)存储区不加固,随机注入70~100bit错,系统异常

2)存储区ECC纠错,随机注入700~800bit错,系统异常

3)存储区ECC纠错+回写,随机注入10000bit错,系统仍正常工作 Microblaze采样高可靠方案进行加固后可靠性得到提升,采用ECC纠错+自刷新措施可靠性最高。软核除了在FPGA内部进行软加固外,还应该采用外部Scrubber来消除CRAM的累积错误,这样经过多种加固措施后的软核应该能满足大部分的空间应用需求。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603000
  • sram
    +关注

    关注

    6

    文章

    767

    浏览量

    114675
  • 微处理器
    +关注

    关注

    11

    文章

    2258

    浏览量

    82403
  • TMR
    TMR
    +关注

    关注

    5

    文章

    80

    浏览量

    18997
  • BRAM
    +关注

    关注

    0

    文章

    41

    浏览量

    10956

原文标题:论SRAM型FPGA软核Microblaze抗单粒子加固

文章出处:【微信号:国产FPGA之家,微信公众号:国产FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    粒子翻转引起SRAMFPGA的故障机理阐述

    不可靠,尤其是Static RAM(SRAMFPGA的配置存储器受到重离子轰击时,会导致器件逻辑布线出错,进而引起模块故障,甚至导致整个系统的功能中断。对于SRAM
    发表于 01-26 16:31 6719次阅读
    <b class='flag-5'>单</b><b class='flag-5'>粒子</b>翻转引起<b class='flag-5'>SRAM</b><b class='flag-5'>型</b><b class='flag-5'>FPGA</b>的故障机理阐述

    讲解一下SRAMFPGA在轨会遇到的问题及其影响

    SRAMFPGA属于核心元器件,因此对SRAMFPGA进行
    发表于 08-11 10:32 2323次阅读
    讲解一下<b class='flag-5'>SRAM</b><b class='flag-5'>型</b><b class='flag-5'>FPGA</b>在轨会遇到的问题及其影响

    错误防护技术在车规MCU中应用

    电子系统的安全隐患增加。 美国Actel公司分析了0.22μm工艺SRAM FPGA器件,未经辐射加固FPGA器件在海拔5000英尺高度
    发表于 12-06 16:39

    用SOI技术提高CMOSSRAM的粒子翻转能力

    【作者】:赵凯;高见头;杨波;李宁;于芳;刘忠立;肖志强;洪根深;【来源】:《信息与电子工程》2010年01期【摘要】:提高静态随机存储器(SRAM)的粒子能力是当前电子元器件
    发表于 04-22 11:45

    特征工艺尺寸对CMOS SRAM粒子翻转性能的影响

    对CMOS SRAM粒子翻转性能的影响及原因。研究表明:随着特征尺寸的减小,SRAM单元
    发表于 04-22 11:50

    ISE中应用MicroBlaze

    [url=]ISE中应用MicroBlaze[/url]
    发表于 12-14 13:22

    基于MicroBlaze FPGA 片上系统设计

    分析处理器MicroBlaze 的体系结构, 给出MicroBlaze 内核在软件无线电系统中的应用, 实现SOPC(可编程系统芯片)。
    发表于 04-15 10:16 22次下载

    基于MicroBlazeFPGA片上系统设计

    分析处理器MicroBlaze 的体系结构,给出MicroBlaze 内核在软件无线电系统中的应用,实现SOPC
    发表于 11-30 15:02 31次下载

    基于MicroBlazeFPGA片上系统设计

    摘要: 分析处理器MicroBlaze的体系结构,给出MicroBlaze内核在软件无线电系统中的应用,实现SOPC(可编程系统芯片)。 关键词: FPGA IP Core SO
    发表于 06-20 10:47 3278次阅读
    基于<b class='flag-5'>MicroBlaze</b><b class='flag-5'>软</b><b class='flag-5'>核</b>的<b class='flag-5'>FPGA</b>片上系统设计

    一种FPGA粒子错误检测电路设计

    分析了FPGA器件发生粒子效应的空间分布特性,设计并实现了一种面向FPGA粒子
    发表于 12-31 09:25 8次下载

    反熔丝FPGA粒子效应及加固技术研究

    反熔丝FPGA粒子效应及加固技术研究.
    发表于 01-04 17:03 11次下载

    基于TDICE单元的SRAMSEU加固设计

    基于TDICE单元的SRAMSEU加固设计_孙敬
    发表于 01-07 18:39 1次下载

    如何使用MicroBlaze进行FPGA片上系统设计

    Xilinx公司的MicroBlaze 32位处理器是支持CoreConnect总线的标准外设集合。MicroBlaze处理器运行在150MHz时钟下,可提供125 D-MIPS的
    发表于 12-05 17:18 13次下载
    如何使用<b class='flag-5'>MicroBlaze</b><b class='flag-5'>软</b><b class='flag-5'>核</b>进行<b class='flag-5'>FPGA</b>片上系统设计

    SRAMFPGA在轨会遇到的问题及其影响

    SRAMFPGA属于核心元器件,因此对SRAMFPGA进行
    发表于 08-11 10:30 2309次阅读
    <b class='flag-5'>SRAM</b><b class='flag-5'>型</b><b class='flag-5'>FPGA</b>在轨会遇到的问题及其影响

    SRAMFPGA辐照加固设计

    让一颗SRAMFPGA在太空长期稳定运行的难度,就类似练成独孤九剑的难度。
    发表于 08-15 10:36 4020次阅读
    <b class='flag-5'>SRAM</b><b class='flag-5'>型</b><b class='flag-5'>FPGA</b>的<b class='flag-5'>抗</b>辐照<b class='flag-5'>加固</b>设计