新四季網

多用途糾錯計算電路的製作方法

2023-05-08 18:20:01


專利名稱::多用途糾錯計算電路的製作方法本申請名為「有限域求逆」的ChrisZook1993年11月4日提交的美國專利申請(序列號為08/147,758)的部分繼續申請,並涉及下列同時提交的專利申請名為「通用糾錯系統」的ChrisZook1994年9月16日提交的美國專利申請(序列號為08/307,259);名為「CRC/EDC校驗器系統」的ChrisZook1994年9月16日提交的美國專利申請(序列號為08/306,917);通過引用將上述專利申請全部結合在此。本發明涉及用於糾正數據的糾錯系統,具體地涉及用於執行包含在這種糾錯中的數學運算的電路。糾錯運算通常在多種基表示中進行(諸如α基表示與/或β基表示)並且通常包含比生成多項式係數多得多的內容。誠然,除了基轉換(諸如從α基表示轉換到β基表示或反過來)之外,通常還進行其它運算,其中包含乘法,求逆與加法運算。雖然傳統的包含Berlekamp-Massey型卷積電路的糾錯電路主要在並行數據傳送模式中操作,現已認識到串行傳送數據明顯地減小電路尺寸(諸如通過取消並行總線)並從而降低電路成本。然而此前尚缺少執行包含基轉換、內積生成、乘法、求逆及加法運算在內的多種數學串行運算的電路。在其中執行糾錯操作的一個實例為緊緻盤(CD)驅動器。緊緻盤(CD)最初用於聲音錄製與再生。CD驅動器為聲音用途操作CD並不包含隨機存取,並且任何搜索(諸如對錄製在盤上的不同音響作品)都以相對低的速度發生。再者,由於人耳是以連續的、主要是實時的方式處理與接收再生的聲音的,對於聲音用途,CD驅動器沒有必要糾正一切錯誤。如果在聲音錄製中出現了不能糾正的錯誤,在試圖糾正該錯誤中備份與重新讀取錯誤所在的CD部分是不現實的。而是通常消除任何不能糾正的錯誤與/或用其它時間接近的信號導出(例如平均)的一個信號來取代。CD上的錄製出現在基本上是螺旋形的路徑上,在一定程度上將這一路徑概念化為具有不同半徑的道。對於聲音用途的CD是格式化成包含多個幀的。每一幀具有2352個8位字節的數字音頻數據。對於聲音用途,CD格式化成不僅包含錄製在其上的作品(諸如歌曲)的數字音頻數據,還包含子碼。子碼是以有規律的間隔分散在CD上的音頻數據中間的。組合分散的子碼以集合成包。如圖8A中所示,每一子碼包具有24個6位字節。從而,各子碼字節的欄位長度(6位)與數據字節的欄位長度(8位)不同。如圖8A中所示,將一個子碼包概念化為分成一個「Q」部分及一個「P」部分。各子碼包的「Q」部分包含前四個6位符號(即字節0-3);各子碼包的「P」部分包含其餘的符號(字節4-23)。雖然對理解本發明沒有必要,順便提一下,子碼是用來提供諸如切換道時指示道是否為音頻數據、從作品開始的時間長度等。在一些應用中,用來伴隨音頻輸出的視覺顯示信息的圖形信息(諸如卡拉OK)可存儲在子碼中。雖然最初用於聲音目的,最近幾年來,CD也已用於記錄計算機數據。從計算機數據的觀點,將CD格式化成包含許多2352個8位字節。記錄在CD上的計算機數據不利用子碼。在再生CD時,將一幀(對於聲音)或扇區(對於計算機數據)的相關部分加載進緩衝器(諸如RAM)中。緩衝器為各幀/扇區保持2064位元組的數據。所有CD數據是用CIRCECC在最低級別上加以保擴的。關於記錄/再生計算機數據,某些CD系統提供稱作分層ECC的附加糾錯能力。為了執行糾錯的目的,將存儲在緩衝區中的各幀/扇區概念化為包含兩塊或交錯。圖8B示出一幀/扇區的偶塊/交錯及奇塊/交錯。採用乘積碼方案的糾錯碼在一幀/扇區的兩塊上進行運算。各塊中,一列字節構成一個碼字。例如,在偶塊中,字節0000,0043,0086,……,0989構成列碼字CWeven0的數據部分;字節0001,0044,0087,……,0990構成列碼字CWeven1的數據部分;等等。字節1032與1075構成列碼字CWeven0的ECC部分;字節1033與1076構成列碼字CWeven1的ECC部分;等等。對於奇塊,存在著類似的碼字CWodd0,CWodd1,等。從而,每一塊有43個列碼字。各塊的最後兩個字節(例如字節1030even;103odd;1031even;1031odd)包含CRC/EDC信息並相應地稱作EDC或CRC塊。在某些格式中CRC字節不一定是一塊的數據部分的最後字節。例如,並不完全填滿圖2的塊的數據格式可將CRC字節放在數據末尾後面,而在CRC字節後面加上填充字節零直到填滿這些塊為止。同樣在各塊中,一條對角線的字節構成一個對角線碼字。例如參見圖8B的偶塊,第一對角線碼字包含字節0000,0044,0088,……,1056,1100,0026,……,0686,0730,1118,1144。這樣,每塊中有42個列碼字與26個對角線碼字。圖8B的圖示說明不應掩蓋緩衝器中的數據並不是按碼字的次序存儲的這一事實。例如,緩衝器中的一個扇區的字節是以下述次序存儲的偶塊的字節0000(即字節0000even);來自奇塊的字節0000(即字節0000odd);字節0001even;字節0001odd;以此類推到字節1031even;1031odd。當具有糾錯能力的系統從CD接收到計算機數據時,CIRCECC可生成供分層ECC使用的出錯指針。在用於CD驅動器的這種糾錯系統中,為每一碼字供給多至兩個指針。各指針通常是一位信息。一個扇區的指針信息通常存儲在緩衝器中其關聯的扇區前面或後面,並以能夠確定該指針指向為哪一碼字的哪一字節的方式存儲。從而,對於計算機數據目的,CD系統的緩衝器存儲了多個扇區,其中還存儲了用於各扇區的指針信息。類似地,對於聲音目的,CD系統的緩衝器中存儲了多個幀,以及多個子碼包。面向位的糾錯計算電路執行包含形成內積、求逆、乘法、加法及雙向基轉換在內的多種數學運算。該電路包含連接成一個卷積電路的三個寄存器體來對第一寄存器體與第二寄存器體產生一系列內積。各寄存器體包括多個一位寄存器(觸發器)。各寄存器體具有一個串行輸入端,藉此能將一個多位值串行加載到其中。為各寄存器體設置了一個寄存器體加載開關,用於將多個串行多位值中選中的一個加載進寄存器體中,包括有選擇地選通來自各反饋電路的反饋信號。這多個串行多位值中至少一個是常數值。該電路還包括連接到所選擇的加載開關上的第一與第二多位存儲寄存器。第一與第二多位存儲寄存器為串行移位寄存器,其中第二多位存儲寄存器為雙向移位寄存器(方便下述基轉換)。面向位的糾錯電路還包括求和電路與比較電路。求和電路連接在第一存儲寄存器;第二存儲寄存器;及卷積電路的一個內積輸出上。求和電路的一個輸出端有選擇地連接在第一存儲寄存器上。比較電路比較第一寄存器體;第二寄存器體;與第三寄存器體中至少兩個的內容。第一寄存器體與第三寄存器體兩者具有連接在各自的寄存器體中選擇的寄存器上的反饋乘法器,通過改變反饋乘法器連接在其上的寄存器的選擇可以有選擇地改變反饋乘數的值。從而反饋乘數的值根據包含在數據糾錯中的值的欄位長度能夠有選擇地改變,藉此允許處理8位字節(在例示的實例中)或6位字節(對音頻子碼)。面向位的糾錯計算電路包含一個雙向轉換單元,用於將m位輸入值從輸入基表示轉換成輸出基表示(輸入基表示與輸出基表示之一為α基表示而輸入基表示與輸出基表示的另一個為β基表示,假定已選擇了β基表示的一個欄位元素α0使得其最高位為一而其其餘的位為0)。轉換單元包括一個輸入寄存器,用於存儲以輸入基表示的輸入值及用於串行輸出按照輸入基表示的預選的位次序的輸入值。輸入寄存器為一個雙向移位寄存器。第一寄存器體構成一個轉換存儲器,其相關的反饋電路將轉換存儲器中的一個當前值乘以一個反饋常數,以便生成一個反饋因子。在m次加法運算的每一次中,加法器相加(1)從輸入寄存器輸出的輸入值與(2)反饋因子的對應的位來生成加載進轉換存儲器的最高位單元中的和,並在任何其餘的加法運算中將其串行移位通過轉換存儲器,藉此在m次加法運算結束時在轉換存儲器中提供該m位輸入值的輸出基表示。當基轉換單元的輸入基表示為α基表示時,輸入值是從其最高位到其最低位輸出的。當輸入基表示為β基表示時,輸入值是從其最低位到其最高位輸出時。當輸出基為α基時,輸出是按相反的位的次序。由於轉換存儲器是連接在雙向移位寄存器(300(1))上的,從而可將輸入值的α基串行移位回輸入寄存器中,同時輸入寄存器是從低到高移位的。從而,面向位的糾錯計算電路的部件(諸如寄存器)是參加多種計算操作的。在例示的實施例中,這些計算操作出現在從CD盤驅動器中獲得的數據的糾錯的範圍中。從下面對示出在附圖中的較佳實施例的更具體的描述中,本發明的上述與其它目的、特徵與優點將是顯而易見的,附圖中參照字符在全體各種視圖中指示相同的部件。附圖沒有必要按比例,而是將重點放在展示本發明的原理上。圖1為按照本發明的一個實施例的CDROM糾錯系統的示意性方框圖。圖2為用於圖1的CDROM糾錯系統的發生器部件的示意性方框圖。圖2A為展示圖2的發生器電路的一部分的電路實現的示意性方框圖。圖3為展示圖3A與圖3B之間的關係的示意性方框圖,圖3A與圖3B為集體展示用於圖1的CDROM糾錯系統的計算部件的示意性方框圖。圖4為包含在圖3B的計算部件中的卷積電路(convolutioncircuit)的示意圖。圖5為包含在圖3A與圖3B的計算部件中的基本轉換電路的示意圖。圖6為用於圖1的CDROM糾錯系統的校正器部件的示意性方框圖。圖7為用於圖1的CDROM糾錯系統的EDC校驗器部件的示意圖。圖8A展示傳統子碼包的格式。圖8B展示存儲在緩衝器中的子碼的分成兩塊交錯的概念化。圖9為圖1的CDROM糾錯系統的兩階段(帶指針的計算機數據)操作圖。圖10為一般性描述涉及指針處理的步驟的流程圖。圖11為展示本發明的計算電路在將一個值從α基表示轉換到β基表示中所執行的步驟的流程圖。圖12為展示本發明的計算電路關於緩衝器指針處理的情況2所執行的各種步驟的流程圖。圖13為展示包含在錯誤模式生成的第一種情況中的基本步驟的流程圖。圖14為展示包含在錯誤模式生成的第二種情況中的基本步驟的流程圖。圖15為描述圖1的CDROM糾錯系統在處理子碼時所執行的步驟的流程圖,並進一步示出圖15與圖15A、圖15B及圖15C之間的關係。圖15A為展示包含在子碼的雙錯誤檢測(DED)操作中的步驟的流程圖。圖15B為展示包含在子碼的單錯誤檢測(SED)操作中的步驟的流程圖。圖15C為展示包含在子碼的四重擦除校正操作中的步驟的流程圖。圖1示出通過系統控制器10與緩衝器(一般性地用虛線15描繪)通信的CDROM糾錯系統。根據CDROM當前正在進行操作處理計算機數據還是數字音頻數據,緩衝器中存儲了多個扇區或幀。在處理計算機數據時,緩衝器中還存儲了指針位,如上所述。在處理數字音頻數據時,緩衝器中具有產生圖8A中所示的並在上面討論的子碼包的分散的子碼。在這裡所示的特定糾錯方案中實現交錯技術,從而將一個扇區的數據概念化為包含兩塊碼字,例如一個偶塊及一個奇塊,如圖8B中所描繪的。通過數據總線BD數據字節在緩衝器與控制器10之間傳送,而包含控制信息在內的其它信息則是在控制總線BBUS上交換的。圖1的CDROM糾錯系統還包括一個發生器或發生部件20;一個計算器或計算部件30;一個校正器或校正部件60;及一個EDC校驗器部件70。圖1的CDROM糾錯系統的所有活動是由控制器10例如使用總線CBUS上攜帶的控制與其它信號監視的。這些控制與其它信號示出在對該系統的構成部件更專門的其它圖中。結構發生器圖2中更詳細地展示發生器20,也稱作SYNGEN。如下面將看到的,在計算機數據/指針模式中,發生器20在DATATIME階段中生成用於碼字的校正子,而在PTRTIME階段中生成m位錯誤指針值。在子碼模式中,發生器20為子碼生成校正子。發生器20具有其本身的部件控制器或發生器控制器200,它基本上在用包含在CBUS中的引線連接在其上的系統控制器10的監視下操作。發生器20還包括門晶片202;兩個加法器204,具體地說加法器204(0)與204(1);兩個立即寄存器206,具體地說寄存器206(0)與206(1);兩個終端寄存器208,具體地說寄存器208(0)與208(1);以及兩個通用反饋電路210,具體地說反饋電路210(0)與210(1)。此外,發生器20包括兩個或門212,具體地說或門212(0)與212(1)。來自緩衝器的數據是在並行總線GDAT上從系統控制器10傳輸到發生器20的,並在其針DI上作用在門202上。考慮到所示系統的交錯操作,在每一次傳輸中將兩個字節的數據接連地作用在發生器20上。具體地,對於每一次傳輸,首先將來自偶交錯的一個字節的數據作用在門202上,隨後是來自奇交錯的一個字節的數據。如圖2中所示,發生器20實際上包括兩個子發生器,一個S0校正子子發生器(它包括加法器204(0)、寄存器20b(0)、寄存器208(0)及反饋電路210(0)),以及一個S1校正子子發生器(它包括加法器204(1)、寄存器206(1)、寄存器208(1)及反饋電路210(1)。在計算機數據/指針模式中,例如,門202將來自偶交錯的字節引導到偶子發生器並將來自奇交錯的字節引導到奇子發生器。各子發生器以圖2A中的功能方式交替地表示。作用在使能線214上的信號允許門202施加一個字節進加法器204中。所施加的字節與通過反饋電路210選通的信號相加,相加結果首先存儲在立即寄存器206中,然後移位到終端寄存器208中。從而,可將終端寄存器208的內容通過反饋電路210反饋給加法器204。圖2A示出發生器20,具體地說反饋電路210的可選擇的配置。例如,反饋電路210示出為包含三條交替反饋線路,即反饋線路216、218與220。反饋線路216與218上具有設置在其上的乘法器226與228,而反饋線路220則沒有乘法器。乘法器226乘以示例性地描繪為αsc的反饋值(在處理子碼時使用);乘法器228乘以示例性地描繪為α的反饋值(在不處理子碼時使用)。乘法器226與228的輸出端連接在乘法器選擇開關(多路復用器)230的各交替輸入端上。乘法器選擇開關230的輸出端連接在乘法使能開關(乘法器)240的第一輸入端上,開關240的第二輸入端連接在反饋線路220上。當存儲在終端寄存器208中的值要被反饋乘法器相乘時,作用在開關240上的信號ENAMUL根據作用在開關230上的信號ENA_SC通過它選通線路261上的反饋信號(經乘法器226乘過的)或線路218上的反饋信號(經乘法器228乘過的)之一。如下面將看到的,當使用發生器20(在操作的DATA_TIME階段中)來生成校正子時,便用寄存器208(0)來存儲為來自偶交錯的碼字生成的第一校正子(S0);用寄存器206(0)來存儲為來自奇交錯的碼字生成的第一校正子(S0);用寄存器208(1)來存儲為來自偶交錯的碼字生成的第二校正子(S1);以及用寄存器206(1)來存儲為來自奇交錯的碼字生成的第二校正子(S1)。當用發生器20來生成指針時(在操作的PTR_TIME階段中),可將一個偶交錯碼字的第一指針存儲在寄存器208(0)中;可將一個偶交錯碼字的第二指針存儲在寄存器208(1)中;可將一個奇交錯碼字的第一指針存儲在寄存器206(0)中;以及可將一個奇交錯碼字的第二指針存儲在寄存器206(1)中。當使用發生器20來為子碼生成校正子時,分別將子碼校正子S0、S1、S2與S3存儲在寄存器208(0)、208(1)、206(0)與206(1)中。存儲在發生器寄存器208(0)與208(1)中的值可傳送給計算部件30。從寄存器208(0)與208(1)的傳送分別出現在總線S0、S1上[如圖2中所示],也分別標記為總線S01、S02[如圖1中所示]。結構計算器計算器30包括預/後處理子部件兩者(圖3A中所示)及一個執行子部件(圖3B中所示)。合在一起,預/後處理子部件與執行子部件構成一個多功能計算電路,它執行包含加法、乘法、求逆、基轉換及內積形成在內的諸多串行運算。計算器30的預處理子部件示出在圖3A的上半部分中,而後處理子部件則示出在圖3A的下半部分中。預處理子部件包括兩個多位存儲寄存器300,具體地說第一多位存儲寄存器300(0)及第二多位存儲寄存器300(1)。與各存儲寄存器300關聯的有一個中間存儲寄存器302,即將存儲寄存器300(0)連接成接收來自中間寄存器302(0)的輸入;將存儲寄存器300(1)連接成接收來自中間寄存器302(1)的輸入。進入各中間寄存器302的數據輸入是由開關(即多路復用器)304控制的。用多路復用器304(0)來選擇來自寄存器208(0)[作用總線上的在圖3A中示出為S0及圖1中示出為S01]或來自寄存器300(0)的輸出端的輸出之一。類似地,用多路復用器304(1)來選擇來自寄存器208(1)[作用總線上的在圖3A中示出為S1及圖1中的S11]或來自寄存器300(1)的輸出端的輸出之一。從發生器20進入計算器30、及通過多路復用器304、中間寄存器、及到存儲寄存器300的數據傳送並行發生。存儲寄存器300(0)與300(1)及第二多位存儲寄存器為8位串行移位寄存器。在下面相對於圖5討論的基轉換運算中扮演特殊的獨特角色的存儲寄存器300(1)為雙向移位寄存器。寄存器300中的值能並行讀出供應用在它們各自的多路復用器304上,或者以下面描述的方式串行移位出去到圖3B的執行子部件中。計算器30的預處理子部件還包括,如圖3A中所示,寄存器饋送開關或多路復用器310(0)與310(1),它們允許分別對寄存器300(0)與300(1)串行饋送交替值(諸如來自中間寄存器302以外的值)。此外,計算器30的預處理子部件包含一求和電路320。求和電路包含多個與門及異或門,標示為與門322、324及326以及異或門328及330。當與門322接收到控制信號SO_TO_SUM時,門322將來自寄存器300(0)的位串行傳遞給異或門330的第一端。按照對應的控制信號,將內積值IP(在圖3B的執行子部件中說明)或寄存器300(1)的串行施加內容作用在異或門330的第二端上。異或門330將施加在其上的兩個值相加以生成串行和S_SUM。在這方面,串行值IP及其相關的控制信號(IP_TO_SUM)被施加在與門324上,而來自寄存器300(1)的串行值及其相關的控制信號(S1_TO_SUM)則被施加在與門326上。將與門324(IP值)、326(寄存器300(1)的內容)傳遞的任何值通過用於加法目的的異或門328施加在異或門320上,供生成串行和S_SUM。如上所述,寄存器300(0)是潛在地用串行施加在寄存器饋送多路復用器310(0)上的值饋入的。具體地,這兩個饋入值便是寄存器300(0)本身的內容及剛才說明的串行和S_SUM。類似地,寄存器300(1)是潛在地串行施加在寄存器饋送多路復用器310(1)上的值饋入的。寄存器300(1)的兩個饋入值中包含異或門328的輸出(它可以是串行值IP或寄存器300(1)本身的串行內容)或寄存器R1(下面在圖3B的執行子部件中說明)的串行輸出內容之一。計算器30的預處理子部件還包括一子碼供給部分350。子碼部分350包括一反相器352,它反相最終從系統控制器10接收的一個子碼指示信號(即ENA_SUB)以產生施加在計算器30的執行子部件上的信號ENA_L_ECC。子碼部分350還包括一長度選擇開關或多路復用器354,當正在處理子碼時開關354從寄存器300(1)將S1_ALPHA位5選通到輸出線上,否則選通來自寄存器300(1)的位7。輸出線S1_ALPHA是作用在計算器30的執行子部件上的,如下面討論的。計算器30的後處理子部件包括一比較電路360。用並行信號傳送進行操作的比較電路360包括兩個8位求和器,具體地說,求和器362及364;或門372及374;以及反相器380。求和器362將寄存器300(1)的內容與來自圖3B的執行電路的值(具體地說來自第三寄存器體的值)相加。求和器364將求和器362的輸出加在來自圖3B的執行電路的另一值(具體地說,來自第一寄存器體的值)上。求和器362的輸出端連接在或門372上,使得或門372輸出指示對求和器362的兩個輸入值是否相等(信號SEOB)。類似地,求和器364的輸出端連接在或門374上,它在對求和器364的兩個輸入值相等時輸出一個反相信號ROOT。計算器30的執行子部件整體示出在圖3B中,其某些部分更詳細地示出在圖4中,圖3B示出第一串行寄存器400;第二串行寄存器401;及第三串行寄存器402。圖3B還示出內積電路404;門電路426;及加法器電路428。寄存器400、401、402、內積電路404、門電路426及加法器電路428一起構成一個BerlekampMassey型卷積電路,但它是面向拉的而不是面向字節的。具體地說,對於第一寄存器400的內容與第二寄存器401的內容內積電路400生成一個串行內積值(IP)。加法器電路428利用諸如內積電路404生成的內積與第三寄存器401的內容更新第二寄存器401的內容。參考圖4及Zook在1993年11月4日提交的名為「有限域反演器」並通過引用包含在此的序列號為08/147,758的美國專利申請可以理解圖3B的卷積電路的細節。例如,圖3B示出第一寄存器400為寄存器體4000-4007;第二寄存器401為寄存器體4010-4017;第三寄存器402為寄存器體4020-4027。這裡所用的名詞「寄存器體」是指通過它可以對位串行移位及用在卷積運算中的任何存儲設備而言。圖4示出面向位的卷積電路的細節,它包括第一寄存器體4000-4007;第二寄存器體4010-4017;及第三或中間寄存器體4021-4027。考慮到圖4的電路面向二進位,各寄存器400、401與402為(一位)觸發器,並從而在這裡也稱作觸發器。觸發器400的輸出針連接成使得其內容能向右移位(諸如觸發器4007的輸出到觸發器4006,觸發器4006的輸出到觸發器4005,及以此類推)。從傳統的Berlekamp-Massey電路類似的方式,成對的觸發器400與401(相同數字下標)的輸出針(在與門420上)進行與運算。加法器4220-4226(它們在GF(2)中為異或門)將與門420的輸出針的輸出加在一起來產生類似於當前差異dn的項(加法器4220的輸出)。圖4的卷積電路中還包含多個與門4260-4266,各與門426的輸出針連接在其相關加法器428的第一輸入上(諸如與門4260的輸出針連接在加法器4280的第一輸入針上,與門4261的輸出針連接在加法器4281的第一輸入針上,以此類推)。各與門426的第二輸入針連接成接收來自加法器4220的當前差異dn(即內積值IP)。各加法器428的第二輸入針連接到其對應的(相同下標)觸發器401的輸出針上。各加法器428的輸出針連接到對應的(相同下標)三輸入MUX424的第三輸入針上,如上所述。各與門426的第二輸入針連接到其左邊相鄰的中間觸發器402的一個輸出針上。為各中間觸發器402設置了三輸入MUX430。MUX4301-4306具有連接成接收初始化值「0」的第一輸入針;MUX4307具有分別連接成接收初始化值「1」與「0」的第一與第二輸入針。MUX4301-4306的第二輸入針連接成接收來自左邊相鄰的中間寄存器402(帶有減小1的下標的寄存器402)的輸出。MUX4301-4307的第三輸入針連接成接收來自相同下標的A觸發器401的輸出。各A觸發器401具有其輸出針連接在右邊相鄰的觸發器401上(通過上述適當MUX424的第二輸入針),連接到與門420上(供在生成差異dn中使用),及連接到相同下標的中間觸發器402上(通過相同下標的MUX430)。從而,圖4的卷積電路包括B寄存器(觸發器)400的一個存儲體B400;A寄存器(觸發器)401的一個存儲體B401;及中間寄存器(觸發器)402的一個存儲體B402。如這裡所使用的,應理解觸發器是一位寄存器,而只要在實施本發明的其它方面時可利用具有大於一位容量的寄存器。如果在存儲體B400與B401中的觸發器數目為「m」(在示出的實施例中m=8),則存儲體B402中的觸發器數目為m-1。對於圖4中所示的電路。α0選定為使t=0,從而用於圖4的電路所進行的求逆運算的α-t乘法器是乘以1的乘法(從而免除了在圖4中示出α-t乘法器)。如圖3B中所示,各寄存器400、401與402具有一個串行輸入端從而一個多位值可串行加載到其中。再者,各寄存器400、401、402具有與之關聯的一個加載開關(諸如一個或多個多路復用器)用於連接其串行輸入端,可將多個串行多位值的選中的一個加載到其中。具體地說,第一寄存器400具有第一寄存器加載開關440;第二寄存器401具有第二寄存器加載開關441;及第三寄存器402具有第三寄存器加載開關442。更具體地,加載開關440包括多路復用器440A與440B;加載開關441為一個多路復用器;而加載開關442包括多路復用器443、444、異或門445及與門446。如下面更詳細地描述的,各加載開關連接在一組可以交替地選擇的輸入線上。第一寄存器400與第三寄存器402都具有關聯的反饋電路,它們是根據各自的加載開關440與442的選擇可選擇地使用的。具體地,第一寄存器400具有反饋電路450及第三寄存器402具有反饋電路452。各反饋電路450、452連接在其關聯的各寄存器400、402的選中的位上,用於將各自的寄存器400、402的內容乘以一個反饋乘數。如下面說明的,反饋電路450、452的反饋乘數的值是可選擇地改變的。具體地,反饋乘數的值是通過改變該反饋乘數連接在其上的寄存器的選擇而可選擇地改變的。例如,反饋乘數的值是按照正在引導進相關的寄存器400、402的值的欄位長度(例如按照正在處理的是6位子碼字節還是8位字節)可選擇地改變的。反饋電路450包括異或門460;異或門470;與門480;異或門490;及與門494。異或門460的輸入端連接在寄存器400的位2與3上;異或門470的輸入端連接在寄存器400的位0與4上。這些連接是按照在本示例中使用的特定欄位發生器多項式的;應理解利用不同的欄位發生器多項式會包含不同的乘數,及異或門460與470的相應不同連接。異或門470的輸出作用在與門480的一個輸入端上,並且如果信號ENA_L_ECC為高時進一步作用在異或門490上(ENA_L_ECC是從預處理子部件的子碼供應部分350得出的[見圖3A]並在不處理子碼時為高)。否則只將異或門460的輸出傳遞給異或門490供用作反饋乘數。反饋的相乘的值是從異或門490作用在MUX440A的多個輸入端之一上的。過去指出過並在下面結合基轉換更詳細地說明的,異或門490作為一個加法器,用於將所選擇的任何反饋信號(從四位[ECC]連接或兩位[子碼]連接得出的)與從寄存器300(1)得出的值相加。當正在處理子碼時,從寄存器300(1)得出的值可以是一個6位值(通過MUX354與信號S1_ALPHA傳輸的),否則為一個8位值。類似地,反饋電路452包括異或門462;異或門472;與門482;及異或門492。異或門462的輸入端連接在寄存器402的位2與3上;異或門472的輸入端連接在寄存器402的位0與4上。如上面結合反饋電路450說明的,這些連接是按照本1示例中所用的特定欄位發生器多項式的,應理解不同的欄位發生器多項式的使用會包含不同的乘數及異或門462與472的相應不同連接。異或門472的輸出作用在與門482的一個輸入端上,並且如果如上所述信號ENA_L_ECC為高,則進一步作用在異或門492上。否則只有異或門462的輸出被傳遞給異或門492供用作反饋乘數。反饋的相乘值從異或門492作用在MUX443的多個輸入端之一上。反饋電路450的輸出只是作用在第一寄存器加載開關440上的可選擇輸入之一。其它可選擇的串行輸入包含一個常數值(作用在線R1_CONST_IN上);求和電路320(見圖3A)輸出的S_SUM值;及從校正部件60得到的P_SUM值。類似地,第三寄存器加載開關442連接成接收多個交替的串行輸入,其中包含反饋電路452產生的信號;常數值(作用在線R3_CONST_IN上並通過MUX444與443);內積值IP(通過異或門445、MUX444及MUX443作用);及寄存器402本身的內容(在線R3(0)上並通過與門446、異或門445及MUX444與443)。第二寄存器加載開關441也連接成接收它從中選擇的多個交替串行輸入。具體地,加載開關441在常數值(作用在線R2_CONST_IN上);存儲寄存器300(0)或100(1)的內容[見圖3A];或從校正部件60得到的值P_SUM中進行選擇。從而,看出第二存儲體加載開關441連接在包含一組第二存儲體串行輸入線的多條輸入線上,這些線路之一連接在第一多位存儲寄存器300(0)上,第二條線連接在第二存儲寄存器300(1)上。參見圖3A,現在理解了第二多位存儲寄存器300(1)是有選擇地連接成在其中加載來自第一寄存器400的值的(通過連接在MUX310(1)上的線R1(0))。再者,看出求和電路320的輸入端連接在第一存儲寄存器300(0)上[通過線S0(0)];連接在第二存儲寄存器300(1)上[通過線S1(0)];及連接在內積電路404上[通過線IP]。此外,求和電路320的輸出端有選擇地連接在第一存儲寄存器300(0)[通過MUX310(0)]與第二存儲寄存器300(1)[通過MUX310(1)]中各個上。結構基轉換器圖5以較簡化與孤立形式示出包含在計算器30中的基轉換電路。具體地,基轉換器包括上述雙向移位寄存器300(1);第一寄存器400;一個加法器(異或門490);一個反饋電路(一般性地指示為包含加法器496);及一個轉換控制與門498。圖5中,反饋加法器496表示反饋乘法器(諸如圖3B中的異或門460與470)。轉換控制與門498在作用在其上的信號CONVERT為高時允許基轉換。從而圖5的電路構成用於將一個m位輸入值從一種輸入基表示轉換成一種輸出基表示的一個雙向轉換單元。輸入基表示與輸出基表示之一為α基表示而輸入基表示與輸出基表示的另一個為β基表示。選擇了β基表示的域元素α0使得其最高位為一而其餘的位為零(即,10000000)。在圖5的轉換單元中,雙向移位寄存器300(1)起用於存儲輸入基表示的輸入值的一個輸入寄存器的作用,及用於按照輸入基表示以預選的位次序串行輸出輸入值的輸入寄存器的作用。寄存器400起轉換存儲器的作用並包括用於存儲多個位的多個位單元。反饋乘法器496將轉換存儲器(即寄存器400)中的當前值乘以一個反饋常數,以便生成一個反饋因子。加法器490在m次加法運算的每一次中將(1)從輸入寄存器[300(1)]輸出的輸入值與(2)反饋因子的對應的位相加。加法器490產生一個和數,將該和數加載進轉換存儲器(寄存器400)的最高位單元中,以及在任何其餘加法運算中,將其串行移位通過轉換存儲器。藉此,圖5的轉換單元在m次加法運算的結尾,在轉換存儲器(即寄存器400)中提供m位輸入值的輸出基表示。當輸入基表示為α基表示時,輸入值是從其最高位到其最低位輸出的(從寄存器300(1))。當輸入基表示為β基表示時,輸入值是從其最低位到其最高位輸出的(從寄存器300(1))。當輸出基為α基時,α基表示是在寄存器400中以逆向位次序提供的。然而,通過串行地將寄存器400的內容移位回輸入寄存器[寄存器300(1)]中同時將輸入寄存器從低到高移位,便能容易地將這些位以非逆向次序重新排列。下面說明圖5的基轉換器的操作,例如在名為「操作錯誤模式生成」的討論中。結構校正器圖6示出這裡所涉及的圖1的CDROM糾錯系統的校正器部件60的特徵。校正器60包括錯誤讀出寄存器610(0)與610(1)以及用於存儲兩組錯誤模式的錯誤中間寄存器620(0)與620(1),諸如,一組偶交錯碼字的錯誤模式與一組奇交錯碼字的錯誤模式。如這裡所用的,各組錯誤模式是用標記E0、E1表示的。錯誤讀出寄存器610(0)與610(1)是分別由錯誤中間寄存器620(0)與620(1)饋入的。錯誤中間寄存器620(0)與620(1)的饋送是分別用開關或多路復用器630(0)與630(1)控制的,它們或者將從計算器30接收的並行數據或者將各自的錯誤讀出寄存器610(0)、610(1)的並行內容選通到其中。如圖6中所示,從計算器30得到的並行數據作用在總線DIN上,更具體地,這些數據是從計算器30的存儲寄存器300(0)、300(1)得到的(圖6中的總線DIN也代表從圖3A中的總線S0或S1之一作用的信號,總線S0與S1與圖1中所示的總線S02與S12相同)。利用MUX630來將寄存器610的內容作用在寄存器620上允許錯誤值的循環,這對於存儲與讀出目的是有價值的。錯誤讀出寄存器610(0)與610(1)的輸出端連接在錯誤讀出開關或MUX635的相應輸入端上。MUX635在總線ERR(見圖6與圖1)上輸出錯誤模式E0、E1中選中的一個,供應用在EDC校驗器70及控制器10兩者上。校正器60還包括用於存儲兩組指針的指針讀出寄存器640(0)與640(1)以及指針中間寄存器650(0)與650(1),諸如一組偶交錯碼字指針及一組奇交錯碼字指針。如這裡所用的,各組指針用標記P0、P1或αL0、αL1表示。以與錯誤寄存器類似的方式,指針讀出寄存器640(0)與640(1)是分別由指針中間寄存器650(0)與650(1)饋入的。指針中間寄存器650(0)與650(1)的饋送是分別由開關或多路復用器660(0)與660(1)控制的,它們將從計算器30接收的並行數據或各自的指針讀出寄存器460(0)、640(1)的並行內容選通到其中。從計算器30接收的數據以上面對錯誤模式描述的類似方式作用在總線DIN上。校正器60還包括指針求和電路670,它在信號P1_TO_SUM的控制下串行相加來自寄存器640(0)與640(1)的指針值。指針求和電路包括與門672及異或門674。結構EDC校驗器EDC/CRC校驗器70連接成在線ERR(0)上接收來自校正器60的串行錯誤模式及在線GDAT(0)上接收串行緩衝器數據,如圖1中一般性所示及圖7中更詳細地所示。系統控制器10利用控制總線CBUS監視EDC/CRC校驗器70的操作。如ChrisZook1994年9月16日提交的名為「CRC/EDC校驗器系統」的序列號為08/306,917的美國專利申請中所描述的(通過引用將其結合在此),在系統控制器10的監視下,在正在校正字節的緩衝器的同一遍通過中,EDC/CRC校驗器70與校正器60有利地協調操作來執行校正精確性的EDC/CRC檢驗。操作計算機數據/指針模式概述圖1的糾錯系統在兩種模式中操作(1)一種用於校正具有指針的計算機數據的兩階段模式;及(2)一種用於校正包含有音頻數字數據的子碼包(見圖8A)的子碼模式。在校正帶有指針的計算機數據的兩階段模式中,發生器20、計算器30及校正器60各在兩個階段中操作,如圖9中示意性地所示。具體地,在第一階段中(稱作指針時間或PTR_TIME)(a)發生器20使用最新碼字CWn的一位緩衝器獲得的指針來生成一個或二個最新碼字的多位緩衝器獲得的指針(αL0=P0,αL1=P1);(b)計算部件30利用發生器(20)為前一碼字CWn-1生成的校正子(S0,S1)來為前一碼字生成一種或兩種錯誤模式(E0,E1);以及(c)校正部件60為計算單元30保持前一碼字CWn-1的指針值(αL0=P0,αL1=P1)。在第二階段中(稱作數據時間或圖9中的DATA_TIME)(a)發生器20生成最新碼字CWn的校正子(S0,S1);(b)計算部件30對最新碼字CWn的任何多位緩衝器獲得的指針執行數學運算;以及(c)校正單元60校正前一碼字CWn-1。在兩個階段的每一個中,發生部件20、計算部件30及校正部件60在整個系統能前進到下一階段之前在最後完成部件上等待。在這裡引用最新碼字或前一碼字時,在圖1的系統的上下文中應理解為每一個這種引用實際上是針對兩個碼字的(例如,兩個最新碼字及兩個前一碼字),因為圖1中所示的系統主要同時處理來自偶交錯碼字與奇交錯碼字兩者的字節。然而本發明的原理不局限於交錯系統,應了解這裡描述的兩階段操作也能應用於非交錯系統,其中至少類似於發生部件20、計算部件30及校正系統60中各個的部件在單一的碼字上操作。從而本系統與傳統的流水線技術不同,後者需要三種同時的階段/操作,各階段/操作使用不同的輸入並且通常將輸入從一個階段傳遞給下一階段。本系統的部件20、30與60以時分方式各處理兩種不同的操作。再者,取決於操作階段,各部件20、30及60執行兩種功能。在一個操作階段結束時,各部件20、30、60傳遞信息給另一部件,但隨後在下一階段中並不重複同一操作。而是在後面的階段中,各部件20、30、60執行不同的操作,如上面概述及下面更詳細描述的。操作指針生成(計算機數據/指針模式)如上面指出的,這裡所例示的本發明的系統在計算機數據/指針模式中進行的操作中包含一個偶交錯碼字及一個奇交錯碼字。鑑於所例示的偶交錯碼字與奇交錯碼字的成對處理,應理解在後面的描述中,任何對碼字的一般性引用既可應用於偶交錯碼字也可應用於奇交錯碼字。再者,如下面各種時機上所說明的,相對於一個偶交錯碼字生成的值在任何時刻可能存儲在一個或多個第一寄存器中,而相對於奇交錯碼字生成的值在該時刻上可能存儲在一個或多個第二寄存器中。假定在要處理一個新碼字,即最新碼字CWn的時間上在執行計算機數據/指針模式,在PTR_TIME中相對於碼字CWn所採取的第一行動是為多達兩個指針的每一個生成以αL表示的一字節緩衝器指針信息。熟悉本技術的人員應能理解,緩衝器中已存儲了各碼字的各字節的一個緩衝器指針位單元。如果設置了一個字節的位單元,則說明相對於與該設置的位單元對應的碼字字節出現或存在緩衝器指針。如這裡所使用的,利用名詞「緩衝器」指針來表示以上述方式從該緩衝器得到的指針。這裡對「指針」的所有引用應理解為意味著緩衝器指針,除非清楚地從反面標識為「系統」指針。系統指針的生成與使用在下面結合「操作指針處理」進行描述。在系統控制器10的監視下,發生器20在稱作PTR_TIME的階段中為各指針生成以αL表示的一字節指針信息。這一方面,隨著以時鐘方式在緩衝器中順序地訪問碼字的指針位,當遇到第一個設置的指針位時,便將一個指針信號作用在系統控制器10上。系統控制器10將緩衝器中的位的定時與碼字字節位置互相關聯,並相應地記錄為其生成用於第一個指針的指針信號的碼字字節位置。在接收到一個指針信號時,系統控制器10在總線GDAT上設置位0,總線GDAT是作用在門202及發生器控制器200上的。將指針初始化值(即1)加載進寄存器206(0)中。發生器控制器200還將信號作用在通用反饋電路210(0)上來配置其乘法常數(見圖2A)。具體地,由於正在生成8位指針字節,系統控制器10將信號ENA_SC作用在MUX230上,而發生器控制器200則將信號ENA_MUL作用在MUX240上,從而乘法器228的乘數常數α可在反饋電路210(0)中運算。然後,隨著通過緩衝器中的指針位的定時以各時鐘繼續進行,直到碼字的最後時鐘進展中的指針字節移位到寄存器208(0)中,乘以乘數常數,並存儲在寄存器206(0)中,最終得出具有格式αL的一個指針字節。將第一個指針字節代表性地在這裡稱作αL0或P0。例如,如果為一個碼字的第20個字節設置了第一個指針位,第一個指針字節將是α6(到碼字的24位元組數據部分的結尾還剩下四個後續時鐘/字節及碼字中的兩個ECC字節,一共在碼字中26個字節)。如果對於該碼字在緩衝器中遇到第二個指針位,便再一次設置位GDAT(0),作用在發生器控制器200及門202上,並由發生器控制器200記錄為對應於第二指針。這一方面,發生器控制器200計數對於一個碼字遇到的指針位的數目,並輸出指示它的信號PCNT。發生器控制器200記錄了已遇到第二指針,因此通過設置信號ENAP1來通知門202。門202通過加載一個指針初始化值到寄存器206(1)中,並進行[與寄存器206(1)、208(1)、反饋電路210(1)及加法器204(1)並行]與剛才對第一指針描述的相同操作來應答。第二指針將在通過該碼字的定時中的較後面的點上遇到(諸如字節22)。從而第二指針字節的乘法將在對應的較後面的階段中開始。第二指針字節是代表性地在這裡稱作αL1或P1的。在碼字的字節22上出現第二指針位的例子中,第二指針字節將是α4。生成指針字節(P0或對於兩指針碼字的P0與P1兩者)之後,將指針字節並行地從對應的寄存器208(0)、208(1)加載到計算部件30中,最終位於相應的寄存器300(0)、300(1)中供在下面的階段(DATA_TIME)中計算部件30使用。上面對指針字節生成的描述涉及來自一個交錯的最新碼字。應理解,在各PTR_TIME階段中,上述指針字節生成操作首先對一個偶交錯碼字出現然後對奇交錯碼字出現。生成後,同樣將奇交錯碼字的指針字節加載進計算部件中,具體地,到寄存器302(0)與302(1)中。將最新的偶交錯碼字與最新的奇交錯碼字兩者的指針字節加載進計算部件之後,計算部件30便在緊隨其後的階段(DATA_TIME)中進行指針字節的處理。關於這一方面,見下面子標題為「操作指針處理」的討論。如果一個碼字的指針數超過2,作為信號PCNT作用的值將指出該碼字是不能校正的。操作校正子生成(計算機數據/指針模式)在發生器20已在階段PTR_TIME中為最新的碼字CWn結束了生成一個或多個指針字節之後,發生器20等待下一階段(DATA_TIME)的開始。在DATA_TIME中,發生器20為每一碼字生成兩個校正子(在這裡代表性地表示為S0與S1),諸如為最新的碼字CWn。為了生成校正子,將反饋電路210(0)配置成利用不相乘反饋線220生成校正子S0。將反饋電路210(1)配置成通過由8位乘法器228實現乘法來生成校正子S1(以上面對指針所描述的十分相似的方式)。首先將來自偶交錯的最新碼字的第一字節選通到兩個寄存器206(0)與206(1)中,然後移位進對應的寄存器208(0)、208(1)中。接著將來自奇交錯的最新碼字的第一字節選通到兩個寄存器206(0)與206(1)中。隨後將來自偶交錯的最新碼字的第二字節選通到相對於偶交錯碼字的加法器204(0)、204(1)中。加法器204(0)將第二字節加在第一字節上;加法器204(1)在第二字節上加上第一字節的α倍。將來自加法器204(0)與204(1)的和分別加載進寄存器206(0)、206(1)。然後將來自奇交錯的最新碼字的第二字節選通到加法器204(0)、204(1)中。相對於奇交錯碼字,加法器204(0)將第二字節加在第一字節上;加法器204(1)在第二字節上加上第一字節的α倍。將進行中的偶交錯校正子移位進寄存器208(0)、208(1),同時將來自相對於奇交錯碼字的加法器204(0)與204(1)的和分別加載進寄存器206(0)、206(1)。為各碼字的其餘部分重複上述步驟,諸如為最新碼字CWn的全部26個字節或45個字節(取決於是列還是對角線碼字)。用圖8B中的一列來描述碼字字節的處理次序。這便是,對於偶交錯的第一列碼字,首先處理字節0000,接著字節0043,接著字節0086,繼續到字節1075。在一對最新碼字CWn的校正子生成結束時,偶交錯碼字的校正子S0存儲在寄存器208(0)中;偶交錯碼字的校正子S1存儲在寄存器208(1)中;奇交錯碼字的校正子S0存儲在寄存器206(0)中;奇交錯碼字的校正子S1存儲在寄存器206(1)中。如下面所述(見「操作」錯誤模式生成),這些校正子值是計算部件30在緊隨其後的階段(PTR_TIME)中用來生成錯誤模式的。操作指針處理(計算機數據/指針模式)如上面指出的(見「操作指針生成」),在階段PTR_TIME中,發生部件20已為一個偶交錯碼字及一個奇交錯碼字兩者生成了多達兩個指針字節(P0、P1又稱αL0、αL1)。在下面的階段DATA_TIME開始時,這些指針字節已存儲如下奇交錯碼字的P0與P1分別在寄存器300(0)與300(1)中;偶交錯碼字的P0與P1分別在寄存器302(0)與302(1)中。在DATA_TIME中,計算部件20為奇交錯碼字與偶交錯碼字兩者處理指針P0、P1。對於首先處理的奇交錯碼字,計算器30在DATA_TIME中執行的處理為奇碼字指針P0、P1的基轉換(到β基表示)。對於後面處理的偶交錯碼字,計算器30在DATA_TIME中執行的處理不僅包含將偶碼字指針P0、P1轉換到β基表示,還包含(在存在兩個指針時)以下述方式用基轉換後的指針形成一個反相的和。對於各碼字,計算部件30的處理發生在兩種情況之一中。第一種情況是在相對於一個碼字最多生成一個緩衝器指針時實現的。第二種情況是在相對於一個碼字生成兩個緩衝器指針時實現的。對於情況1的緩衝器指針處理,計算部件30將一個指針P0(如果存在的話)從α基表示轉換成β基表示。對於情況2的緩衝器指針處理,計算部件30將兩個指針P0與P1都從α基表示轉換成β基表示,並用β基表示計算下述表達式(以後稱作兩個指針和的倒數)1L0+L1]]>也寫作1P0+P1]]>計算部件30在階段DATA_TIME中為偶交錯碼字形成兩個指針和的倒數。如果需要為奇交錯碼字形成兩個指針和的倒數,這一指針和的倒數是在緊隨其後的階段POINTER_TIME中形成的。指針處理示出在圖10中。圖10的步驟1002到步驟1016是由計算部件30在階段DATA_TIME中執行的。步驟1020到步驟1024是在緊隨其後的POINTER_TIME階段中執行的。在步驟1002,計算部件30將奇交錯碼字的P0、P1轉換成β表示。然後在步驟1004,將奇交錯碼字的β轉換後的指針P0、P1移到寄存器302(0)、302(1)中臨時存儲。基本上同時,在步驟1006將偶交錯碼字的未轉換的指針P0、P1從寄存器302(0)、302(1)移到寄存器300(0)、300(1)中以待進行基轉換。在步驟1008發生偶交錯碼字的指針P0、P1到β基的轉換。在步驟1010,在寄存器401中形成偶碼字的和的倒數,將它保持在那裡直到下一階段。在步驟1014,將所有指針都移到校正部件60中臨時存儲。這一方面,在步驟1012,將偶碼字的指針P0、P1分別從寄存器300(0)、300(1)移到指針寄存器640(0)、640(1)中;將奇碼字的指針P0、P1分別從寄存器302(0)、302(1)移到指針寄存器650(0)、650(1)中。隨著指針的並串行移位到校正部件60中,發生器20生成的校正子移位到寄存器300、302中(用步驟1016反映)。在POINTER_TIME中,為偶交錯碼字處理了錯誤值(用步驟1018描述)之後,在步驟1020校正部件60通過分別從寄存器640(0)、640(1)中將它們的值串行輸出到求和電路670中而將奇碼字的指針P0、P1相加。求和電路670產生的和(P_SUM上的串行位)通過MUX441加載到寄存器401中(步驟1022)。在步驟1024,計算部件30形成寄存器401中的奇碼字的P0+P1之和的倒數。此後,如用步驟1026所描述,計算部件30處理奇交錯碼字的錯誤值。計算部件30所執行的基轉換、加法與求倒數運算顯示出計算部件30的通用性。下面更詳細地討論這些運算。圖11中描述了包含在指針P0、P1到β基表示的轉換中的步驟。指針P0位於寄存器300(0)中。在步驟1102,將指針P0(通過MUX441在線S0(0)上)加載進寄存器401中。在步驟1104,將(線R1_CONST_IN上的)常數「1」(通過MUX440)加載進寄存器400中。進行面向位的卷積運算(步驟1106),將寄存器400與401的內積的位作為信號IP串行輸出。在面向位的卷積中,通過加法器490與反饋電路450將α反饋作用在寄存器400上。作為信號IP串行輸出的值便是β基表示的指針P0。在步驟1108,通過確定路徑通過與門324、異或門328、異或門330、MUX310(0)到寄存器300(0)將β基表示的指針P0加載回寄存器300(0)。如果存在指針P1,便執行圖11的其餘步驟。這一方面,指針P1位於寄存器300(1)中。在步驟1112,(通過MUX441在線S1(0)上)將指針P1加載進寄存器401中。以步驟1104相同的方式,(通過MUX440)將(線R1_CONST_1N上的)常數「1」加載進寄存器400中。進行面向位的卷積運算(步驟1114),將寄存器400與401的內積的位作為信號IP串行輸出。在面向位的卷積中,通過加法器490與反饋電路450將α-反饋作用在寄存器400上。作為信號IP串行輸出的值便是β基表示的指針P1。在步驟1116,通過確定經過與門324、異或門328及MUX310(1)到寄存器300(1)的路徑,將β基表示的指針P1加載回寄存器300(1)中。情況2包含指針P0與P1到β基表示的情況1的轉換。圖12中示出在指針P0與P1從α基表示到β基表示的轉換以後,包含在情況2的加法與求倒數計算中的步驟。可以回憶起轉換後的指針P0與P1分別在寄存器300(0)與300(1)中。在步驟1202,將指針P0串行移位出寄存器300(0)通過與門322到異或門330,同時將指針P1串行移位出寄存器300(1)通過與門326及異或門328到異或門330。在步驟1204,P0與P1被異或門330相加,其和作為串行信號S_SUM出現。然後對P0+P1之和進行求倒數運算。在步驟1208,將P0+P1之和加載進寄存器400。在步驟1210,利用寄存器400與401進行面向位的卷積。在面向位的卷積中,通過加法器490及反饋電路450將α-反饋作用在寄存器400上。從結合在這裡的名為「有限域反演」的ChrisZook在1993年11月4日提交的序列號位08/147,758的美國專利申請中所理解的,卷積生成對應於一個m位值的電信號並將其存儲在寄存器401中。寄存器401中的值為第一基表示並且是由卷積生成的,使得對於k<m-1,寄存器400(包含β基表示的和P0+P1)與αKB(其中B為寄存器401中的值)的內積等於0。從而,卷積在寄存器401中產生P0+P1之和的倒數,所產生的倒數(P0+P1)-1為α基表示。再次指出,結合求倒數運算,在圖4中所示的電路中,選擇α0來使t=0,從而圖4的電路進行求倒數運算的α-t乘數為乘以1的乘法。在DATA_TIME結束時,偶交錯碼字的兩個指針之和的倒數(如果需要生成)位於寄存器401中,偶交錯碼字與奇交錯碼字的校正子分別存儲在寄存器300、302中,偶碼字的指針存儲在寄存器640中,而奇碼字的指針則存儲在寄存器642中。操作錯識模式生成(計算機數據/指針模式)如上所述,在階段DATA_TIME中發生器20為偶交錯碼字與奇交錯碼字兩者生成校正子S0、S1。在緊隨生成碼字校正子之後的PTR_TIME階段中,計算部件30為碼字生成多達兩個錯誤模式(E0、E1)。在PTR_TIME階段中,計算部件30首先為偶交錯碼字生成錯誤模式,然後為奇交錯碼字生成錯誤模式。一個碼字的錯誤模式生成出現在兩種情況之一中。當一個碼字具有少於兩個指針時出現第一種情況的錯誤模式生成。而當一個碼字具有兩個指針時出現第二種情況的錯誤模式生成。圖13例示第一種情況的錯誤模式生成;圖14例示第二種情況的錯誤模式生成。在第一種情況中,如果一個碼字只有一個單一的錯誤指針(P0),該碼字的單一錯誤模式將是S0。即碼字的錯誤模式E0便是S0,即E0=S0(S0為碼字的第一校正子)。然而對於這種單一錯誤情況,計算部件30為該錯誤生成其本身的系統指針(與緩衝器指針相對),然後保證系統指針與緩衝器指針都指向碼字的同一字節。第一種情況錯誤模式生成方案考慮到下述關係進行操作S1S0=LS1=S0L]]>如果上述關係保持正確,便確認了存在一個單一的錯誤。在上述考慮中,在圖13的步驟1302,計算部件30力圖計算出一個系統指針。步驟1302中的細節包含若干子步驟。在子步驟1302-2,將S0轉換成β基表示(以前面討論中知道的方式)並將其移至寄存器402中。類似地,在子步驟1302-4,將S1轉換成β基表示並將其移入寄存器300(1)中。然後在子步驟1302-6,將常數α-1加載進寄存器400(通過MUX440)並將常數α0加載進寄存器401(通過MUX441)。在步驟1302-8,以寄存器400及402以反饋定時進行面向位的卷積。結合步驟1302-8,操作MUX440與443來允許來自各反饋電路450、452的反饋加法。在卷積中,值S0αL保持在寄存器402中。隨著卷積的出現,如用子步驟1302-10指出的,用比較電路350的加法器362將寄存器402的內容(值S0αL)加在S1(包含在寄存器300(1)中)上。當值S0αL與S1相等時(如用或門372檢測到的),信號SEDB關掉。如果信號SEDB並未關掉(在子步驟1302-12中判定的),便確定碼字是不能校正的(子步驟1302-14)。如果並在信號SEDB關掉時,寄存器400中的值便成為碼字的計算出的系統指針(子步驟1302-16)。在步驟1302計算出系統指針後,在步驟1304計算電路30保證系統指針與緩衝器提供的指針是相同的。為了進行比較,在子步驟1304-2將系統指針從寄存器400移入寄存器402中。在子步驟1304-4,將緩衝器指針移入寄存器400中。用加法器364(見圖3A)將系統指針(路由通過加法器362)加到緩衝器指針上(子步驟1304-6)。如果指針值相等,便接通比較電路360生成的輸出信號ROOT。如果ROOT不變成高(子步驟1304-8),碼字便是不能校正的(子步驟1304-10)。當ROOT成為高時,緩衝器指針得到確認(子步驟1304-12)。在步驟1304確認了緩衝器指針時,在步驟1306將緩衝器指針移回到校正部件60的P0指針寄存器中。由於只有一個錯誤,剛好在移動之前,寄存器400中的緩衝器指針值是用反饋(α8)定時的,從而緩衝器指針成為緩衝器指針的偏移量(如αL+8)。在校正部件60中這一碼字的P1指針寄存器是設定為零的(步驟1308)。在第一種情況錯誤模式生成的末尾,錯誤模式S0=E0(從α基表示)保持在寄存器300中。在第二種情況錯誤模式生成中,計算部件30計算兩個錯誤值(E0、E1)。這兩個錯誤值計算如下E1=S1+S0L0L0+L1]]>E0=S0+E1從而,E1的確定必須在E0的確定前面。圖14示出包含在第二種情況的錯誤模式生成中的基本步驟。在步驟1402,主要利用圖5的基轉換器電路將校正子S1(以α基表示)轉換成β基表示。轉換是通過啟動信號S1_L2H(允許從最高位開始繼續到最低位串行讀出S1)及定時來自反饋電路450的反饋來完成的,從而將S1(以逆向位次序讀出)逐位加在反饋信號上,藉此在寄存器400中生成S1的β基表示。在完成基轉換時,將β轉換的S1值移回寄存器300(1)中。將緩衝器指針P0(以形式αL0)從校正部件60移入寄存器400並將S0移入寄存器401,並同時將寄存器401的以前內容[即(P0+P1)-1]臨時移到校正單元60。在步驟1404,通過用反饋定時寄存器400得出因子S0αL0從而在線IP上得到一個所要求的內積信號序列。在步驟1406通過求和電路320將線IP上的串行序列與寄存器300(1)的內容(S1)相加而得出項S1+S0αL0。然後將寄存器300(1)的內容[S1+S0αL0]移入寄存器400中。然後,在步驟1408,通過用存儲在寄存器400中的因子S1+S0αL0去乘因子1L0+L1]]>(從指針寄存器P0(即寄存器640(0))得到並移入寄存器401的)而形成E1之積。乘法出現在面向位的卷積期間當通過反饋電路450用反饋來定時寄存器400時發生乘法。將作為信號IP生成的內積序列作用在寄存器300(1)上,而成為E1。實現步驟1410、1412與1414來得出E0。在步驟1410,主要利用圖5的基轉換電路將E1從β基表示轉換回α基表示。通過將E1從寄存器300(1)移入寄存器400中(通過與門482)及逐位相加來自反饋電路450的定時的反饋而產生這一轉換。然後將E1(這時是寄存器400中的位逆序的α基表示)移到寄存器300(1)。在寄存器300(1)從低移位到高時,S0(仍為α基)保持在寄存器300(0)中。在步驟1412,通過求和電路320得出和S0+E1=E0,並將其放回寄存器300(0)中。然後,在已經計算出兩個錯誤模式值E0與E1時,在步驟1414將碼字的錯誤模式E0、E1移入校正部件60的錯誤寄存器中。操作校正(計算機數據/指針模式)在校正一對(偶交錯與奇交錯)碼字時,校正部件60已在其指針寄存器640、650中存儲有確認過的指針P0、P1,並在其錯誤寄存器610、620中存儲有錯誤模式E0、E1。校正部件60為了校正目的訪問在階段DATA_TIME中在緩衝器中正在處理的塊。塊中的各碼字是在連續的時鐘周期中受到訪問的。當碼字的指針(作為圖6中的線LOC_E上的輸出)對應於當前定時的碼字字節時,便利用通過MUX635作用在總線ERR上的對應錯誤模式(E0或E1)來校正緩衝器中的出錯字節。與這一校正處理同時,EDC校驗器系統70正在執行對一塊緩衝器的CRC檢驗(見「操作EDC校驗」)。操作概述(帶子碼的音頻)子碼模式操作用圖15中所描述的基本步驟概述。在子碼模式中,圖1的糾錯系統試圖用分散在數字音頻數據中的子碼包(示出在圖8A中)來執行校正。步驟1510A與1510B涉及對包生成校正子。在步驟1510A中,利用前四個字節(包的「Q」部分)來生成Q部分上的校正子S0、S1,及開始生成整個包上的校正子S2、S3。在步驟1510B中,利用包的其餘字節(如包的「P」部分)來完成整個包上的S2、S3的生成,及生成包的「P」部分上的校正子S0、S1。如對圖8A所理解的,在例示的實施例中,包的第一或「Q」部分由前四個6位字節(諸如符號0-3)構成而包的第二或「Q」部分由其餘的20個6位字節(諸如符號4-23)構成。通常利用包的第一或「Q」部分作包標識信息,而包的第二或「P」部分則包含數字數據等。生成了包的「Q」部分上的校正子(即S0與S1);包的「P」部分上的校正子S0與S1;及整個包上的校正子S2與S3之後,系統控制器10分析這些校正子(見步驟1520)。步驟1520的分析得出四種可能情況並對其中三種應用不同的校正策略。根據第一種情況,錯誤出現在包的P部分中但不出現在包的Q部分中,從而提示系統控制器10執行雙錯誤檢測策略[DED](由圖15中步驟1530例示)。根據第二種情況,錯誤出現在包的P與Q兩部分中,從而提示系統控制器10在包的兩個部分上執行單錯誤檢測策略[SED](由圖15中步驟1540例示)及隨後在經過校正的碼字上重新生成校正子(由圖15中步驟1541例示)。根據第三種情況,錯誤出現在包的Q部分中但不出現在包的P部分中,從而提示系統控制器10執行四重錯誤檢測策略[QD](由圖15中步驟1550例示)。根據第四種情況,所有校正子為零(表示包中不存在錯誤)。操作校正子生成(帶子碼的音頻)如圖15中所指出的,子碼的校正子生成包含兩個獨立的生成階段(由步驟1510A與1510B描述)。在步驟1510A中,利用前面四個字節(包的「Q」部分)來生成Q部分上的校正子S0、S1及開始生成整個包上的校正子S2、S3。在步驟1510B中,利用包的其餘字節(如包的「P」部分)來完成整個包上的S2、S3的生成及生成包的「P」部分上的校正子S0、S1。在子碼校正子生成中,兩次將子碼包的各字節(見圖8A)定時到發生器20中,一次用於生成子碼校正子S0、S1及一次用於生成校正子S2、S3。從而,在生成子碼校正子時,不像生成計算機數據的校正子中那樣將寄存器206、208用於不同交錯,而是用於子碼的不同校正子。表1描述用於子碼校正子生成的寄存器206、208的移位及反饋乘法運算。表1表1的第一行示出第一數據字節是如何加載進寄存器中的,將各寄存器中的第一數據字節標為S0、S1、S2與S3來指將從它們中生成的校正子。表1的第一行後面,執行對應於表1的後面6行的6個步驟。表1的第5與6行示出在兩個時鐘周期中第二數據字節的相加,首先在行5中加在校正子S0與S1上,然後(在移位寄存器值之後)在行6中加在校正子S2與S3上。行7示出校正子的進一步移位,準備好為下一個數據字節的未示出的加法。在加上下一個數據字節之前,應理解表1的行7中成為用於各校正子的更新值的表達式(諸如S1α+D)在加上下一數據字節之前將成為S1。表1的行7之後,以對表1例示的相同方式加上下面的數據字節。這便是,對於各子碼數據字節,執行由表1的行2到7所反映的6個步驟,6個時鐘中只有2個實際上包含在引入新數據字節中。對於表1中的6個步驟,應指出寄存器206的內容總是移位進寄存器208中。總是向寄存器206饋送寄存器208的內容乘以「1」或「α」。是出現乘以「1」還是乘以「α」的乘法是基於MUX230、240的設定的(見圖2A)。在執行了四次表1的六個步驟之後(即在發生器20中加上了前面四個數據字節之後),寄存器208(0)中包含包的Q部分上生成的子碼校正子S0,而寄存器208(1)中包含在包的Q部分上計算出的子碼校正子S1。在這一點上,將包的Q部分上的子碼校正子S0、S1加載進計算部件30中,從而完成圖15的步驟1510A。卸載了包的Q部分上校正子S0、S1之後,重新切換寄存器206、208的內容(即如表1的最後一行中),並為包的第五與其餘字節重複這六個步驟。然而,為了生成包的P部分上的校正子S0、S1,要清除包含包的Q部分上的校正子S0、S1的寄存器,從而將包的第五字節加載進其中。從而,在子碼包的全部24個字節進入了發生器20,並為各字節執行了表1的步驟之後,寄存器208(0)與208(1)中將最終分別包含在包的Q部分上生成的子碼校正子S0、S1,而寄存器206(0)、206(1)中將最終分別包含在整個包上生成的子碼校正子S2、S3,從而完成了圖15的步驟1510B。操作雙錯誤檢測(帶子碼的音頻)圖15A示出在圖15的步驟1530中執行的子步驟(即在子碼校正子的計算指明錯誤只位於子碼包的P部分中而不在子碼包的Q部分中時)。從而圖15A示出包含在用於子碼的本發明的雙錯誤檢測(DED)過程中的子步驟。在子步驟1530-2,為子步驟1530-4的根搜索以計算部件30可使用的形式生成錯誤定位器多項式。通常,錯誤定位器多項式具有子碼方程1的形式1+1k+22k=0]]>但由於根搜索通常是向後進行的,子碼方程1必須乘以α-n(其中n為19),並且為了產生根搜索可利用的子碼方程2而方便地乘以ΔΔ+α-nσ1′α-k+α-2nσ2′α-2k=0子碼方程2的錯誤定位器多項式是以對圖15A中子步驟1530-2-2至1530-2-8所示的方式生成的。子碼方程2的錯誤定位器多項式是用圖15的步驟1510A、1510B上生成的校正子S0(P上)、S1(P上)、S2與S3生成的。首先,在子步驟1530-2-2用下述子碼方程3生成項σ2′α-nσ2α-n=S1S3α-n+S22α-n然後,在子步驟1530-2-4,通過將子碼方程3得出的值上乘以α-n生成項σ2α-2n。在子步驟1530-2-6用下述子碼方程4得出項σ1α-nσ1α-n=S0S3α-n+S1S2α-n最後,在步驟1530-2-8用下述子碼方程5得出項ΔΔ=S0S2+S12在步驟1530-4,計算部件30通過加載σ2α-2n的值到寄存器400中,加載Δ的值到寄存器300(1)中、加載σ1α-n的值到寄存器402中並用圖3A的求和電路求出這三個寄存器的內容之和,而進行根搜索。對於每一個根搜索迭代,寄存器400兩次用反饋定時(為α-2n項)而寄存器402用反饋定時一次(為α-n項)。當定位了一個根時,發生部件20必須生成一個形式αL的錯誤定位器字節。這一方面,當定位了一個根時,便設置GDAT的位0(如子步驟1530-4所指出的)。參照帶指針的計算機數據所發生的形式αL的錯誤指針字節的類似生成(已在上面描述過)便能理解發生部件20的錯誤定位器字節的生成。在子步驟1530-8與1530-12對在子步驟1530-4的卷積中檢測到的根的數目與位置進行判定。這些判定決定對具有檢測到的根的錯誤要發生什麼類型的校正(如果有的話)。例如,如果在子步驟1530-8上判定在前三個單元的三個中檢測到了根,則在子步驟1530-10上,計算部件30執行單糾錯過程。在子步驟1530-10上執行的單糾錯過程基本上與上面討論的用於帶指針的計算機數據的相同(見諸如名為「操作指針處理[情況1]」及「操作錯誤模式生成[情況1]」的前文中的討論)。在子步驟1530-10的指針處理與錯誤模式生成中,利用子碼校正子S0、S1(都是在包的P部分上的)。作為錯誤模式生成的結果,校正部件60利用錯誤指針與錯誤模式來校正子碼包的P部分中的單個出錯字節。如果在子步驟1530-12判定子碼包中少於兩個根,便確定了該包是不能校正的。當判定對子碼包存在兩個根時,為了校正這兩個錯誤,計算部件30進行雙擦除校正過程(由子步驟1530-14描述)。在子步驟1530-14上執行的雙擦除校正過程基本上與上面討論的用於帶指針的計算機數據的相同(見諸如名為「操作指針處理[情況2]」及「操作錯誤模式生成[情況2]」的上文中的討論)。在子步驟1530-14的指針處理與錯誤模式生成中,利用子碼校正子S0、S1(都是在包的P部分上的)。作為錯誤模式生成的結果,校正部件60利用錯誤指針與錯誤模式來校正子碼包的P部分中的兩個出錯字節。雖然計算步驟沒有在這裡具體說明,應當理解計算部件60執行在子步驟1530-4的根搜索中使用的σ2α-2n、Δ及σ1α-n的計算。操作單錯誤檢測(帶子碼的音頻)當在圖15的步驟1520上判定子碼包(見圖8A)的Q部分與P部分中都存在錯誤時,便對子碼包的兩個部分分開進行單錯誤檢測操作(步驟1540)。步驟1540的單錯誤檢測(SED)操作更詳細地示出在圖15B中。作為第一子步驟(子步驟1540-2),對包的Q部分執行錯誤檢測/校正。在子步驟1540-2,利用在包的Q部分上生成的子碼校正子值S0、S1來進行與結合計算機數據的情況1描述的相同錯誤指針處理與錯誤模式生成。這一方面,見諸如名為「操作指針處理[情況1]」及「操作錯誤模式生成[情況1]」的上文中的討論。結合子步驟1540-2,校正部件60利用這樣生成的錯誤指針與錯誤模式來校正子碼包的Q部分中的出錯字節。第二,在子步驟1540-4上,對包的P部分執行錯誤檢測/校正。在子步驟1540-4中,利用在包的Q部分上生成的子碼校正子值S0、S1來進行結合計算機數據的情況1描述的相同錯誤指針處理與錯誤模式生成。這一方面,再參見諸如名為「操作指針處理[情況1]」及「操作錯誤模式生成[情況1]」的上文中的討論。結合子步驟1540-2,校正部件60利用這樣生成的錯誤指針與錯誤模式來校正子碼包的P部分中的出錯字節。如圖15的步驟1541中所示,分別在子步驟1540-2與1540-4上試圖校正子碼包的Q與P部分之後,以上述相同的方式(見諸如「操作校正子生成(帶子碼的音頻)」)再次重新生成所有子碼校正子。如果重新生成的所有校正子為零,便認為該子碼包是可校正的。操作四重擦除校正(帶子碼的音頻)當在圖15的步驟1520上判定錯誤只存在在子碼包的Q部分中時(見圖8A),例如包的P部分上的S0與S1為零,便對該子碼包的Q部分進行步驟1550的四重擦除校正。在子步驟1550-2,在子步驟1550-4上計算出四個錯誤模式E0、E1、E2與E3。各錯誤模式是用下述方程生成的Ek=S0ak0+S1ak1+S2ak2+S3ak3其中根據表2選擇ak0、ak1、ak2與ak3的記錄值。表2在子步驟1550-2計算出四個錯誤模式E0、E1、E2與E3之後,(在子步驟1550-4)進行檢驗來保證至少一個錯誤模式為零。這是減少誤校正的概率。如果無一錯誤模式為零,則認為子碼包是不能校正的。這些錯誤模式是校正部件60為了校正子碼包的Q部分中的三個或三個以下出錯字節而使用的。雖然已經參照其較佳實施例具體展示與描述了本發明,熟悉本技術的人員應能理解可在其中作出形式上與細節上的各種改變而仍不脫離本發明的精神與範圍。權利要求1.一種用於對表示包含在數據的糾錯中的值的電信號執行運算的電路,該電路包括一個第一寄存器體;連接在第一寄存器體中所選擇的寄存器上的一個反饋乘法器,用於將第一寄存器體的內容乘以一個反饋乘數;一個第二寄存器體;一個內積電路,用於對第一寄存器體的內容與第二寄存器體的內容生成一個內積;一個第三寄存器體;一個加法器,用於利用至少由內積電路生成的內積與第三寄存器體的內容更新第二寄存器體的內容;其中第二寄存器體與第三寄存器體中至少一個具有一個串行輸入端,藉此可將一個多位值串行加載到其中。2.權利要求1的裝置,其中該第二寄存器體具有一個串行輸入端,藉此能將一個多位值串行加載進第二寄存器體中,並且還包括一個第二寄存器體加載開關,用於連接第二寄存器體的串行輸入端,從而可將多個串行多位值中所選擇的一個加載進第二寄存器體中。3.權利要求2的裝置,其中該第二寄存器體加載開關為一個多路復用器。4.權利要求2的裝置,還包括一個第一多位存儲寄存器;一個第二多位存儲寄存器;以及其中該第二寄存器體加載開關是連接到包含一組第二寄存器體串行輸入線的多條輸入線上的,將該組第二寄存器體串行輸入線中的第一條線連接在第一多位存儲寄存器上,並將該組第二寄存器體串行輸入線中的第二條線連接在第二存儲寄存器上。5.權利要求4的裝置,其中第一多位存儲寄存器與第二多位存儲寄存器為串行移位寄存器。6.權利要求4的裝置,其中第一多位存儲寄存器與第二多位存儲寄存器中至少一個是有選擇地連接成將來自第一寄存器體、第二寄存器體與第三寄存器體中至少一個的值加載在其中的。7.權利要求6的裝置,其中第二多位存儲寄存器是有選擇地連接成將來自至少第一寄存器體的值加載在其中的。8.權利要求2的裝置,其中可將一個常數值通過第二寄存器體加載開關串行加載進第二寄存器體中。9.權利要求1的裝置,其中第三寄存器體具有一個串行輸入端,藉此多位值能串行加載進第三寄存器體中,並且還包括一個第三寄存器體加載開關,用於連接第三寄存器體的串行輸入端,從而能將多個串行多位值中所選擇的一個加載進第三寄存器體中。10.權利要求9的裝置,其中該第三寄存器體加載開關為一個多路復用器。11.權利要求9的裝置,還包括一個第一多位存儲寄存器;一個第二多位存儲寄存器;以及其中該第三寄存器體加載開關連接在包含一組第三寄存器體串行輸入線的多條輸入線上,該組第三寄存器體串行輸入線中的第一條線連接在第一多位存儲寄存器上,及該組第三寄存器體串行輸入線中的第三條線連接在第二存儲寄存器上。12.權利要求11的裝置,其中第一多位存儲寄存器與第二多位存儲寄存器為串行移位寄存器。13.權利要求12的裝置,其中第一多位存儲寄存器與第二多位存儲寄存器中至少一個是雙向可移位的串行移位寄存器。14.權利要求12的裝置,其中第一多位存儲寄存器與第二多位存儲寄存器中至少一個是有選擇地連接成將來自第一寄存器體、第二寄存器體及第三寄存器體之一的值加載在其中的。15.權利要求14的裝置,其中第二多位存儲寄存器是有選擇地連接成將來自至少第一寄存器體的值加載在其中的。16.權利要求9的裝置,其中可將一個常數值通過第三寄存器體加載開關串行加載進第三寄存器體中。17.權利要求9的裝置,還包括一個用於第三寄存器體的反饋乘法器,它連接到第三寄存器體中選擇的寄存器上用於將第三寄存器體的內容乘以一個反饋乘數。18.權利要求9的裝置,其中可將來自內積電路的一個輸出信號通過第三寄存器體加載開關串行加載進第三寄存器體中。19.權利要求9的裝置,其中可將第三寄存器體的內容通過第三寄存器體加載開關串行加載進第三寄存器體。20.權利要求9的裝置,其中第三寄存器體具有一個串行輸入端,藉此可將一個多位值串行加載進第三寄存器體中,並且還包括連接到第三寄存器體中的選擇的寄存器上的一個反饋乘法器,用於將第三寄存器體的內容乘以一個用於第三寄存器體的反饋乘數。21.一種用於對表示包含在數據的糾錯中的值的電信號執行運算的電路,該電路包括一個第一寄存器體;連接在第一寄存器體中的選擇的寄存器上的一個反饋乘法器,用於將第一寄存器體的內容乘以一個反饋乘數;一個第二寄存器體;一個內積電路,用於對第一寄存器體的內容及第二寄存器體的內容生成一個內積;一個第三寄存器體;一個加法器,利用至少內積電路生成的內積及第三寄存器體的內容來更新第二寄存器體的內容;一個加載開關,用於將第二寄存器體與第三寄存器體中至少一個連接到多條輸入線中所選擇的一條上,藉此能將對應的多個多位值之一加載進其中。22.權利要求21的裝置,其中該加載開關是一個多路復用器。23.權利要求21的裝置,還包括一個第一多位存儲寄存器;一個第二多位存儲寄存器;以及其中該寄存器體加載開關是連接在第一多位存儲寄存器與第二多位存儲寄存器中至少一個上的。24.權利要求23的裝置,其中第一多位存儲寄存器與第二多位存儲寄存器為串行移位寄存器。25.權利要求24的裝置,其中第一多位存儲寄存器與第二多位存儲寄存器中至少一個是有選擇地連接成將來自第一寄存器體、第二寄存器體及第三寄存器體中至少一個的值加載在其中的。26.權利要求25的裝置,其中第二多位存儲寄存器是有選擇地連接成將來自至少第一寄存器體的值加載在其中的。27.權利要求4,11或23的裝置,還包括一個求和電路,以及其中該求和電路的至少一個輸入端是連接在下述單元之一上的第一存儲寄存器;第二存儲寄存器;內積電路。28.權利要求27的裝置,其中求和電路的至少一個輸入端是有選擇地連接在下述單元的每個上的第一存儲寄存器;第二存儲寄存器;內積電路。29.權利要求27的裝置,其中求和電路的一個輸出端是有選擇地連接在第一存儲寄存器與第二存儲寄存器的各個上的。30.權利要求23的裝置,其中可將一個常數值通過寄存器體加載開關加載進第二寄存器體中。31.權利要求21的裝置,其中該加載開關是用於加載一個多位值到第二寄存器體中的第二寄存器體加載開關。32.權利要求21的裝置,其中該加載開關是用於加載一個多位值到第三寄存器體中的第三寄存器體加載開關。33.權利要求21的裝置,還包括連接在第三寄存器體中的所選擇的寄存器上的一個反饋乘法器,用於將第三寄存器體的內容乘以一個反饋乘數。34.一種用於對表示包含在數據糾錯中的值的電信號執行運算的電路,該電路包括一個第一寄存器體;連接在第一寄存器體中所選擇的寄存器上的一個反饋乘法器,用於將第一寄存器體的內容乘以一個反饋乘數;一個第二寄存器體;一個內積電路,用於對第一寄存器體的內容與第二寄存器體的內容生成一個內積;一個第三寄存器體;一個加法器,用於至少利用內積電路生成的內積及第三寄存器體的內容更新第二寄存器體的內容;連接在第三寄存器體中的選擇的寄存器上的一個反饋乘法器,用於將第三寄存器體的內容乘以一個反饋乘數。35.權利要求17、20、33或34的裝置,其中用於第三寄存器體的反饋乘數的值是可以有選擇地改變的。36.權利要求35的裝置,其中通過改變反饋乘法器所連接的選擇的寄存器,可以有選擇地改變用於第三寄存器體的反饋乘數的值。37.權利要求35的裝置,其中用於第三寄存器體的反饋乘數的值是按照正在利用的欄位發生器多項式有選擇地可改變的。38.權利要求35的裝置,其中用於第三寄存器體的反饋乘數的值是按照包含在數據糾錯中的值的欄位長度有選擇地可改變的。39.權利要求34的裝置,其中用於第三寄存器體的反饋乘法器是可以用第三寄存器體加載開關有選擇地連接到第三寄存器體上的。40.權利要求39的裝置,其中該第三寄存器體加載開關是一個多路復用器。41.一種用於對表示包含在數據糾錯中的值的電信號執行運算的電路,該電路包括一個第一寄存器體;一個第二寄存器體;一個內積電路,用於對第一寄存器體的內容與第二寄存器體的內容生成一個內積;一個第三寄存器體;一個加法器,用於至少利用內積電路生成的內積及第三寄存器體的內容更新第二寄存器體的內容;一個反饋乘法器,連接在第一寄存器體與第三寄存器體之一中的選擇的寄存器上,該反饋乘法器所連接的寄存器體為反饋寄存器體,以及其中用於反饋寄存器體的反饋乘數的值是可以有選擇地改變的。42.權利要求41的裝置,其中通過改變反饋乘法器所連接的選擇的寄存器可以有選擇地改變用於反饋寄存器體的反饋乘數的值。43.權利要求41的裝置,其中用於反饋寄存器體的反饋乘數的值是按照正在利用的欄位發生器多項式有選擇地可改變的。44.權利要求41的裝置,其中用於反饋寄存器體的反饋乘數的值是按照包含在數據糾錯中的值的欄位長度有選擇地可改變的。45.權利要求41的裝置,其中用於反饋寄存器體的反饋乘法器是連接在反饋寄存器體加載開關上的。46.權利要求45的裝置,其中該反饋寄存器體加載開關是一個多路復用器。47.權利要求41的裝置,其中該反饋寄存器體是第一寄存器體。48.權利要求41的裝置,其中該反饋寄存器體是第三寄存器體。49.權利要求1、21、34或41的裝置,還包括一個比較電路,用於比較下列單元中至少兩個的內容第一寄存器體;第二寄存器體;第三寄存器體。50.一種用於對表示包含在數據糾錯中的值的電信號執行運算的電路,該電路包括一個第一寄存器體;連接在第一寄存器體中的選擇的寄存器上的一個反饋乘法器,用於將第一寄存器體的內容乘以一個反饋乘數;一個第二寄存器體;一個內積電路,用於對第一寄存器體的內容與第二寄存器體的內容生成內積;一個第三寄存器體;一個加法器,用於至少利用由內積電路生成的內積及第三寄存器體的內容更新第二寄存器體的內容;一個加載開關,用於連接在第一寄存器體上,藉此能將多個多位值中選擇的一個加載到其中,該加載開關是連接在反饋乘法器及一個多位存儲寄存器上的。51.權利要求50的裝置,其中用於第一寄存器體的反饋乘數的值是可以有選擇地改變的。52.權利要求51的裝置,其中通過改變反饋乘法器所連接的寄存器的選擇可以有選擇地改變用於第一寄存器體的反饋乘數的值。53.權利要求51的裝置,其中用於第一寄存器體的反饋乘數的值是按照正在利用的欄位發生器多項式有選擇地可改變的。54.權利要求51的裝置,其中用於第一寄存器體的反饋乘數的值是按照包含在數據糾錯中的值的欄位長度有選擇地可改變的。55.權利要求50的裝置,其中該多位存儲寄存器是一個串行移位寄存器。56.權利要求56的裝置,其中該多位存儲寄存器是一個雙向可移位的串行移位寄存器。57.權利要求50的裝置,其中該加載開關還連接成串行加載一個多位常數值到第一寄存器體中。58.權利要求50的裝置,其中該加載開關包括多個多路復用器。59.權利要求58的裝置,其中該加載開關包括多個門。60.一種用於對表示包含在數據糾錯中的值的電信號執行運算的電路,該電路包括一個第一寄存器體;連接在第一寄存器體中的選擇的寄存器上的一個反饋乘法器,用於將第一寄存器體的內容乘以一個反饋乘數;一個第二寄存器體;一個內積電路,用於對第一寄存器體的內容及第二寄存器體的內容生成一個內積;一個第三寄存器體;一個加法器,用於至少利用由內積電路生成的內積及第三寄存器體的內容更新第二寄存器體的內容;其中各該第一寄存器體;第二寄存器體及第三寄存器體包括多個一位寄存器。61.一種用於對表示包含在數據糾錯中的值的電信號執行運算的電路,該電路包括一個第一寄存器體;連接在第一寄存器體中的選擇的寄存器上的一個反饋乘法器,用於將第一寄存器體的內容乘以一個反饋乘數;一個第二寄存器體;一個內積電路,用於對第一寄存器體的內容及第二寄存器體的內容生成內積;一個第三寄存器體;一個加法器,用於至少利用由內積電路生成的內積及第三寄存器體的內容更新第二寄存器體的內容;一個比較電路,用於比較下列中至少兩個的內容;第一寄存器體;第二寄存器體;第三寄存器體。62.一種用於對表示包含在數據糾錯中的值的電信號執行運算的電路,該電路包括用於存儲一個多位值的一個第一存儲寄存器;用於存儲一個多位值的一個第二存儲寄存器;一個第一寄存器體;連接在第一寄存器體中選擇的寄存器上的一個第一寄存器體反饋乘法器,用於將第一寄存器體的內容乘以一個第一寄存器反饋乘數及按照它生成一個第一寄存器體反饋輸出值;一個第一寄存器體加載開關,用於連接第一寄存器體的一個串行輸入端,從而能將多個串行多位值中選擇的一個加載進第一寄存器體中,能夠加載進第一寄存器體中的多個多位值中選擇的一個包括第一寄存器體反饋輸出值及存儲在第一存儲寄存器與第二存儲寄存器中至少一個中的存儲值;一個第二寄存器體;一個第二寄存器體加載開關,用於連接第二寄存器體的一個串行輸入端,從而能將多個串行多位值中選擇的一個加載進第二寄存器體中,能夠加載進第一寄存器體中的多個多位值中選擇的一個包括存儲在第一存儲寄存器與第二存儲寄存器中至少一個中的存儲值;一個內積電路,用於對第一寄存器體的內容與第二寄存器體的內容生成一個內積;一個第三寄存器體;一個加法器,用於至少利用由內積電路生成的內積與第三寄存器體的內容更新第二寄存器體的內容;連接在第三寄存器體中選擇的寄存器上的一個第三寄存器體反饋乘法器,用於將第三寄存器體的內容乘以第三寄存器體反饋乘數及按照它生成一個第三寄存器體反饋輸出值;一個第三寄存器體加載開關,用於連接第三寄存器體的一個串行輸入端,從而能將多個串行多位值中選擇的一個加載進第三寄存器體中,能夠加載進第三寄存器體的多個多位值中選擇的一個中包括第三寄存器體反饋輸出值及存儲在第一存儲寄存器與第二存儲寄存器中至少一個中的存儲值;一個求和電路,其中該求和電路的至少一個輸入端連接在下述單元中至少一個上第一存儲寄存器;第二存儲寄存器;內積電路;以及一個比較電路,用於比較下列單元中至少兩個的內容第一寄存器體;第二寄存器體;第三寄存器體。63.權利要求62的裝置,其中第一多位存儲寄存器及第二多位存儲寄存器為串行移位寄存器。64.權利要求63的裝置,其中第一多位存儲寄存器與第二多位存儲寄存器中至少一個是有選擇地連接成將來自第一寄存器體、第二寄存器體及第三寄存器體的至少一個的值存儲在其中的。65.權利要求62的裝置,其中可將一個常數值通過一個關聯的寄存器體加載開關串行加載進寄存器體中選擇的一個中。66.權利要求62的裝置,其中求和電路的一個輸出端是有選擇地連接在各該第一存儲寄存器與第二存儲寄存器上的。67.權利要求66的裝置,其中第一寄存器體反饋乘法器與第三寄存器體反饋乘法器中至少一個具有可選擇地改變的一個反饋乘法值。68.權利要求67的裝置,其中通過改變反饋乘法器所連接的寄存器的選擇,可以有選擇地改變反饋乘數之值。69.權利要求67的裝置,其中反饋乘數的值是按照正在利用的一個欄位發生器多項式有選擇地可改變的。70.權利要求67的裝置,其中反饋乘數的值是按照包含在數據糾錯中的值的欄位長度有選擇地可改變的。71.一種用於將一個m位輸入值從一個輸入基表示轉換成一個輸出基表示的雙向轉換單元,其中輸入基表示與輸出基表示之一為α基表示,而輸入基表示與輸出基表示的另一個為β基表示,已選擇了β基表示的一個欄位元素α0從而其最高位為一而其其餘的位為零,該轉換單元包括一個輸入寄存器,用於存儲輸入基表示的輸入值,及用於根據輸入基表示以預先的位次序串行輸出該輸入值;一個轉換存儲器,包括多個位單元,用於存儲多個位;一個反饋乘法器,為了生成一個反饋因子它將轉換存儲器中的一個當前值乘以一個反饋常數;一個加法器,在m次加法運算的各次中它相加(1)作為從輸入寄存器輸出的輸入值與(2)反饋因子的對應位以生成加載進轉換存儲器的最高位單元中的和,以及在其餘的加法運算中串行移位通過轉換存儲器,藉此在m次加法運算結束時在轉換存儲器中提供m位輸入值的輸出基表示。72.權利要求71的裝置,其中,當輸入基表示為α基表示時,輸入值是從其最高位到其最低位輸出的,而其中,當輸入基表示為β基表示時,輸入值是從其最低位到其最高位輸出的。73.權利要求72的裝置,其中該輸入寄存器為一個雙向移位寄存器。74.權利要求73的裝置,其中輸出基為位逆向次序的α基,及其中該轉換存儲器是連接在雙向移位寄存器上的,從而輸入值的α基是可以串行移位回輸入寄存器中同時輸入寄存器從低到高移位。75.權利要求71的裝置,其中該轉換存儲器為m個一位寄存器的存儲體。76.權利要求75的裝置,其中該反饋乘法器為連接在包括轉換存儲器的選擇的寄存器上的一個反饋電路,寄存器的選擇取決於選擇來生成該m位輸入值的欄位發生器多項式。77.權利要求71的裝置,其中該反饋常數取決於選擇來生成該m位輸入值的欄位發生器多項式。78.一種用於將一個m位輸入值從一個輸入基表示轉換到一個輸出基表示的方法,其中輸入基表示與輸出基表示之一為α基表示,而輸入基表示與輸出其表示的另一個為β基表示,已選擇了β基表示的一個欄位元素α0從而其最高位為一而其其餘的位為零,該方法包括以按照輸入基表示的預選的位次序從一個輸入寄存器串行輸出該輸入值;在m次加法運算的各次中,相加(1)作為從輸入寄存器輸出的輸入值與(2)一個反饋因子的對應位以生成加載進轉換存儲器的最高位單元中的和,並在任何其餘加法運算中,串行移位通過轉換存儲器,通過將轉換存儲器中的一個當前值乘以一個反饋常數得出反饋因子;在m次加法運算結束時,在轉換存儲器中提供該m位輸入值的輸出基表示。79.權利要求78的方法,其中當輸入基表示為α基表示時,輸入值是從其最高位到其最低位輸出的,而其中當輸入基表示為β基表示時,輸入值是從其最低位到其最高位輸出的。80.權利要求79的方法,其中輸入基為β基表示而輸出基為α基表示,其中m位輸入值的輸出基是以位逆向次序提供在轉換存儲器中的,及其中將轉換成α基的m位值串行加載回輸入寄存器中同時輸入寄存器從低到高移位。81.權利要求71或78方法,其中m為8及將α0選擇為10000000。全文摘要面向位的糾錯計算電路執行包括面向位的卷積、求逆、乘法、加法及雙向基轉換在內的多種數學運算。該電路包括連接成一個卷積電路來對第一寄存器體(400)與第二寄存器體(401)生成一序列內積的三個寄存器體(400、401、402)。各該寄存器體(400、401)具有連接在其串行輸入端上的寄存器體加載開關(440、441、442),用於將多個串行多位值中選擇的一個加載進寄存器體中,包括有選擇地選通寄存器(400、402)中來自各自的反饋電路(450、452)的反饋信號及(除了別的以外)常數值。反饋乘數的值是根據包含在數據糾錯中的值的欄位長度有選擇地可改變的。還包含一個求和電路(320)、一個比較電路(360)及一個雙向轉換單元,後者用於將一個m位輸入值從輸入基表示轉換成輸出基表示。文檔編號H03M13/00GK1163684SQ9519598公開日1997年10月29日申請日期1995年9月15日優先權日1995年9月15日發明者C·P·祖克申請人:西爾拉斯邏輯公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀