多用途纠错计算电路的制作方法

文档序号:7532019阅读:188来源:国知局

专利名称::多用途纠错计算电路的制作方法本申请名为“有限域求逆”的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都从α基表示转换成β基表示,并用β基表示计算下述表达式(以后称作两个指针和的倒数)1&alpha;L0+&alpha;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=&alpha;L&RightArrow;S1=S0&alpha;L]]>如果上述关系保持正确,便确认了存在一个单一的错误。在上述考虑中,在图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+S0&alpha;L0&alpha;L0+&alpha;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去乘因子1&alpha;L0+&alpha;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+&sigma;1&prime;&Delta;&alpha;k+&sigma;2&prime;&Delta;&alpha;2k=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</tables></tables>在子步骤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·祖克申请人:西尔拉斯逻辑公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1