- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
No fallback in case of IDCODE error
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-02-2012 08:28 AM
Hi all,
First of all, I would like to create a multiboot configuration for my project, so I have created a header, a golden image and a multiboot image. I use an SPI-flash in quad mode, and if I program it with this configuration then multiboot image will start properly.
In fact, I have tried out to intentionally provoke three different types of error in the multiboot bitstream: wrong CRC, lack of synchronization word and wrong IDCODE. I have done it by overwriting the generated .mcs file. My experience is that the fallback works perfectly when the CRC is wrong or there is no synchronization word. My problem occurs when I try to provoke an IDCODE error. In this case, my golden bitstream does not start, and I have no idea why.
After trying to boot up the FPGA, I will have the following device status:
'1': Reading bootsts register contents...
[0] VALID_0 - ERROR OR END OF STARTUP (EOS) DETECTED : 0
[1] FALLBACK_0 - FALLBACK RECONFIGURATION ATTEMPT DETECTED : 0
[2] RESERVED
[3] WTO_ERROR_0 - WATCHDOG TIME OUT ERROR : 0
[4] ID_ERROR_0 - FPGA DEVICE IDCODE ERROR : 0
[5] CRC_ERROR_0 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0
[6] VALID_1 - ERROR OR END OF STARTUP (EOS) DETECTED : 0
[7] FALLBACK_1 - FALLBACK RECONFIGURATION ATTEMPT DETECTED : 0
[8] RESERVED
[9] WTO_ERROR_1 - WATCHDOG TIME OUT ERROR : 0
[10] ID_ERROR_1 - FPGA DEVICE IDCODE ERROR : 0
[11] CRC_ERROR_1 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0
[12] STRIKE CNT - STRIKE COUNT FOR FALLBACK ATTEMPTS : 0
[13] STRIKE_CNT - STRIKE COUNT FOR FALLBACK ATTEMPTS : 0
[14] STRIKE_CNT - STRIKE COUNT FOR FALLBACK ATTEMPTS : 0
[15] STRIKE_CNT - STRIKE COUNT FOR FALLBACK ATTEMPTS : 0
'1': Reading status register contents...
[0] CRC ERROR
[1] IDCODE ERROR
[2] DCM LOCK STATUS
[3] GTS_CFG_B STATUS
[4] GWE STATUS
[5] GHIGH STATUS
[6] DECRYPTION ERROR
[7] DECRYPTOR ENABLE
[8] HSWAPEN PIN
[9] MODE PIN M[0]
[10] MODE PIN M[1]
[11] RESERVED
[12] INIT_B PIN
[13] DONE PIN
[14] SUSPEND STATUS
[15] FALLBACK STATUS
It seems that the IDCODE error is detected, but fallback was not successful.
Here are my bitgen settings:
For golden image:
-w
-g Binary:no
-g Compress
-g CRC:Enable
-g Reset_on_err:Yes
-g ConfigRate:26
-g ProgPin:PullUp
-g TckPin:PullUp
-g TdiPin:PullUp
-g TdoPin:PullUp
-g TmsPin:PullUp
-g UnusedPin:PullDown
-g UserID:0xFFFFFFFF
-g next_config_addr:0x00100000
-g next_config_reboot:Enable
-g next_config_new_mode:Yes
-g ExtMasterCclk_en:No
-g SPI_buswidth:4
-g TIMER_CFG:0x2710
-g next_config_boot_mode:001
-g golden_config_addr:0x00000000
-g failsafe_user:0x0000
-g multipin_wakeup:No
-g StartUpClk:CClk
-g DONE_cycle:4
-g GTS_cycle:5
-g GWE_cycle:6
-g LCK_cycle:NoWait
-g Security:None
-g DonePipe:No
-g DriveDone:No
-g en_sw_gsr:No
-g drive_awake:No
-g sw_clk:Startupclk
-g sw_gwe_cycle:5
-g sw_gts_cycle:4
For multiboot image:
-bd CPX-Counter_app.elf -g next_config_register_write:Disable
-w
-g Binary:no
-g Compress
-g CRC:Enable
-g Reset_on_err:Yes
-g ConfigRate:26
-g ProgPin:PullUp
-g TckPin:PullUp
-g TdiPin:PullUp
-g TdoPin:PullUp
-g TmsPin:PullUp
-g UnusedPin:PullDown
-g UserID:0xFFFFFFFF
-g ExtMasterCclk_en:No
-g SPI_buswidth:1
-g TIMER_CFG:0x2710
-g multipin_wakeup:No
-g StartUpClk:UserClk
-g DONE_cycle:4
-g GTS_cycle:5
-g GWE_cycle:6
-g LCK_cycle:NoWait
-g Security:None
-g DonePipe:No
-g DriveDone:No
-g en_sw_gsr:No
-g drive_awake:No
-g sw_clk:Startupclk
-g sw_gwe_cycle:5
-g sw_gts_cycle:4
What could be wrong?
Balazs
Re: No fallback in case of IDCODE error
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-04-2012 12:32 AM
Anyway, I use SPARTAN-6 XC6SLX25 device and ISE Design Suite 14.1.











