- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Xilinx7系列FPGAMultiboot介绍-远程更新
在远程更新的时候,有时候需要双镜像来保护设计的稳定性。在进⾏更新设计的时候,只更新⼀个镜
像,另⼀个镜像在部署之前就测试过没问题并不再更新。当更新出错时,通过不被更新的镜像进⾏⼀些
操作,可以将更新失败的数据重新写⼊Flash。这样即使更新出错,也能保证设计⾄少可以被远程恢复。
Xilinx的双镜像⽅案成为Multiboot。本⽂对Xilinx 7系列的Multiboot做⼀些简单介绍。
Multiboot直接操作的是两个镜像,但实际上可以⽤于多个镜像。为了便于描述,Multiboot中的两个镜像
分别成为G镜像(Golden)和M 镜像(Multiboot)。
远程更新的⽅案,有⼀些是通过FPGA来读写Flash的,例如Xilinx平台下需要⾃⼰实现的Flash读写控制
器,Altera平台下的ASML IP。当⽆法提供JTAG等其他连接时,Flash的更新就只有FPGA⼀种⽅案。
当写⼊Flash的操作出现错误,或者Flash中部分地址中的数据出现错误,导致⽆法正确写⼊或者存储的数
据出现错误,这样会导致FPGA⽆法加载成功。
当FPGA⽆法加载成功或者⼯作不正常的时候,Flash的读写操作也就⽆法得到保证。此时也就不能重新
通过远程更新⽅案来重新读写Flash ,纠正之前的错误。所以可以看到,如果Flash直接由FPGA控制,当
远程更新出现错误时,很可能导致远程更新彻底失效,只能安排现场更新来修复。
对应⽅案就是使⽤双镜像(多镜像),更新的时候只更新M镜像,更新后直接使⽤M镜像。当出现M镜
像更新出现错误的时候,则启动G镜像。通过G镜像中的设计来重新更新Flash中M镜像部分的数据。
由于G镜像从来没有被更新过,这样出现错误的概率也就⾮常⼩。这样即使M镜像出现错误,可以通过G
镜像来完成⼀些⼯作(例如Flash读写操作),由此来保证设计⼀直可以使⽤。
从这个分析可以看出,双镜像的⽅案,需要完成两个任务。
1.正常情况下,加载完成时应该是M镜像在运⾏
2.出现错误的时候,需要返回G镜像
从上图可以看到,Xilinx 7系列FPGA的Multiboot⽅案是从基地址开始存放G镜像,后续存放M镜像。加载
过程中是先加载M镜像,配置完成后如果成功,则运⾏M镜像;如果运⾏失败,则重新加载G镜像。
下⾯就从需要完成的两个任务,结合上图来进⾏介绍。
先看第⼀个任务,加载M镜像。
上电完成之后,FPGA就会按照设置,进⾏加载操作。在主动模式下,FPGA会开始对Flash的操作,尝试
读取Flash中存储的配置镜像数据。需要注意的是,主动模式下的这⼀系列操作都是FPGA ⾃动完成的,
⽤户⽆法控制。
所以就出现了第⼀个问题。既然读取操作是⾃动的,那么FPGA是如何知道M镜像存储在哪⾥,并先加载
M镜像呢?如果是从0地址开始读取,那么应该先完成G镜像的加载。否则,是否使⽤Multiboot及M镜像
的地址,是如何传递给FPGA、让FPGA知晓呢?
Xilinx的Multiboot⽅案中的解决办法是使⽤⼀条加载命令:IPROG。⽽这条命令,是放在G镜像中。
具体说,对于FPGA直接从0地址开始读取,先开始加载G镜像,但是这个G镜像是经过特别处理的,在
镜像数据刚开始的部分添加了IPROG 命令和M镜像的地址。当FPGA读取到这个命令之后,就会直接跳
过后⾯的数据,从设置的地址开始继续加载。这样的操作,导致G镜像只是运⾏了最前⾯的⼏条加载命
令,⽽M镜像也只是等了⼏条命令的操作就开始加载了,保证了M镜像的直接加载。
需要说明的是IPROG这是⼀条命令,所以既可以在G镜像中⽣效,也可以在设计中任意使⽤。⽤户可以
将IPROG命令发给ICAP ,来实现任意时间触发重新加载的需求。通过设置合适的地址,可以实现多个镜
像的切换。
从vivado中的设置可以看出,Multiboot的主要设置只有这6个。第⼀个成为Fallback ,最后⼀个成为
Watchdog。这两个下⽂会做介绍。第四个第五个是关于RS pin。等熟悉Multiboot理解之后可以查看⽂档
进⾏理解,本⽂不做深⼊介绍。
第⼆个是设置跳转到的地址、第三个是在G镜像中加⼊IPROG命令。这两个操作可以以命令的形式发给
ICAP接⼝,从⽽触发Multiboot中转跳并加载新的镜像数据。
看完上述的分析,应该明⽩如何实现先加载M镜像这个需求了。下⼀步就是,在加载失败时如何回退到
G镜像。
M镜像加载不成功,需要回退到G镜像的操作,Multiboot⽅案称这⼀步骤为Fallback。
Fallback在四种条件下会被触发:
1. ID C
您可能关注的文档
最近下载
- 施工方案管理培训课件.docx VIP
- 【高中地理】区域地理:天气与气候,气温及分布规律课时1课件2023-2024学年高二人教版(2019)地理选择性必修1.pptx VIP
- 全新IMPA船舶物料指南(第7版)电子版.xls VIP
- 东方财富杯金融安全知识题库.docx VIP
- 2025年最新详版征信报告个人信用报告样板模板word格式新版可编辑.docx
- 孙氏太极拳(孙禄堂原著孙剑云整理).pdf VIP
- 车辆抵押借款合同范本协议(2025版).docx VIP
- 〖地理〗世界主要气候类型第1课时课件-2024-2025学年七年级地理上学期(湘教版2024).pptx VIP
- 皮具保养知识.pptx VIP
- 现浇箱梁安全专项施工方案.pdf VIP
文档评论(0)