專利名稱:一種糾錯譯碼芯片的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及一種糾錯譯碼芯片,特別是涉及一種適用于RS(256,252)碼的糾錯譯碼芯片。
背景技術(shù):
在信息的傳輸和存儲中,由于信道或者環(huán)境噪聲的干擾,往往會導(dǎo)致傳輸和存儲的信息發(fā)生錯誤。1948年,香農(nóng)提出了信息論。其中,“有擾離散信道的信道編碼定理”指出通過增加信息的冗余進(jìn)行差錯控制的技術(shù),即信息數(shù)據(jù)在傳輸和存儲前進(jìn)行編碼,在接收和提取數(shù)據(jù)時通過冗余信息譯碼,糾正在傳輸和存儲過程中發(fā)生的錯誤。人們研究出了多種碼字和編譯碼方法。1960年,REED和SOLOMON提出了里德-所羅門碼,簡稱RS碼。RS碼具有優(yōu)秀的糾突發(fā)錯誤的能力,在無線通信和存儲系統(tǒng)中應(yīng)用廣泛。
由于RS碼自身的特點,RS碼的譯碼方法本身比較復(fù)雜,譯碼方法的工程實現(xiàn)比較困難,工程成本較高,且難以達(dá)到理想的譯碼速度。一種RS碼的譯碼器能否工程實現(xiàn)以及工程實現(xiàn)的代價和效果如何,往往成為該RS碼是否實用的決定因素。而RS譯碼器的工程實現(xiàn)也成為工程技術(shù)人員研究和實踐的焦點。
大容量存儲設(shè)備廣泛應(yīng)用于航天、工業(yè)、消費電子等領(lǐng)域的數(shù)據(jù)存儲。惡劣的環(huán)境將造成存儲數(shù)據(jù)發(fā)生不可預(yù)見的錯誤;在消費電子領(lǐng)域的磁、光存儲介質(zhì),也會由于物理破損造成數(shù)據(jù)丟失和損壞。因此,數(shù)據(jù)的正確可靠和高速存取技術(shù)是大容量存儲設(shè)備的關(guān)鍵技術(shù)之一。目前,許多大容量存儲設(shè)備都采用了RS碼對數(shù)據(jù)進(jìn)行處理作為差錯控制的措施。但是,由于大容量存儲設(shè)備自身的特點,如要求保證相當(dāng)高的存儲容量,高速數(shù)據(jù)存取,控制復(fù)雜邏輯等等,都要求采用一種簡單高效的RS碼字和有效的實現(xiàn)方式。過去往往采用軟件進(jìn)行譯碼,但是對于大容量的存儲數(shù)據(jù),例如存儲容量為2Gbit的數(shù)據(jù),則譯碼時間需要大約至少7個小時。這些都迫切要求RS譯碼器有一個高速高效的硬件工程實現(xiàn)。
發(fā)明內(nèi)容
本實用新型的目的在于克服許多大容量存儲設(shè)備采用的RS碼對數(shù)據(jù)進(jìn)行處理作為差錯控制的方法,往往采用軟件進(jìn)行譯碼,譯碼時間太長的缺陷;從而為大容量存儲設(shè)備提供一種RS(256,252)碼的糾錯譯碼芯片,該芯片能夠?qū)Υ笕萘看鎯υO(shè)備中經(jīng)過RS(256,252)編碼的數(shù)據(jù)進(jìn)行高速糾錯譯碼,糾正兩個字節(jié)以內(nèi)的錯誤,同時具有較高的糾錯譯碼速度,整個糾錯譯碼電路全部在可編程邏輯器件(可以是FPGA)芯片中實現(xiàn)。
本實用新型提供的糾錯譯碼芯片(RS(256,252)碼的糾錯譯碼芯片),包括一伴隨式計算電路5,待糾錯的每塊數(shù)據(jù)(256字節(jié))輸入伴隨式計算電路5,計算伴隨式,該256字節(jié)數(shù)據(jù)同時輸入FIFO電路8;輔助參數(shù)計算電路6與伴隨式計算電路5連接,根據(jù)伴隨式計算電路5的輸出計算輔助參數(shù);錯誤情況判斷電路7分別與伴隨式計算電路5和輔助參數(shù)計算電路6相連接,錯誤情況判斷電路7根據(jù)伴隨式計算電路5和輔助參數(shù)計算電路6的輸出,判斷256字節(jié)數(shù)據(jù)的錯誤情況;錯誤值按錯誤位置輸出電路9與錯誤情況判斷電路7相連接,根據(jù)錯誤情況判斷電路7的輸出結(jié)果,錯誤值按錯誤位置輸出電路9中的糾錯選擇電路91選擇子模塊92,93,94和95之一工作,在發(fā)生錯誤的位置輸出對應(yīng)的錯誤值;最后各個子模塊的輸出通過多路選擇電路96選擇后輸出;FIFO電路8的輸出和錯誤值按錯誤位置輸出電路9的輸出都連接到糾錯譯碼電路10,使錯誤值與待糾錯數(shù)據(jù)對應(yīng)相加,實現(xiàn)糾錯,最后輸出時去掉校驗字節(jié),完成糾錯譯碼。錯誤字節(jié)計數(shù)電路11與錯誤情況判斷電路7相連,獲得錯誤字節(jié)個數(shù),累加結(jié)果返回系統(tǒng)總線,供系統(tǒng)查詢。參見圖2??梢愿鶕?jù)處理器和硬件平臺的數(shù)據(jù)總線寬度,使用多個糾錯譯碼電路并行工作,提高糾錯譯碼速度。
本發(fā)明提供的糾錯譯碼芯片,還包括輸入接口電路1,該輸入接口電路1一方面與具體的系統(tǒng)環(huán)境相連接,完成系統(tǒng)與糾錯譯碼電路之間的交互,從系統(tǒng)中得到時鐘、復(fù)位、讀寫控制、片選等控制信號和數(shù)據(jù)/地址信號,同時系統(tǒng)也通過輸入接口電路查詢糾錯譯碼電路的工作情況。另一方面與糾錯譯碼電路2和3相連,供給糾錯譯碼電路正確的數(shù)據(jù)輸入和糾錯譯碼使能信號。該電路主要的功能是鎖存總線上的待糾錯譯碼數(shù)據(jù);產(chǎn)生糾錯譯碼電路的使能控制信號;返回糾錯譯碼電路的狀態(tài)和差錯字節(jié)計數(shù),參見圖7。
所述的輸入接口電路1包括“片選1”信號和系統(tǒng)的寫信號通過或非門101和D觸發(fā)器102,產(chǎn)生糾錯譯碼器的時鐘,通過D觸發(fā)器103獲得并緩存系統(tǒng)總線上的待譯碼的數(shù)據(jù);“片選2”信號和系統(tǒng)寫信號通過或非門107控制D觸發(fā)器105的使能,同時決定計數(shù)器108是否清零;總線上的信號104決定信號106的值,而信號106決定選擇器109選擇輸出0還是輸出計數(shù)器108的計數(shù)結(jié)果;信號通過D觸發(fā)器110輸出最終的譯碼器使能信號。計數(shù)器108重復(fù)輸出256個時鐘周期的高電平和13個周期的低電平。
本發(fā)明提供的糾錯譯碼芯片,還包括輸出接口電路4,該輸出接口電路4與糾錯譯碼電路2和/或3相連接,獲得糾錯譯碼結(jié)果,經(jīng)處理后按需要輸出給下級設(shè)備,該接口可以是與高速復(fù)接器的輸出接口,它實現(xiàn)了對糾錯譯碼數(shù)據(jù)的并串轉(zhuǎn)換,輸出串行數(shù)據(jù)和串行時鐘;同時,還實現(xiàn)旁路邏輯,當(dāng)前端糾錯譯碼電路失效時,旁路糾錯譯碼輸出,直接輸出原始數(shù)據(jù),提高了系統(tǒng)的可靠性和靈活性。
所述的輸出接口電路4包括“片選2”信號和系統(tǒng)的寫信號通過或非門41和D觸發(fā)器42產(chǎn)生信號43,控制選擇器44選擇糾錯譯碼后的數(shù)據(jù)和未經(jīng)糾錯譯碼的數(shù)據(jù)之一輸出給并串轉(zhuǎn)換電路47,實現(xiàn)旁路功能;“片選1”信號和系統(tǒng)的寫信號通過或非門45和與門46產(chǎn)生并串轉(zhuǎn)換電路47的LOAD信號,并串轉(zhuǎn)換電路47完成并串轉(zhuǎn)換,輸出串行數(shù)據(jù)和串行時鐘。如圖8所示。
所述的CPU可以是x86,PowerPC等CPU,總線可以是PCI、USB、IEEE1394等總線。
所述的伴隨式計算電路5,該電路的實現(xiàn)有多種方式,本實施例采用譯碼數(shù)據(jù)多項式R(x)除以最小多項式所得的余式來求伴隨式的實現(xiàn)方法。每個時鐘周期計算一次,當(dāng)所有的數(shù)據(jù)輸入芯片以后,伴隨式即同時計算完成。
本發(fā)明的糾錯譯碼芯片是RS(256,252)碼的糾錯譯碼芯片,其優(yōu)點在于1、本發(fā)明提供的芯片可以用于大容量存儲器,該芯片具有速度快,效率高的糾錯譯碼能力,即RS譯碼器有一個高速高效的硬件工程實現(xiàn)。
2、本發(fā)明的芯片具有差錯字節(jié)計數(shù)功能、具有旁路可靠性設(shè)計、多位數(shù)據(jù)并行糾錯譯碼和多種接口方式。
圖1是本發(fā)明提供的糾錯譯碼芯片的一種實施例組成框圖。
圖2是本發(fā)明提供的糾錯譯碼芯片的糾錯譯碼電路框圖。
圖3是本發(fā)明的芯片中所用的伴隨式計算電路框圖。
圖4是本發(fā)明的芯片中所用的有限域乘除運算電路在實施例1中的框圖。
圖5A,圖5B,圖5C分別是本發(fā)明芯片中所用的有限域GF(28)元素乘以α,α2和α3的電路框圖。
圖6是本發(fā)明芯片一種實施例1的工作時序信號波形圖。
圖7是實施例1芯片的輸入接口電路與嵌入式x86處理器的接口電路圖。
圖8是本發(fā)明芯片的輸出接口電路圖圖9是本發(fā)明的芯片的有限域乘除運算電路在具體實施方式
2中的框圖。
圖面說明1輸入接口電路2 錯譯碼電路3 錯譯碼電路4輸出接口電路5 伴隨式計算電路6 輔助參數(shù)計算電路7錯誤情況判斷電路8 FIFO電路9錯誤值按錯誤位置輸出電路10糾錯譯碼電路11 錯誤字節(jié)計數(shù)電路41 或非門 42D觸發(fā)器 44選擇器45 或非門 46與門 47并串轉(zhuǎn)換電路101 或非門 102 D觸發(fā)器 103 D觸發(fā)器105 D觸發(fā)器 107 或非門108 計數(shù)器109 選擇器 110 D觸發(fā)器 91糾錯選擇電路a0,a1,a2,a3,a4,a5,a6,a71位寄存器b0,b1,b2,b3,b4,b5,b6,b71位寄存器c0,c1,c2,c3,c4,c5,c6,c71位寄存器具體實施方式
以下結(jié)合附圖和具體實施方式
對本發(fā)明作進(jìn)一步詳細(xì)描述。
實施例1參見圖2,待譯碼數(shù)據(jù)塊進(jìn)入伴隨式計算電路5計算伴隨式,數(shù)據(jù)同時進(jìn)入先入先出緩存(FIFO)電路8。輔助參數(shù)計算電路6與伴隨式計算電路5連接,根據(jù)伴隨式計算電路5的輸出來計算輔助參數(shù)。錯誤情況判斷電路7分別與伴隨式計算電路5和輔助參數(shù)計算電路6相連接,根據(jù)伴隨式計算電路5和輔助參數(shù)計算電路6的計算結(jié)果,錯誤情況判斷電路7判斷256字節(jié)數(shù)據(jù)的錯誤情況。錯誤值按錯誤位置輸出電路9與錯誤情況判斷電路7相連接,根據(jù)錯誤情況判斷電路7的輸出結(jié)果,錯誤值按錯誤位置輸出電路9中的糾錯選擇電路91選擇子模塊92,93,94和95中的一個模塊工作,在發(fā)生錯誤的位置輸出對應(yīng)的錯誤值。最后各個子模塊的輸出通過多路選擇電路96輸出。FIFO電路8的輸出和電路9的輸出都連接到糾錯譯碼電路10,通過糾錯譯碼電路10,將求得的錯誤值與FIFO緩存的待糾錯數(shù)據(jù)相加,實現(xiàn)糾錯;最后輸出時去掉校驗字節(jié),完成糾錯譯碼。錯誤字節(jié)計數(shù)電路11與錯誤情況判斷電路7相連,獲得錯誤字節(jié)個數(shù),并進(jìn)行累加,累加結(jié)果返回系統(tǒng)總線,供系統(tǒng)查詢。
在糾錯譯碼電路中,伴隨式計算電路5參見圖3。伴隨式計算電路5實現(xiàn)有多種方式,本實施例采用譯碼數(shù)據(jù)多項式R(x)除以最小多項式所得的余式來求伴隨式的方法。伴隨式計算電路5中乘以α,α2和α3的電路分別參見圖5A,圖5B,圖5C中的電路。圖中每個電路都有8個1位寄存器,用以存放初值和每次運算的結(jié)果。在每個時鐘周期內(nèi),這三個電路都分別完成一次乘以α,α2和α3的運算。伴隨式計算電路5每個時鐘周期運算一次,當(dāng)所有的數(shù)據(jù)輸入芯片以后,伴隨式即同時計算完成。在每個時鐘周期內(nèi),S0與輸入的并行數(shù)據(jù)累加;S1、S2和S3寄存器中保存的上次計算的結(jié)果分別乘以α,α2和α3,并與8位并行數(shù)據(jù)相加,結(jié)果仍保存回原寄存器。256個時鐘周期以后,各個寄存器中保存的就是伴隨式計算結(jié)果。
輔助參數(shù)計算電路6中乘法和除法運算的實現(xiàn),利用有限域GF(28)元素與其本身相對于本原元的冪次之間的對應(yīng)關(guān)系,通過查表把域元素映射成自己的指數(shù),把乘法和除法操作轉(zhuǎn)換成模255的加法和減法操作,最后再把模加減運算的結(jié)果映射回有限域。每次運算都通過兩次查表和一次模加完成。該電路所實現(xiàn)的正變換和反變換需要兩個映射表,每個表用256字節(jié)的RAM實現(xiàn)。由于有限域元素0無法進(jìn)行映射,所以,當(dāng)進(jìn)行運算的元素中有一個為0時,不需要映射和模255加減的運算,直接輸出計算結(jié)果0。雖然如果除數(shù)為0計算結(jié)果也是0,沒有物理意義,但是通過除法電路計算得到的參數(shù)(E、CO0和CO1)的使用條件,保證了在進(jìn)行這些除法計算的時候除數(shù)不為0,計算結(jié)果正確。
這樣的實現(xiàn)方式不僅節(jié)省了可編程邏輯器件芯片中寶貴的邏輯資源,而且充分利用了芯片的塊RAM資源。所實現(xiàn)的乘法和除法運算最多只需要4個時鐘周期,但是該實現(xiàn)方式要求芯片具有一定的塊RAM容量,其具體實現(xiàn)電路見圖4。
錯誤值按錯誤位置輸出電路9,其中的子模塊93,94和95中計算錯誤位置的電路,和子模塊95中計算錯誤值的電路,都是通過圖5A,圖5B和圖5C中有限域GF(28)元素乘以α,α2和α3電路實現(xiàn)的。
圖6是糾錯譯碼電路的時序信號波形圖。圖中CLK為時鐘信號,RST為復(fù)位信號,ENIN為輸入使能信號,RS為輸入待糾錯譯碼數(shù)據(jù),ECASE為錯誤情況,M為糾錯譯碼后數(shù)據(jù),ENOUT為輸出使能。每塊256字節(jié)數(shù)據(jù)輸入糾錯譯碼電路后經(jīng)過14個時鐘周期,輸出第一個經(jīng)過糾錯譯碼的字節(jié);經(jīng)過13個時鐘周期,該電路可以開始接收新一批256字節(jié)數(shù)據(jù);每個待糾錯字節(jié)進(jìn)入糾錯譯碼電路后經(jīng)過270個時鐘周期,輸出相應(yīng)的糾錯譯碼結(jié)果。
實施例2參見圖1,本實施例的RS(256,252)碼糾錯譯碼芯片還包括輸入接口電路1,實現(xiàn)了與嵌入式x86處理器的接口;其中輸入接口電路1一方面與具體的系統(tǒng)環(huán)境相連接,從系統(tǒng)中得到時鐘、復(fù)位、讀寫控制、片選等控制信號和數(shù)據(jù)/地址信號,另一方面與糾錯譯碼電路2和3相連,供給糾錯譯碼電路正確的數(shù)據(jù)輸入和糾錯譯碼使能信號。輸出接口電路4與糾錯譯碼電路2和3相連接,獲得糾錯譯碼結(jié)果,實現(xiàn)并給下級設(shè)備例如高速多路復(fù)接器,輸出串行數(shù)據(jù)和串行數(shù)據(jù)時鐘。
本實施例包括兩個糾錯譯碼電路2或3,其結(jié)構(gòu)同實施例1,在該實施例中兩個RS(256,252)糾錯譯碼電路2和3,并行接收16位總線上的數(shù)據(jù),其工作頻率達(dá)到了100MHz以上,所以數(shù)據(jù)率至少有1600Mbps。每塊數(shù)據(jù)輸入糾錯譯碼電路后最多經(jīng)過14個時鐘周期,就能輸出第一個經(jīng)過糾錯譯碼的字節(jié),即每個待糾錯字節(jié)進(jìn)入糾錯譯碼電路后經(jīng)過270個時鐘周期輸出相應(yīng)的糾錯譯碼結(jié)果。這樣,完成容量為2Gbit的數(shù)據(jù)的糾錯譯碼工作只用大約1.42秒,遠(yuǎn)遠(yuǎn)小于軟件譯碼時間。上述計算是對于具體實施方式
1中與x86CPU接口的芯片實現(xiàn)而言的,對于其他平臺,由于并行譯碼模塊數(shù)量的增加數(shù)據(jù)率還可能更高。另外,整個糾錯譯碼電路集成在一片芯片中,與之交互的信號很少,對大容量存儲器的復(fù)雜性影響很小。同時,多種接口的實現(xiàn)使得本發(fā)明所述的芯片可以應(yīng)用于多種系統(tǒng)環(huán)境。
在糾錯譯碼電路中,伴隨式計算電路5中乘以α,α2和α3的電路參見圖圖5A,圖5B,圖5C。在每個時鐘周期內(nèi),S0與輸入的并行數(shù)據(jù)累加;S1、S2和S3寄存器中上次計算的結(jié)果分別乘以α,α2和α3,并與8位并行數(shù)據(jù)相加,結(jié)果仍保存回原寄存器。256個時鐘周期以后,各個寄存器中保存的就是伴隨式計算結(jié)果。
由S=R·HT=(S0,S1,S2,S3)=(r0,r1,...,r255)·HT,以及HT=100011111αα2α3············1α254(α2)254(α3)254,]]>HT為256×4的矩陣有S0=r0+r1+...+r255=Σj=0255rj]]>Si=r1+r2α...+r255α254=Σj=1255rjαi(j-1),]]>i=1,2,3上式可以改寫為Si=(...((r255αi+r254)αi+r253)αi+...+r1)αi+r1,i=1,2,3在每個時鐘周期,上周期S1、S2和S3的計算結(jié)果乘以αi,與本周期輸入的碼字相加,作為本次計算結(jié)果;S0累加輸入碼字。各個伴隨式的初始值為0。
(2)輔助參數(shù)計算電路6輔助參數(shù)B0、B1、B2、E、CO0和CO1都分別需要通過伴隨式S0,S1,S2和S3的平方、乘除和相加運算才能求得。這些數(shù)據(jù)都是以有限域的矢量形式表示的,因此計算是有限域中的運算。加法電路是通過兩數(shù)對應(yīng)位的“異或”電路實現(xiàn)的,不需要進(jìn)位。有限域元素乘法(平方)和除法的電路實現(xiàn)方法很多,但是往往速度較慢或者占用大量的邏輯資源,尤其是除法電路。本發(fā)明實現(xiàn)的有限域GF(28)元素的乘法和除法電路,采用兩種實現(xiàn)方法,一種是通過查表映射,把乘除運算轉(zhuǎn)換為加減運算的實現(xiàn)方法;另一種是直接利用有限域的多項式模乘實現(xiàn)乘法,再利用乘法電路實現(xiàn)除法的實現(xiàn)方法。
(3)錯誤情況判斷電路7本實施例所實現(xiàn)的錯誤情況判斷電路根據(jù)表1實現(xiàn)。判斷條件沒有采用邏輯延遲較大的組合邏輯電路一次實現(xiàn),而是把各個條件放在伴隨式計算完成的時鐘周期和輔助參數(shù)計算完成的時鐘周期生成。
(4)錯誤值按錯誤位置輸出電路9該電路中錯誤位置的指示通過錢搜索電路完成,錯誤值計算電路與錢搜索電路同步進(jìn)行。該電路每周期運算一次,與FIFO緩存數(shù)據(jù)同步輸出。錢搜索電路將有限域元素α254到α的倒數(shù)依次代入差錯位置方程中,從高位開始逐字校驗,如果代入后的方程成立,則說明此時FIFO輸出的數(shù)據(jù)發(fā)生錯誤,否則,說明該數(shù)據(jù)正確。
第一種情況,始終輸出0。
第二種情況,在第256時鐘周期,輸出錯誤值S0;其他時鐘周期,輸出0;第三種情況,在前255個時鐘周期,差錯位置方程S2+S1αi=0的求解通過錢搜索電路實現(xiàn)。即在每個時鐘周期,S1與以S2為初值的乘α電路的計算結(jié)果相加,如果和為0,則輸出錯誤值S0,否則,輸出0;在第256時鐘周期,輸出錯誤值0;第四種情況,在前255個時鐘周期,差錯位置方程S2+S1αi=0的求根通過錢搜索電路實現(xiàn),即在每個時鐘周期,S1與以S2為初值的乘α電路的計算結(jié)果相加,如果和為0,則輸出錯誤值E,否則,輸出0;在第256時鐘周期,輸出錯誤值E+S0;第五種情況,在前255個時鐘周期,每個時鐘周期,CO0與以CO1為初值的乘α電路的計算結(jié)果相加,計算錯誤值;差錯位置方程B0(αi)2+B2αi+B1=0的求根通過錢搜索電路實現(xiàn),即在每個時鐘周期,以B1為初值的乘α2電路的計算結(jié)果,加上以B2為初值的乘α電路的計算結(jié)果,在加上B0,如果和為0,則輸出此時的錯誤值,如果和不為0,則輸出0;在第256時鐘周期,輸出錯誤值0;根據(jù)錯誤情況,選擇以上五種情況的錯誤值輸出。
(5)糾錯譯碼電路10把輸出接口電路4輸出與FIFO 8的輸出,作為異或門的輸入,進(jìn)行糾錯;輸出每256字節(jié)數(shù)據(jù)的前252個字節(jié),完成譯碼。
(6)錯誤字節(jié)計數(shù)電路11差錯字節(jié)計數(shù)電路把錯誤情況判斷電路輸出的錯誤情況轉(zhuǎn)化為計數(shù)值,并進(jìn)行累加。累加結(jié)果和糾錯結(jié)果一起輸出。本電路將計數(shù)結(jié)果返回數(shù)據(jù)總線,供CPU讀取。
(7)先入先出緩存電路(FIFO)8可以使用外部單獨的FIFO器件,也可以在芯片內(nèi)直接中實現(xiàn)。本電路在可編程邏輯芯片中實現(xiàn),使完整的電路都集成在一個芯片中,在使用該芯片時不需要其他的器件配合。
本芯片輔助參數(shù)計算電路中,有限域乘法(平方)和除法電路的另一種實施方式如圖9所示的具體的電路框圖。
表1 錯誤情況判斷表
其中,“/”表示在判斷時不考慮該值
權(quán)利要求1.一種糾錯譯碼芯片,包括錯誤值按錯誤位置輸出電路(9)與錯誤情況判斷電路(7);其特征在于,還包括一伴隨式計算電路(5),待糾錯的每塊數(shù)據(jù)(256字節(jié))輸入伴隨式計算電路(5),計算伴隨式,該256字節(jié)數(shù)據(jù)同時輸入FIFO電路(8);輔助參數(shù)計算電路(6)與伴隨式計算電路(5)連接,根據(jù)伴隨式計算電路(5)的輸出計算輔助參數(shù);錯誤情況判斷電路(7)分別與伴隨式計算電路(5)和輔助參數(shù)計算電路(6)相連接,錯誤情況判斷電路(7)根據(jù)伴隨式計算電路(5)和輔助參數(shù)計算電路(6)的輸出,判斷256字節(jié)數(shù)據(jù)的錯誤情況;錯誤值按錯誤位置輸出電路(9)與錯誤情況判斷電路(7)相連接,根據(jù)錯誤情況判斷電路(7)的輸出結(jié)果,錯誤值按錯誤位置輸出電路(9)中的糾錯選擇電路(91)選擇子模塊(92),子模塊(93),子模塊(94)和子模塊(95)之一工作,在發(fā)生錯誤的位置輸出對應(yīng)的錯誤值;最后各個子模塊的輸出通過多路選擇電路(96)選擇后輸出;FIFO電路(8)的輸出和錯誤值按錯誤位置輸出電路(9)的輸出都連接到糾錯譯碼電路(10),使錯誤值與待糾錯數(shù)據(jù)對應(yīng)相加,實現(xiàn)糾錯,最后輸出時去掉校驗字節(jié),完成糾錯譯碼。
2.按權(quán)利要求1所述的糾錯譯碼芯片,其特征在于,還包括一輸入接口電路(1),該輸入接口電路(1)一方面與具體的系統(tǒng)環(huán)境相連接,完成系統(tǒng)與糾錯譯碼電路之間的交互,從系統(tǒng)中得到時鐘、復(fù)位、讀寫控制、片選控制信號和數(shù)據(jù),這些信號經(jīng)過變換和緩存后,供給糾錯譯碼電路;同時,系統(tǒng)也通過輸入接口電路查詢糾錯譯碼電路的工作情況。
3.按權(quán)利要求2所述的糾錯譯碼芯片,其特征在于,所述的輸入接口電路(1)包括“片選1”信號和系統(tǒng)的寫信號通過或非門(101)和D觸發(fā)器(102),產(chǎn)生糾錯譯碼器的時鐘,通過D觸發(fā)器(103)獲得并緩存系統(tǒng)總線上的待譯碼數(shù)據(jù);“片選2”信號和系統(tǒng)寫信號通過或非門(107)控制D觸發(fā)器(105)的使能,同時決定計數(shù)器(108)是否清零;總線上的信號(104)決定信號(106)的值,而信號(106)決定選擇器(109)選擇輸出0還是輸出計數(shù)器(108)的計數(shù)結(jié)果;信號通過D觸發(fā)器(110)輸出最終的譯碼器使能信號;計數(shù)器(108)重復(fù)輸出256個時鐘周期的高電平和13個周期的低電平。
4.按權(quán)利要求1所述的糾錯譯碼芯片,其特征在于,還包括輸出接口電路(4),所述的輸出接口電路(4)與糾錯譯碼電路(2)相連接,獲得糾錯譯碼結(jié)果,經(jīng)處理后按需要輸出給下級設(shè)備,實現(xiàn)對糾錯譯碼數(shù)據(jù)的并串轉(zhuǎn)換,輸出串行數(shù)據(jù)和串行時鐘;同時,還實現(xiàn)旁路邏輯,當(dāng)前端糾錯譯碼電路失效時,旁路糾錯譯碼輸出,直接輸出原始數(shù)據(jù)。
5.按權(quán)利要求4所述的糾錯譯碼芯片,其特征在于,所述的輸出接口電路(4)包括“片選2”信號和系統(tǒng)的寫信號通過或非門(41)和D觸發(fā)器(42)產(chǎn)生信號(43),控制選擇器(44)選擇糾錯譯碼后的數(shù)據(jù)和未經(jīng)糾錯譯碼的數(shù)據(jù)之一輸出給并串轉(zhuǎn)換電路(47),實現(xiàn)旁路功能;“片選1”信號和系統(tǒng)的寫信號通過或非門(45)和與門(46)產(chǎn)生并串轉(zhuǎn)換電路(47)的LOAD信號,并串轉(zhuǎn)換電路(47)完成并串轉(zhuǎn)換,輸出串行數(shù)據(jù)和串行時鐘。
6.按權(quán)利要求1所述的糾錯譯碼芯片,其特征在于,所述的CPU是x86或PowerPC,總線是PCI或USB或IEEE1394總線。
7.按權(quán)利要求1所述的糾錯譯碼芯片,其特征在于,所述的伴隨式計算電路(5),采用譯碼數(shù)據(jù)多項式R(x)除以最小多項式所得的余式來求伴隨式的方法實現(xiàn)的電路。
8.按權(quán)利要求1、2或4所述的糾錯譯碼芯片,其特征在于,所述的先入先出緩存電路(8)采用外部單獨的FIFO器件,或在可編程邏輯芯片中直接實現(xiàn)。
9,按權(quán)利要求1、2或4所述的糾錯譯碼芯片,其特征在于,所述的錯誤字節(jié)計數(shù)電路(11)為一用于把錯誤情況判斷電路(7)輸出的錯誤情況轉(zhuǎn)化為計數(shù)值,并進(jìn)行累加,累加結(jié)果返回系統(tǒng)總線,供系統(tǒng)查詢的電路。
專利摘要本實用新型涉及一種糾錯譯碼芯片,包括256字節(jié)數(shù)據(jù)輸入伴隨式計算電路計算伴隨式,同時輸入FIFO電路;輔助參數(shù)計算電路與伴隨式計算電路連接,錯誤情況判斷電路分別與伴隨式計算電路和電路相連接,錯誤情況判斷電路判斷256字節(jié)數(shù)據(jù)的錯誤情況;錯誤位置按錯誤位置輸出電路與錯誤情況判斷電路相連接,錯誤位置按錯誤位置輸出電路中的糾錯選擇電路91選擇不同的子模塊92,93,94和95,按照錯誤位置輸出錯誤值;各個子模塊的輸出通過多路選擇96輸出;FIFO電路的輸出和電路的輸出連接到糾錯譯碼電路,錯誤字節(jié)計數(shù)電路與錯誤情況判斷電路相連,獲得錯誤字節(jié)個數(shù),累加后輸出。
文檔編號G11B20/18GK2788455SQ20042011274
公開日2006年6月14日 申請日期2004年11月12日 優(yōu)先權(quán)日2004年11月12日
發(fā)明者曹松, 張玉良, 陳斌, 沈衛(wèi)華, 陳小敏, 孫輝先 申請人:中國科學(xué)院空間科學(xué)與應(yīng)用研究中心