Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
simboyar_com1022
Posts: 6
Registered: ‎08-15-2011
0
Accepted Solution

Spartan 6 Multiboot feature using BPI flash

Hi All!

I'm using Spartan 6 slx100 device loaded from BPI 16 bit width flash chip :RC28F256P33TF
In order to achieve multiboot functionality I follow following guides from forum:
http://forums.xilinx.com/t5/Embedded-Processing/MultiBoot-help-on-SPARTAN6/m-p/125468#M3976
or
http://forums.xilinx.com/t5/Spartan-Family-FPGAs/Spartan-6-multiboot-configuration-header/td-p/19993...
I perform header file, with desired address of Golden image : 0x20000 and Multiboot image : 0x500000
Header data looks like:
//////////////////
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
AA995566
31E1FFFF
32610000
32810028 <== Multiboot image address 0x50000 divided by 2
32A10000
32C10001 <== Golden image address 0x20000 divided by 2
32E10000
30A10000
33012000  <== MODE_REG
3201005F
30A1000E
20002000
20002000
/////////////
On this header I perform bitswap operation on each byte and program it to flash address 0x0

Also multiboot image and golden image programmed as well.
Desired action is that multiboot image would be loaded upon powerup.
It is actually happens. Multiboot image loaded as desired.
Now to the point.
I want to test fallback functionality of Spartan 6 with BPI flash.
I corrupt intentionally multiboot image and expect for golden image to load when I recycle power
This not happens, so no fallback is occurred.
If I change multiboot address to 0x20000 to test my golden image and change header file accordingly Spartan 6 successfully boots.
My question is how I create proper header file and if I need to perform some other magic on bitfiles in order to fallback and multiboot features work

Visitor
simboyar_com1022
Posts: 6
Registered: ‎08-15-2011
0

Re: Spartan 6 Multiboot feature using BPI flash

I’ve resolved problem in fallback.

In order to perform fallback I should create bitfile in following way:

  1. Use “-g next_config_register_write:Disable” option
  2. Use “-g Reset_on_err:Yes” option.

So my header file info that I load to ICAP (registers GENERAL1 - 5) would not be erase with erroneous bitfile.