一種基于asic的高可靠參數配置方法
【技術領域】
[0001]本發明主要涉及到電子系統可靠性加固技術領域,特指一種基于ASIC的高可靠參數配置的方法。
【背景技術】
[0002]隨著航天探測任務需求的不斷提高,對空間電子系統的功能要求越來越高。為了完成復雜的航天探測任務,以FPGA(Field Programmable Gate Array)為代表的大規模集成電路芯片在電子系統中得到了廣泛的應用。由于空間輻射環境引起的單粒子效應能夠使集成電路發生邏輯狀態翻轉、邏輯功能的瞬時異常或中斷,而且隨著CMOS (ComplementaryMetal Oxide Semiconductors)工藝的下降,PN結的閾值電壓降低,如FPGA、處理器等大規模集成電路面臨單粒子效應威脅日趨嚴峻,而目前還沒有一種方式可以通過芯片設計完全避免單粒子效應對集成電路正常工作的影響。
[0003]對于定制或半定制的專用集成芯片(ASIC Applicat1n Specific IntegratedCircuit),對比FPGA具備較強的抗單粒子效應的能力。專用集成芯片具有制作成本高、周期較長以及芯片功能相對確定的特點,因此如何擴展ASIC的應用領域是ASIC設計面臨的一個亟待解決的問題。而通過參數配置使ASIC芯片可以滿足不同應用場合的需求,這是擴大ASIC芯片應用范圍的重要技術途徑。在以上ASIC擴展應用的現實需求下,如何保證ASIC配置參數的可靠性是確保ASIC芯片在軌應用可靠性需要解決的關鍵問題。
【發明內容】
[0004]本發明要解決的技術問題就在于:針對現有技術存在的技術問題,本發明提供一種易于實現、參數配置可靠的基于ASIC的高可靠參數配置的方法。
[0005]為解決上述技術問題,本發明采用以下技術方案:
[0006]一種基于ASIC的高可靠參數配置方法,其步驟為:
[0007]S1:通過ASIC方法配置硬件結構;
[0008]S2:對芯片配置參數進行加固,根據系統芯片的功能劃分進行冗余及增加模塊參數識別標識,用于區分各模塊的參數;
[0009]S3:將需配置參數存儲在系統芯片外部的可編程只讀存儲器PROM中;
[0010]S4:在系統芯片上電后,判定系統芯片內部時鐘工作穩定后,開啟參數配置模塊;
[0011]S5:通過系統芯片內部的參數配置模塊,開始讀取存儲在系統芯片外部PROM中的配置參數數據;
[0012]S6:系統芯片內部參數配置模塊,對讀取的配置數據進行數據的可靠性選擇,若選取到正確參數,則判定讀取數據正確;否則,進入步驟S5重新讀取配置數據;
[0013]S7:根據讀取的參數識別各模塊的配置參數的識別標識,對各模塊的參數數據進行分解及組幀,并將參數配置到各功能模塊中;
[0014]S8:完成初始配置,系統芯片根據配置的參數開始正常運行工作;
[0015]S9:啟動配置參數的實時檢測,若檢驗結果表明正確則判定當前系統參數工作正常;若有誤則進入步驟S5,重新對系統芯片參數進行配置,配置過程中系統芯片始終處于正常工作狀態;
[0016]SlO:根據設定時間,每隔一段時間后重復步驟S9,檢測當前系統運行參數是否正常,若正常則等待下一次檢測;若有誤,重新對參數進行配置。
[0017]作為本發明的進一步改進:在所述步驟SI中,通過ASIC方法配置的硬件結構包括ASIC芯片和PROM存儲芯片,所述PR0MPR0M存儲芯片用來存儲配置數據,所述ASIC芯片只對PROM存儲芯片進行讀取操作。
[0018]作為本發明的進一步改進:在所述步驟S2中進行芯片配置參數加固的具體流程為:
[0019]S201:根據系統芯片劃分的η個功能模塊,將配置參數劃分成η個部分,并為各模塊設定唯一的模塊參數識別標識;
[0020]S202:功能模塊m,完成某種特定的功能,需要配置參數i個,則該i個配置參數為功能模塊m的模塊參數,并在該模塊參數前給定唯一的模塊參數識別標識2n-1,識別標識按字節補齊;
[0021]S203:將所有參數數據按照PROM的位寬格式做統一拆分為一個字節一個數據形式;
[0022]S204:對各功能模塊參數按字節進行和校驗;將校驗結果作為參數之一存放在各模塊參數中;
[0023]S205:將拆分后參數做三模冗余設計,即對每個字節數據復制成3份;
[0024]S206:設計基于PROM格式的參數配置文件;
[0025]S207:將生成的數據文件裝載到PROM中。
[0026]作為本發明的進一步改進:在所述步驟S4中進行上電加載參數配置過程的具體流程如下:
[0027]S401:系統芯片上電過程,系統芯片的內部時鐘存在短暫的穩定工作前的過渡期;
[0028]S402:根據芯片內部的設計,判定系統芯片的內部時鐘是否為穩定,判定穩定后啟動參數配置模塊;
[0029]S403:根據PROM的操作方式,通過控制信號對PROM的內部數據讀取地址進行清零操作;
[0030]S404:參數配置模塊,開始從PROM內部存儲的第一個數據開始讀取PROM中存儲的配置參數;
[0031]S405:讀取到PROM的數據后,進行三選一的數據選取操作,若三個數據中,任何兩個讀取到的數據相同,則選用該數據作為該使用的數據;否則,則認定該次讀取數據出現錯誤,重新進行上述步驟S405中的操作,重新開始讀取數據;
[0032]S406:對讀取后的數據按照系統芯片的模塊劃分進行模塊標識識別;
[0033]S407:檢測到某個模塊的識別標識后,開始對識別標識后的數據進行數據組幀,將組幀后的數據作為寄存器進行存儲;
[0034]S408:完成所有模塊參數的組幀后,釋放配置完成信號,作為系統芯片開始正常工作的使能信號。
[0035]作為本發明的進一步改進:進行參數檢測重配置的具體流程如下:
[0036]S1001:設定參數的檢測間隔時間,按照檢測間隔時間,每隔一段時間開啟一次參數運行正確性檢測;其中檢測間隔時間為參數檢驗模塊的配置參數,根據需求及芯片工作時鐘設計計數器,根據配置的間隔時間參數,完成等間隔時間參數檢測;
[0037]S1002:在完成初始參數配置過程后,根據設定的檢測間隔時間,開啟芯片配置參數的檢測過程;
[0038]S1003:根據當前芯片中運行的參數,在芯片內部完成各模塊參數的和校驗,計算出和校驗結果;
[0039]S1004:讀取存放在PROM中各模塊參數的和校驗結果;
[0040]S1005:比較各功能模塊芯片內部和校驗結果與存放在PROM中的和校驗結果,若結果一致,認定該模塊運行的配置參數正確;否則,認定該模塊運行參數有誤,對參數進行重配置,標記該模塊;
[0041]S1006:設定需重配置模塊標記寄存器為2η_1,η為芯片的模塊總數,若在步驟S1005中檢測到模塊m的運行參數有誤,則需重配置模塊標記寄存器減去2m \即將需重配置模塊標記寄存器的第m-Ι位置為O ;
[0042]S1007:對標記的模塊進行參數重配置,通過重復上述步驟S1005、S1006、S1007完成;
[0043]S1008:若重新配置,即完成配置參數的動態重構,無需中斷芯片的正常工作。
[0044]與現有技術相比,本發明的優點在于:
[0045]1、本發明的基于ASIC的高可靠參數配置的方法,采用ASIC+PR0M的系統配置方式,能夠確保ASIC配置參數的可靠存儲以及靈活讀取。
[0046]2、本發明的基于ASIC的高可靠參數配置的方法,配置參數的加固設計,包括參數的模塊劃分、參數標識以及參數校驗,能夠確保參數讀取和使用過程中的可靠性。
[0047]3、本發明的基于ASIC的高可靠參數配置的方法,配置參數的實時檢測機制能夠確保芯片在運行期間使用參數的正確性。
【附圖說明】
[0048]圖1是本發明的流程示意圖。
[0049]圖2是本發明在應用實例中的拓撲結構示意圖。
[0050]圖3是本發明在具體應用實例中進行芯片配置參數加固的流程示意圖。
[0051]圖4是本發明在具體應用實例中進行上電加載參數配置過程的流程示意圖。
[0052]圖5是本發明在具體應用實例中進行參數檢測重配置的流程示意圖。
【具體實施方式】
[0053]以下將結合說明書附圖和具體實施例對本發明做進一步詳細說明。
[0054]如圖1所示,本發明的基于ASIC的高可靠參數配置方法,步驟為:
[0055]S1:ASIC配置的硬件結構;
[0056]S2:對芯片配置參數進行加固,根據系統芯片的功能劃分進行冗余及增加模塊參數識別標識,用于區分各模塊的參數;
[0057]S3:將需配置參數存儲在系統芯片外部的可編程只讀存儲器(以下簡稱PROMProgrammable Read-Only Memory)中;
[0058]S4:在系統芯片上電后,判定系統芯片內部時鐘工作穩定后,開啟參數配置模塊;
[0059]S5:通過系統芯片內部的參數配置模塊,開始讀取存儲在系統芯片外部PROM中的配置參數數據;
[0060]S6:系統芯片內部參數配置模塊,對讀取的配置數據進行數據的可靠性選擇,若選取到正確參數,則判定讀取數據正確;否則,進入步驟S5重新讀取配置數據;
[0061]S7:根據讀取的參數識別各模塊的配置參數的識別標識,對各模塊的參數數據進行分解及組幀,并將參數配置到各功能模塊中;
[0062]S8:完成初始配置,系統芯片根據配置的參數開始正常運行工作;
[0063]S9:啟動配置參數的實時檢測,若檢驗結果表明正確則判定當前系統參數工作正常;若有誤則進入步驟S5,重新對系統芯片參數進行配置,配置過程中系統芯片始終處于正常工作狀態;
[0064]SlO:根據設定時間,每隔一段時間后重復步驟S9,檢測當前系統運行參數是否正常,若正常則等待下一次檢測;若有誤,可重新對參數進行配置。
[0065]如圖2所示,為在具體應用實例中芯片配置的拓撲結構示意圖,通過ASIC配置方法的硬件結構由