cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
4,004 Views
Registered: ‎05-21-2012

Spartan 6 fallback feature testing using BPI flash

Hello all,
1.I am trying to implement fallback feature on sparatan6 lx45 -3fgg484 device with 64Mbit numonyx flash in BPI x16 configuration.

I am generating golden image and multiboot image with settings given in in the following attachments.

After that I am generating mcs file with 2 revisions using impact with golden image at 0x44 address and multiboot image at 0x000C0000 address.

After that I am downloading the mcs file using impact into the flash.

Then the multiboot image is downloading after power on off as desired.

2.But after this I wanted to test the fallback feature.

Then I erased two blocks in the flash at multibootimage from 0x000f0000 to 0x0010000.


After that I am power cycling the device.
Then I am expecting to golden image loading into fpga.
But nothing is happening and done pin is not going high.

 

GOLDEN IMAGE SETTINGS

 

 

goldenimagesettings.png

 

 

goldenimagesettings1.png

+----------------------+----------------------+
| Option Name          | Current Setting      |
+----------------------+----------------------+
| Compress             | (Not Specified)*     |
+----------------------+----------------------+
| Readback             | (Not Specified)*     |
+----------------------+----------------------+
| CRC                  | Enable**             |
+----------------------+----------------------+
| DebugBitstream       | No**                 |
+----------------------+----------------------+
| ConfigRate           | 2**                  |
+----------------------+----------------------+
| StartupClk           | Cclk**               |
+----------------------+----------------------+
| DonePin              | Pullup*              |
+----------------------+----------------------+
| ProgPin              | Pullup**             |
+----------------------+----------------------+
| TckPin               | Pullup**             |
+----------------------+----------------------+
| TdiPin               | Pullup**             |
+----------------------+----------------------+
| TdoPin               | Pullup**             |
+----------------------+----------------------+
| TmsPin               | Pullup**             |
+----------------------+----------------------+
| UnusedPin            | Pulldown**           |
+----------------------+----------------------+
| GWE_cycle            | 6**                  |
+----------------------+----------------------+
| GTS_cycle            | 5**                  |
+----------------------+----------------------+
| LCK_cycle            | NoWait**             |
+----------------------+----------------------+
| DONE_cycle           | 4**                  |
+----------------------+----------------------+
| Persist              | No*                  |
+----------------------+----------------------+
| DriveDone            | No**                 |
+----------------------+----------------------+
| DonePipe             | Yes                  |
+----------------------+----------------------+
| Security             | None**               |
+----------------------+----------------------+
| UserID               | 0xFFFFFFFF**         |
+----------------------+----------------------+
| ActiveReconfig       | No*                  |
+----------------------+----------------------+
| Partial              | (Not Specified)*     |
+----------------------+----------------------+
| Encrypt              | No*                  |
+----------------------+----------------------+
| Key0                 | pick*                |
+----------------------+----------------------+
| StartCBC             | pick*                |
+----------------------+----------------------+
| KeyFile              | (Not Specified)*     |
+----------------------+----------------------+
| drive_awake          | No**                 |
+----------------------+----------------------+
| Reset_on_err         | Yes                  |
+----------------------+----------------------+
| suspend_filter       | Yes*                 |
+----------------------+----------------------+
| en_sw_gsr            | No**                 |
+----------------------+----------------------+
| en_suspend           | No*                  |
+----------------------+----------------------+
| sw_clk               | Startupclk**         |
+----------------------+----------------------+
| sw_gwe_cycle         | 5**                  |
+----------------------+----------------------+
| sw_gts_cycle         | 4**                  |
+----------------------+----------------------+
| multipin_wakeup      | No**                 |
+----------------------+----------------------+
| wakeup_mask          | 0x00*                |
+----------------------+----------------------+
| ExtMasterCclk_en     | No**                 |
+----------------------+----------------------+
| ExtMasterCclk_divide | 1*                   |
+----------------------+----------------------+
| CrcCoverage          | No*                  |
+----------------------+----------------------+
| glutmask             | Yes*                 |
+----------------------+----------------------+
| next_config_addr     | 0x000C0000           |
+----------------------+----------------------+
| next_config_new_mode | Yes                  |
+----------------------+----------------------+
| next_config_boot_mode | 000                  |
+----------------------+----------------------+
| next_config_register_write | Disable              |
+----------------------+----------------------+
| next_config_reboot   | Enable**             |
+----------------------+----------------------+
| golden_config_addr   | 0x00000044           |
+----------------------+----------------------+
| failsafe_user        | 0x0000**             |
+----------------------+----------------------+
| TIMER_CFG            | 0xFFFF               |
+----------------------+----------------------+
| spi_buswidth         | 1**                  |
+----------------------+----------------------+
| IEEE1532             | No*                  |
+----------------------+----------------------+
| Binary               | No**                 |

 

 

 

MULTIBOOT IMAGE SETTINGS

 

multibootimageprogsettings.png

 

 

multibootimageprogsettings1.png

 

 

 

 

 

+----------------------+----------------------+
| Option Name          | Current Setting      |
+----------------------+----------------------+
| Compress             | (Not Specified)*     |
+----------------------+----------------------+
| Readback             | (Not Specified)*     |
+----------------------+----------------------+
| CRC                  | Enable**             |
+----------------------+----------------------+
| DebugBitstream       | No**                 |
+----------------------+----------------------+
| ConfigRate           | 2**                  |
+----------------------+----------------------+
| StartupClk           | Cclk**               |
+----------------------+----------------------+
| DonePin              | Pullup*              |
+----------------------+----------------------+
| ProgPin              | Pullup**             |
+----------------------+----------------------+
| TckPin               | Pullup**             |
+----------------------+----------------------+
| TdiPin               | Pullup**             |
+----------------------+----------------------+
| TdoPin               | Pullup**             |
+----------------------+----------------------+
| TmsPin               | Pullup**             |
+----------------------+----------------------+
| UnusedPin            | Pulldown**           |
+----------------------+----------------------+
| GWE_cycle            | 6**                  |
+----------------------+----------------------+
| GTS_cycle            | 5**                  |
+----------------------+----------------------+
| LCK_cycle            | NoWait**             |
+----------------------+----------------------+
| DONE_cycle           | 4**                  |
+----------------------+----------------------+
| Persist              | No*                  |
+----------------------+----------------------+
| DriveDone            | No**                 |
+----------------------+----------------------+
| DonePipe             | Yes                  |
+----------------------+----------------------+
| Security             | None**               |
+----------------------+----------------------+
| UserID               | 0xFFFFFFFF**         |
+----------------------+----------------------+
| ActiveReconfig       | No*                  |
+----------------------+----------------------+
| Partial              | (Not Specified)*     |
+----------------------+----------------------+
| Encrypt              | No*                  |
+----------------------+----------------------+
| Key0                 | pick*                |
+----------------------+----------------------+
| StartCBC             | pick*                |
+----------------------+----------------------+
| KeyFile              | (Not Specified)*     |
+----------------------+----------------------+
| drive_awake          | No**                 |
+----------------------+----------------------+
| Reset_on_err         | Yes                  |
+----------------------+----------------------+
| suspend_filter       | Yes*                 |
+----------------------+----------------------+
| en_sw_gsr            | No**                 |
+----------------------+----------------------+
| en_suspend           | No*                  |
+----------------------+----------------------+
| sw_clk               | Startupclk**         |
+----------------------+----------------------+
| sw_gwe_cycle         | 5**                  |
+----------------------+----------------------+
| sw_gts_cycle         | 4**                  |
+----------------------+----------------------+
| multipin_wakeup      | No**                 |
+----------------------+----------------------+
| wakeup_mask          | 0x00*                |
+----------------------+----------------------+
| ExtMasterCclk_en     | No**                 |
+----------------------+----------------------+
| ExtMasterCclk_divide | 1*                   |
+----------------------+----------------------+
| CrcCoverage          | No*                  |
+----------------------+----------------------+
| glutmask             | Yes*                 |
+----------------------+----------------------+
| next_config_addr     | 0x00000000*          |
+----------------------+----------------------+
| next_config_new_mode | No*                  |
+----------------------+----------------------+
| next_config_boot_mode | 001*                 |
+----------------------+----------------------+
| next_config_register_write | Disable              |
+----------------------+----------------------+
| next_config_reboot   | Enable*              |
+----------------------+----------------------+
| golden_config_addr   | 0x00000000*          |
+----------------------+----------------------+
| failsafe_user        | 0x0000*              |
+----------------------+----------------------+
| TIMER_CFG            | 0xFFFF               |
+----------------------+----------------------+
| spi_buswidth         | 1**                  |
+----------------------+----------------------+
| IEEE1532             | No*                  |
+----------------------+----------------------+
| Binary               | No**                 |
+----------------------+----------------------+

 

 

 

 

 



Please see the settings and help me if there is anything wrong.

 

Thanks in advance

 







 

0 Kudos
3 Replies
Highlighted
Visitor
Visitor
3,668 Views
Registered: ‎12-13-2013

I have the same problem.

For me, the golden image seems only to start when I erase the sync word at the start of the image.

Other parts are insensible to errors.

0 Kudos
Highlighted
3,651 Views
Registered: ‎06-20-2013

Hi Henkpeters,

 

I have exactly the same problem and can replicate loading the GOLDEN image, but only when the SYNC word is removed (and hence the WATCHDOG times out).

 

Se my posts here...

 

http://forums.xilinx.com/t5/Spartan-Family-FPGAs/Spartan-6-Safe-Update-will-not-fallback/m-p/470304/highlight/false#M25530

 

Did you ever resolve this problem?

 

Thanks,

 

Simon

0 Kudos
Highlighted
Visitor
Visitor
3,646 Views
Registered: ‎05-21-2012

instead of golden_config_addr   | 0x00000044 should be golden_config_addr   | 0x00000022, MCS file line checksum should be recalculated.

0 Kudos