用于实现伽罗华域约简的电路和方法

文档序号:10697534阅读:404来源:国知局
用于实现伽罗华域约简的电路和方法
【专利摘要】一种用于使用不可约多项式约简伽罗华域扩展值的伽罗华域约简电路装置,包括多个存储器,每个存储器用于存储从不可约多项式导出的相应值和扩展位值的相应组合,其中,扩展值的扩展位对多个存储器寻址以输出相应值中的一个或多个值。伽罗华域约简电路装置还包括用于将多个存储器的输出与所述扩展值的域内位组合的异或电路装置。还存在一种操作这样的伽罗华域约简电路装置以约简伽罗华域扩展值的方法,一种并入电路装置的可编程集成电路器件,一种在这样的可编程集成电路器件上执行伽罗华域乘法运算的方法和一种将可编程集成电路器件配置为执行这样的伽罗华域乘法运算的方法。
【专利说明】
用于实现伽罗华域约简的电路和方法
技术领域
[0001] 本发明设及用于实现伽罗华域约简的电路装置和使用该电路装置来实现任意大 小的伽罗华域约简的方法,特别设及一种可编程集成电路器件。
【背景技术】
[0002] 有限域或者伽罗华域算术具有运种特性,即对特定有限域内的两个值的任何操作 的结果也落在域内。显然对于有限域内的值的许多操作而言,该特性将容易实现,但是对于 其它操作而言,该特性可能变得难W实现。作为数学上最简单的示例,例如,如果操作是加 法,那么有限域的较低范围内的值的普通加法提供仍然在域内的结果,但是如果操作的值 中的一个值是域内的最高值,那么不存在提供仍然在域内的结果的普通加法操作(假定域 内的所有值是正的)。
[0003] 因此,众所周知,特别是当实现在电路中时,伽罗华域操作包括两个级-扩展级和 约简级,所述扩展级可能导致域外的值,并且所述约简级使该值返回到域中。当域和操作的 大小是已知的时,建造执行伽罗华域约简的电路是简单的。然而,存在特别地当设计用于可 编程集成电路器件-例如现场可编程口阵列(FPGA)的伽罗华域操作时,由于域和操作的大 小取决于未来用户需要,因此它们是未知并且是任意的。

【发明内容】

[0004] 根据本发明的实施例,可W将电路装置添加到集成电路设备W简化伽罗华域约简 操作。尽管电路装置可W具有固定大小,级联电路装置的多个块的能力允许执行任意深度 的伽罗华域约简。
[0005] 因此,根据本发明的实施例,提供了用于使用不可约多项式约简伽罗华域扩展值 的伽罗华域约简电路装置。伽罗华域约简电路装置包括多个存储器,每个存储器用于存储 从不可约多项式所导出的相应值和相应的扩展位位置。Π 选择与包含"Γ的相应的扩展位 位置中的扩展位位置相对应的所述多个存储器中的存储器,并且异或口组合选择的口的输 出。
[0006] 提供了一种操作伽罗华域约简电路装置W使用不可约多项式约简伽罗华域扩展 值的方法,其中,伽罗华域约简电路装置包括多个存储器、选择多个存储器中的存储器的口 和用于将选择的口组合的异或口。方法包括:对于伽罗华域扩展中的每个相应的扩展位位 置而言,从相应的扩展位位置和不可约多项式导出相应值;将相应值中的每一个值存储在 多个存储器中的相应一个存储器中;使用与包含"Γ的相应的扩展位位置中的扩展位位置 相对应的口中的口;选择多个存储器中的对应的存储器;W及将存储在多个存储器中的相 应存储器中的相应值组合。
[0007] 还提供了一种用于可编程集成电路器件的专用处理块。专用处理块包括乘法器 级、在乘法器级上游的输入级,输入级包括寄存器文件电路装置,寄存器文件电路装置包括 多个存储器、选择多个存储器中的存储器的口、用于组合选择的口的输出的或口、用于组合 选择的口的输出的异或口w及在或口与所述异或口的输出之间选择的寄存器文件输出,并 且能够可选择地连接到乘法器级并且能够可选择地连接到专用处理块的输出。
[0008] 还提供了一种包括多个运样的专用处理块、附加乘法器和附加异或口的可编程集 成电路器件,其中,附加异或口的输入能够可选择地连接到附加乘法器的输出的范围,范围 中的每一个范围具有等于位的数量的位宽度,并且能够可选择地连接到多个专用处理块的 寄存器文件输出。
[0009] 提供了一种在运样的可编程集成电路器件上使用不可约多项式执行对两个m位数 字的乘法运算的方法。方法包括提供专用处理块的多个实体(instances)的多个级联链,其 中,多个存储器中的每个存储器具有位的数量的宽度,并且多个存储器包括至少等于位的 数量的存储器数量,m是位的数量的倍数,多个级联链在数量方面等于倍数,并且专用处理 块的所述多个实体在数量方面等于所述倍数。对于m-1伽罗华域扩展位位置的每个相应的 一个扩展位位置而言,相应值通过执行相应的扩展位位置和不可约多项式的相应的异或导 出,并且相应值被存储在级联链中的一个级联链中的对应的相应的存储器上。对两个m位数 字执行乘法运算W得到(2m-l)位伽罗华域扩展结果。伽罗华域扩展结果的m基础位分区为 在数量方面等于倍数的多个段。对于包含"Γ的伽罗华域扩展结果的m-1扩展位中的每一个 扩展位而言,在级联链中的一个级联链的存储器的对应行上执行异或操作。针对级联链中 的每个相应一个级联链,执行段的相应一个段与在存储器的对应行上的异或操作的结果的 另一异或操作。串联进一步的异或操作的结果。
[0010] 还提供了一种将运样的可编程集成电路器件配置为执行运样的伽罗华域操作的 方法。对专用处理块的多个实体的多个级联链进行配置,多个级联链在数量方面等于宽度 的倍数,并且专用处理块的多个实体在数量方面等于所述宽度的倍数。逻辑在可编程集成 电路器件中被配置为针对m-1伽罗华域扩展位位置中的每个相应的一个扩展位位置,相应 值通过执行相应的扩展位位置和不可约多项式的相应的异或来导出,其中,m是宽度的倍 数,并且逻辑在可编程集成电路器件中被配置为在级联链中的一个级联链中的对应的相应 的存储器上存储相应值。逻辑在可编程集成电路器件中被配置为对两个m位数字执行乘法 运算W得到2m-l位伽罗华域扩展结果。逻辑在可编程集成电路器件中被配置为将伽罗华域 扩展结果的m基础位分区为在数量方面等于倍数的多个段。逻辑在可编程集成电路器件中 被配置为针对包含"Γ的伽罗华域扩展结果的m-1扩展位中的每一个扩展位执行在级联链 中的一个级联链上的存储器的对应行的异或操作。逻辑在可编程集成电路器件中被配置为 针对级联链的每个相应一个执行段的相应一个段与在存储器的对应行上的异或操作的结 果的进一步的异或操作。逻辑在可编程集成电路器件中被配置为串联进一步的异或操作的 结果。
[0011] 还提供了用于使用不可约多项式约简伽罗华域扩展值的伽罗华域约简电路装置, 其中,伽罗华域约简电路装置包括多个存储器,每个存储器用于存储从不可约多项式导出 的相应值和扩展位值的相应组合,其中,扩展值的扩展位对多个存储器寻址W输出相应值 中的一个或多个值。伽罗华域约简电路装置还包括用于将多个存储器的输出与所述扩展值 的域内(in-field)位组合的异或电路装置。
[0012] 还提供了一种操作伽罗华域约简电路装置W使用不可约多项式约简伽罗华扩展 值的方法,其中,伽罗华约简电路包括多个存储器W及用于将多个存储器的输出与扩展值 的域内位组合的异或电路装置。方法包括针对伽罗华域扩展值中的每个相应的扩展位位置 从相应的扩展位位置和不可约多项式导出相应值。方法还包括针对扩展位位置中的位的不 同的可能组合将相应值中的值组合W得到相应的经组合的值。方法还包括:将每个相应的 经组合的值存储在多个存储器中的相应一个存储器中;使用扩展位位置的值对多个存储器 进行寻址并且选择经组合的值中的对应的一个或多个值;W及对选择经组合的值中的对应 的一个或多个值和域内位进行操作来确定约简的伽罗华域值。
[0013] 还提供了一种包括多个专用处理块的可编程集成电路器件,专用处理块中的每一 个专用处理块具有乘法器级,其包括具有进位电路装置的加法器和用于可选择地去激活进 位电路装置的与口电路。输入级在乘法器级的上游,W及输入级包括能由专用处理块的输 入寻址的多个存储器。块还具有用于将多个存储器的输出与专用处理块的其它输入组合的 异或电路装置,W及从乘法器级到专用处理块中的另一个专用处理块的级联连接。
[0014] 还提供了一种在运样的可编程集成电路器件使用不可约多项式执行对两个m位数 字的伽罗华域乘法的方法W及一种将可编程集成电路器件配置为执行运样的伽罗华域乘 法运算的方法。
【附图说明】
[0015] 基于对结合附图取得的W下详细描述的考虑,本发明的进一步特征、其性质和各 种优点将是明显的,其中,相同附图标记自始至终是指相同部分,并且其中:
[0016] 图1示出了根据本发明的实施例适合于简化伽罗华域约简操作的可编程集成电路 器件的专用处理块的一部分的示例;
[0017] 图2示出了用于并入图1的结构中的根据本发明的实施例的寄存器文件结构;
[0018] 图3示出了包括根据本发明的实施例的伽罗华域约简电路装置的块可W如何级联 W执行更深的伽罗华域约简操作;
[0019] 图4示出了包括根据本发明的实施例的伽罗华域约简电路装置的块还可W如何在 两个维度中级联W执行更宽并且更深的伽罗华域约简操作;
[0020] 图5是用于将并入本发明的可编程集成电路器件配置为执行伽罗华域约简的根据 本发明的实施例的方法的流程图;
[0021] 图6是用于将并入本发明的设备操作为执行伽罗华域约简的根据本发明的实施例 的方法的流程图;
[0022] 图7是并入本发明的实施例的可编程集成电路器件中的DSP块的内部结构的简化 版本;
[0023] 图8示出了本发明的实施例中使用的系数表的示例;
[0024] 图9示出了根据本发明的实施例的进位禁止电路;
[0025] 图10是根据本发明的实施例所执行的乘法运算的示图;
[0026] 图11A和11B(在下文中被统称为图11)示出了两个数字信号处理块可W如何组合 W执行伽罗华域乘法的示例;
[0027] 图12是用于将并入本发明的可编程集成电路器件配置为执行伽罗华域约简的根 据本发明的实施例的另一方法的流程图;
[0028] 图13是用于将并入本发明的设备操作为执行伽罗华域约简的根据本发明的实施 例的方法的流程图;
[0029] 图14是采用并入本发明的可编程逻辑设备的示例性系统的简化框图;
[0030] 图15是利用用于执行将可编程集成电路器件配置为执行伽罗华域约简的根据本 发明的方法的机器可执行指令集编码的磁性数据存储介质的剖视图;W及
[0031] 图16是利用用于执行将可编程集成电路器件配置为执行伽罗华域约简的根据本 发明的方法的机器可执行指令集编码的光学可读数据存储介质的剖视图。
【具体实施方式】
[0032] 如上文所提到的,伽罗华域算术具有对特定有限域内的两个值的任何操作的结果 也落在域内的特性。W下讨论将使用GF(2m)域-即m位二进制数字的域中的伽罗华域乘法的 例示。例如,在数字电子产品中,对表示化0-25510的8位二进制数字进行操作是常见的。m被 称为伽罗华域的"度"。伽罗华域中的元素是使用程度m的所选择的"发生器多项式"ρ(α)来 生成的。α可W被称为多项式的"根"或者"基础"。多形式必须是不可约的-即不具有因数。例 如:
[0033] 对于 GF(16)=GF(24)而言,ρ(α)=α4+α+1
[0034] 对于GF(256)=GF(28)而言,ρ(α)=α8+α4+α 3+α2+1 对于GF(24)情况而言,域的元素 是:
[0035]

'[0038]如所提到的,通过定义,所有伽罗华域操作必须得出在域内的元素。伽罗华域操作I 包括加法(没有进位的异或)、减法(没有借位的异或,其基本上与加法相同)、乘法(没有进 位的与和异或)和除法(其是使用乘法、减法和移位的组合来执行的)。域内的较小值的加法 (或者减法)在没有附加操作的情况下将保持在域内。然而,对于域的较高端处的加法或者 对于设及乘法的任何操作而言,附加操作需要将结果保持在域内。
[0039] 如上文部分提到的,一种用于GF(2")域中的伽罗华域乘法的已知方法是GF(2m)乘 法的扩展和使用不可约多项式的返回到基础GF(2m)域的域的约简。两个m位数字在相乘时 将生成(2m-l)位扩展值,其将被约简回到m位值。在下文所示的示例中,m = 8,两个输入是 011001012(即,lOlio)和 100100002(即,14410),并且不可约多项式是〇8+〇4+〇3+〇2+1(即, 1000111012,或者 28510)。
[0040] 下表示出了011001012 X 100100002 的扩展:
[0041]
[0042] 结果-0110100110100002或者13化〇1〇远地在有限域的28(即,0-化5io)范围外。
[0043] 将该扩展结果约简回到有限域的一个已知方式是执行逐位异或(XOR)操作,将剩 余值与不可约多项式进行异或,无论在那里"Γ是否发生在超过域大小的值的最高有效位 中。因此,在我们的示例中:
[0044]
[0045] 其得到结果 1110111〇2(即,23810)。
[0046] 然而,前述约简技术不容易一般化到任意伽罗华域操作。根据本发明的实施例的 备选技术是通过将位的位置与不可约多项式异或计算针对域外的任何位置的域中的值。虽 然运些值将取决于多项式而逐实施方式不同,但是对于任何特定实施方式而言,可W将值 预计算并且存储在根据本发明的电路的实施例中。对于我们的示例的GF(28)多项式而言, 大于域(即,第九个到第十五个位置)的上升"Γ的十进制值分别是29、58、116、232、205、135 和19。对于使用该多项式的任何特定乘法而言,可W将域内的扩展的一部分与包含"Γ的域 外的任何位置的所存储的值异或(异或)。可W并行应用所有必要的异或操作,并且所有异 或操作保持在m位域宽度内。运些异或操作的结果自身异或W获得最终结果:
[0047]
[004引即,11610、205i0和13510的等效二进制数单独地与1 10 100002异或,运得到 011101002、110011012 和 100001112,其自身异或 W 得到111011102(即,23810),其是上文使用 传统技术所获得的相同结果。
[0049] 扩展产生2m-l位,其中m-1位在域外。可W将m-1预计算值(在该示例中,{2910、 581〇、1161〇、2321〇、2051〇、1351〇、191〇})可^加载到寄存器文件,诸如位置0至化下文所描述的 那个。扩展域(位2m-l到m+1)中的上m-1位-即,在该实体中的7位-将被用于选择待一起进行 异或的寄存器文件位置,其结果然后将与扩展结果的下m位(在该示例中的8位)进行异或。
[0050] 可W在集成电路设备上的其自身的专用块中提供待被用于寄存器文件的电路装 置。然而,因为寄存器文件可W具有其它使用,并且为了保存管忍空间,寄存器文件电路装 置还可W包括为设备上的另一专用处理块的一部分。例如,图1示出了将寄存器文件电路装 置101包括在数字信号处理(DSP)块中。
[0051] 更特别地,图1示出了寄存器文件电路装置101已经添加到的来自加利福尼亚圣何 塞的Altera公司的FPGA的ST民A'nx'is家族中所提供的DSP块100的一部分的简化擅染。运 样的DSP块具有至少输入级102和乘法器级103,加上附加级(未示出)。级可W是流水线的, 并且在每个级102、103(W及级103内)示出流水线寄存器104。如所示的输入级102包括预加 器112(其可W在多路复用器122的控制下旁路)和寄存器文件电路装置101(其可W在多路 复用器132的控制下旁路)"DSP块100的乘法器级103可W包含两个19x18乘法器,其可W组 合为制造一个28x27乘法器。在图1中,在乘法器级103中示出了一个乘法器的部件,包括部 分乘积发生器113、压缩器123、133和进位传播加法器。注意,压缩器133和进位传播加法器 143可W与第二部分乘积发生器(未示出)共享W提供两个乘法运算的经组合的输出。
[0052] 每个乘法器的一个输入可W是块输入105或者预加器112的输出(其可W例如将18 位输入105、106中的两个添加 W改进对于对称无限冲激响应-即,FIR-滤波器的支持)。每个 乘法器的另一输入可W来自DSP块输入107或者存储在寄存器文件电路装置101中的系数 表。在该示例中,块输入107的下4位被选择为系数表条目。系数表的深度将取决于寄存器文 件电路装置101中的寄存器的数量。因此,如果存在四个或者八个寄存器,则深度将是16或 者 256。
[0053] 关于宽度,每个寄存器可W是18位宽度,运提供18位宽度寄存器文件。然而,如上 文所提到的,存在两个乘法器,并且因此存在第二寄存器文件(未示出),并且两个寄存器文 件可W -起操作为单个36位宽度文件。
[0054] 寄存器文件电路装置101具有可W输入到乘法器级103的输出111(例如,当寄存器 文件电路装置101被用于存储FIR滤波器系数)和分离的伽罗华域约简电路装置121。可W通 过参考示出寄存器文件电路装置101的细节的图2理解那些输出的生成。
[0055] 在图2中所示的实施方式中,寄存器文件电路装置101包括四个寄存器201。在该实 施方式中,每个寄存器201是18位宽度,但是其它宽度是可能的。类似地,寄存器201的数量 是四个,但是可W提供其它数量的寄存器201(例如,八个,如上文所讨论的)。寄存器201可 W在写地址解码器203的控制下经由输入202利用数据(其在该示例中是18位宽度)加载,所 述写地址解码器203解码写地址213(其在该示例中是四位宽度)。
[0056] 为了读,寄存器文件电路装置可W在"正常"(即,非GF约简)模式(例如,当用作FIR 滤波器系数表时,如上文所描述的)或者在GF约简模式中操作。在正常模式中,控制信号204 使得多路复用器205选择解码读地址216的读地址解码器206的输出。所得的位被用于打开 与Π 226中的适当的一个。与Π 226的输出将是独热(one-hot)的(或者"η-热(n-hot)的",其 中,η是寄存器201的宽度)-即,与口226中的仅一个将是非零的。然后与口226的那些输出在 或口处进行或运算W读出寄存器201中的所期望一个的内容。
[0057] 在GF约简模式中,利用上文所描述的m-1预计算值中的一个预计算值加载每个寄 存器201。控制信号204使得多路复用器205选择GF扩展输入207,其是扩展结果的上m-1位。 如所绘制的,该信号可W容纳高达18个扩展位,但是可W提供其它信号宽度。该信号激活与 口226中的适当的口 W选择m-1预计算值的所期望的值,其在异或口208处进行异或W提供 伽罗华域约简输出121(取决于选择多少预计算值,运可W采取多个异或步骤来将结果降低 到有限域),其然后与扩展结果的下m位分离地异或(参见下文)。
[005引如果寄存器201具有某个宽度(例如,18位),运限制了可W使用单个专用处理块 (例如,DSP块)执行的伽罗华域约简的大小。然而,不同的应用可W具有不同的要求。例如, 大部分Reed-Solomon解码器应用使用8-12位域。许多BCH应用(诸如闪速SSD服务器)使用 12-14位域。那些应用将安装在单个块内。然而,其它应用需要更大的域。例如,高级加密标 准伽罗华/计数器模式(AES-GCM)加密/验证需要128位,并且许多楠圆曲线密码学化CC)应 用将需要160-233位宽度或者甚至更宽的域。
[0059] 因此,根据本发明的另一方面,如上文所描述的伽罗华域约简电路装置可W级联 在一起W提供更深的寄存器文件。图3示出了 W示意性表示的上文所描述的类型的Ξ个DSP 块100,其中,仅示出了对于级联伽罗华域约简操作的理解所必要的元件。因此,寄存器文件 301与上文寄存器201相对应。异或口 303与上文异或口 208相对应。
[0060] 级联连接300诸如来自Altera公司的FPGA的前述STRATIX'w家族中的前述DSP 块之间的那些已知级联连接相对应。与口 302和多路复用器304确保级联正确的信号。特别 地,级联连接可W被用于取决于配置FPGA利用的用户逻辑设计,级联块100中的任何数量的 不同的信号。当级联伽罗华域约简电路装置时,期望异或口 208/303中的一个的输出被路由 为异或口 208/303的后续一个的输入。在输出侧,多路复用器304被用于选择当前块100中的 异或口 303的输出作为在当前块的级联输出上待输出的信号(在块100中的许多级联信号中 间)。并且在输入侧,当相邻块100的异或口 303的输出是已经输入在当前块的级联输入上的 信号时(与当前块的某个其它部分预期的信号相反),与口 302仅将当前块的级联输入连接 到异或口 303。
[0061] 虽然图3的布置允许块100级联W增加伽罗华域约简深度,但是图4示出了块100可 W如何级联W增加伽罗华域约简宽度。可W要求增加运两个维度,因为一般地(2m-l)位扩 展的伽罗华域约简要求m x(m-l)矩阵。
[0062] 在图4中,在401处相乘的两个数字A和B中的每一个是128位宽度,运得到具有128 基础位[128:1]和127扩展位[255:129]的255位宽度扩展402。如果每个DSP块100可W处置 32位,如上文所讨论的,那么(除从左到右而不是从右到左外,类似于图3的Ξ块级联布置 的)四个DSP块100的每个级联行403将约简矩阵的深度增加到128。为了处置增加的宽度,提 供四个运样的级联行403W形成DSP块100的矩阵413,并且每个行403与基础位[128:1]的分 离的32位范围进行异或,并且串联四个异或结果W提供约简的乘积。扩展位的值从一个行 403穿到下一行403,使得在每个行403中,对应的DSP块具有相同的扩展位输入。
[0063] 在该实施方式中,乘法器401W及异或口 404、405、406和407可W外部地提供给集 成电路设备;可W分离地提供在集成电路设备上;可W根据诸如DSP块100的附加的DSP块中 的那些的设备上的现有乘法器进行配置;或者可W根据设备上的通用可编程逻辑进行配置 (假定设备是诸如FPGA的可编程设备)。如此处所示,设备是FPGA 400。
[0064] 如上文所描述的,诸如提供有DSP块100中的寄存器文件电路装置101的FPGA 400 的可编程设备可W被配置为执行针对m的预先确定值和特定不可约多项式的伽罗华域约简 操作,如下(参见图5):
[0065] 一旦m和不可约多项式是已知的,则上文所描述的m-1个预计算值可W计算(如在 501处)并且存储(如在502处)存储在适合数量的DSP块100中的寄存器201中的适当的寄存 器。一般地,将使用ηχη DSP块100的矩阵,其中,n = ceil(m/w)并且W是每个寄存器201的宽 度。通过将控制信号204(如在503处)配置为使得多路复用器205选择GF扩展输入207和将每 个DSP块100中的与口 226(如在504处)配置为选择可W适于输入到该DSP块100的异或口 208 一样多的寄存器201(而不是在独热方式中被选择为在非GF约简模式中,待输入到或口 227 的单个寄存器201 ),矩阵中的每个DSP块100被配置用于伽罗华域约简操作。另外,DSP块100 中的每一行403通过在每一个DSP块中(但是除了行403中的DSP块100的最后一个DSP块)设 置级联多路复用器304W选择伽罗华域约简输出121(如在505处)作为其输入,并且通过在 每一个DSP块中(除了行403中的DSP块100的第一个DSP块)设置级联与口 302 W选择从先前 块100(如在506处)级联的伽罗华域约简输出121作为该块100的异或口 208的输入。最后,如 在507处,每个行403中的最后的DSP块100的伽罗华域约简输出121被配置为输入到异或口 404、 405、406、407等等中的一个异或口(与存在行403-样多的异或口)。
[0066] 在伽罗华域约简电路装置已经配置为上文之后或者对于已经利用m-1个预计算值 加载的固定伽罗华域约简电路装置而言(如在50U502处),伽罗华域电路可W操作为约简 伽罗华域扩展如下(参见图6):
[0067] 在已经在乘法器401中执行扩展之后(如在601处),则取决于m的值,扩展的m个基 础位被分解为例如32位的范围(如在602处),并且基础位的每个范围被输入到异或口404、 405、 406、407等等中的一个异或口(如在603处)。类似地m-1扩展位被分解为范围并且每个 范围被输入到矩阵400的列(如在604处),并且每个行403的作为结果的输出被输入(如在 605处)到异或口 404、405、406、407等等中的其对应的一个异或口。串联与所使用的一样多 的异或口 404、405、406、407等等的输出(如在606处)W提供约简的结果。
[0068] 在迄今为止所描述的实施方式中,已经在专用处理块(例如,数字信号处理块)中 提供实现为寄存器文件的系数表W存储约简常量。然而,寄存器文件必须更改W提供支持 "正常"模式和伽罗华域操作模式之间的操作的选择。例如,虽然上文所描述的简化寄存器 文件具有四个条目,但是可W最终要求十六个条目,同时许多可用的设备仅提供其专用处 理块中的八条目寄存器文件。
[0069] 附加逻辑也添加到寄存器文件。例如,在物理口电平处,所添加的异或口 208最终 是18x 15 = 270异或口。在具有两个系数表的专用处理块中,那意指2x270 = 540个额外异或 口添加到块。
[0070] 上文还提出,在图4的示例中,可W使用32条目寄存器文件。在运种情况下,异或口 的数量增加到每个寄存器文件中的32x31 = 992个异或口,运意指如果每专用处理块存在两 个寄存器文件,则1984个附加异或口将包括在每个专用处理块中。
[0071] 因此,根据本发明的进一步的实施例,取代存储针对每个域外位置的常量并且在 域内值的操作期间对其进行异或,异或操作预计算并且存储在系数表中,使得不需要附加 异或口。另外,其它实施例包括专用处理块内的乘法器和加法器中的能够进位/禁止进位机 审IJ,使得进一步的乘法或者加法操作不需要在块外执行(例如,在可编程设备的编程的通用 逻辑中)。运允许现有专用处理块在没有针对许多伽罗华域操作的附加资源的情况下使用。
[0072] 特别地,在上文所讨论的先前实施例中,系数表存储将与结果的下域内位进行异 或的乘法结果的上域外位的常量。从表检索常量,并且执行异或操作。如果常量之一的异或 结果仍然在域外,那么该结果还与乘法结果的下位进行异或。
[0073] 例如,在上文所讨论的GF(28)域中,使用所阐述的特定发生器多项式,屯个域外位 的相应的那些的常量是{29,58,116,232,205,135,19}。因此,"2沪将存储在表的条目1中, "58"将存储在表的条目帥,"116"将存储在表的条目3中等等。域外位是"Γ的每个常量进 而与域内位进行异或,运可能导致如果任何异或结果仍然在域外的附加异或操作。
[0074] 根据本发明的前述进一步的实施方式,不是存储用于稍后异或操作的单独的常 量,确定并且存储域外位的所有组合的异或值。在图7中示出了基于来自Altera公司的FPGA 的ST民ΑΤΠΧ婚和ARRIA⑩'豪族中的DSP块的DSP块700的内部结构的简化版本。存在可 W用作乘法器703、704的输入的两个系数表存储器701、702(下文所讨论的)。如上文所提到 的,运些可W是16条目系数表。上文关于屯个域外位的所有组合所提到的屯个常量的异或 结果可W通过使用用于屯个域外位中的四个域外位的一个表(例如,位11:8)和使用用于屯 个域外位中的Ξ个域外位的另一个表(例如,位14:12)容纳在运两个16条目系数表701、702 中。可W加载两个表,如图8中所示,其中,表示异或操作。下文将结合图10讨论更多特定 示例。
[0075] 如上文所讨论的,在一些实施方式中,在诸如FPGA的可编程设备中,在专用处理块 外的所配置的通用可编程逻辑中执行伽罗华域乘法运算自身,因为伽罗华域操作不同地处 理进位。根据图9所图示的实施方式,乘法器703、704可W被修改为提供当执行伽罗华域操 作时可W激活的进位禁止特征。如图9中可见,每个乘法器900包括用于每个位901的最终加 法器902。每个加法器902输出和数输出912和进位输出922。根据该实施方式,为每个位提供 与口 932。每个相应的进位输出922在相应的与口 932处与伽罗华域配置位903进行与运算。 在"正常"模式中,位903是"Γ并且正常地输出进位。在伽罗华域模式中,位903是"0",因此 不输出进位。
[0076] 图10和11示出了图7中所示的类型的两个数字信号处理块可W如何组合W在不使 用可编程设备的通用可编程逻辑的情况下执行伽罗华域乘法的示例。在该示例中,待相乘 的两个值是100111012和100101012,其分别是1111和1121处的输入。多路复用器1123被配置 为选择输入1121而不是系数寄存器1131。在图10中W示图表示乘法器1191中的实际乘法运 算。结果的域内位[7:0]是101110012,而结果的域外位[14:8]是10001012。
[0077] 最高域外位[14]用作用于DSP块1101的系数表1141的查找地址,其是通过配置多 路复用器1181来选择的。即使针对该查找通常需要乘法结果,仅当操作数二者的 最高位是"Γ时结果的最高位可W是"Γ,因此那两个位可W被用于选择针对最高位的两个 预计算异或选择之一。该查找值在块1101中的1151处(伽罗华域模式通过将"0"应用到输入 1155激活时,如上文结合图9所讨论的)添加(异或)到乘法器1161的输出W经由加法器/累 加器1172和多路复用器1173得到图10的中间值1004(未示出在1004处的域外位与值1003的 域外位相同)。值1004的十五个位从块1101处输出并且在链内输入1112输入到块1102。
[0078] 使用结果1003的位[10:引执行图10的查找2W对块1102的系数寄存器1122进行寻 址,而使用结果1003的位[13:11]执行图10的查找3W对块1102的系数寄存器1132进行寻 址。通过配置多路复用器1142、1152选择系数寄存器1122、1132。在加法器1162处添加(异或 的)查找2和查找3(伽罗华域模式是通过将"0"应用到输入1165来激活的,如上文所讨论 的)。在加法器1172处添加(异或的)来自组合查找2和查找3的导出值1005(伽罗华域是通过 将"0"应用到输入1175来激活的,如上文结合图9所讨论的),并且在1182处经由多路复用器 1174输出结果。
[0079] 图10和11的该方法可W被用于任何大小伽罗华域计算,因为其不依赖于将特定数 量的异或口添加到每个DSP块,而是依赖于链接附加 DSP块,其可W串行或者并行地完成。另 夕h因为未使用可配置的通用逻辑,而是仅相对更多的固定DSP块,操作更快并且定时更确 定。然而,应当注意,该方法不排除对用于特定用户逻辑设计的可配置的通用逻辑的依赖, 应当使用可配置的通用逻辑的设计要求。
[0080] 在图12中W示图表示用于将可编程集成电路器件配置为执行伽罗华域操作的根 据该方法的方法1200。一旦示出m和不可约多项式,则可W计算(如在1201处)上文所描述的 m-1个预计算值。那些预计算值可W然后与域外位的所有可能组合进行异或(如在1202处) (参见图8),并且存储(如在1203处)在适合数量的DSP块1101、1102中的寄存器1141、1122、 1132中的适当那些中。通过将多路复用器1181、1142、1152配置为选择系数表1141、1121、 1132(如在1204处),将多路复用器1123配置为选择输入1121(如在1205处)并且使得加法器 1151、1162、1172(如在1206处)的伽罗华域模式能够去激活其进位。
[0081] 在已经W该方式配置伽罗华域约简电路装置之后,伽罗华域电路可W操作为约简 伽罗华域扩展如下(参见图13)。
[0082] 在已经在乘法器1191中执行扩展之后(如在1301处),那么取决于m的值,m-1个扩 展位分解为例如一位、Ξ位和Ξ位的范围(如在1302处)。1141处的查找值基于一位的值进 行选择(如在1303处)并且与乘法结果的m个域内位进行异或(如在1304处)。1122、1132处的 查找值基于两个Ξ位域进行选择(如在1305处)并且一起进行异或(如在1306处)。该结果与 先前异或结果(在1304处)进行异或(如在1307处)W提供最终结果。取决于总体操作的大 小,可W串联(如在1308处)数个运样的"最终"结果W提供期望的结果。
[0083] 因此,应当看到,已经提供伽罗华约简电路和用于配置和操作运样的电路的方法。
[0084] 根据本发明的实施方式的被配置为包括伽罗华域约简电路装置的化D 140可W使 用在许多种电子设备中。一种可能使用是在图14中所示的示例性数据处理系统1400中。数 据处理系统1400可W包括W下部件中的一个或多个:处理器1401;存储器1402; I/O电路 1403;和外围设备1404。运些部件通过系统总线1405禪合在一起并且填充在包含在终端用 户系统1407中的电路板1406上。
[0085] 系统1400可W使用在各种各样的应用中,诸如计算机网络、数据网络、仪器、视频 处理、数字信号处理、远程无线电头端(RRH)或者其中使用可编程或者可再编程逻辑的优点 是期望的任何其它应用。PLD 140可W被用于执行各种不同的逻辑功能。例如,PLD 140可W 被配置为与处理器1404协同工作的处理器或者控制器。PLD 140还可W用作用于仲裁对系 统1400中的共享资源的访问的仲裁器。在又一示例中,PLD 140可W被配置为处理器1401与 系统1400中的其它部件之一之间的接口。应当注意,系统1400仅是示例性的,并且本发明的 真实范围和精神应当由W下权利要求指示。
[0086] 各种技术可W被用于实现如上文所描述并且并入本发明的PLD140。
[0087] 用于对可编程设备编程的用于执行根据本发明的方法的指令可W编码在机器可 读介质上W由适合的计算机或者类似设备执行来实现用于对PLD或者其它可编程设备编程 或者配置的本发明的方法。例如,个人计算机可W装备有化D可W连接到的接口,并且个人 计算机可W由用户被用于使用适合的软件工具对PLD进行编程,如上文所描述的。
[0088] 图15呈现了可W利用可W由诸如前述个人计算机或者其它计算机或者类似设备 的系统执行的机器可执行程序编码的磁性数据存储介质1500的剖视图。介质1500可W是软 盘或者硬盘或者磁带,其具有适合的衬底1501,其可W是常规的和适合的涂层1502,其可W 是常规的,在一侧或者两侧,包含其极性或者取向可W磁性地更改的磁域(不可见的)。除在 其是磁带的情况中之外,介质1500还可W具有用于接收磁盘驱动器或者其它数据存储设备 的锭子的开口(未示出)。
[0089] 介质1500的涂层1502的磁域极化或者取向W便W可W是常规的方式编码机器可 执行程序W用于由诸如个人计算机或者其它计算机或者类似系统的程序系统(其具有待编 程的PLD可W插入的插座或者外围附件)执行W配置PLD的适当部分,其根据本发明,如果有 的话,则包括其专用处理块。
[0090] 图16示出了还可W利用诸如机器可执行程序编码的光学可读数据存储介质1510 的剖视图,其可W是通过诸如前述个人计算机或者其它计算机或者类似设备来执行的。介 质1510可W是常规压缩磁盘只读存储器(CD-ROM)或者数字视频光盘只读存储器(DVD-ROM) 或者诸如〔0-3、〔0-1^、0¥0-1?、0¥0-1^、0¥0+1?、0¥0+1^或者0¥0-1?施或者光学可读并且磁光可 重写的磁光盘。介质1510优选地具有适合的衬底1511(其可W是常规的)和适合的涂层1512 (其可W是常规的),通常在衬底1511的一侧或者两侧。
[0091] 在基于CD或者基于DVD的介质的情况下,众所周知,涂层1512是反射性的并且利用 布置在一个或多个层上的多个凹点1513传送W编码机器可执行程序。凹点的布置是通过反 射离开涂层1512的表面的激光来读取的。在涂层1512之上提供保护涂层1514,其优选地是 基本上透明的。
[0092] 在磁光盘的情况下,众所周知,涂层1512不具有凹点1513,但是具有多个磁域,其 极性或者取向可W在如通过激光(未示出)加热到某个溫度W上时可W磁性地改变。可W通 过测量从涂层1512反射的激光的极性读取域的取向。域的布置对程序进行编码,如上文所 描述的。
[0093] 在一些实施例中,用于使用不可约多项式约简伽罗华域扩展值的伽罗华域约简电 路装置可W包括多个存储器,每个存储器用于存储从不可约多项式导出的相应值和扩展位 值的相应组合,其中,扩展值的扩展位对多个存储器进行寻址W输出相应值中的一个或多 个值;W及用于将多个存储器的输出与扩展值的域内位组合的异或电路装置。
[0094] 在一些实施例中,扩展位的不同范围可W对多个存储器的不同的存储器寻址W输 出多个相应值。如果期望的话,则异或电路装置可W包括用于将多个相应值彼此组合的第 一异或电路装置,和用于将第一异或电路装置的输出与扩展值的域内位组合的第二异或电 路装置。
[0095] 根据一个方面,一种操作伽罗华域约简电路装置W使用不可约多项式约简伽罗华 扩展值的方法,其中,伽罗华域约简电路装置包括多个存储器,和用于将多个存储器的输出 与扩展值的域内位组合的异或电路装置,可W包括W下操作:针对伽罗华域扩展值中的每 个相应的扩展位位置而言,从相应的扩展位位置和不可约多项式导出相应值;针对扩展位 位置的位的不同的可能组合而言,将相应值中的值组合W得到相应的经组合的值;将每个 相应的经组合的值存储在多个存储器中的相应一个存储器中;使用扩展位位置的值对多个 存储器寻址和选择经组合的值中的对应的一个或多个值;W及对选择经组合的值和域内位 中的对应的一个或多个值进行操作W确定约简的伽罗华域值。
[0096] 在一些实施例中,组合可W包括执行异或操作。
[0097] 在一些实施例中,操作可W包括执行异或操作。
[0098] 在一些实施例中,从相应的扩展位位置和不可约多项式导出相应值可W包括在相 应的扩展位位置与不可约多项式之间执行异或操作。
[0099] 在一些实施例中,使用扩展位位置的值对多个存储器寻址和选择经组合的值中的 对应的一个或多个可W包括使用扩展位位置的不同范围对多个存储器中的不同的存储器 寻址来选择多个经组合的值。
[0100] 在一些实施例中,操作可W包括使用第一异或操作W将多个经组合的值进行进一 步组合;和使用第二异或操作W将经进一步组合的多个经组合的值与域内位组合。
[0101] 如果期望的话,操作还可W包括在使用第一异或操作之前和在使用第二异或操作 之前,使用第Ξ异或操作将多个经组合的值中的一个值与域内位组合。
[0102] 根据一个方面,一种可编程集成电路器件可W包括多个专用处理块,W及专用处 理块中的每一个专用处理块包括:乘法器级、输入级W及从乘法器级的输出到专用处理块 的另一个的级联连接。乘法器级可W包括具有进位电路装置和用于可选择地去激活进位电 路装置的与口电路装置的加法器。输入级可W在乘法器级的上游并且包括能够由专用处理 块的输入寻址的多个存储器,和用于将多个存储器的输出与专用处理块的其它输入组合的 异或电路装置。
[0103] 在一些实施例中,级联连接可W将专用处理块中的一个专用处理块中的乘法器级 的输出连接到专用处理块中的另一个专用处理块的乘法器级的一部分。如果期望的话,贝U 乘法器级的一部分是加法器。
[0104] 根据一个方面,一种在具有多个专用处理块的可编程集成电路器件上使用不可约 多项式对两个m位数字伽罗华域乘法运算的方法,专用处理块中的每一个专用处理块具有 包括具有进位电路装置和用于可选择地去激活进位电路装置的与口电路装置的乘法器级, 在乘法器级的输入级上游,输入级具有能由专用处理块的输入寻址的多个存储器,和用于 将多个存储器的输出与专用处理块的其它输入组合的异或电路装置,W及从乘法器级的输 出到专用处理块中的另一个专用处理块的级联连接,由此,方法包括W下操作:针对伽罗华 域扩展值中的每个潜在扩展位位置而言,从潜在扩展位位置和不可约多项式导出相应值; 针对扩展位位置中的位的不同的可能组合而言,将相应值中的值组合W得到相应的经组合 的值;将每个相应的经组合的值存储在多个存储器中的相应一个存储器中;使用专用处理 块中的一个专用处理块中的乘法器级将两个m位数字相乘W导出伽罗华域扩展值;W及将 相应的经组合的值中的值与专用处理块中的一个专用处理块和专用处理块中的另一个专 用处理块的电路中的伽罗华域扩展值的域内位组合。
[0105] 在一些实施例中,方法还可W包括驱动与口电路装置W去激活进位电路装置。
[0106] 在一些实施例中,组合可W包括将相应的经组合的值中的至少一个值与专用处理 块中的一个专用处理块的电路中的伽罗华域扩展值的域内位组合W提供中间值;经由级联 连接将中间值输入到专用处理块中的另一个专用处理块;W及将相应的经组合的值中的至 少一个值与专用处理块中的另一个专用处理块的电路中的中间值的域内位组合。
[0107] 在一些实施例中,将相应的经组合的值中的至少一个值与专用处理块中的另一个 专用处理块的电路中的中间扩展值的域内位组合可W包括:在专用处理块中的另一个专用 处理块的异或电路装置将相应的经组合的值中的至少两个值彼此组合W提供导出的值;W 及将导出的值与专用处理块中的另一个专用处理块的异或电路装置中的中间值的域内位 组合。
[0108] 根据一个方面,一种将可编程集成电路器件配置为使用不可约多项式对两个m位 数字执行伽罗华域乘法运算的方法,可编程集成电路器件具有多个专用处理块,专用处理 块中的每一个专用处理块具有包括具有进位电路装置和用于可选择地去激活进位电路装 置的与口电路装置的乘法器级,在乘法器级的输入级上游,输入级具有能由专用处理块的 输入寻址的多个存储器,和用于将多个存储器的输出与专用处理块的其它输入组合的异或 电路装置,W及从乘法器级的输出到专用处理块中的另一个专用处理块的级联连接,由此, 方法包括W下操作:针对伽罗华域扩展值中的每个潜在扩展位位置而言,从潜在扩展位位 置和不可约多项式导出相应值;针对扩展位位置中的位的不同的可能组合而言,将相应值 的中的值组合W得到相应的经组合的值;将每个相应的经组合的值存储在多个存储器中的 相应一个存储器中;配置专用处理块中的一个专用处理块中的乘法器级将两个m位数字相 乘W导出伽罗华域扩展值;W及将专用处理块中的一个专用处理块和专用处理块中的另一 个专用处理块的异或电路装置配置为将相应的经组合的值中的值与伽罗华域扩展值的域 内位组合。
[0109] 在一些实施例中,方法可W包括将与口电路装置配置为去激活进位电路装置。
[0110] 在一些实施例中,配置异或口电路可W包括将专用处理块中的一个专用处理块的 异或电路装置配置为将相应的经组合的值中的至少一个值与伽罗华域扩展值的域内位组 合W提供中间值;将级联连接配置为将中间值输入到专用处理块中的另一个专用处理块; W及将专用处理块中的另一个专用处理块的异或电路装置配置为将相应的经组合的值中 的至少一个值与中间值的域内位组合。
[0111] 在一些实施例中,配置专用处理块中的另一个专用处理块的异或电路装置可W包 括:将专用处理块中的另一个专用处理块的异或电路装置配置为将相应的经组合的值中的 至少两个值彼此组合W提供导出的值;W及将专用处理块中的另一个专用处理块的异或电 路装置配置为将导出的值与中间值的域内位组合。
[0112] 根据一个方面,一种编码有用于执行将可编程集成电路器件配置为使用不可约多 项式对两个m位数字执行伽罗华域乘法运算的方法的指令的非暂态机器可读存储介质,可 编程集成电路器件具有多个专用处理块,专用处理块中的每一个专用处理块包括具有进位 电路装置和用于可选择地去激活进位电路装置的与口电路装置的乘法器级,在乘法器级的 输入级上游,输入级具有能由专用处理块的输入寻址的多个存储器,和用于将多个存储器 的输出与专用处理块的其它输入组合的异或电路装置,W及从乘法器级的输出到专用处理 块中的另一个专用处理块的级联连接,由此,所编码的指令可W包括:针对伽罗华域扩展值 中的每个潜在扩展位位置而言,从潜在扩展位位置和不可约多项式导出相应值;针对扩展 位位置中的位的不同的可能组合而言,将相应值中的值的组合W得到相应的经组合的值; 将从伽罗华域扩展值中的潜在扩展位位置和不可约多项式的组合导出的相应的经组合的 值中的每一个值存储在多个存储器中的相应一个存储器中;将专用处理块中的一个专用处 理块的乘法器级配置为将两个m位数字相乘W导出伽罗华扩展值的指令;W及将专用处理 块中的一个专用处理块和专用处理块中的另一个专用处理块的异或电路装置配置为将相 应的经组合的值中的值与伽罗华域扩展值的域内位组合的指令。
[0113] 在一些实施例中,所编码的指令可W包括将与口电路装置配置为去激活进位电路 装置的指令。
[0114] 在一些实施例中,配置异或电路装置的所编码的指令还可W包括:将专用处理块 中的一个专用处理块的异或电路装置配置为将相应的经组合的值中的至少一个值与伽罗 华域扩展值的域内位组合W提供中间值的指令;将级联连接配置为将中间值输入到专用处 理块中的另一个专用处理块的指令;W及将专用处理块中的另一个专用处理块的异或电路 装置配置为将相应的经组合的值中的至少一个值与中间值的域内位组合的指令。
[0115] 在一些实施例中,配置专用处理块中的另一个专用处理块的异或电路装置的所编 码的指令可W包括:将专用处理块中的另一个专用处理块的异或电路装置配置为将相应的 经组合的值中的至少两个彼此组合W提供导出的值的指令;W及将专用处理块中的另一个 专用处理块的异或电路装置配置为将导出的值与中间值的域内位组合的指令。
[0116] 将理解的是,前述仅图示本发明的原理,并且在不脱离本发明的范围和精神的情 况下,可W由本领域技术人员做出各种修改。例如,可任何期望的数量和/或布置在化D 上提供本发明的各种元件。本领域技术人员将理解到,可W通过除了出于图示而非限制的 目的呈现的所描述的实施例实践本发明,并且本发明仅由W下权利要求限制。
【主权项】
1. 一种用于使用不可约多项式约简伽罗华域扩展值的伽罗华域约简电路装置,所述伽 罗华域约简电路装置包括: 多个存储器,每个存储器用于存储从所述不可约多项式导出的相应值和扩展位值的相 应组合,其中,所述扩展值的扩展位对所述多个存储器寻址以输出所述相应值中的一个或 多个值;以及 异或电路装置,用于将所述多个存储器的输出与所述扩展值的域内位进行组合。2. 根据权利要求1所述的伽罗华域约简电路装置,其中: 所述扩展位的不同的范围对所述多个存储器中的不同的存储器寻址以输出多个所述 相应值;并且 所述异或电路装置包括: 第一异或电路装置,用于将所述多个所述相应值彼此组合,以及 第二异或电路装置,用于将所述第一异或电路装置的输出与所述扩展值的所述域内位 进行组合。3. -种操作伽罗华域约简电路装置以使用不可约多项式约简伽罗华域扩展值的方法, 其中,所述伽罗华域约简电路装置包括:多个存储器,以及用于将所述多个存储器的输出与 所述扩展值的域内位进行组合的异或电路装置,所述方法包括: 针对所述伽罗华域扩展值中的每个相应的扩展位位置,从所述相应的扩展位位置和所 述不可约多项式导出相应值; 针对所述扩展位位置中的位的不同的可能组合,将所述相应值中的值组合以得到相应 的经组合的值; 将每个所述相应的经组合的值存储在所述多个存储器中的相应的一个存储器中; 使用所述扩展位位置的值对所述多个存储器寻址并且选择所述经组合的值中的对应 的一个或多个值;以及 对所选择的所述经组合的值中的对应的一个或多个值和所述域内位进行操作来确定 约简的伽罗华域值。4. 根据权利要求3所述的方法,其中,所述组合包括执行异或操作。5. 根据权利要求3所述的方法,其中,所述操作包括执行异或操作。6. 根据权利要求3所述的方法,其中,从所述相应的扩展位位置和所述不可约多项式导 出所述相应值包括:在所述相应的扩展位位置与所述不可约多项式之间执行异或操作。7. 根据权利要求3所述的方法,其中,使用所述扩展位位置的值对所述多个存储器寻址 和选择所述经组合的值中的对应的一个或多个值包括:使用所述扩展位位置的不同范围对 所述多个存储器中的不同的存储器寻址以选择多个所述经组合的值。8. 根据权利要求7所述的方法,其中,所述操作包括: 使用第一异或操作将所述多个经组合的值进行进一步组合;以及使用第二异或操作将 经进一步组合的所述多个经组合的值与所述域内位进行组合。9. 一种可编程集成电路器件,包括: 多个专用处理块,所述专用处理块中的每一个专用处理块包括: 乘法器级,包括具有进位电路装置和用于可选择地去激活所述进位电路装置的与门电 路装置的加法器; 输入级,在所述乘法器级的上游,所述输入级包括: 能够由所述专用处理块的输入寻址的多个存储器,以及 异或电路装置,用于将所述多个存储器的输出与所述专用处理块的其它输入进行组 合;以及 从所述乘法器级的输出到所述专用处理块中的另一个专用处理块的级联连接。10. 根据权利要求9所述的可编程集成电路器件,其中,所述级联连接将所述专用处理 块中的一个专用处理块中的所述乘法器级的输出连接到所述专用处理块中的所述另一个 专用处理块的所述乘法器级的一部分。11. 根据权利要求10所述的可编程集成电路器件,其中,所述乘法器级的所述一部分是 所述加法器。12. -种在具有多个专用处理块的可编程集成电路器件上使用不可约多项式对两个m 位数字执行伽罗华域乘法运算的方法,所述专用处理块中的每一个专用处理块包括:具有 进位电路装置和用于可选择地去激活所述进位电路装置的与门电路装置的乘法器级;在所 述乘法器级上游的输入级,所述输入级包括能够由所述专用处理块的输入寻址的多个存储 器,以及用于将所述多个存储器的输出与所述专用处理块的其它输入进行组合的异或电路 装置;以及从所述乘法器级的输出到所述专用处理块中的另一个专用处理块的级联连接; 所述方法包括: 针对伽罗华域扩展值中的每个潜在扩展位位置,从所述潜在扩展位位置和所述不可约 多项式导出相应值; 针对所述扩展位位置的不同的可能组合,将所述相应值中的值组合以得到相应的经组 合的值; 将每个所述相应的经组合的值存储在所述多个存储器中的相应一个存储器中; 使用所述专用处理块中的一个专用处理块中的所述乘法器级将所述两个m位数字相乘 以导出所述伽罗华域扩展值;以及 将相应的经组合的值中的值与所述专用处理块中的所述一个专用处理块和所述专用 处理块中的另一个专用处理块的电路装置中的所述伽罗华域扩展值的域内位进行组合。13. 根据权利要求12所述的方法,还包括驱动所述与门电路装置以去激活所述进位电 路装置。14. 根据权利要求12所述的方法,其中,所述组合包括: 将所述相应的经组合的值中的至少一个值与所述专用处理块中的所述一个专用处理 块的电路装置中的所述伽罗华域扩展值的域内位进行组合以提供中间值; 经由所述级联连接将所述中间值输入到所述专用处理块中的所述另一个专用处理块; 以及 将所述相应的经组合的值中的至少一个值与所述专用处理块中的所述另一个专用处 理块的电路装置中的所述中间值的域内位进行组合。15. 根据权利要求14所述的方法,其中,将所述相应的经组合的值中的至少一个值与所 述专用处理块中的所述另一个专用处理块的电路装置中的所述中间扩展值的域内位进行 组合包括: 在所述专用处理块中的所述另一个专用处理块的异或电路装置中将所述相应的经组 合的值中的至少两个值彼此组合以提供导出的值;以及 在所述专用处理块中的所述另一个专用处理块的异或电路装置中将所述导出的值与 所述中间值的域内位进行组合。
【文档编号】G06F7/535GK106066784SQ201610258613
【公开日】2016年11月2日
【申请日】2016年4月22日 公开号201610258613.4, CN 106066784 A, CN 106066784A, CN 201610258613, CN-A-106066784, CN106066784 A, CN106066784A, CN201610258613, CN201610258613.4
【发明人】P·R·查
【申请人】阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1