如何避免升级失败而使FPGA变砖呢?.doc
《如何避免升级失败而使FPGA变砖呢?.doc》由会员分享,可在线阅读,更多相关《如何避免升级失败而使FPGA变砖呢?.doc(4页珍藏版)》请在三一文库上搜索。
1、如何避免升级失败而使FPGA变砖呢?FPGA配置两种模式:主动配置和被动配置方式,采用主动配置下,我们就需要一片FLASH来存储FPGA固件,那么我们在升级固件写FLASH的过程中如何避免因意外情况发生导致升级失败而使FPGA变砖呢?下面就由笔者带领大家来挖山掘石、一探究竟。本文主要针对Xilinx的Spartan-6和7-series FPGA。在设计FPGA的远程升级功能时,我们要实现以下两个指标:1、FPGA具有升级功能,即在正常工作状态下,FPGA可以将新的固件数据烧写到FLASH里面并在下次重启的时候能够正常加载;2、如果升级过程中出现意外情况,FLASH里面原有的固件被破坏,那么F
2、PGA能够从备份固件区启动配置,即FLASH里要有另外一份没有问题的固件备份,且FPGA可以自动跳转到这个固件区读取固件。好了,功能需求明确,下面就该潜下心来进行框架流程设计、时序设计、代码编写以及仿真验证了。一番辛苦劳作之后,IP设计好了,这个时候心里暗暗自喜:应该没问题,只待硬件测试啦。三下五除二,找了台机器测试了一遍,发现能够正常升级,这个时候心里那个是乐开了花啊,一次搞定,哈哈。接下来就要进行激动人心的防砖测试了,于是你就邀请了周围的同事来一起见证奇迹,于是测试开始,于是在升级运行的过程中你自信的断了电,然后你对着周围的同事说:下面就是见证奇迹的时刻,于是你接通了电源,此时你笑的是那么
3、春光灿烂。突然,你耳边传来一句轻轻的、温柔的耳语:老兄,你的FPGA变砖啦!怎么可能!,你不屑的低吼了一句,可是,当你看到那颗小小的LED灯安静的还在沉睡的时候,你傻眼了,What the hell is going on!,看着周围的同事,我理解你的心情:一种被狠狠打脸的刺痛感袭上了你的心头。你埋着头绷着脸,折腾了半天没找出原因在哪,这到底是怎么回事儿呢?FPGA升级防砖也即支持FALLBACK模式,赛灵思官方的指导文档里也进行了相应的指导说明。对于FALLBACK模式,最重要的就是要构建起一个FLASH镜像文件,该镜像文件的架构如图1所示。图1 FLASH镜像文件架构关于FLASH镜像架构
4、的信息,赛灵思官方的configuraTIon user guide里有详细说明。图中,MulTIboot Header决定了FPGA上电之后要先从哪个固件区读取配置文件以及如果失败了该跳转到哪个固件区读取备份配置。我们的镜像里划分了两片区域用于存储固件,分别为:AcTIve区和Old(golden)区,我们的升级指的就是对AcTIve区的固件进行更新,Header区和Old区的信息不改动;FPGA每次上电先从Active区读取配置文件。Old区是一份固件备份,它的作用就是当Active区因为升级意外而固件被破坏的情况下,FPGA能够从此处启动配置。那么,如何保证当Active区的固件因为升级
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 避免 升级 失败 FPGA 变砖呢
链接地址:https://www.31doc.com/p-3429740.html