一種確保現場可編程門陣列可靠配置的電路及方法
2023-05-06 20:46:21 1
專利名稱:一種確保現場可編程門陣列可靠配置的電路及方法
技術領域:
本發明涉及一種提高現場可編程門陣列(Field Programmable Gate Array簡寫FPGA)可靠配置的電路及其方法,尤其是一種提高FPGA上電加載可靠性配置的監視電路及其方法。
背景技術:
在FPGA設計中,一般需要外部存儲器來存儲FPGA的配置文件,在系統上電時將外部存儲器中的FPGA的配置文件加載到FPGA內來完成所設計的功能。一般對配置文件的加載有主動串行、從動串行、主動並行、從動並行、CPU同步/異步及JTAG等方法。以上方法各有千秋,在以往FPGA專用配置PROM/FLASH價格昂貴的情況下,人們設法採用通用存儲器取代專用存儲器,但設計較為複雜。而現在FPGA專用存儲器價格大大降低,並且體積大大減小,採用各FPGA廠商提供的專用存儲器以簡化設計,加快產品上市周期。圖3為Xilinx公司推薦的一種常用的FPGA配置文件加載方法為主動串行(MasterSerial Mode),它是將存儲器(XC18V00或XCF01等)直接連接到相應FPGA引腳上。FPGA上電後自動啟動加載過程,若加載成功則啟動用戶程序,若不成功則無法啟動用戶程序。
採用FPGA廠商提供的專用存儲器最大的缺點是上電過程中如果電源不穩或突然出現幹擾信號,則FPGA將配置失敗。這種上電配置過程的不確定性是對FPGA運用的一個致命缺點,可能導致整個系統的崩潰。解決這種問題的途徑一般有兩種一種是加強對電源的優化,使電源在最短時間內儘快達到穩定值,同時減少周邊環境對FPGA的幹擾,但這種設計一方面需要有相當強的電源設計經驗和抗電磁幹擾經驗,另一方面當我們需要將一個產品可靠性從98%提高到100%,這將是很難實現或成本巨大;另一種途徑是採用板上CPU對FPGA進行配置,採用別的配置方法來提高可靠性,其缺點是佔用而外資源及設計複雜,但對沒有採用別的CPU只有FPGA的系統,該方法仍不實用。
發明內容
本發明的目的是提供一種對FPGA上電配置可靠性進行監視、從而確保FPGA可靠配置的方法,解決現有FPGA存在配置失敗可能性的缺陷。
本發明技術方案如下如圖1所示,確保FPGA可靠配置的電路,它包括存儲器1、FPGA2和監視電路3,所述存儲器1通過時鐘信號線、數據線、編程配置信號腳(CF)和其他輔助信號線與FPGA2相連,監視電路3的觸發脈衝信號線WDI與所述FPGA2的I/O腳相連,當FPGA2上電配置成功時,能通過I/O腳自動對監視電路產生一定脈衝寬度的周期性觸發脈衝信號,存儲器1的編程配置信號腳(CF)與監視電路3的復位輸出端相連,監視電路3復位輸出端與FPGA2的編程配置信號腳相連,FPGA2定時對監視電路3進行觸發,監視電路3若在設定時間內接收到觸發脈衝,則不輸復位脈衝信號;若在設定時間內沒接收到觸發脈衝,則產生一個復位脈衝信號,FPGA2在接收到復位脈衝信號後重新啟動配置過程,直至配置成功。FPGA2可以以啟動內部事先設計的定時器的方式定時對監視電路進行觸發。監視電路3在產生復位電平一定時間後能恢復到前一狀態並留有足夠時間供FPGA加載(即在FPGA配置過程中監視電路不能產生復位信號)。監視電路3也可以通過所產生的復位脈衝去觸發可控電源使FPGA2重新上電。監視電路3也可以通過所產生的復位脈衝去控制FPGA能識別重新加載的信號腳,從而使FPGA2重新上電。FPGA2配置過程中若出現CRC校驗錯等錯誤,FPGA2不產生觸發脈衝從而使監視電路輸出復位脈衝使FPGA2重新配置。
如圖2所示,其配置過程如下1)FPGA上電後自動從存儲器中加載FPGA配置文件。
2)配置成功後,FPGA啟動內部事先設計的定時器,定時對監視電路進行觸發。
3)若FPGA因電源不穩配置不成功或數據、信號線受幹擾從而導致FPGA配置時CRC校驗出錯而配置不成功,則無法啟動FPGA內部定時器而不能輸出觸發脈衝給監視電路。
4)監視電路若在設定時間內(t3)接收到觸發脈衝,則不輸復位脈衝信號;反之則產生一個復位脈衝信號。
5)FPGA在接收到復位脈衝信號後重新啟動配置過程。
FPGA2配置過程中若出現CRC校驗錯等錯誤,FPGA2不產生觸發脈衝從而使監視電路輸出復位脈衝使FPGA2重新配置。
本發明所述FPGA配置監視電路成本極低(一般工業級為幾元錢),確保了FPGA上電配置的萬無一失,增強了可靠性。
該發明關鍵在於在進行FPGA程序設計時需在FPGA內部設計一個定時器,該定時器在FPGA配置成功後能定時產生觸發脈衝對監視電路進行觸發,監視電路在設定時間內若沒收到觸發脈衝則輸出信號使FPGA重新配置。
本發明通過FPGA配置成功後定時器能產生觸發信號,使監視電路能監視FPGA運行情況而決定是否產生復位脈衝,所述的FPGA配置監視電路成本極低,並且確保了FPGA上電配置的萬無一失,增強了可靠性。
圖1是FPGA配置監視電路原理框圖;圖2為FPGA配置監視流程圖;圖3現有技術的一種Xilinx FPGA主動串行配置模式;圖4本發明實施例的波形圖。
具體實施例方式
本發明利用監視晶片/電路(包括具有定時觸發功能電路)監視FPGA上電配置情況,確保其可靠加載配置文件,解決現有FPGA存在上電配置失敗可能性的缺陷。
1.FPGA配置加載監視電路說明電路連接如圖1所示將存儲器(1)及FPGA(2)的時鐘線、數據線、使能、編程配置信號及其他相應信號按FPGA廠家數據手冊要求連接,如存儲器CLK接FPGA的CCLK,存儲器DO接FPGA的DIN,存儲器CE接FPGA的DONE,存儲器CF接FPGA的/PROGRAM,其他相應信號包括存儲器/RESET腳及JTAG(邊界掃描)腳等。
將FPGA 2的一個IO引腳作為監視電路3的觸發信號,接其觸發端,如WDI(看門狗輸入端,WatchDog Input),將監視電路3的輸出引腳(如RST、WDO等)接FPGA2的編程配置信號腳(如/PROGRAM)。
對監視電路3還必須設置好計時溢出時間以確保FPGA有足夠的正常配置時間,最好查看FPGA數據手冊並在下載時進行設置。
監視電路主要功能是監視輸入端信號(即FPGA IO輸出信號,WDI),若在設定時間內接收到觸發脈衝則不產生復位信號,反之產生復位信號。因此該監視電路可以是微機監視晶片(DS1232、ADM706等)、單穩電路(74LS123及555等)及可編程器件(CPLD等)等,採用DS1232等微機監視晶片或74LS123等單穩電路性價比最好。
2.FPGA上電配置過程FPGA上電配置過程如圖2所示。
FPGA上電後自動從存儲器中加載FPGA配置文件。
若配置成功則FPGA啟動內部定時器,定時對微監視電路進行觸發;反之則因FPGA無法正常工作而不能產生觸發脈衝。
監視電路監視在設定時間內是否接收到觸發脈衝。
若監視電路超時溢出,則產生復位信號;反之則不產生復位信號。
FPGA檢測到編程配置信號腳(/PROGRAM)有復位脈衝後重新加載配置文件。
本發明必須事先在FPGA內編寫一個定時器,定時觸發監視電路,還必須估算一下程序加載時間來設置監視電路溢出時間,當然在監視電路溢出時間不滿足要求可以改變FPGA加載速率來實現,對監視電路的要求是必須在輸出復位電平一定時間後能恢復到前一狀態。
在圖3 Xlinx FPGA主動串行配置模式中,增加一個監視電路對FPGA程序配置過程監視,該監視電路輸入引腳連接至FPGA的IO腳,其輸出腳連接至FPGA的/PROGRAM腳(見圖1)。
在進行FPGA程序設計時,應事先設計一個定時器以便反應FPGA的工作狀態,如圖4所示,FPGA正常配置後,該定時器每隔t1時間產生t2寬度的觸發脈衝。觸發信號(WDI)從FPGA的IO腳輸出接至監視電路的輸入腳,若監視電路在t3時間內沒接收到WDI觸發脈衝,則產生t4寬度的復位脈衝(WDO)使FPGA重新啟動配置過程。時間參數可設定如下t1≤100ms,t2=10ms,t3=1s,t4≥1ms。t3時間間隔不能太短,必須確保FPGA有足夠的配置時間,否則可能導致FPGA始終無法配置成功。圖4中,WDO信號在產生t4寬度的復位脈衝後應能恢復到前一狀態(如高電平)。
監視電路輸出信號(WDO)可連接至FPGA的編程配置信號腳(如SPARTAN FPGA的/PROGRAM腳)或用於FPGA供電的帶使能端的電源控制腳(如TI TPS767D325的/1EN、/2EN腳)或FPGA能識別的重新加載引腳如(如Spartan的Bank2的VCCO腳)。
權利要求
1.一種確保FPGA可靠配置的電路,它包括存儲器(1)、FPGA(2)和監視電路(3),所述存儲器(1)通過時鐘信號線、數據線、使能信號線和其他輔助信號線與FPGA(2)相連,其特徵在於,所述監視電路(3)的觸發脈衝信號線(WDI)與所述FPGA(2)的I/O腳相連,當FPGA(2)上電配置成功時,能通過I/O腳自動對監視電路產生一定脈衝寬度的周期性觸發脈衝信號,所述存儲器(1)的編程配置信號腳(CF)與所述監視電路(3)的復位輸出端相連,所述監視電路(3)復位輸出端與FPGA(2)的編程配置信號腳(/PROGRAM)相連,所述FPGA(2)定時對監視電路(3)進行觸發,所述監視電路(3)若在設定時間內接收到觸發脈衝,則不輸復位脈衝信號;若在設定時間內沒接收到觸發脈衝,則產生一個復位脈衝信號,FPGA(2)在接收到復位脈衝信號後重新啟動配置過程,直至配置成功。
2.根據權利要求1所述的一種確保FPGA可靠配置的電路,其特徵在於,所述監視電路(3)輸出信號WDO可連接至FPGA(2)的編程配置信號腳,或用於FPGA供電的帶使能端的電源控制腳,或FPGA能識別的重新加載引腳。
3.根據權利要求1所述的一種確保FPGA可靠配置的電路,其特徵在於,所述FPGA(2)以啟動內部事先設計的定時器的方式定時對監視電路進行觸發。
4.根據權利要求1所述的一種確保FPGA可靠配置的電路,其特徵在於,所述監視電路(3)在產生復位電平一定時間後能恢復到前一狀態並留有足夠時間供FPGA加載。
5.根據權利要求1所述的一種確保FPGA可靠配置的電路,其特徵在於,所述監視電路(3)可以通過所產生的復位脈衝去觸發可控電源使FPGA(2)重新上電。
6.根據權利要求1所述的一種確保FPGA可靠配置的電路,其特徵在於,所述監視電路(3)可以通過所產生的復位脈衝去控制FPGA能識別重新加載的信號腳,從而使FPGA(2)重新上電。
7.根據權利要求1所述的一種確保FPGA可靠配置的電路,其特徵在於,所述監視電路(3)計時溢出時間的應滿足FPGA配置要求,該時間設定應當滿足WDO信號在產生t4寬度的復位脈衝後應能恢復到前一狀態。
8.根據權利要求2所述的一種確保FPGA可靠配置的電路,其特徵在於,所述FPGA(2)配置過程中若出現CRC校驗錯等錯誤時,FPGA(2)不產生觸發脈衝信號從而使監視電路輸出復位脈衝使FPGA(2)重新配置。
9.根據權利要求2至8中任一權利要求所述的一種確保FPGA可靠配置的電路,其特徵在於,該監視電路可以是微機監視晶片,或是單穩電路,或是可編程器件。
10.一種根據權利要求1所述的確保FPGA可靠配置的方法,它包括以下步驟A.FPGA(2)自動加載配置文件;B.FPGA(2)啟動內部設計的定時器,定時對監視電路進行觸發;C.FPGA(2)不向監視電路輸出觸發脈衝;D.監視電路產生一個復位脈衝信號;E.監視電路不產生復位脈衝;其特徵在於,FPGA(2)上電後自動執行步驟A;如果FPGA配置成功,則執行步驟B,然後執行步驟E;如果FPGA(2)配置不成功,則執行步驟C,監視電路將超時溢出,然後執行步驟D,再執行步驟A,如果配置成果則執行步驟B,最終執行步驟E。
全文摘要
一種提高現場可編程門陣列上電加載可靠性配置的電路及其方法,以解決現有技術上電過程電源不穩或出現幹擾信號,引起FPGA配置失敗的問題。監視電路觸發脈衝信號(WDI)與FPGAI/O腳相連,存儲器1編程配置信號腳(CF)與監視電路3復位輸出端相連,監視電路3復位輸出端與FPGA2編程配置信號端(/PROGRAM)相連。FPGA上電配置成功時,通過I/O腳自動對監視電路產生周期性觸發脈衝信號,監視電路若在設定時間內接收到觸發脈衝,不輸復位脈衝信號;若在設定時間內沒接收到觸發脈衝,產生一個復位脈衝信號,FPGA在接收到復位脈衝信號後重新啟動配置過程,直至配置成功,反之則不產生復位信號。本發明所述FPGA配置監視電路成本極低,且確保了FPGA上電配置的萬無一失,增強了可靠性。
文檔編號G06F17/50GK1916916SQ200610032158
公開日2007年2月21日 申請日期2006年8月31日 優先權日2006年8月31日
發明者吳正平 申請人:株洲南車時代電氣股份有限公司