§====================================§
這個問題我們可以從【ug332 V1.5】第284-285頁中找到相關説明
http://www.xilinx.com/support/documentation/user_guides/ug332.pdf
讓FPGA重新Reconfiguration有兩種情況
1.)當Configuration Watchdog Timer( CWDT )超過時間時
在FPGA執行Configuration配置時,如果在SPI Flash或xilinx
PROM初始位置0X00並沒有發現AA99這一串數據時,就會發Reconfiguration這個次數會重覆三次
執行這個CWDT的記數是依據CCLK所設定的頻率,目前有16bit的Counter,換句話說,當Power
On時,若在64K次的時間內沒有找到AA99,就會重新啟動配置
2.) 當CRC Check時發生錯誤
在透過ISE產生Bitstream時,如果在Generate
Programming File右鍵選Properties中的General
options選單中會有下列兩個選項
※Enable Cyclic Redundancy Check ( CRC ) <<
在FPGA執行Configuration時是否執行CRC的Check,Default是打勾的
※Retry Configuration If Error Occurs << 當執行CRC
Check時如果發生錯誤時是否要觸發Fallback,這個動作會讓FPGA reconfiguration. <
Reset_on_err >
PS:在這個流程中,有些部份是值得討論的
按照ug332第239頁Sequence of Events中,CWDT有效的作用時間是Steps
4(Synchronization),這表示CWDT只負責偵測Ox00以下是否有Bitstream的檔頭AA99,過了這個Steps,表示CWDT已經不會再有作用,
如果在FPGA在進行Steps 5( Array ID Check ),Steps 6( Load
Configuration Data ),Steps 7(CRC Check ),Steps 8(
Startup Sequence )發生錯誤時,只能冀望CRC
Check找出Bitstream的錯誤而解發Fallback
CRC是否都能正常發出Fallback????
根據ug332第285頁所說明的,當Bitstream檔案在SPI
Flash或xilinx PROM有嚴重資料毁損的情況會造成CRC
Check沒辦法偵測而無法發生Reset_on_err,進而Fallback失效
§====================================§
by 顯陝梼枕的FAE?????
|