本發(fā)明涉及可靠通信處理
技術(shù)領(lǐng)域:
,尤其涉及一種低面積開銷的自容錯ldpc譯碼器。
背景技術(shù):
:由于良好的糾錯能力和簡化的并行譯碼算法,ldpc譯碼器已經(jīng)成為空天通信/空間通信中的重要組成部分,用于保護傳輸信息的可靠性。但是,隨著集成電路工藝發(fā)展至納米級水平,ldpc譯碼器芯片電路自身的可靠性面臨挑戰(zhàn),很容易受到宇宙高能粒子的攻擊而造成電路自身的錯誤。其中,單粒子翻轉(zhuǎn)(seu)是一種最為典型的錯誤,它通過翻轉(zhuǎn)芯片中觸發(fā)器和存儲單元的狀態(tài)產(chǎn)生軟錯誤。若不加控制,seu將大大降低芯片可靠性,甚至使芯片無法正常工作。如圖1所示為傳統(tǒng)ldpc譯碼器的構(gòu)架示意圖,從圖中可以看出:ldpc譯碼器包括控制邏輯單元、ram、桶形移位寄存器(bs)、校驗節(jié)點單元(cnu)、變量節(jié)點單元(vnu),故從整體上采用一種容錯加固方法是很難的。在應(yīng)用于空天通信的芯片中,對于非線性電路部分的容錯保護技術(shù)主要是三模冗余(tmr)技術(shù)。它將原始電路模塊復(fù)制三份,最后加上一個多數(shù)選擇器判決輸出。當(dāng)三個相同模塊中的一個受到seu攻擊而另外兩個工作正常時,根據(jù)多數(shù)選擇器的結(jié)果,tmr的方法可以糾正一個錯誤。但是,相比于原始電路模塊,tmr消耗了大于三倍的硬件資源。另外,對芯片中ram單元部分加固的方法主要是一些簡單的錯誤檢測糾正碼(edac),如(7,4)漢明碼:將4個數(shù)據(jù)比特附加上3個校驗比特,以糾正這7個比特中的1比特的錯誤。但是edac的方法消耗巨大的ram資源。為使ldpc譯碼器電路本身具有防seu的能力,可將芯片中的邏輯電路部分按tmr方法加固,與ram相關(guān)的部分通過edac方法加 固。但是,這種方法會使ldpc譯碼器芯片的面積變得很大,并不適用于空天通信處理等資源嚴(yán)重受限下的應(yīng)用。技術(shù)實現(xiàn)要素:本發(fā)明提供一種低面積開銷的自容錯ldpc譯碼器,用于解決現(xiàn)有技術(shù)中單粒子翻轉(zhuǎn)易造成翻轉(zhuǎn)芯片中觸發(fā)器和存儲單元的狀態(tài)產(chǎn)生軟錯誤的問題。本發(fā)明提供一種低面積開銷的自容錯ldpc譯碼器,在分層流水架構(gòu)基礎(chǔ)上,包括:容錯控制單元,桶形移位器、校驗節(jié)點單元、變量節(jié)點單元、c2vram、v2cram和校驗矩陣rom,其中,校驗矩陣rom,用于存儲ldpc碼校驗矩陣,以在譯碼過程中發(fā)送至容錯控制單元參與譯碼;容錯控制單元,用于在譯碼過程中向桶形移位器、校驗節(jié)點單元、變量節(jié)點單元、c2vram、v2cram和校驗矩陣rom發(fā)送工作指令;所述c2vram、校驗節(jié)點單元和桶形移位器形成行操作單元,所述v2cram、變量節(jié)點單元和桶形移位器形成列操作單元,所述行操作單元和列操作單元用于接收容錯控制單元發(fā)出的控制指令執(zhí)行譯碼操作;所述容錯控制單元至少包括計數(shù)器,所述計數(shù)器包括編碼模塊和糾錯模塊,其中,編碼模塊,用于接收到初始狀態(tài)下的m序列后通過漢明碼生成矩陣和狀態(tài)轉(zhuǎn)換矩陣對接收到的m序列進行編碼,獲得基于標(biāo)準(zhǔn)漢明碼的m序列;糾錯模塊,用于通過漢明譯碼方式對基于標(biāo)準(zhǔn)漢明碼的m序列進行錯誤定位和糾正處理,并獲得正確的m序列;所述c2vram用于存儲變量節(jié)點單元向校驗節(jié)點單元傳遞的信息;所述v2cram用于存儲初始狀態(tài)下的llr信息以及存儲校驗節(jié) 點單元向變量節(jié)點單元傳遞的信息。優(yōu)選地,所述編碼模塊具體用于:獲取xi=[xi1,xi2,l,xik]t為2k-1個m序列中的一個,其通過公式ci=gtxi進行(n,k)線性分組編碼獲得碼字為ci=[ci1,ci2,l,cin]t,其中,g是線性分組碼字生成矩陣;基于m序列狀態(tài)轉(zhuǎn)換公式xi+1=mxi,則m序列的編碼為ci+1=gtxi+1=gtmxi=gtmagtxi,其中,m為m序列的狀態(tài)轉(zhuǎn)換矩陣,agt=ik為單位陣,因任意線性分組碼的生成矩陣經(jīng)過列置換表示為g=[ik|r],其中,r為k×(n-k)的矩陣,定義(n-k)為校驗位,則a=[ik|0k×(n-k)];獲得基于標(biāo)準(zhǔn)漢明碼的m序列ci+1=gtmaci=pci,其中,p=gtma為編碼過程的狀態(tài)轉(zhuǎn)換矩陣。優(yōu)選地,所述分層流水架構(gòu)具體用于:每次迭代均分為多層,每層更新的外信息均加入對應(yīng)的v2cram內(nèi)容中。優(yōu)選地,還包括奇偶校驗單元,用于在分層流水架構(gòu)基礎(chǔ)上對輸入到ram的內(nèi)容末尾設(shè)置奇偶校驗位并進行奇偶校驗,若校驗結(jié)果不正確,將對應(yīng)的ram內(nèi)容置為零。由上述技術(shù)方案可知,本發(fā)明提供的一種低面積開銷的自容錯ldpc譯碼器,通過基于m序列漢明編碼的自容錯計數(shù)器、分層流水譯碼器構(gòu)架和ram加固方案,實現(xiàn)了在避免seu影響的同時,大大減少了譯碼器面積。附圖說明圖1為傳統(tǒng)ldpc譯碼器的架構(gòu)示意圖;圖2為本發(fā)明實施例所述ldpc譯碼器的架構(gòu)示意圖;圖3為本發(fā)明實施例所述自容錯ldpc譯碼器的整體方案示意圖;圖4為本發(fā)明實施例計數(shù)器的結(jié)構(gòu)框架圖;圖5為自容錯計數(shù)器的處理流程示意圖;圖6為傳統(tǒng)ldpc譯碼器架構(gòu)的時序示意圖;圖7為本發(fā)明采用分層流水ldpc譯碼器架構(gòu)的時序圖;圖8為本發(fā)明實施例ram的加固過程示意圖;圖9為本發(fā)明實施例不同寄存器注入seu的差錯數(shù)目示意圖;圖10為本發(fā)明實施例ram對抗seu的性能示意圖。具體實施方式下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。如圖3示出了本發(fā)明實施例提供的一種低面積開銷的自容錯ldpc譯碼器,包括:容錯控制單元,桶形移位器、校驗節(jié)點單元(cnu)、變量節(jié)點單元(vnu)、c2vram、v2cram和校驗矩陣rom,其中,校驗矩陣rom,用于存儲ldpc碼校驗矩陣,以在譯碼過程中發(fā)送至容錯控制單元參與譯碼;容錯控制單元,用于在譯碼過程中向桶形移位器、校驗節(jié)點單元、變量節(jié)點單元、c2vram、v2cram和校驗矩陣rom發(fā)送工作指令;所述c2vram、校驗節(jié)點單元和桶形移位器形成行操作單元,所述v2cram、變量節(jié)點單元和桶形移位器形成列操作單元,所述行操作單元和列操作單元用于接收容錯控制單元發(fā)出的控制指令執(zhí)行譯碼操作。需要說明的是,在ldpc譯碼器中,桶形移位器、校驗節(jié)點單元和變量節(jié)點單元可歸為一系列數(shù)據(jù)通道,輸入時為對ram數(shù)據(jù)進行讀操作,輸出時為對ram數(shù)據(jù)進行寫操作。故這些部分的加固與ram加固方法類似。所述容錯控制單元至少包括計數(shù)器,所述計數(shù)器包括編碼模塊和糾錯模塊,其中,編碼模塊,用于接收到初始狀態(tài)下的m序列后通過漢明碼生成矩陣和狀態(tài)轉(zhuǎn)換矩陣對接收到的m序列進行編碼,獲得基于標(biāo)準(zhǔn)漢明碼 的m序列;糾錯模塊,用于通過漢明譯碼方式對基于標(biāo)準(zhǔn)漢明碼的m序列進行錯誤定位和糾正處理,并獲得正確的m序列;所述c2vram用于存儲變量節(jié)點單元向校驗節(jié)點單元傳遞的信息;所述v2cram用于存儲初始狀態(tài)下的llr信息以及存儲校驗節(jié)點單元向變量節(jié)點單元傳遞的信息。本發(fā)明實施例提供的一種低面積開銷的自容錯ldpc譯碼器,對ldpc譯碼器采用分層流水架構(gòu),從圖2中可以看出,所述ldpc譯碼器相比圖1所述譯碼器,本發(fā)明將llrram和v2cram融合到一起,從而減少一類存儲單元。對于上述計數(shù)器的加固如下進行解釋說明:如圖4和圖5所示為自容錯計數(shù)器的處理流程示意圖,從附圖中可以看出,先經(jīng)過編碼再經(jīng)過錯誤定位和糾正處理,最終才會輸出。對于編碼階段來說,在k比特計數(shù)器中,xi=[xi1,xi2,l,xik]t為2k-1個m序列中的一個,其經(jīng)過(n,k)線性分組編碼之后的碼字為ci=[ci1,ci2,l,cin]t。因此,線性分組編碼操作可表示為:ci=gtxi。其中,g是漢明碼生成矩陣。m序列狀態(tài)轉(zhuǎn)換操作表示為:xi+1=mxi,其中m為m序列的狀態(tài)轉(zhuǎn)換矩陣。因此編碼部分可表示為ci+1=gtxi+1=gtmxi=gtmagtxi,其中,agt=ik為單位陣。因為任意漢明碼生成矩陣可經(jīng)過列置換表示為g=[ik|r],其中,r為k×(n-k)的矩陣,定義(n-k)為校驗位,則a=[ik|0k×(n-k)]。由此可得:ci+1=gtmaci=pci,其中,p=gtma為編碼部分的狀態(tài)轉(zhuǎn)換矩陣。上述為對計數(shù)器的加固處理過程,而對于容錯控制單元中剩余的一小部分控制邏輯(如片選、使能、復(fù)位)可采用tmr加固。首先從傳統(tǒng)譯碼器的迭代處理過程進行解釋,如圖6為傳統(tǒng)ldpc譯碼器架構(gòu)的時序示意圖,由圖可知,llrram和v2cram是兩個分立的ram,每次迭代之后都將信道llr信息添加到外信息中。如圖7所示為本發(fā)明采用分層流水ldpc譯碼器架構(gòu)的時序圖,其將初始時刻的llr值存在v2cram中,每次迭代都分為多層,每層更新的外信息都加載到對應(yīng)的ram層中。所述譯碼器還包括奇偶校驗單元,用于在分層流水架構(gòu)基礎(chǔ)上對輸入到ram的內(nèi)容末尾設(shè)置奇偶校驗位并進行奇偶校驗,若校驗結(jié)果不正確,將對應(yīng)的ram內(nèi)容置為零。如圖8所示,對輸入到ram的內(nèi)容末尾設(shè)置奇偶校驗位并進行奇偶校驗,若校驗結(jié)果不正確,將對應(yīng)的ram內(nèi)容置為零。若校驗結(jié)果正確,則將ram內(nèi)容直接輸出。針對上述的方案,以下面實施例來說明本發(fā)明所取得的顯著效果:以4比特計數(shù)器為例,m序列結(jié)合(7,4)漢明碼的容錯計數(shù)器和tmr得到的容錯計數(shù)器在tsmc0.13μm1p8mrfcmos工藝下綜合的開銷結(jié)果如下表1所示。面積(μm2)面積比(以tmr的開銷歸一化)原始計數(shù)器2490.2tmr方法12541本發(fā)明7310.58由此表可看出,本發(fā)明較tmr方法節(jié)省了42%的面積開銷。為證明本發(fā)明計數(shù)器的容錯能力,將10000個seu在不同時間隨機注入到計數(shù)器的內(nèi)部寄存器,圖9為不同寄存器注入的差錯數(shù)目。結(jié)果顯示,提出的容錯計數(shù)器方案可以完全避免seu的影響。本發(fā)明提出的分層流水架構(gòu)較其他ldpc架構(gòu)的優(yōu)勢如表2所示,可看出,相比于[1]和[2],本架構(gòu)分別節(jié)省了42%和12%的存儲開銷。同時,本發(fā)明ram加固對每個ram僅需要一個校驗比特,開銷遠遠 小于傳統(tǒng)edac的加固。所示edac技術(shù)是基于差錯控制編碼的基本思想,可以對存儲器中的數(shù)據(jù)完成檢錯與糾錯功能。為證明本發(fā)明ram加固的容錯能力,將100000個seu在不同時間隨機注入到ram中。如圖10所示,withoutseu為未注入seu,hardenedramwithseu為加固ram注入seu,unhardenedramwithseu為非加固ram注入seu。當(dāng)seu注入時,ldpc譯碼器采用本發(fā)明ram加固方案的ram誤比特率性能??煽闯?,加固后的ram誤碼性能與無seu發(fā)生時的性能基本相同,比在相同seu注入下未加固ram在10-6的誤碼率(ber)下有0.25db的增益(snr),即本發(fā)明提出的ram加固方案可以預(yù)防seu的影響。其中,[1]:cuiz,wangz,zhangx.reduced-complexitycolumn-layereddecodingandimplementationforldpccodes[j].arxivpreprintarxiv:1204.2577,2012。[2]:xiangb,shenr,pana,etal.anarea-efficientandlow-powermultiratedecoderforquasi-cycliclow-densityparity-checkcodes[j].verylargescaleintegration(vlsi)systems,ieeetransactionson,2010,18(10):1447-1460。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行 限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。本領(lǐng)域普通技術(shù)人員可以理解:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明權(quán)利要求所限定的范圍。當(dāng)前第1頁12