一种宇航用VIRTEX5系列FPGA的动态刷新方法

        介绍一种低成本的抗辐照解决方案。该方案从外置高可靠存储器中读取配置数据,通过定时刷新结合三模冗余的方式消除单粒子影响,提高系统的鲁棒性。

1.总体设计

        SRAM型FPGA的刷新方式有两种,一是通过反熔丝FPGA进行回读刷新控制,二是通过专用的ASIC芯片进行回读刷新控制。这里采用方式一进行抗SEU设计,该方案可以兼容多种XILINXVIRTEX系列FPGA,可通过跳线进行FPGA选型配置。结构如图所示。XC5VFX130T芯片实现高速数字信号处理,AX500反熔丝芯片完成对V5FPGA的配置、监控及刷新,NorFlash用于存放配置程序。

        系统工作时,反熔丝FPGA会读取三片NorFLASH中存储的配置文件,采用表决通过的数据作为正确配置信息对XILINXV5系列FPGA进行加载,然后通过SelectMap接口实现对Virtex5FPGA的定时刷新。

2.软件设计

        对XILINXV5系列FPGA的刷新控制由AX500反熔丝FPGA完成, FPGA刷新模块的工作流程如图所示。

(1)FPGA初始化。FPGA上电稳定期间,将PROG_B信号拉低3ms进行初始化复位,复位过程中INIT_B信号将保持低电平。等待Tpo时间后若INITB拉高则表示FPGA配置区内存已清除,可以执行下一步流程;若INIT_B一直为低,则不断检测该信号,直至拉高为止。

(2)配置FPGA。初始化结束后,开始配置FPGA,FPGA管脚M2~M0设为110,FPGA将在INITB拉高期间设置pin脚,加载模式为SelectMap方式。随后反熔丝FPGA将按指定时序从NorFlash中读取配置数据进行表决,表决通过的配置数据沿CCLK送至SelectMap接口。然后模块将持续监测DONE信号查看是否加载成功,若超过预设的配置时间仍未拉高,则产生PROGB低电平脉冲对XilinxFPGA进行重载,重载8次仍不成功则回到初始化状态对FPGA进行复位。反熔丝FPGA与NorFlash接口信号时序图如图。

(3)定时刷新。监测到DONE信号拉高,说明XilinxFPGA加载成功。随后按10MHz的工作频率执行定时刷新操作并对写读FAR寄存器进行SEFI检测,检测到单粒子翻转则进行FPGA重载。根据用户手册,XC5VFX130FPGA的配置数据共有1065221字(25981帧*41字/帧)。FPGA刷新时序图如图所示。

3.应用验证

        使用Modelsim对设计的RTL电路进行了仿真,下图所示为刷新控制模块的仿真验证波形。可以看出,控制模块将读取的配置数据通过SelectMap接口对FPGA进行定时刷新,刷新时序符合FPGA芯片手册的要求。随后通过模拟故障注人的方式对单粒子翻转进行了模拟,禁止刷新功能,并且经JTAG调试接口对XILINX FPGA加载错误的bit文件;注人错误的配置文件后单机遥测存在异常,打开刷新功能后单机功能恢复正常。

        上述验证方案表明该设计能够及时纠正单粒子错误。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值