Actel FPGA三模冗余设置过程

       在航天应用中,为了降低单粒子翻转对运行中的FPGA产生的影响,采用三模冗余的方式对程序进行处理,步骤如下:

        1)编写原始程序(此处随意举例)

          2)对工程进行编译,生成报告如下。

        从图中可以看出,总的count为9,count*area为2.0。从生成的RTL网表中看出使用了一个D触发器。

        3)将工程配置为三模冗余模式。(也可以采用同样的方式将模块或者寄存器配置为三模冗余方式)。配置方法为在模块之后添加“/* synthesis syn_radhardlevel=tmr */”,如下图所示。

4、再次对工程进行编译,生成报告如下。

        从图中可以看出总的count由原来的9增加到12,count*area由原来的2.0增加到5.0。说明资源量不是直接变为3倍,而是综合优化之后的资源量。

        从生成的RTL网表中看出,之前只使用了一个D触发器,现在是三个D触发器,并且在三个触发器之后增加了仲裁机制。可以得出结论,三模冗余成功了。

        PS:Xilinx的FPGA也可以使用TMR Tool工具进行三模处理,但是对于新型号的FPGA由于限制不再支持。但可以自己写三模程序,思路与三模之后的RTL网表一致,三个模块结果进行仲裁(!!!将每个bit信号先两两取与门,再将生成的三个信号取或门!!!)。

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值