专利名称:伽罗瓦域线性变换器的利记博彩app
技术领域:
本发明涉及一种伽罗瓦域线性变换器,尤其涉及能够在一个单周期内实现多周期变换的这样一种伽罗瓦域线性变换器。
相关申请本发明要求2001年11月30日申请的临时专利申请序号No.60/334,662的优先权。
背景技术:
使用伽罗瓦域线性变换,用于纠错和检错、通信、编码和解码及通用位处理的传统的算术逻辑电路,可以用硬件或软件实现。硬件实现的花费高,需要大量的芯片空间和能量,并且通常不可编程。软件实现虽然避免了其中一些缺点,但是软件实现具有其自身的缺点。比如,软件实现可能需要许多按位进行处理的指令。因此,对于按位需要四个指令(周期)的实现来说,一个16位的输入将消耗64个机器时间周期。更为现实的是,在典型的软件实现里,每秒处理6百万比特,按位使用4或5个指令(周期),则需要24-30百万个指令或周期。当在通常情况下使用多于一个电路,即4个或5个电路时,则需要的周期增加到120-150百万。而对于使用发信机和接收机的系统来说,周期将会加倍增长。这是传统处理机容量的基本部分。
发明内容
因此,本发明的目的在于提供一种改良的伽罗瓦域线性变换器,使用多项式,比如用于位处理、纠错和检错、通信、编码和解码、加密和解密、加扰和去扰以及循环冗余校验。
本发明的另一目的是提供在单周期内实现多周期伽罗瓦域线性变换的这样一种改良的伽罗瓦域线性变换器。
本发明起于能够用一个矩阵实现在单周期内完成多比特、多周期变换的一种快速、有效、经济的伽罗瓦域线性变换器,该矩阵包含多个单元(cell),每个单元包括一个“异或”门、输出被连接到该“异或”门的一个“与”门和用于向其相关的“与”门提供输入的一个可编程存储装置,用于设置矩阵以在单周期内获得多周期伽罗瓦域线性变换。
本发明的特征在于一个伽罗瓦域线性变换器,包括一个响应于一个或多个比特流里的多个输入比特并具有用于提供那些比特的伽罗瓦域线性变换的多个输出的矩阵。该矩阵包括多个单元,每个单元包括一个“异或”逻辑电路、输出被连接到该“异或”逻辑电路并且输入被连接到其中一个输入比特的一个“与”逻辑电路,以及向其相关的“与”逻辑电路提供输入的一个可编程存储装置,用于设置所述矩阵以在单周期内获得输入的多周期伽罗瓦域线性变换。
在优选的实施例中,除输出被连接矩阵输出的最后一个“异或”逻辑电路和输入连接到零电平的第一个“异或”逻辑电路以外的每个“异或”逻辑电路可以使其输出被连接到,下一个相继的“异或”逻辑电路的输入。可编程存储装置可以包括多个存储单元,每一个可编程存储单元用于启动一个不同的伽罗瓦域线性变换。对矩阵的输入可以包括代表伽罗瓦域线性输出的先前状态条件的状态输入,对于矩阵,状态输入可以从矩阵的伽罗瓦域线性输出所代表的先前状态条件反馈。
附图简述通过以下对优选实施例的描述和附图本领域的技术人员很容易想到其他目的、特征和优点,其中
图1是现有技术的多比特、多周期伽罗瓦域线性变换器的示意图;图2是图1中的现有技术伽罗瓦域线性变换器的信号状态示意图;图3是根据本发明的为在单周期内实现如图1和图2所示的多周期变换的矩阵的概念图;图4是用于本发明矩阵中的单个“异或”单元的示意图;图5是根据本发明的一种矩阵实现方法的示意图;图6是根据本发明的与数字信号处理机相关的伽罗瓦域线性变换器示意图;以及图7是可用于本发明矩阵中的、不需要特定的“与”门就可以完成“与”功能的单元的一种可选实现方法。
具体实施例方式
图1所示的、用于实现伽罗瓦域线性变换电路10的现有技术硬件布线电路,包括两个存储装置触发电路12和14以及两个“异或”门16和18。在该特殊的现有技术的实现中,提供两个比特流,至“异或”门16的x比特流输入20,和作为“异或”门18的输入提供的y比特流22。从触发电路12的输出,指定为A,向“异或”门18提供一个输入。第二输入是在输入22上的y输入,而第三输入是触发电路14的输出B。触发电路14的输出B也向“异或”门16提供第二输入。
在这个特例中在每个x和y输入上接收到一组三个比特之后,电路10将决定触发电路12和14的条件或输出作为目标。因此,所关心的输入是在输入20上的x0、x1、x2和在y输入线22上的输入比特y0、y1和y2。通过用图示的反馈环完成“异或”门16和18以及触发电路12和14的操作,能够显示如图2表中所示的输出。在x和y输入的初始状态不存在的情况下,触发电路16和18的输出显示为A和B。这就是触发电路的初始状态。该状态可以为零或任意其他值或电平。
引入x0和y0之后,输入自然显示为x0和y0。触发电路16的输出显示为x0+B,而触发电路18的输出显示为y0+A+B。在输入比特x1和y1后,按照环绕该电路的相同逻辑,触发电路16的输出为x1+y0+A+B,而触发电路18的输出为x0+y1+y0+A。最后,在引入第三比特x2和y2后,触发电路16的输出显示为x2+x0+y1+y0+A,而触发电路18的输出显示为x1+B+y2+x0+y1。
为了达到这一点,已花费了许多运行周期和大量的硬件。这也可能已在软件里实现,在这种情况下,如背景技术中所说明的,每一个比特将需要4个甚至更多的指令或运行周期,并且,这正是如图1和图2所示的简单情况。比如,如果使用更多的比特流,z、t、u、v...,每比特流将需要更多比特来达到此目标,比如,每比特流5比特,或8或64或128,图1中的硬件尺寸和现有技术已授的软件所需要的时间将会极为不利。
本发明起于用于完成伽罗瓦域线性变换的这种多周期操作能够通过生成矩阵来避免,比如,图3所示的矩阵,这个矩阵在仅一个周期内可以立即预测输出目标。如果矩阵能如图3所示构造,那么在处理完双比特流里的每三个比特之后,触发电路12和14的最后输出或条件能在单周期内实现矩阵能够在一个周期内预测通常要在许多周期内产生的输出。
为了实现这个目标,矩阵只有多个输入,包括A、B、x输入x0-x2和y输入y0-y2。为了向触发电路16产生最终条件A0,仅需要连接输入A、x0、x2、y0和y1以获得如图2表中所示的最终结果。同样地,为了获得如图2所示的用于触发电路18的最终结果B0,仅需要连接输入B、x0、x1、y1和y2。
为了产生这样的矩阵,必须构造单元,其中每个单元30(图4)包括向“与”门34提供一个输入的存储装置32,另一个输入是比特输入,比如,x0、x1、x2、y0、y1、y2、A或B。存储装置32的合理比特电平由比特输入电平和线77上的写信号或时钟脉冲决定。“与”门34的输出传送给“异或”门36。“异或”门的输出进入一条线上的下一个“异或”门,而“异或”门36的另一个输入来自一条线上的前一个“异或”门。一行上的最后一个“异或”门的输出实际上组成矩阵的输出,并且,将第一个“异或”门的输入连接到零电位上;因此这里不存在前一个“异或”门。
存储装置32可以是一个单存储装置,存储一个传送给“与”门34的比特,以使其对伽罗瓦域线性变换所期望的最终输出起作用。可选择地,存储装置32可以包括多个如在32′和32″中以幻像(phantom)显示的存储单元,或者仅包括一个其中有多个不同比特的寄存器,根据运行模式和在“异或”门36中所期望引起的行为,能够有选择性地传送给“与”门34。
图5所示的是使用多个单元30的矩阵的全部实现过程。但是,在进行说明前,应当理解,尽管图3所示和图5实现的矩阵有特定的结构,但这并不是对本发明的必要限定。比如,在图3和图5的矩阵中,提供A和B的初始状态作为输入。但是,并非一直必须这样。比如,如果它们为零就不必需要输入。这些输入能够用于其他用途。另外,在一些应用中,期望作为输入提供A值和B值,并通过从来自于如图3以幻像所示的输出的简单反馈提供A值和B值。另外,不需要每个所提供服务的比特流都是两个均为三比特的比特流。可以是一个有或少或多比特的比特流,或者是除x和y以外的多个比特流,在每个要处理的集合中每个比特流都有或多或少比特。
根据本发明的图3矩阵的实现如图5所示,其采用多个如图4所示的“异或”单元30。
在图5所示的这个特定的实现过程中,矩阵包括16个单元以处理8个输入A、B、x0、x1、x2、y0、y1、y2,并提供两个输出A0和B0。第一行的每一个单元40、42、44、46、48、50、52和54,接收输入A、B、x0、x1、x2、y0、y1、y2,并提供输出A0,而第二行的每一个单元56、58、60、62、64、66、68和70响应同样的输入以提供第二个输出B0。
最初,线72上的写信号或时钟脉冲使得第一行中每个单元里的每个存储装置32向其相关的“与”门34提供合适的比特电平1或者0以设置“异或”门36,这样它就能在一个周期内预测该装置的最终目标。同样,对于第二行单元56、58、60、62、64、66、68、70,时钟74上的写信号使得在每个单元中的存储装置32向其相关的“异或”门提供所示的比特电平,以使其在一个周期内立即预测B0的最终输出。可以获得其他时钟信号,比如,76和78,用于向其他存储装置或寄存器中的阶段提供写信号。
为了对矩阵编程用于其他的运行模式,除了输出构成矩阵的输出的最后一个单元和前面没有单元且具有前述的0电平作为其输入的第一个单元以外的每行里的每个单元提供其输出,作为下一个单元的输入。代表装置当前状态的输出A0和B0能够馈入作为A和B,或者如果系统在不合适的模式使用,比如,A和B具有0值,这些输入可能会被忽视或者用于其他输入,如x3、y4。
还应当理解,条件重复也就是,对于下一个三比特x3、x4、x5和y3、y4、y5,以及接下来的集合x6、x7、x8和y6、y7、y8等等将获得同样的输出。因此,本发明的矩阵重复性地完成同样的任务,并且,不管存在一个比特流、两个比特流或者许多比特流,不管进行处理的比特集包括这里所示的仅3比特或者4比特、10比特、64比特、128比特、417或者其他数目的比特。
虽然图4和图5里的每个单元的实现过程使用特定“异或”门和带有触发电路的“与”门,本发明对此不做限制。比如,该触发电路能够使用任何一种可编程存储装置来实现。并且,只要是运行在像“异或”门和“与”门的布尔意义上的逻辑电路,“与”门和“异或”门不必以同样的方法实现。比如,图7中,存储装置32b用“异或”门36b和2∶1多路复用器电路34b。如果线110上的控制信号为0而不是输入112从前一个单元,线114,到下一个单元,线116,并且,禁止在线114上输入。如果,线110上的信号而不是线112上的信号被禁止,并且,在线114上的信号被通过则多路复用器电路34b每次仅能通过两个信号中的一个信号。因此,由多路复用器电路34b实现的“与”逻辑电路依然能够完成布尔“与”功能。
伽罗瓦域线性变换器28作为可编程逻辑装置中的功能单元被实现,可编程逻辑装置如图6中的数字信号处理器(DSP)100,或者作为集成电路实现的通用微处理器。这个功能单元由在总线102和103上提供该单元适当操作数的特殊处理机指令所操作。使用芯片上的数据寄存器104,以伽罗瓦域线性变换器28作为算术单元106自身的一部分来运行的形式来处理往返该单元的数据流。伽罗瓦域线性变换器28和算术单元106的合并允许提供更通用的功能,其中伽罗瓦域线性变换能够在其他传统运算中实现,使得能使用大范围不同的算法实现。许多不同类型的结构和可编程逻辑装置可以从本发明的使用中受益。更具体地,根据本发明的单元可以选择性地作为自定义逻辑电路或协处理器或专用子系统来实现。
尽管本发明的特定特征在一些附图中示出,而在其他图中没有示出,这只是为了方便起见,因为每种特征可以与根据本发明的任何或其他特征组合。这里使用的“包括”、“包含”、“具有”和“带有”将广义地和全面地译出,并不受任何物理相互连接的限制。而且,在该申请文本中所公开的任何实施例不能作为仅有可能的实施例。
本领域的技术人员很容易想到其他实施例,这些实施例包含在以下权利要求书中。
权利要求
1.一种伽罗瓦线性变换器包括一个矩阵,其响应于一个或更多比特流中的多个输入比特并有多个用于提供那些比特的伽罗瓦线性变换的输出;所述的矩阵包括多个单元,每个单元包括一个“异或”逻辑电路、一个输出被连接到所述“异或”逻辑电路而输入被连接到所述输入比特中的一个比特的“与”逻辑电路,以及一个用于向其相关的“与”逻辑电路提供一个输入的可编程存储装置,用于设置所述矩阵以在一个单周期内获得所述输入的一个多周期伽罗瓦线性变换。
2.根据权利要求1的伽罗瓦线性变换器,其中除输出被连接到所述矩阵的输出的最后一个“异或”逻辑电路和输入被连接到零电平的第一个“异或”逻辑电路以外的每一个所述“异或”门的输出被连接到下一个相继的“异或”逻辑电路的输入。
3.根据权利要求1的伽罗瓦线性变换器,其中所述可编程存储装置包括多个存储单元,每个存储单元被编程用于实现不同的伽罗瓦线性变换。
4.根据权利要求1的伽罗瓦线性变换器,其中对所述矩阵的所述输入包括代表所述矩阵的所述伽罗瓦域线性输出的先前状态条件的状态输入。
5.根据权利要求4的所述伽罗瓦线性变换器,其中对所述矩阵的所述输入包括从由所述矩阵的所述伽罗瓦域线性输出所代表的先前状态条件反馈的状态输入。
全文摘要
一种伽罗瓦线性变换器(28),包括一个矩阵,其响应于一个或更多比特流中的多个输入比特并有多个用于提供那些比特的伽罗瓦线性变换的输出;该矩阵包括多个单元(40、42、…70),每个单元包括一个“异或”逻辑电路(36)、一个输出被连接到“异或”逻辑电路并且输入被连接到所述输入比特中的一个比特的“与”逻辑电路(34),以及一个用于向其相关的“与”逻辑电路提供一个输入的可编程存储装置(32),用于设置所述矩阵,以在一个单周期内获得该输入的一个多周期伽罗瓦线性变换。
文档编号H03M13/01GK1571953SQ02820843
公开日2005年1月26日 申请日期2002年11月14日 优先权日2001年11月30日
发明者约瑟夫·斯坦, 海姆·普里莫, 乔舒亚·A·卡布罗特斯基 申请人:阿纳洛格装置公司