基于可編程器件的雙模冗余容錯方法
【技術領域】
[0001]本發(fā)明涉及數(shù)字系統(tǒng)容錯技術領域,特別是涉及一種基于可編程器件的雙模冗余容錯方法。
【背景技術】
[0002]可編程器件具有開發(fā)周期短、成本低、靈活性高的特點而廣泛應用于電子系統(tǒng)設計中,基于SRAM配置的FPGA芯片,其功能的實現(xiàn)完全依賴內部的配置數(shù)據(jù),基于SRAM型的FPGA器件在空間福射環(huán)境中容易受到單粒子翻轉(Single Event Upset,SEU)的影響,因此基于SRAM的FPGA系統(tǒng)設計應重點考慮單粒子翻轉。
[0003]目前,比較成熟的可編程器件容錯技術是冗余配合定時刷新,而比較普遍的冗余技術是三模冗余,三模冗余是將原始電路復制三份,當其中一個電路發(fā)生錯誤時可以通過比較輸出正確的結果,但三模冗余技術存在電路開銷過大的問題。
[0004]為了節(jié)省三模冗余技術中的電路開銷,通過在受保護的電路部分的輸出端連接表決器,其余電路則保持原來的連接結構不變,該方法可以適當減少開銷,但是會降低電路的可靠性。
【發(fā)明內容】
[0005]本發(fā)明提供的基于可編程器件的雙模冗余容錯方法,可以提高電路的可靠性。
[0006]根據(jù)本發(fā)明的一方面,提供一種基于可編程器件的雙模冗余容錯方法,包括:將電路映射為查找表,從所述查找表中提取冗余電路信息,并根據(jù)所述冗余電路信息構建電路拓撲結構;根據(jù)所述電路拓撲結構計算所述查找表的輸出端的固定故障傳播概率,并將所述固定故障傳播概率存儲在所述電路拓撲結構的數(shù)據(jù)庫中;根據(jù)所述固定故障傳播概率計算預定數(shù)量的查找表;根據(jù)所述預定數(shù)量的查找表對可編程器件進行加固。
[0007]本發(fā)明實施例提供的基于可編程器件的雙模冗余容錯方法,通過構建電路拓撲結構,根據(jù)電路拓撲結構計算查找表的輸出端的固定故障傳播概率,根據(jù)固定故障傳播概率計算預定數(shù)量的查找表,并且預定數(shù)量的查找表對可編程器件進行加固,從而提高電路的可靠性。
【附圖說明】
[0008]圖1為本發(fā)明實施例提供的基于可編程器件的雙模冗余容錯方法流程圖;
[0009]圖2為本發(fā)明實施例提供的按可靠性約束計算的查找表的方法流程圖;
[0010]圖3為本發(fā)明實施例提供的可編程器件的加固方法流程圖。
【具體實施方式】
[0011]本發(fā)明的總體構思是,通過構建電路拓撲結構,根據(jù)電路拓撲結構計算查找表的輸出端的固定故障傳播概率,根據(jù)固定故障傳播概率計算預定數(shù)量的查找表,并且根據(jù)預定數(shù)量的查找表對可編程器件進行加固,從而提高電路的可靠性。
[0012]下面結合附圖對本發(fā)明實施例提供的基于可編程器件的雙模冗余容錯方法進行詳細描述。
[0013]圖1為本發(fā)明實施例提供的基于可編程器件的雙模冗余容錯方法流程圖。
[0014]參照圖1,在步驟S101,將電路映射為查找表,從所述查找表中提取冗余電路信息,并根據(jù)所述冗余電路信息構建電路拓撲結構。
[0015]這里,查找表用于實現(xiàn)組合邏輯和時序邏輯,查找表簡稱LUT,LUT本質上是一個RAM。目前,F(xiàn)PGA中通過使用4輸入的LUT,每一個LUT可看作是一個4位地址線的16 * I的RAM,當用戶通過原理圖或HDL語言描述一個邏輯電路后,F(xiàn)PGA會自動計算邏輯電路的結果,并將結果存儲在RAM中。
[0016]在步驟S102,根據(jù)所述電路拓撲結構計算所述查找表的輸出端的固定故障傳播概率,并將所述固定故障傳播概率存儲在所述電路拓撲結構的數(shù)據(jù)庫中。
[0017]這里,若要電路某節(jié)點發(fā)生固定1(0)故障能影響到電路輸出端的正確結果,必先使該節(jié)點敏化為0(1),因此首先按電路拓撲結構從前向后的計算每個節(jié)點的可控為0、1的概率,在電路測試理論中將該概率稱為節(jié)點的可控性。此外還需要該故障能夠通過輸出傳播出去,因此需要按電路拓撲結構從后向前的計算每個節(jié)點傳播概率,在電路測試理論中將該概率稱為節(jié)點的可觀測性,綜合節(jié)點的可觀測性和可控性便可得到每個節(jié)點發(fā)生固定故障并影響到電路輸出端正確結果的可能性大小。
[0018]根據(jù)本發(fā)明的示例性實施例,根據(jù)所述電路拓撲結構計算所述查找表的輸出端的固定故障傳播概率包括:
[0019]在步驟S1021,根據(jù)所述電路拓撲結構按第一順序計算所述查找表的輸出端的邏輯值的概率。
[0020]在步驟S1021中,邏輯值的概率即為邏輯值I或O的概率??梢允抢?,但不限于,具體為電路原始輸入端邏輯值為O或I的概率均為0.5,然后根據(jù)查找表配置單元的內容逐級向后計算電路中各節(jié)點邏輯值O的概率為P(O),邏輯值I的概率為Pd)。
[0021]在步驟S1022,根據(jù)所述電路拓撲結構按第二順序計算所述查找表的輸出端的可觀測性。
[0022]在步驟S1022中,可以是例如,但不限于,具體為電路原始輸出端的可觀測性為1,即完全可觀測,然后根據(jù)查找表配置單元的內容逐級向前推算計算電路中各節(jié)點的可觀測性O。
[0023]在步驟S1023,根據(jù)所述邏輯值的概率和所述可觀測性計算所述查找表的輸出端的固定故障傳播概率。
[0024]電路中某節(jié)點的固定0(1)故障傳播概率指該節(jié)點被敏化為I并能將錯誤傳播到輸出端,從而導致輸出端輸出了錯誤結果的概率,通過公式(I)和公式(2)來分別計算查找表輸出端的固定0、I故障傳播概率F(P(O))和F(P(1))。
[0025]F(P(O)) = P(O) XO (I)
[0026]F(P(1)) = P(I) XO (2)
[0027]在步驟S103,根據(jù)所述固定故障傳播概率計算預定數(shù)量的查找表。
[0028]這里,通過面積約束計算需要復制的查找表的個數(shù),根據(jù)面積約束計算需要復制的查找表個數(shù),記為Na。在FPGA電路中電路面積可等效于實現(xiàn)電路功能需要的查找表的個數(shù),因此本步驟根據(jù)面積約束計算需要復制的查找表個數(shù),例如某電路功能需要1000個查找表來實現(xiàn),若要求使用本發(fā)明的加固方法以后,電路面積開銷不能超過原來電路的30%,則可以復制的查找表個數(shù)Na = 1000X30%= 300個。
[0029]根據(jù)本發(fā)明的示例性實施例,所述預定數(shù)量為第一數(shù)量,所述根據(jù)所述固定故障傳播概率計算預定數(shù)量的查找表包括:
[0030]在步驟S1031,將所述固定故障傳播概率按第三順序進行排序。
[0031]這里,第三順序是指按從大到小的順序進行排序。
[0032]在步驟S1032,從排序的固定故障傳播概率對應的查找表中選取第一數(shù)量的查找表進行復制,并對所述第一數(shù)量的查找表和屏蔽的故障類型進行標記。
[0033]這里,在排序的固定故障傳播概率對應的查找表中逐一標記電路中的查找表是否需要進行復制,直到標記的查找表的個數(shù)為Na。
[0034]根據(jù)本發(fā)明的示例性實施例,所述預定數(shù)量為第二數(shù)量,所述根據(jù)所述固定故障傳播概率計算預定數(shù)量的查找表還包括,:
[0035]在步驟S1033,將所述固定故障傳播概率按所述第三順序進行排序。
[0036]在步驟S1034,從所述排序的固定故障傳播概率對應的查找表中選取第二數(shù)量的查找表進行復制,并對所述第二數(shù)量的查找表和屏蔽的故障類型進行標記。
[0037]在步驟S1035,所述第二數(shù)量的查找表對所述電路進行加固,獲取加固的電路的可靠性。
[0038]在步驟S1036,如果所述加固的電路的可靠性接近所述加固的電路的目標可靠性,則完成復制;如果所述加固的電路的可靠性不接近所述加固的電路的目標可靠性,則從所述排序的固定故障傳播概率對應的查找表選取第三數(shù)量的查找表進行復制。
[0039]具體參照如圖2所示的按可靠性約束計算的查找表的方法流程圖。
[0040]步驟S41,根據(jù)電路拓撲結構數(shù)據(jù)庫中的查找表故障傳播概