專利名稱:一種誤碼圖案生成電路及使用該電路的譯碼電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字通訊領(lǐng)域,尤其涉及FEC(前向糾錯(cuò))技術(shù)的集成電路芯片設(shè)計(jì),具體地說,涉及一種可減小FEC糾錯(cuò)編碼芯片設(shè)計(jì)面積的誤碼圖案生成電路及使用該電路的譯碼電路。
RS(255,239)是G.975規(guī)定的標(biāo)準(zhǔn)FEC糾錯(cuò)編碼方式。
圖1是RS(255,239)糾錯(cuò)編碼芯片設(shè)計(jì)框圖。如圖所示,糾錯(cuò)編碼芯片包括編碼模塊1、伴隨式計(jì)算模塊2、迭代運(yùn)算模塊3、求誤碼位置模塊4、誤碼圖案生成模塊5、FIFO(先入先出)緩沖器6和運(yùn)算器7;待編碼輸入編碼模塊1,已編碼輸出編碼模塊1;待譯碼輸入FIFO緩沖器6,同時(shí)輸入伴隨式計(jì)算模塊2,經(jīng)伴隨式計(jì)算模塊2、迭代運(yùn)算模塊3、求誤碼位置模塊4順序處理后輸出表示FEC幀中發(fā)生誤碼的符號(hào)位置的error_add(誤碼位置圖案);伴隨式計(jì)算模塊2、迭代運(yùn)算模塊3、求誤碼位置模塊4順序相連共同構(gòu)成誤碼圖案生成模塊5的上游電路;符號(hào)to_decode表示經(jīng)由FIFO緩沖器6延時(shí)輸出的待譯碼;誤碼位置圖案error_add輸入誤碼圖案生成模塊5,經(jīng)誤碼圖案生成模塊5處理后輸出FEC幀的誤碼圖案error_ptn,待譯碼to_decode和FEC幀的誤碼圖案error_ptn經(jīng)運(yùn)算器7運(yùn)算獲得已譯碼,完成FEC的譯碼糾錯(cuò)功能。
在現(xiàn)有技術(shù)中誤碼圖案生成模塊5有兩種常用解決方案,如圖2所示是誤碼圖案生成模塊5的實(shí)現(xiàn)方案一的設(shè)計(jì)框圖。該技術(shù)方案包括結(jié)構(gòu)完全相同的上下兩支對(duì)稱電路,兩支對(duì)稱電路分別包括錯(cuò)誤值計(jì)算模塊55和255*8的存儲(chǔ)器53;該發(fā)明方案利用開關(guān)51輪流選擇上支路和下支路,將誤碼位置圖案error_add輸入所選擇的支路,還利用開關(guān)52將開關(guān)51所選擇支路產(chǎn)生的誤碼圖案error_ptn輸出,完成錯(cuò)誤圖樣的計(jì)算、輸出。
該方案簡單可靠,容易設(shè)計(jì)和調(diào)試,其特點(diǎn)在于RS(255,239)譯碼過程中,誤碼圖案生成模塊5的上游電路的最大處理延時(shí)大于255個(gè)時(shí)鐘周期,即大于一個(gè)FEC幀長,而小于兩個(gè)FEC幀長。用兩個(gè)對(duì)稱電路輪流工作很好地利用了這一點(diǎn)。在對(duì)錯(cuò)誤值的存儲(chǔ)、輸出設(shè)計(jì)上,該方案采用255*8的存儲(chǔ)器來存儲(chǔ)一個(gè)FEC幀的錯(cuò)誤圖樣,然后順序輸出,與待譯碼運(yùn)算,完成糾錯(cuò)譯碼。
如圖3所示是誤碼圖案生成模塊5的實(shí)現(xiàn)方案二的設(shè)計(jì)框圖。該技術(shù)方案同樣包括結(jié)構(gòu)完全相同的上下兩支對(duì)稱電路,兩支對(duì)稱電路分別包括錯(cuò)誤值計(jì)算模塊55和8*8的存儲(chǔ)器54,以及地址寄存器56、計(jì)數(shù)器57和比較器58;該發(fā)明方案利用開關(guān)51輪流選擇上支路和下支路,將誤碼位置圖案error_add輸入所選擇的支路,還利用開關(guān)52將開關(guān)51所選擇支路產(chǎn)生的誤碼圖案error_ptn輸出,完成錯(cuò)誤圖樣的計(jì)算、輸出。
該技術(shù)方案是對(duì)前述技術(shù)方案的一個(gè)改進(jìn)。它的改進(jìn)點(diǎn)在于誤碼的存儲(chǔ)、輸出采用8*8的存儲(chǔ)器54來存儲(chǔ)一個(gè)FEC的最大8個(gè)誤碼。譯碼電路是流水作業(yè),沒有誤碼時(shí),錯(cuò)誤地址是沒有的,我們定義誤碼位置是1-255,如果誤碼位置為零,則表示沒有誤碼,這一幀的數(shù)據(jù)(255個(gè)字節(jié))的誤碼圖案可以不進(jìn)行計(jì)算,直接等下一幀就可以了。當(dāng)計(jì)算出誤碼時(shí),將誤碼值順序?qū)懭?個(gè)存儲(chǔ)單元。沒有發(fā)生錯(cuò)誤的字節(jié)的誤碼值為0,由幾個(gè)誤碼(最大是8個(gè)字節(jié))和0構(gòu)成長度為255的誤碼圖案error_ptn。在誤碼位置圖案error_add傳給錯(cuò)誤值計(jì)算模塊55的同時(shí),地址寄存器56也獲得了錯(cuò)誤地址。地址寄存器56和計(jì)數(shù)器57分別同時(shí)與比較器58相連,當(dāng)error_ptn輸出時(shí),計(jì)數(shù)器工作,當(dāng)計(jì)數(shù)器的值和地址寄存器的值相等時(shí),比較器58輸出一個(gè)脈沖將8*8的存儲(chǔ)器54里的錯(cuò)誤值順序讀出,形成error_ptn誤碼圖案。
面積盡量小是集成電路芯片設(shè)計(jì)的原則,上述誤碼圖案生成模塊的實(shí)現(xiàn)方案二雖然有效地改進(jìn)了誤碼圖案生成模塊的實(shí)現(xiàn)方案一,使RS(255,239)糾錯(cuò)編碼芯片的面積減小,但是其芯片面積仍然太大,占用資源仍然太多,而且如果該設(shè)計(jì)采用FPGA實(shí)現(xiàn),面積還將至少增加50%,并因?yàn)檫壿媶卧獢?shù)目的增加而增加成本。
發(fā)明內(nèi)容
本發(fā)明的目的在于進(jìn)一步減小FEC糾錯(cuò)編碼芯片的面積,降低設(shè)計(jì)和生產(chǎn)成本,提出一種誤碼圖案生成電路及使用該電路的譯碼電路。
為實(shí)現(xiàn)上述目的,本發(fā)明提出一種誤碼圖案生成電路,用于根據(jù)輸入的誤碼位置圖案計(jì)算并生成誤碼圖案,它包括錯(cuò)誤值計(jì)算模塊、切換開關(guān)、存儲(chǔ)與輸出電路;所述存儲(chǔ)與輸出電路包括結(jié)構(gòu)完全相同的上下兩支對(duì)稱電路及可選擇連接于上支路或下支路的開關(guān);所述上下兩支對(duì)稱電路分別包括存儲(chǔ)器組;其特征是誤碼位置圖案直接順序輸入所述錯(cuò)誤值計(jì)算模塊,所述錯(cuò)誤值計(jì)算模塊計(jì)算輸出的值通過所述切換開關(guān)被順序?qū)懭胨錾现?duì)稱電路或下支對(duì)稱電路中的存儲(chǔ)器組,所述存儲(chǔ)器組中的數(shù)據(jù)通過所述開關(guān)順序輸出構(gòu)成誤碼圖案。
一種使用上述誤碼圖案生成電路的譯碼電路,包括伴隨式計(jì)算模塊、迭代運(yùn)算模塊、求誤碼位置模塊、誤碼圖案生成模塊、先入先出緩沖器和運(yùn)算器;待譯碼輸入所述伴隨式計(jì)算模塊,經(jīng)所述伴隨式計(jì)算模塊、所述迭代運(yùn)算模塊、所述求誤碼位置模塊順序處理后輸出表示示前向糾錯(cuò)幀中發(fā)生誤碼的符號(hào)位置的誤碼位置圖案;所述誤碼圖案生成模塊將所述誤碼位置圖案處理后生成誤碼圖案;經(jīng)所述先入先出緩沖器延時(shí)輸出的待譯碼和所述誤碼圖案經(jīng)所述運(yùn)算器運(yùn)算獲得已譯碼;所述誤碼圖案生成模塊包括錯(cuò)誤值計(jì)算模塊、切換開關(guān)、存儲(chǔ)與輸出電路;所述存儲(chǔ)與輸出電路包括結(jié)構(gòu)完全相同的上下兩支對(duì)稱電路及可選擇連接于上支路或下支路的開關(guān);所述上下兩支對(duì)稱電路分別包括存儲(chǔ)器組;其特征是所述誤碼位置圖案直接順序輸入所述錯(cuò)誤值計(jì)算模塊,所述錯(cuò)誤值計(jì)算模塊計(jì)算輸出的值通過所述切換開關(guān)被順序?qū)懭胨錾现?duì)稱電路或下支對(duì)稱電路中的存儲(chǔ)器組,所述存儲(chǔ)器組中的數(shù)據(jù)通過所述開關(guān)順序輸出構(gòu)成誤碼圖案,供后續(xù)電路生成譯碼結(jié)果。
本發(fā)明將誤碼位置圖案直接順序輸入同一個(gè)錯(cuò)誤值計(jì)算模塊進(jìn)行計(jì)算,而不是通過切換開關(guān)分別送到兩個(gè)錯(cuò)誤值計(jì)算模塊,充分利用了錯(cuò)誤值計(jì)算模塊的處理能力,在對(duì)上游業(yè)務(wù)一點(diǎn)都不影響的情況下,最大限度地節(jié)省了資源。因?yàn)樵撃K的處理速度可以滿足實(shí)際需求,所以該模塊的共用不會(huì)導(dǎo)致任何負(fù)面的影響。
圖2是現(xiàn)有技術(shù)中誤碼圖案生成模塊的實(shí)現(xiàn)方案一的設(shè)計(jì)框圖。
圖3是現(xiàn)有技術(shù)中誤碼圖案生成模塊的實(shí)現(xiàn)方案二的設(shè)計(jì)框圖。
圖4是本發(fā)明誤碼圖案生成模塊的設(shè)計(jì)框圖。
本實(shí)施例是對(duì)原有技術(shù)方案二的一個(gè)重要改進(jìn),注意到錯(cuò)誤值計(jì)算模塊55的處理速度很快,根本用不了一個(gè)FEC幀長的時(shí)間,不會(huì)由于這個(gè)模塊的共用而引起數(shù)據(jù)阻塞,因此本實(shí)施例只使用一個(gè)錯(cuò)誤值計(jì)算模塊55,再將方案二中的存儲(chǔ)、輸出部分進(jìn)行復(fù)制,形成上下兩支電路。
如圖4所示的是本實(shí)施例誤碼圖案生成模塊5的設(shè)計(jì)框圖,包括錯(cuò)誤值計(jì)算模塊55,雙路開關(guān)501和開關(guān)52,還包括結(jié)構(gòu)完全相同的上下兩支對(duì)稱電路,兩支對(duì)稱電路分別包括8*8的存儲(chǔ)器54,地址寄存器56、計(jì)數(shù)器57和比較器58。
假設(shè)雙路開關(guān)501連接于上支路,誤碼位置圖案error_add輸入錯(cuò)誤值計(jì)算模塊55計(jì)算,經(jīng)過計(jì)算得出錯(cuò)誤值后,通過雙路開關(guān)501其中的一路,將錯(cuò)誤值順序?qū)懭?*8的存儲(chǔ)器54的8個(gè)存儲(chǔ)單元。誤碼位置圖案error_add經(jīng)過雙路開關(guān)501的另一路直接輸入地址寄存器56。地址寄存器56和計(jì)數(shù)器57的值輸入比較器58,比較器58輸出順序讀出脈沖給8*8的存儲(chǔ)器54。在錯(cuò)誤值計(jì)算模塊55的輸出順序?qū)懭?*8的存儲(chǔ)器54的同時(shí),計(jì)數(shù)器57開始計(jì)數(shù),當(dāng)計(jì)數(shù)器57的值和地址寄存器56的值相等時(shí),比較器58輸出順序讀出脈沖將8*8的存儲(chǔ)器54里的錯(cuò)誤值通過開關(guān)52順序讀出,形成誤碼圖案error_ptn。單路開關(guān)52在誤碼圖案輸出以后發(fā)生翻轉(zhuǎn)(由上到下)。
如果雙路開關(guān)501連接于下支路,工作過程也相同。
本實(shí)施例中8*8的存儲(chǔ)器54也可以改用其它容量的存儲(chǔ)器。
本實(shí)施例將誤碼位置圖案error_add輸入同一個(gè)錯(cuò)誤值計(jì)算模塊55進(jìn)行計(jì)算,使得誤碼圖案生成模塊5中只有一個(gè)錯(cuò)誤值計(jì)算模塊55,充分利用了錯(cuò)誤值計(jì)算模塊55的處理能力,最大限度地節(jié)省了資源。同時(shí),本實(shí)施例采用上、下支路中8*8的存儲(chǔ)器54來分別存儲(chǔ)一個(gè)FEC的最大8個(gè)誤碼,當(dāng)計(jì)數(shù)器的值和地址寄存器的值相等時(shí),將8*8的存儲(chǔ)器54里的誤碼圖案error_ptn通過開關(guān)52順序讀出,充分利用了誤碼圖案生成模塊5的上游電路的延時(shí)。
本實(shí)施例比現(xiàn)有技術(shù)中實(shí)現(xiàn)方案一節(jié)約200%的資源,比現(xiàn)有技術(shù)中實(shí)現(xiàn)方案二節(jié)約60%的資源,芯片面積會(huì)減少約8×(255-8)=1976個(gè)存儲(chǔ)單元。本發(fā)明采用雙路開關(guān)在將送給錯(cuò)誤值計(jì)算模塊的同時(shí)存儲(chǔ)該地址,用于計(jì)數(shù)比較,使整個(gè)FEC芯片電路的結(jié)構(gòu)更加緊湊。本實(shí)施例經(jīng)過仿真模擬證明可靠可行。
本發(fā)明的另一個(gè)實(shí)施例是對(duì)現(xiàn)有技術(shù)中方案一的改進(jìn),即在方案一中共享錯(cuò)誤值計(jì)算模塊55,將誤碼位置圖案error_add直接順序輸入錯(cuò)誤值計(jì)算模塊55進(jìn)行計(jì)算,利用切換開關(guān)輪流選擇上支路和下支路,上支路和下支路分別包括255*8的存儲(chǔ)器53,將錯(cuò)誤值計(jì)算模塊55輸出的錯(cuò)誤值順序?qū)懭胨x擇的支路中的255*8的存儲(chǔ)器53中,255*8的存儲(chǔ)器53里的錯(cuò)誤值通過開關(guān)52順序讀出,形成誤碼圖案error_ptn。單路開關(guān)52在誤碼圖案輸出以后發(fā)生翻轉(zhuǎn)(由上到下或由下到上)。本實(shí)施例未在附圖中示出。
本發(fā)明可以通過分立元件電路、集成電路芯片或軟件實(shí)現(xiàn),無論哪種實(shí)現(xiàn)方式,都屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種誤碼圖案生成電路,用于根據(jù)輸入的誤碼位置圖案(error_add)計(jì)算并生成誤碼圖案(error_ptn),它包括錯(cuò)誤值計(jì)算模塊(55)、切換開關(guān)(501)、存儲(chǔ)與輸出電路;所述存儲(chǔ)與輸出電路包括結(jié)構(gòu)完全相同的上下兩支對(duì)稱電路及可選擇連接于上支路或下支路的開關(guān)(52);所述上下兩支對(duì)稱電路分別包括存儲(chǔ)器組(54);其特征是誤碼位置圖案(error_add)直接順序輸入所述錯(cuò)誤值計(jì)算模塊(55),所述錯(cuò)誤值計(jì)算模塊(55)計(jì)算輸出的值通過所述切換開關(guān)(501)被順序?qū)懭胨錾现?duì)稱電路或下支對(duì)稱電路中的存儲(chǔ)器組(54),所述存儲(chǔ)器組(54)中的數(shù)據(jù)通過所述開關(guān)(52)順序輸出構(gòu)成誤碼圖案(error_ptn)。
2.如權(quán)利要求1所述的誤碼圖案生成電路,其特征是所述切換開關(guān)(501)采用雙路開關(guān),所述上下兩支對(duì)稱電路分別還包括地址寄存器(56)、計(jì)數(shù)器(57)和比較器(58);所述誤碼位置圖案(error_add)輸入所述錯(cuò)誤值計(jì)算模塊(55)的同時(shí)還通過所述雙路開關(guān)(501)的一路輸入所述上支對(duì)稱電路或下對(duì)稱電支路中的所述地址寄存器(56),錯(cuò)誤值計(jì)算模塊(55)的輸出通過所述雙路開關(guān)(501)的另一路與所述地址寄存器(56)所在的同一支對(duì)稱電路中的存儲(chǔ)器組(54)連接;所述地址寄存器(56)的值和所述計(jì)數(shù)器(57)的值輸入比較器(58),比較器(58)在所述地址寄存器(56)的值和所述計(jì)數(shù)器(57)的值相等時(shí)輸出順序讀出脈沖給所述存儲(chǔ)器組(54)。
3.如權(quán)利要求1所述的誤碼圖案生成電路,其特征是所述切換開關(guān)(501)采用單路開關(guān)(51),所述上支對(duì)稱電路或下支對(duì)稱電路中的所述存儲(chǔ)器組(54)是容量為255*8的存儲(chǔ)器(53)。
4.如權(quán)利要求2所述的誤碼圖案生成電路,其特征是所述上支對(duì)稱電路或下支對(duì)稱電路中的所述存儲(chǔ)器組(54)是容量為8*8的存儲(chǔ)器(53)。
5.一種譯碼電路,包括伴隨式計(jì)算模塊(2)、迭代運(yùn)算模塊(3)、求誤碼位置模塊(4)、誤碼圖案生成模塊(5)、先入先出(FIFO)緩沖器(6)和運(yùn)算器(7);待譯碼輸入所述伴隨式計(jì)算模塊(2),經(jīng)所述伴隨式計(jì)算模塊(2)、所述迭代運(yùn)算模塊(3)、所述求誤碼位置模塊(4)順序處理后輸出表示前向糾錯(cuò)(FEC)幀中發(fā)生誤碼的符號(hào)位置的誤碼位置圖案(error_add);所述誤碼圖案生成模塊(5)將所述誤碼位置圖案(error_add)處理后生成誤碼圖案(error_ptn);經(jīng)所述先入先出(FIFO)緩沖器(6)延時(shí)輸出的待譯碼和所述誤碼圖案(error_ptn)經(jīng)所述運(yùn)算器(7)運(yùn)算獲得已譯碼;,所述誤碼圖案生成模塊(5)包括錯(cuò)誤值計(jì)算模塊(55)、切換開關(guān)(501)、存儲(chǔ)與輸出電路;所述存儲(chǔ)與輸出電路包括結(jié)構(gòu)完全相同的上下兩支對(duì)稱電路及可選擇連接于上支路或下支路的開關(guān)(52);所述上下兩支對(duì)稱電路分別包括存儲(chǔ)器組(54);其特征是所述誤碼位置圖案(error_add)直接順序輸入所述錯(cuò)誤值計(jì)算模塊(55),所述錯(cuò)誤值計(jì)算模塊(55)計(jì)算輸出的值通過所述切換開關(guān)(501)被順序?qū)懭胨錾现?duì)稱電路或下支對(duì)稱電路中的存儲(chǔ)器組(54),所述存儲(chǔ)器組(54)中的數(shù)據(jù)通過所述開關(guān)(52)順序輸出構(gòu)成誤碼圖案(error_ptn),供后續(xù)電路生成譯碼結(jié)果。
6.如權(quán)利要求5所述的譯碼電路,其特征是所述切換開關(guān)(501)采用雙路開關(guān),所述上下兩支對(duì)稱電路分別還包括地址寄存器(56)、計(jì)數(shù)器(57)和比較器(58);所述誤碼位置圖案(error_add)輸入所述錯(cuò)誤值計(jì)算模塊(55)的同時(shí)還通過所述雙路開關(guān)(501)的一路輸入所述上支對(duì)稱電路或下支對(duì)稱電路中的所述地址寄存器(56),錯(cuò)誤值計(jì)算模塊(55)的輸出通過所述雙路開關(guān)(501)的另一路與所述地址寄存器(56)所在的同一支對(duì)稱電路中的存儲(chǔ)器組(54)連接;所述地址寄存器(56)的值和所述計(jì)數(shù)器(57)的值輸入比較器(58),比較器(58)在所述地址寄存器(56)的值和所述計(jì)數(shù)器(57)的值相等時(shí)輸出順序讀出脈沖給所述存儲(chǔ)器組(54)。
7.如權(quán)利要求5所述的譯碼電路,其特征是所述切換開關(guān)(501)采用單路開關(guān)(51),所述上支對(duì)稱電路或下支對(duì)稱電路中的所述存儲(chǔ)器組(54)是容量為255*8的存儲(chǔ)器(53)。
8.如權(quán)利要求6所述的譯碼電路,其特征是所述上支對(duì)稱電路或下支對(duì)稱電路中的所述存儲(chǔ)器組(54)是容量為8*8的存儲(chǔ)器(53)。
全文摘要
本發(fā)明公開數(shù)字通訊領(lǐng)域一種可減小FEC糾錯(cuò)編碼芯片設(shè)計(jì)面積的誤碼圖案生成電路及使用該電路的譯碼電路,根據(jù)輸入的誤碼位置圖案(error_add)計(jì)算并生成誤碼圖案(error_ptn),它包括錯(cuò)誤值計(jì)算模塊(55)、切換開關(guān)(501)、存儲(chǔ)與輸出電路;存儲(chǔ)與輸出電路包括上下兩支對(duì)稱電路及開關(guān)(52),對(duì)稱電路分別包括存儲(chǔ)器組(54);誤碼位置圖案(error_add)直接順序輸入錯(cuò)誤值計(jì)算模塊(55)計(jì)算,所計(jì)算輸出的值通過切換開關(guān)(501)被順序?qū)懭氪鎯?chǔ)器組(54),存儲(chǔ)器組(54)中的數(shù)據(jù)通過開關(guān)(52)順序輸出構(gòu)成誤碼圖案(error_ptn)。
文檔編號(hào)H03M13/00GK1449151SQ0210863
公開日2003年10月15日 申請日期2002年4月4日 優(yōu)先權(quán)日2002年4月4日
發(fā)明者張洪濤, 亢婕 申請人:華為技術(shù)有限公司