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