UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Visitor taowei115115
Visitor
1,566 次查看
注册日期: ‎09-06-2018

FPGA多重配置的FALLBACK与配置文件的问题

正如题,我们知道多重配置功能中有个FALLBACK,是在update image因为某种原因(比如在更新update image时没电了)加载失败的时候重新加载golden image,后面就可以通过golden image继续更新update image,我现在已经用mcs文件成功实现了上述功能,用bin文件实现不了,请问多重配置只能用mcs文件格式吗

0 项奖励
12 条回复12
Observer juddwang2017
Observer
1,546 次查看
注册日期: ‎09-06-2018

回复: FPGA多重配置的FALLBACK与配置文件的问题

bin 文件也是可以的。用软件烧录 BIN 文件的时候,注意一下 BIT SWAP。

Visitor taowei115115
Visitor
1,507 次查看
注册日期: ‎09-06-2018

回复: FPGA多重配置的FALLBACK与配置文件的问题

请问,BIT SWAP是什么意思,初次接触xilinx软件
0 项奖励
Visitor taowei115115
Visitor
1,494 次查看
注册日期: ‎09-06-2018

回复: FPGA多重配置的FALLBACK与配置文件的问题

看到了 ,用bit生成bin的时候 界面有个 Disable bit swap,我是需要勾选它还是不勾选它呢
0 项奖励
Visitor taowei115115
Visitor
1,485 次查看
注册日期: ‎09-06-2018

回复: FPGA多重配置的FALLBACK与配置文件的问题

生成bin的时候 bit swap使能或不使能我都试过了。
不使能bit swap的话都跑不起来。
我现在是想实现一个功能,当我们更新update image时候如果突然断电导致update image部分损坏,重启后能让FPGA回过头来加载golden image,我是想实现这个功能
0 项奖励
Community Manager
Community Manager
1,420 次查看
注册日期: ‎08-31-2011

回复: FPGA多重配置的FALLBACK与配置文件的问题

Hi @taowei115115

 

首先说一下mcs文件和bin文件的区别。

mcs文件里包含Bin文件的内容,但是mcs文件中,每行的开始有地址信息,最后一个byte是crc校验信息,所以mcs文件要比bin文件大。

但是烧录器烧写的时候,只烧录mcs文件中包含bin文件的那部分信息,不会将地址和crc烧录到flash中。

一般在烧写flash的时候,我们会用mcs文件,尤其是做multiboot和fallback的时候,因为mcs文件中包含有地址信息,会告诉烧录器,golden image放在哪里,multiboot image放在哪里。

 

你想要实现的功能,的确是multiboot所对应的场景,没有问题。

另外,可以参考XAPP1247.https://www.xilinx.com/support/documentation/application_notes/xapp1247-multiboot-spi.pdf

 

谢谢

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Visitor taowei115115
Visitor
1,414 次查看
注册日期: ‎09-06-2018

回复: FPGA多重配置的FALLBACK与配置文件的问题

我用烧录器的时候,vivado界面选项有可以选bin/mcs,还有个选项是选择prm文件,prm文件中也有地址指定。我做过对比试验,指定prm文件的实验和不指定prm文件,结果是指定prm文件的实验结果通过,说明这个文件起到了作用。后面继续做试验,在烧录bin同时指定prm,中途人为断电后重启,不能FALLBACK,但是把bin换成mcs就可以FALLBACK。基于以上实验我是不是可以得出,bin格式并不支持FALLBACK功能?
0 项奖励
Xilinx Employee
Xilinx Employee
1,375 次查看
注册日期: ‎08-11-2008

回复: FPGA多重配置的FALLBACK与配置文件的问题

前面有人正确回答过了,bin支持,你不成功是因为byte swap。
请去阅读一下对应的器件的配置文档,比如7系列是ug470,读一下byte swap和fallback等相关章节。
------------------------------------------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------------------
0 项奖励
Community Manager
Community Manager
1,349 次查看
注册日期: ‎08-31-2011

回复: FPGA多重配置的FALLBACK与配置文件的问题

@taowei115115

如果烧录bin同时制定PRM烧录以后,fallback不成功,那么你可以用我们的vivado回读flash里的内容,保存成mcs。

然后和烧录mcs能够正常fallback的情况下,回读flash里的内容,保存的mcs做一个比较。

然后看看比较的内容有和差异。

 

可以贴上附件,然后我们也可以协助检查。

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Visitor taowei115115
Visitor
1,265 次查看
注册日期: ‎09-06-2018

回复: FPGA多重配置的FALLBACK与配置文件的问题

@zhendon
我用bin文件实现了功能,但是发现了新问题。在烧写flash时会先erase后write,在write的过程中中断后重新上电会触发fallback 重新加载golden_image,在erase过程中中断重新上电后貌似FPGA什么都没有加载过(这是从电流的大小观察的)。请问这个是什么原因
0 项奖励
Visitor taowei115115
Visitor
1,200 次查看
注册日期: ‎09-06-2018

回复: FPGA多重配置的FALLBACK与配置文件的问题

已解决,谢谢

0 项奖励
698 次查看
注册日期: ‎08-23-2019

回复: FPGA多重配置的FALLBACK与配置文件的问题

你好,我们目前用mcs来实现多重加载实现有点问题,整个过程如下:

1.生成golden.bit采用以下约束,将fallback使能、update热启动地址、看门狗均加上了

  • set_property CONFIG_MODE SPIx2 [current_design]
    set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design]
    set_property BITSTREAM.CONFIG.SPI_32bit YES [current_design]
    set_property BITSTREAM.CONFIG. SPI_BUSWIDTH 2 [current_design]
  • set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
  • set_property BITSTREAM.CONFIG.CONFIGFALLBACK ENABLE [current_design]
    set_property BITSTREAM.CONFIG.NEXT_CONFIG_ADDR 0x0800000 [current_design]
  • set_property BITSTREAM.CONFIG.TIMER_CFG 32’h001312D0 [current_design]

 

2.生成update.bit采用以下约束,将fallback使能、看门狗均加上

  • set_property CONFIG_MODE SPIx2 [current_design]
    set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design]
    set_property BITSTREAM.CONFIG.SPI_32bit YES [current_design]
    set_property BITSTREAM.CONFIG. SPI_BUSWIDTH 2 [current_design]
  • set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
  • set_property BITSTREAM.CONFIG.CONFIGFALLBACK ENABLE [current_design]
  • set_property BITSTREAM.CONFIG.TIMER_CFG 32’h001312D0 [current_design]

3.使用GUI将 golden.bit 生成在flash中地址为 32'h0 的 golden.mcs,将 update.bit生成在flash存储地址为        32'h800000地址的update.mcs;

4.首先将golden.mcs固化到flash中,固化的时候 address range 采用“Entire Configuration Memory Device”,固化完毕后,掉电延时后通过状态寄存器看出是通过fallback加载的golden.mcs;

5.在将update.mcs固化到flash中,固化的时候 address range 采用“Configuration File Only”也就是将update.mcs固化到了flash 起始地址为32'h800000位置上,当固化到一半的时候取消固化,掉电发现不能通过fallback启动,如果打开hardware界面自动扫描链接,能够启动,且fallback加载成功,也就是说挂着仿真器每次掉电都能fallback加载成功,观点vivado软件,不能通过fallback加载。

6.vivado版本为2016.2,是不是哪里设置的不充分?才出现这种情况

0 项奖励
Observer juddwang2017
Observer
236 次查看
注册日期: ‎09-06-2018

回复: FPGA多重配置的FALLBACK与配置文件的问题

dongfangin@163.com , 你这个问题我们碰到过。

问题的原因是 被破坏的镜像 UPDATE.BIT 烧写在配置 FLASH 里面的 SYNC WORD (好像是 FF FF 55 66)没有被破坏,XILINX FPGA 加载的时候看到这个 SYNC WORD 以为 镜像还在,就继续加载,如果不幸 TIMEOUT WATCH DOG 没生效的话,加载过程会卡死。

解决的方法是: 升级 UPDATE.BIT 镜像时,到最后一步再 写 SYNC WORD。这样确保完整的 UPDATE 镜像已经被写入了 才告诉 FPGA 镜像是存在的。

0 项奖励