本发明的低功率阵列乘法器背景的制作方法

文档序号:6567396阅读:124来源:国知局
专利名称:本发明的低功率阵列乘法器背景的制作方法
技术领域
本发明大体上涉及用于数字信号处理器的运算电路,且更明确地说,涉及一种用于 计算两个运算数的乘积的阵列乘法器。
背景技术
便携式电子装置在现代生活中已变得普遍存在。便携式电子装置中的两个必然趋势 是功能性增加和尺寸减小。功能性增加需求要求计算能力增加一_明确地说,不断加快 且更强大的处理器。尺寸减小要求减小用于向装置中的处理器和其它电子器件供电的电 池的尺寸。因此,制造商面临增加计算能力以及因此增加电力要求且同时减小电池尺寸 的似乎矛盾的目标。尽管电池技术的改进部分弥补了所述问题,但电池尺寸减小以及对 更多计算能力的需求向所有便携式电子装置电子器件且特别是对处理器强加严格功率预 算。
乘法器是许多数字信号处理器的核心组件。阵列乘法器由于其相对简单且规则的结 构而成为一种普遍架构。然而,阵列乘法器与其它乘法器架构相比具有一些缺点,即在 等待时间和功率消耗方面存在缺点。在阵列乘法器中,结果花费时间传播通过阵列。结 果传播通过阵列造成阵列中的晶体管在确定最终值之前切换多次。这种切换活动是阵列 乘法器中功率耗散的主要原因。

发明内容
本发明涉及一种阵列乘法器,其与常规阵列乘法器相比具有縮短的等待时间和较低 功率消耗。所述阵列乘法器包含部分乘积阵列,其包括排列成行和列的多个阵列元件 以计算和合计部分总和;以及进位传播加法器,其包括多个加法器元件以产生最终结果 位。对于NXM位准确乘法(其中N和M分别是被乘数和乘数的位宽度),部分乘积阵 列包含N个行和M个列。然而,存在位精确度低于N或M的数据需要由相同NXM位 乘法器处理的情况。在此类情况下,被乘数和/或乘数可移位,使得部分乘积阵列中并非 所有阵列元件均被使用。关闭未使用的阵列元件或阻止其进行切换,从而导致较低功率 消耗。
在 一 些实施例中,额外的等待时间和功率节省可通过在部分乘积阵列中添加旁路线
以绕过落在临界延迟路径中的未使用的阵列元件和/或加法器元件来实现。内部旁路线允 许内部阵列元件直接输出结果位,而不需要将结果位向下缓慢移动通过临界延迟路径中 的未使用的阵列元件和/或加法器元件。在一些实施例中,可将运算数任意移位任何量, 即以1位粒度来移位。在这些实施例中,运算数的移位量由运算数的长度规定。当运算 数的MSB (最高有效位)与部分乘积阵列的最高有效行或列对准时,实现等待时间和功 率的最大节省。在使用较少旁路线的其它实施例中,运算数的移位量取决于旁路粒度的 位置。在这些实施例中,运算数可移位以将运算数的最低有效位与阵列的预定行或列对 准。在任何情况下,只要运算数的位精确度小于阵列的最大尺寸,就能通过所揭示的技 术来实现功率和等待时间两者的縮减。如果旁路线延伸超过进位传播加法器,那么可实 现功率和等待时间要求的进一步縮减。


图1是两个运算数相乘的表格形式的图形说明。
图2是用于将两个运算数相乘的阵列乘法器的第一实施例的图形说明。
图3A和3B是图2的阵列乘法器中的部分乘积阵列的阵列元件的图形说明。
图3C、3D和3E是图2的阵列乘法器中的进位传播加法器的加法器元件的图形说明。
图4是图2的阵列乘法器执行4X3乘法运算的图形说明。
图5是具有提供1位旁路粒度的旁路线的阵列乘法器的第二实施例的图形说明。 图6A和6B是图5的阵列乘法器中的部分乘积阵列的阵列元件的图形说明。 图7是经配置以执行4X3乘法运算的图5的阵列乘法器的图形说明。 图8是具有提供粗旁路粒度的旁路线的阵列乘法器的第三实施例的图形说明。 图9是经配置以执行4 X 3乘法运算的阵列乘法器的第三实施例的图形说明。 图10是经配置以执行6X6乘法运算的阵列乘法器的第三实施例的图形说明。 图ll是经配置以执行8X8乘法运算的阵列乘法器的第三实施例的图形说明。 图12是经配置以执行5 X 4乘法的阵列乘法器的第三实施例的图形说明。 图13是具有经延伸以包含进位传播加法器元件的旁路线的阵列乘法器的第四实施 例的图形说明。
图14是用旁路电路增强的进位传播加法器元件的图形说明。
图15是经配置以执行4X3乘法运算的具有提供1位旁路粒度的旁路线的阵列乘法 器的第四实施例的图形说明。
图16是具有提供l位旁路粒度的旁路线的阵列乘法器的第五实施例的图形说明。
图17是经配置以执行4 X 3乘法运算的阵列乘法器的第五实施例的图形说明。 图18是经配置以执行6X6乘法运算的阵列乘法器的第五实施例的图形说明。 图19是经配置以执行8X8乘法运算的阵列乘法器的第五实施例的图形说明。
具体实施例方式
图1以表格形式说明用于将N位被乘数aN、 aN-,、……、ai、 ao与M位乘数bM、 bM^……、h、 bo相乘的算法。N位被乘数和M位乘数两者均为二进制数字。乘法过 程中的第一步骤是形成被乘数与乘数位的部分乘积。被乘数的每一位与乘数的第一位相 乘以形成第一行部分乘积,与乘数的第二位相乘以形成第二行部分乘积,与乘数的第三 位相乘以形成第三行部分乘积等等,直到到达乘数的最后位为止。将第一行之后的每一 行部分乘积相对于先前行移位1位位置。接着对每一列中的部分乘积与进位进行求和以 获得运算数的最终乘积。
图2说明实施图1的乘法算法的示范性阵列乘法器10,其中N = M = 8。阵列乘法 器10包含具有NXM阵列元件14的部分乘积阵列12、具有N个加法器元件32的进位 传播加法器30和相关联的控制电路40。部分乘积阵列12计算被乘数与乘数位的部分乘 积,且渐进地对部分乘积进行求和。将最终部分总和以及部分进位输出到进位传播加法 器30,所述进位传播加法器30将进位传播通过乘积的最高有效位(MSB)部分。最终 乘积的结果位在阵列乘法器10的输出15处呈现。在图2所示的8X8实例中,第一八个 结果位由部分乘积阵列12的第一列中的各个阵列元件14直接输出。最后八个位由进位 传播加法器30的各个加法器元件32输出。控制电路40准备运算数(即,被乘数和乘数), 且基于运算数长度来配置部分乘积阵列12,如下文将更完整描述。
部分乘积阵列12包括排列成N列和M行的NXM阵列元件14。在以下论述中,指 数i和j分别表示部分乘积阵列12的列和行,其中i二O、 1、……N-l,且j^0、 1、…… M-l。出于说明目的在图2中以对角线形式展示列。部分乘积阵列12中的每一阵列元件 14计算各自被乘数和乘数位的部分乘积,且产生部分总和和进位值。第一列(对应于被 乘数的最低有效位,其中i-0)中的阵列元件14的部分总和被直接输出且形成最终乘积 的LSB部分的结果位。最后行(对应于乘数的最高有效位,其中j:M-l)中的阵列元件 14的部分总和被输出到进位传播加法器30中的相应加法器元件32。唯一例外是第一列 (即,i = 0)与最后行(即,j = M-l)相交的阵列元件14。在i二O且j二M-l处的阵列元 件14仅将进位输出发送到进位传播加法器30,且其总和输出形成最终乘积的位。所有 其它阵列元件14将部分总和输出到随后阵列元件14。第一M-1行中的阵列元件14将进
位值输出到同一列中的随后阵列元件14。最后行(对应于乘数的最高有效位,其中j = M-l)中的阵列元件14将其进位输出馈入到进位传播加法器30中的相应加法器元件32。
图3A和3B更详细说明示范性阵列元件14。图3A展示阵列元件14的一般结构, 其可在部分乘积阵列12的所有位置处使用。图3B说明适用于部分乘积阵列12中的特定 位置的阵列元件14的专门形式,如下文将描述。
图3A所示的阵列元件14包括与门16和全加法器18。与门16计算被乘数Xi与乘数 yj的相应位的部分乘积。加法器18接收包括来自与门16的部分乘积Xi.yj、总和输入SIN
和进位输入Cw的输入值,且计算包括部分总和SouT和进位值CouT的输出值。对于部分
乘积阵列12的第一行(对应于乘数的最低有效位,其中j二0)和最后列(对应于被乘数 的最高有效位,其中i二N-l)中的阵列元件14,总和输入S^为零。这些阵列元件14中 的每一者可具有半加法器来代替全加法器18,如图3B所示。对于所有其它阵列元件14, 总和输入SIN由部分乘积阵列12的第i+l列与第j-l行中的在前阵列元件14提供。第一 行中的阵列元件14的进位输入为零。对于所有其它阵列元件14,进位输入由同一列、 在前行中的在前阵列元件14提供。
进位传播加法器30包含N个加法器元件32的线性阵列,如图3C — 3E所示。图3C 展示加法器元件32的一般结构,其可在进位传播加法器30的所有位置处使用。图3D和 3E说明适用于部分乘积阵列12中的特定位置的加法器元件32的专门形式,如下文将描 述。
图3C所示的加法器元件32包括全加法器34,其接收总和输入SIN以及两个进位输
入C!n和Cin,且产生总和及进位输出Sout和COUT。总和输入S!n和进位输入CIN由部分
乘积阵列12供应,其中Cin来自LSB侧的相邻加法器元件32。进位传播加法器30的LSB 端的第一加法器元件32将具有Cin = 0,或者可使用半加法器来代替全加法器34,如图 3D所示。最后加法器元件32将具有S^二0,或者可使用半加法器来代替全加法器,如 图3E所示。除最后加法器元件32外的所有加法器元件的总和输入S^来自对应于最后 行的阵列元件14,其中j=M-l且i#N-l。进位传播加法器30将进位传播通过运算数的最 终乘积的MSB部分。最终乘积的LSB部分是从第一列(其中i = 0)的阵列元件14的总 和输出产生的。
控制电路40包含控制逻辑42,其可在硬件、固件或软件中实施。控制逻辑42配置 部分乘积阵列12,且确定如何将运算数输入到部分乘积阵列12。可将长度小于部分乘积 阵列的最大宽度的运算数移位一个或一个以上位置。如下文更详细描述,控制逻辑42确 定当输入到部分乘积阵列12时运算数的位移或将运算数移位多少位置。
在运算中,将被乘数的位供应到部分乘积阵列12的各个列中的阵列元件14,且将
乘数的位供应到部分乘积阵列12的各个行中的阵列元件14。部分乘积阵列12中的部分 总和的计算一次将一行传播通过部分乘积阵列12。部分乘积阵列12的处于第一行之后 的每一行中的阵列元件14必须使用来自先前行中的阵列元件14的结果来完成计算。因 而,部分乘积阵列12的一些阵列元件14将在确定最终值之前多次改变状态。 第一实施例
图4说明一种用于当一个或两个运算数的长度小于部分乘积阵列12的最大长度时减 少由阵列乘法器IO耗散的功率的示范性方法。图4说明使用8X8阵列乘法器10将4位 被乘数与3位乘数相乘。如图4所示,将被乘数和乘数两者输入到部分乘积阵列12处于 移位位置中。也就是说,将运算数朝向部分乘积阵列12的最高有效列或行移位。在图4 所示的实施例中,运算数经移位以将运算数的最高有效位分别与部分乘积阵列12的最高 有效列和行对准。将运算数朝向部分乘积阵列12的最高有效位位置移位减少了计算运算 数乘积所需要的阵列元件14的数目。进行计算所需的阵列元件14和加法器元件32在图 4中说明为实心黑色正方形。未使用的阵列元件14和加法器元件32说明为白色正方形。 用对角线加阴影的阵列元件14和加法器元件32对于位宽度(此实例中,=4)小于部分 乘积阵列12的最大尺寸(此实例中,=8)的运算数的相乘并不是绝对必要的。最终乘 积的结果位在阵列乘法器10的输出15处呈现。在图4所示的4X3实例中,由对应于 Xo,Y。、 XQ ,Yi和XQ ,Y2的阵列元件14输出的部分总和表示结果的三个LSB。然而,这 些阵列元件14的部分总和必须向下缓慢移动通过加阴影的阵列元件14(由参考标号103 指示)和加法器元件32 (由参考标号104指示)以到达输出15。
可采取各种措施来减少部分乘积阵列12的处于临界延迟路径外部的未使用的元件 14 (那些元件展示为白色正方形)中的切换活动。为了减少处于临界延迟路径外部的未 使用的阵列元件14中的功率消耗,控制电路40可简单地切断到达部分乘积阵列12中的 未使用的阵列元件14的功率。或者,控制电路40可在如图4所示的最低有效位位置中 用前导零(对于被乘数和乘数分别由参考标号101和102指示)来填补运算数,以减少 部分乘积阵列12的未使用的阵列元件14中的切换活动。请注意,当一串连续的前导零 出现在输入被乘数和乘数的最低有效位位置中时,列和行中对应于前导零的阵列元件14 不改变状态,且因此使用较少功率。
在图4所示的实施例中,即使需要加阴影的阵列元件14和加法器元件32来用于计
算也不能关闭这些元件,因为结果必须向下缓慢移动到输出15。在下文描述的随后实施 例中,将描述用以减少非实质的阵列元件14 (由参考标号103指示)和加法器元件32 (由参考标号104指示)中的功率消耗的技术。
控制电路40基于运算数长度来确定将运算数移位多少。在上文给出的实例中,运算 数经移位以使得运算数的最高有效位与部分乘积阵列12的最高有效列和行对准。在上文 给出的实例中,在前四个位位置中用四个前导零101来填补4位被乘数,以产生含有经 移位的被乘数的8位输入字。控制逻辑42在前五个位位置中用5个前导零102来填补3 位乘数,以产生含有经移位的乘数的第二8位输入字。
假定每一阵列元件14和加法器元件32具有延迟T,那么在NMAx x Mmax乘法器中 计算两个数的乘积所需要的总时间为NMAX xT+MMAX xT。对于8X8乘法器,延迟或等 待时间为16T。因此,在常规乘法器中,延迟保持相同,而不管运算数的长度如何。然 而,在图2-4所示的阵列乘法器中,延迟依据运算数长度而变化。举例来说,在图4说 明的4X3乘法的情况下,总延迟为(4+3)XT或7T,比常规8 X 8乘法器节省了 IIT。因 此,随着运算数尺寸减小,计算两个运算数的乘积所需要的时间(等待时间)存在相应 缩减。
第二实施例
图5-7说明阵列乘法器10的第二示范性实施例。第二实施例类似于图2-4所示的第 一实施例。因此,为了简洁和清楚起见,将使用相同参考标号来指示所述两个实施例中 的类似组件,且以下论述将关注第二实施例与第一实施例不同的方面。
根据第二实施例的阵列乘法器IO包含部分乘积阵列12,其包括排列成列和行的 多个阵列元件14;进位传播加法器30,其包括加法器元件32的线性阵列;以及控制电 路40。部分乘积阵列12中的阵列元件14和进位传播加法器30中的加法器元件32如先 前描述那样互连但具有以下差异。在阵列乘法器10的第二实施例中,部分乘积阵列12 包括旁路线22,其将垂直列(与先前描述的对角列不同)中的阵列元件14连接到进位 传播加法器30的相应加法器元件32的总和输入SIN。来自部分乘积阵列12的最后行中 的阵列元件14的总和输出连接到旁路线22而不是进位传播加法器30。旁路线22允许 内部阵列元件14将部分总和直接输出到进位传播加法器30,从而绕过非实质的阵列元 件14。应注意,部分乘积阵列12的MSB角落和LSB角落中的阵列元件14 (由对角线 指示)不连接到旁路线22,因为这些阵列元件14没有任何其它阵列元件14与其成一直 线。
图6A和6B更详细说明第二实施例的示范性阵列元件14。图6A说明第二实施例的 阵列元件14的一般结构。图6B说明针对部分乘积阵列12的最后行和第一列中的阵列元 件14的阵列元件14专门形式。在图6A所示的一般形式中,每一阵列元件14包括与门 16和全加法器18,如先前描述。另外,阵列元件包括旁路电路20。与门16计算被乘数 Xi和乘数yj的相应位的部分乘积。加法器18接收包括来自与门16的部分乘积Xi.yj、总 和输入S^和进位输入dN的输入值,且计算部分总和以及进位值。旁路电路20选择性 地将由加法器18输出的部分总和连接到总和输出SouT或连接到旁路线22。对于沿着每 一垂直旁路线22的最后阵列元件14,旁路电路20选择性地将由加法器18输出的部分 总和连接到图6B所示的旁路线22。请注意,在图5所示的实施例中,在图6B中的专门 阵列元件14中没有总和输出SOUT。因而,可依据运算数的位宽度在一时间从部分乘积阵 列12处取出运算数的乘积,这縮短了与乘法运算相关联的等待时间。
当如图4所示那样移位运算数以减少切换活动和等待时间时,需要将来自一个或一 个以上选定的内部阵列元件14的结果输出到进位传播加法器30,且绕过任何介入的非 实质阵列元件,所述非实质阵列元件由图4中的阴影正方形展示且由参考标号103指示。 在图5所示的实施例中,实质阵列元件14的总和输出响应于来自控制电路40的控制信 号而通过旁路电路20连接到旁路线22,且将所有非实质阵列元件14断开连接。 一般来 说,每一垂直线的阵列元件14中只有一个阵列元件14在任何给定时间均连接到旁路线 22。
图7说明图4所示的相同4X3乘法运算的各种阵列元件14与垂直旁路线22的连接 状态。图7中的实心黑色阵列元件14表示用于4X3乘法运算的连接到旁路线22的阵列 元件14。被绕过以实现功率节省的非实质阵列元件14在图7中由字母B识别且由参考 标号103共同指示。即使不使用结果来进行计算也可连接以对角线展示的阵列元件14, 以便在输出处提供可接受的电压电平。或者,可将以对角线展示的未使用的阵列元件14 与旁路线22断开连接,且可将旁路线22拉至接地。请注意,由于另外绕过非实质阵列 元件103,所以图7中的实施例相对于图4中的实施例具有额外的功率节省。
在图7所示的实施例中,控制电路40除了准备运算数以外还使用控制寄存器44来 配置部分乘积阵列12。在一个实施例中,连接到旁路线22的每一阵列元件44具有相应 的单一位控制寄存器44。控制逻辑42确定哪些阵列元件14应当连接到旁路线22,且通 过将"l"写入到相应控制寄存器44来启用用于选定阵列元件14的旁路电路20。控制 寄存器44中的"0"将阵列元件14与旁路线22断开连接。因此,旁路电路20选择性地 200680015658.3
说明书第8/10页
将总和输出连接到旁路线22以及断开连接,这取决于控制寄存器44中的位。在阵列乘 法器10的输出15处产生最终乘积的结果位。 第三实施例
图5-7所示的阵列乘法器10允许用1位粒度来移位运算数。所述1位粒度允许具有 任何尺寸的运算数完全移位以将运算数的最高有效位分别与部分乘积阵列的最高有效列 和行对准。然而,旁路线22可向部分乘积阵列12中引入寄生电容。因此,可能不需要 减小旁路线22的数目和长度。
图8说明阵列乘法器10的另一实施例,其使用较少旁路线22且因此减小寄生电容, 但其具有较粗粒度。阵列乘法器10包含部分乘积阵列12,其包括多个阵列元件14; 进位传播加法器30,其包括加法器元件32的线性阵列;以及控制电路40,如先前所述。 控制电路40包括如先前描述那样进行操作的控制逻辑42和控制寄存器44。在此实施例 中,存在四个控制寄存器,编号为l-4以供参考。部分乘积阵列12包括旁路线22,其将 部分乘积阵列12的选定阵列元件14连接到进位传播加法器30。连接到旁路线22的阵 列元件14经编号以指示控制阵列元件14的相应控制寄存器44。
图8所示的阵列乘法器IO具有三个粒度水平或运算模式,指示为4X3模式、6X6 模式和8X8模式。在4X3运算模式中,阵列乘法器IO可将用于被乘数的长度为4位和 用于乘数的长度为3位的运算数相乘。在6X6运算模式中,阵列乘法器10可将用于被 乘数的长度为6位和用于乘数的长度为6位的运算数相乘。在8X8运算模式中,阵列乘 法器IO可将用于被乘数的长度为8位和用于乘数的长度为8位的运算数相乘。控制逻辑 42配置控制寄存器,且以如图9-11所示的三种运算模式来填补运算数。图9说明4X3 模式,图10说明6X6模式,且图11说明8X8模式。在图9-ll中,以黑色展示的阵列 元件14连接到旁路线22。 一般来说,控制逻辑42选择使所使用的阵列元件14的数目 达到最小的运算模式。举例来说,为了执行5位被乘数与4位乘数的相乘,控制逻辑42 选择6X6运算模式。对于4X3和6X6模式,必须将乘数和被乘数朝向MSB和LSB位 置移位,如图9和IO中所示。
图12说明阵列乘法器10的第三实施例可如何用于执行5X4乘法运算。对于此乘法, 控制电路40选择6X6模式。将被乘数移位两个位位置以将被乘数的LSB与部分乘积阵 列12的第三列(i = 2)对准。相反,将乘数移位四个位位置以将乘数的MSB与部分乘 积阵列12的MSB行对准。请注意,可将乘数仅移位三个位位置以将乘数的LSB与部分 乘积阵列12的LSB第四行对准。然而,后一种方法将意味着即使最后行对计算没有作
用部分总和也将必须向下缓慢移动通过最后行。因此,第三实施例允许以1位粒度来移 位乘数,但对于被乘数仅允许粗粒度移位。补偿益处是较少旁路线、较少控制寄存器以 及较小寄生电容。
在前三个实施例种,仅绕过部分乘积阵列12的非实质元件来减少功率消耗。然而, 图5所示的垂直旁路线22可延伸超过进位传播加法器30,使得还可绕过进位传播加法 器30的非实质加法器元件32。部分乘积阵列12和进位传播加法器30的结构与第二实 施例相同,不同之处是旁路线延伸超过进位传播加法器30并直接连接到阵列乘法器10 的输出15。在第四实施例中,如图13所示,最后行中的阵列元件14构造为如图6A所 示,且最后行中的阵列元件14的总和输出连接到进位传播加法器30中的各个加法器元 件32的总和输入。图12中的进位传播加法器30具有如图14所示的经修改加法器元件 32。图14说明包括全加法器34和旁路开关36的加法器元件32的一般结构。第一和最 后加法器元件可使用半加法器,如先前描述。当需要绕过元件32中的加法器34时,断 开旁路开关36以将加法器元件32与旁路线22断开连接。在必须使用加法器元件32来 进行加法时,闭合图13中的旁路开关。
举例来说,在图15中展示使用阵列乘法器10的第四实施例的4X 3乘法。用于4X 3 乘法运算的非实质阵列元件14和加法器元件32已经用字母"B"来标记。对于单一位粒 度,控制寄存器44将包括用于每一经修改加法器元件32的单一位寄存器以及用于配置 旁路开关36的每一阵列元件。
第五实施例
图16说明对于被乘数具有粗粒度的阵列乘法器的第五实施例。此实施例与第三实施 例相同,不同之处是旁路线延伸超过进位传播加法器30。部分乘积阵列12和进位传播 加法器30的结构除了以下差异外与第二实施例相同。在图16所示的第五实施例中,最 后行中的阵列元件14如图6A中展示,且最后行中的阵列元件14的总和输出连接到进位 传播加法器30中的各个加法器元件的总和输入。进位传播加法器30使用如图14所示的 经修改加法器元件32,其包括全加法器34和旁路开关36。当需要绕过加法器元件32时, 断开旁路开关36以将加法器元件32与旁路线22断开连接。当必须使用加法器元件32 来进行加法时,闭合旁路开关36。
阵列乘法器的第五实施例具有三种配置或运算模式一一4X3模式、6X6模式禾Q 8X8 模式。仅需要四个控制寄存器44。控制逻辑42配置控制寄存器44,且以如图17-19所
示的三种运算模式来填补运算数。图17说明4X3模式,图18说明6X6模式,且图19 说明8X8模式。在图17-19中,以黑色展示的阵列元件14连接到旁路线22。 一般来说, 控制逻辑42选择使所使用的阵列元件14的数目达到最小的运算模式。举例来说,为了 执行5位被乘数与4位乘数的相乘,控制逻辑42选择6X6运算模式。对于4X3禾n 6X6 模式,必须将乘数和被乘数朝向MSB和LSB位置移位,如图17和18中所示。如先前 所述,移位被乘数以依据旁路粒度而将被乘数的LSB与预定列对准。移位乘数以将乘数 的MSB与部分乘积阵列12的MSB行对准。
当然,可在不脱离本发明实质特征的情况下用与本文明确陈述的那些方式不同的其 它方式来实行本发明。应当在所有方面将本发明实施例视为说明性的而并非限制性的, 并希望属于所附权利要求书的含义和等效范围内的所有改变均包含在其中。
权利要求
1.一种将两个运算数相乘的方法,其包含将两个运算数输入到阵列乘法器中,其中所述阵列乘法器包含含有N×M个阵列元件的阵列和最终进位传播加法器,使得至少一个运算数朝向所述阵列的最高有效行或列位移,以减少用于计算所述运算数的乘积的阵列元件的数目;以及在所述阵列乘法器中将所述运算数相乘。
2. 根据权利要求1所述的方法,其中将两个运算数输入到阵列乘法器中包含将所述运 算数输入到所述阵列乘法器,使得每一位移运算数的最高有效位与所述阵列的最高 有效位对准。
3. 根据权利要求1所述的方法,其中将两个运算数输入到阵列乘法器包含将所述运算 数输入到所述阵列乘法器,使得至少一个运算数的最低有效位与所述阵列的预定行 或列对准。
4. 根据权利要求1所述的方法,其进一步包含在最低有效位位置中用一个或一个以上 零填补每一位移运算数,以防止未使用的阵列元件的切换。
5. 根据权利要求1所述的方法,其进一步包含切断到达未使用的阵列元件的功率。
6. 根据权利要求1所述的方法,其进一步包含通过依据所述运算数的位宽度在一时间 从所述阵列乘法器处取出所述运算数的乘积来縮短等待时间。
7. 根据权利要求1所述的方法,其进一步包含将选定阵列元件连接到所述最终进位传 播加法器以绕过所述选定阵列元件与所述最终进位传播加法器之间的未使用的阵 列元件。
8. 根据权利要求7所述的方法,其中将选定阵列元件连接到所述最终进位传播加法器 包含产生控制信号且响应于所述控制信号选择性地将所述选定阵列元件的输出连 接到所述最终进位传播加法器。
9. 根据权利要求1所述的方法,其进一步包含将选定阵列元件连接到所述阵列乘法器 的输出以绕过所述进位传播加法器。
10. 根据权利要求9所述的方法,其中将选定阵列元件连接到所述阵列乘法器的输出包 含产生控制信号且响应于所述控制信号选择性地将所述选定阵列元件的输出连接 到所述阵列乘法器的各个输出。
11. 一种阵列乘法器,其包含阵列,其包含排列成行和列的多个阵列元件; 最终进位传播加法器,其以操作形式连接到所述阵列;以及控制逻辑,其用于将两个运算数输入到所述阵列,使得至少一个运算数朝向所述 阵列的最高有效行或列位移,以减少用于计算所述运算数的乘积的阵列元件的数 目。
12. 根据权利要求11所述的阵列乘法器,其中所述控制逻辑将所述运算数输入到所述阵 列乘法器,使得每一位移运算数的最高有效位与所述阵列的最高有效行或列对准。
13. 根据权利要求11所述的阵列乘法器,其中所述控制逻辑将所述运算数输入到所述阵 列乘法器,使得每一位移运算数的最低有效位与所述阵列的预定列对准。
14. 根据权利要求11所述的阵列乘法器,其中所述控制逻辑在最低有效位位置中用一个 或一个以上零填补每一位移运算数,以防止未使用的阵列元件的切换。
15. 根据权利要求11所述的阵列乘法器,其中所述控制逻辑切断到达未使用的阵列元件 的功率。
16. 根据权利要求11所述的阵列乘法器,进一步其中所述控制逻辑依据所述运算数的位 宽度在一时间从所述阵列乘法器处取出所述运算数的乘积。
17. 根据权利要求11所述的阵列乘法器,其中所述控制逻辑将选定阵列元件耦合到所述 最终进位传播加法器,以绕过所述选定阵列元件与所述最终进位传播加法器之间的 未使用的阵列元件。
18. 根据权利要求17所述的阵列乘法器,其中所述控制逻辑通过为选定阵列元件产生控制信号而将所述选定阵列元件耦合到所述最终进位传播加法器,且其中所述选定 阵列元件响应于所述控制信号而将总和输出到所述最终进位传播加法器。
19. 根据权利要求11所述的阵列乘法器,其中所述控制逻辑将选定阵列元件耦合到所述 阵列乘法器的各个输出以绕过所述进位传播加法器。
20. 根据权利要求19所述的阵列乘法器,其中所述控制逻辑通过为选定阵列元件产生 控制信号而将所述选定阵列元件耦合到所述阵列乘法器的各个输出,且其中所述选 定阵列元件将总和直接输出到所述阵列乘法器的各个输出。
全文摘要
本发明提供一种阵列乘法器,其包含包括多个阵列元件的部分乘积阵列以及最终进位传播加法器。将小于所述部分乘积阵列的相应尺度的运算数朝向所述阵列的最高有效行或列移位,以降低用于计算所述运算数的乘积的阵列元件的数目。可通过切断到达所述阵列元件的功率或通过用前导零填补所述移位运算数来减少未使用的阵列元件中的切换活动。可通过在所述部分乘积阵列中具有绕过非实质阵列元件的旁路线且通过将部分总和及进位直接馈入到所述最终进位传播加法器来实现额外的功率节省。还可绕过所述进位传播加法器的元件以实现进一步的功率减小。
文档编号G06F7/53GK101171569SQ200680015658
公开日2008年4月30日 申请日期2006年3月17日 优先权日2005年3月17日
发明者法尔哈德·福阿德·伊斯兰 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1