高性能FPGA加法.pdf
《高性能FPGA加法.pdf》由会员分享,可在线阅读,更多相关《高性能FPGA加法.pdf(34页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910505586.X (22)申请日 2019.06.12 (30)优先权数据 62/697,265 2018.07.12 US 16/147,098 2018.09.28 US (71)申请人 英特尔公司 地址 美国加利福尼亚 (72)发明人 M朗哈默尔TM范德霍克 JC克罗麦克扎克T钱德勒 (74)专利代理机构 永新专利商标代理有限公司 72002 代理人 林金朝王英 (51)Int.Cl. G06F 7/503(2006.01) H03K 19/177(2006.0。
2、1) H03K 19/173(2006.01) (54)发明名称 高性能FPGA加法 (57)摘要 本公开总体上涉及用于增强在集成电路上 实施的加法器的技术。 具体而言, 由被实施为接 收具有第一精度的操作数的加法器执行的算术 可以被重新结构化为使得一组子加法器可以对 操作数的相应区段执行算术。 更具体而言, 加法 器可被重新结构化为使得该组子加法器中的子 加法器可以同时输出生成信号和传播信号, 生成 信号和传播信号两者可以被路由至前缀网络。 前 缀网络可以确定相应的进位位, 所述进位位可以 进位到重新结构化加法器的后续子加法器中和/ 或选择所述后续加法器处的总和。 结果, 集成电 路可以受益。
3、于实施加法所涉及的提高的效率、 减 少的等待时间和减少的资源消耗(例如, 面积和/ 或电力), 这可以改善集成电路上的诸如加密或 机器学习的运算。 权利要求书3页 说明书15页 附图15页 CN 110780843 A 2020.02.11 CN 110780843 A 1.集成器件上的加法器电路, 所述加法器电路包括: 被配置为接收第一输入和第二输入的输入电路; 通信耦合至所述输入电路的第一算术逻辑电路, 其中, 所述第一算术逻辑电路被配置 为: 确定所述第一输入的第一位与所述第二输入的第一位的第一总和; 并且 至少部分地基于所述第一总和确定传播信号和生成信号; 以及 通信耦合至所述第一算术。
4、逻辑电路的输出电路, 其中, 所述输出电路被配置为同时输 出所述生成信号、 所述传播信号和所述第一总和。 2.根据权利要求1所述的加法器电路, 包括通信耦合至所述输入电路的第二算术逻辑 电路, 其中, 所述第二算术逻辑电路包括传播逻辑路径电路和生成逻辑路径电路, 并且其 中, 所述第二算术逻辑电路被配置为: 确定所述第一输入的第二位与所述第二输入的第二位的第二总和; 至少部分地基于所述第二总和确定附加传播信号和附加生成信号; 将所述附加传播信号路由至所述传播逻辑路径电路; 以及 将所述附加生成信号路由至所述生成逻辑路径电路。 3.根据权利要求2所述的加法器电路, 其中, 所述第一算术逻辑电路通。
5、信耦合至所述传 播逻辑路径电路和所述生成逻辑路径电路, 并且其中, 所述第一算术逻辑电路被配置为: 经由所述传播逻辑路径电路接收所述附加传播信号; 经由所述生成逻辑路径电路接收所述附加生成信号; 至少部分地基于所述附加传播信号确定所述传播信号; 以及 至少部分地基于所述附加生成信号确定所述生成信号。 4.根据权利要求3所述的加法器电路, 其中, 所述第一算术逻辑电路经由基于实例的连 接而通信耦合至所述生成逻辑路径电路。 5.根据权利要求1所述的加法器电路, 包括通信耦合至所述输出电路的输出路径电路, 其中, 所述输出路径电路包括被配置为接收所述生成信号或所述传播信号之一以及所述第 一总和的复用。
6、器。 6.根据权利要求1所述的加法器电路, 包括: 通信耦合至所述输入电路的第二算术逻辑电路, 其中, 所述第二算术逻辑电路被配置 为: 确定所述第一输入的第二位与所述第二输入的第二位的第二总和; 并且 至少部分地基于所述第二总和确定附加传播信号; 以及 通信耦合至所述第二算术逻辑电路的附加输出电路, 其中, 所述输出电路被配置为同 时输出所述附加传播信号和所述第二总和。 7.根据权利要求1所述的加法器电路, 其中, 所述传播信号包括附加传播信号的第一部 分, 其中, 所述第一算术逻辑电路被配置为接收所述附加传播信号的第二部分, 并且其中, 所述第一算术逻辑电路被配置为至少部分地基于所述附加传。
7、播信号的所述第一部分和所 述第二部分的逻辑与来计算所述附加传播信号。 8.根据权利要求1所述的加法器电路, 其中, 所述生成信号包括由所述第一总和得到的 进位输出信号。 权利要求书 1/3 页 2 CN 110780843 A 2 9.根据权利要求1所述的加法器电路, 其中, 所述第一算术逻辑电路被配置为独立于所 述生成信号确定所述传播信号。 10.根据权利要求1所述的加法器电路, 其中, 所述输出电路包括第一输出电路和第二 输出电路, 其中, 所述第一输出电路被配置为同时输出所述生成信号的第一部分和所述传 播信号的第一部分, 并且其中, 所述第二输出电路被配置为同时输出所述传播信号的第二 部。
8、分和所述生成信号的第二部分。 11.根据权利要求1所述的加法器电路, 包括进位跳跃结构, 其中, 所述进位跳跃结构包 括传播逻辑路径电路和生成逻辑路径电路。 12.根据权利要求11所述的加法器电路, 其中, 所述生成逻辑路径电路包括进位链电 路。 13.根据权利要求11所述的加法器电路, 其中, 所述传播逻辑路径电路包括选择电路。 14.根据权利要求1所述的加法器电路, 其中, 所述集成器件包括现场可编程门阵列。 15.集成电路器件上的加法器电路, 所述加法器电路包括: 被配置为接收具有第一组位的第一输入的第一输入电路; 被配置为接收具有第二组位的第二输入的第二输入电路; 耦合至所述第一输入电。
9、路和所述第二输入电路的第一子加法器电路, 其中, 所述第一 子加法器电路被配置为接收所述第一组位的第一子组和所述第二组位的第一子组, 并且至 少部分地基于所述第一组位的第一子组和所述第二组位的第一子组同时确定生成信号、 传 播信号以及所述第一组位的第一子组和所述第二组位的第一子组的第一总和; 耦合至所述第一子加法器电路的前缀网络, 其中, 所述前缀网络被配置为至少部分地 基于所述生成信号和所述传播信号确定进位输出信号, 其中, 所述前缀网络包括第一组合 电路; 以及 耦合至所述前缀网络的第二组合电路, 其中, 所述第二组合电路被配置为至少部分地 基于所述进位输出信号确定所述第一组位和所述第二组。
10、位的第二总和的部分。 16.根据权利要求15所述的加法器电路, 其中, 所述第二组合电路包括第二子加法器电 路, 所述第二子加法器电路耦合至所述第一子加法器电路和所述前缀网络并且被配置为将 所述第一总和与所述进位输出信号相加, 以确定所述第一组位和所述第二组位的所述第二 总和的所述部分。 17.根据权利要求15所述的加法器电路, 其中, 所述前缀网络的拓扑结构包括Kogge- Stone拓扑结构、 Brent-Kung拓扑结构、 Sklansky拓扑结构、 或其组合。 18.根据权利要求15所述的加法器电路, 其中, 所述第一子加法器电路被配置为至少部 分地基于所述第一组位的第一子组和所述第二。
11、组位的第一子组确定所述传播信号的第一 部分和所述传播信号的第二部分, 并且其中, 所述第一子加法器电路被配置为至少部分地 基于所述传播信号的所述第一部分和所述传播信号的所述第二部分确定所述传播信号。 19.一种有形非暂态机器可读介质, 包括用以构建加法器电路的机器可读指令, 所述机 器可读指令在由一个或多个处理器执行时使得所述一个或多个处理器: 将输入电路配置为接收第一输入和第二输入; 对通信耦合至所述输入电路的算术逻辑电路进行配置, 其中, 对所述算术逻辑电路进 行配置包括将所述算术逻辑电路配置为: 权利要求书 2/3 页 3 CN 110780843 A 3 确定所述第一输入的第一位与所述。
12、第二输入的第一位的总和; 并且 至少部分地基于所述总和确定传播信号和生成信号; 并且 将通信耦合至所述算术逻辑电路的输出电路配置为同时输出所述生成信号、 所述传播 信号和所述总和。 20.根据权利要求19所述的有形非暂态机器可读介质, 其中, 所述算术逻辑电路包括所 述输出电路, 并且其中, 所述机器可读指令在由一个或多个处理器执行时, 使得所述一个或 多个处理器: 将通信耦合至所述算术逻辑电路的输出路径电路的复用器配置为接收所述生成信号 和所述传播信号之一以及所述总和。 21.一种系统, 包括: 用于将可编程逻辑器件的输入电路配置为接收第一输入和第二输入的装置; 用于对通信耦合至所述可编程逻。
13、辑器件的所述输入电路的所述可编程逻辑器件的算 术逻辑电路进行配置的装置, 其中, 所述算术逻辑电路被配置为: 确定所述第一输入的第一位与所述第二输入的第一位的总和; 并且 至少部分地基于所述总和确定传播信号和生成信号; 以及 用于将通信耦合至所述算术逻辑电路的输出电路配置为同时输出所述生成信号、 所述 传播信号和所述总和的装置。 权利要求书 3/3 页 4 CN 110780843 A 4 高性能FPGA加法 0001 相关申请的交叉引用 0002 本申请要求2018年7月12日提交的标题为 “Multi-Input Reduction Structure for Very Large Int。
14、egers” 的美国临时申请序列号No.62/697,265的优先权和权益, 出于 所有目的通过引用将该美国临时申请的全文并入本文。 背景技术 0003 本公开总体上涉及集成电路, 例如现场可编程门阵列(FPGA)。 更具体而言, 本公开 涉及使用集成电路的电路元件(例如, FPGA的可编程逻辑)实施的用以执行大型算术运算的 加法器电路。 0004 本部分旨在向读者介绍可能与本公开的各个方面相关的本领域技术的各个方面, 本公开的各个方面在下文中描述和/或要求保护。 认为这种论述有助于为读者提供背景信 息以便于更好地理解本公开的各个方面。 因此, 应当理解, 要在这个意义上来阅读这些文字 描述,。
15、 而不是作为对现有技术的承认。 0005 集成电路越来越多地实施对于我们的日常生活而言已经变得至关重要的功能, 例 如加密。 实际上, 加密在很多技术领域(例如, 金融交易安全领域)都变得越来越有价值。 加 密(以及在集成电路上发生的其它运算, 例如, 某些乘法运算)可能使用精度越来越大的算 术, 其在一些情况下可能涉及用以对具有大精度的操作数求和的最终加法运算。 在一些情 况下, 例如, 操作数的精度可以约为几千位。 最终加法运算可以由最终加法器电路执行。 然 而, 由于最终加法器电路可以包括链结到一起的小加法器电路, 以适应涉及对各操作数求 和的大精度算术, 因而最终加法器电路可以代表在集。
16、成电路上实施的用于加密和/或乘法 运算的关键路径。 实际上, 最终加法器可能占用集成电路的相对较大的面积, 消耗相对大量 的电力, 和/或在集成电路中产生附加的等待时间。 附图说明 0006 在阅读以下具体实施方式并参考附图时, 可以更好地理解本公开的各个方面, 在 附图中: 0007 图1是根据实施例的用于实施算术运算的系统的方框图; 0008 图2是根据实施例的可以在其中实施加法器的集成电路的方框图; 0009 图3是根据实施例的流水线加法器的方框图; 0010 图4是根据实施例的解码器电路的方框图; 0011 图5是根据实施例的重新结构化加法器的方框图; 0012 图6是根据实施例的包括。
17、被实施为同时输出生成信号和传播信号的子加法器的重 新结构化加法器的方框图; 0013 图7是根据实施例的包括被实施为同时输出生成信号、 传播信号和总和的子加法 器的重新结构化加法器的方框图; 0014 图8是根据实施例的逻辑阵列块(LAB)的支持电路的方框图; 说明书 1/15 页 5 CN 110780843 A 5 0015 图9是根据实施例的被实施为基于传播信号的若干部分计算传播信号的支持电路 的方框图; 0016 图10是根据实施例的第一逻辑阵列结构的方框图; 0017 图11是根据实施例的进位链电路的方框图; 0018 图12是根据实施例的第二逻辑阵列结构的方框图; 0019 图13。
18、是根据实施例的第三逻辑阵列结构的方框图; 0020 图14是根据实施例的通过第一和第二输出耦合至若干输出路径的自适应逻辑模 块的方框图; 0021 图15是根据实施例的通过第一和第二输出、 生成信号和传播信号耦合至若干输出 路径的自适应逻辑模块的方框图; 0022 图16是根据实施例的第四逻辑阵列结构的方框图; 以及 0023 图17是根据实施例的数据处理系统的方框图。 具体实施方式 0024 下文将描述一个或多个具体实施例。 为努力提供这些实施例的简洁描述, 并未在 本说明书中描述实际实施方式的所有特征。 应当理解, 在任何这种实际实施方式的开发过 程中, 如在任何工程或设计项目中, 可以做。
19、出许多实施方式特定的决策以实现开发者的具 体目标, 例如, 符合系统相关和商业相关的约束, 所述约束可以随着实施方式的不同而存在 变化。 此外, 应当理解, 这种开发工作有可能是复杂且耗时的, 但是对于受益于本公开的本 领域普通技术人员而言, 其仍将是设计、 加工和制造的常规工作。 此外, 应当指出, 如本公开 中提及的, 术语 “行波进位加法器” 一般是指一种加法器电路结构, 其被实施为使得全加器 的进位输出被馈送(例如, 行波传送)到行波进位加法器的接下来的更重要的全加器的进位 输入位置中。 如本公开中另外提及的, 术语 “进位传播加法器” 可以指可以由多个较小加法 器电路(例如, 行波进。
20、位加法器)构建的加法器电路。 此外, 如本公开中提及的, 术语 “自适应 逻辑模块” 可以指可以用于执行算术运算的电路单元。 此外, 如本公开中提及的, 术语 “逻辑 阵列块” 可以指被布置(例如, 通信耦合)到一起以执行一项或多项算术和/或组合运算的若 干自适应逻辑模块。 0025 如下文进一步详细讨论的, 本公开的实施例总体上涉及降低加法器电路占用的集 成电路面积和/或由加法器电路导致的等待时间。 更具体而言, 本公开涉及适于执行大型算 术运算的加法器(例如, 用于执行乘法运算的最终加法器)到可编程逻辑的更有效率的映 射。 在一些情况下, 可以采用行波进位加法器实施进位传播加法器电路(例如。
21、, 用以执行乘 法的最终加法器)。 此外, 为了构建具有适当精度的进位传播加法器和/或将进位传播加法 器装配到集成电路上, 可以将一组具有较小精度的加法器(例如, 子加法器电路)以链和/或 流水线方式联结在一起, 并且与以链和/或流水线方式联结在一起的该组子加法器中的每 个子加法器相关联的输入和/或输出数据路径可以与彼此达到延迟均衡。 由于延迟均衡可 能使用相当数量的寄存器和/或存储器, 因而进位传播加法器可能在集成电路上导致显著 的面积问题、 等待时间问题和/或电力问题。 0026 相应地, 为了减少向可编程逻辑实施加法器所涉及的面积、 电力和/或等待时间, 可以将加法器重新结构化为不按照链。
22、和/或流水线方式将该组子加法器联结到一起(例如, 说明书 2/15 页 6 CN 110780843 A 6 取决于相互的等待时间)。 如下文进一步详细讨论的, 对加法器的重新结构化还可以涉及将 在该组子加法器中的每者处确定的相应生成信号和相应传播信号路由至前缀网络电路, 所 述前缀网络电路被实施为生成适当的相应进位位, 以进位到该组子加法器中的接下来的子 加法器中。 此外, 为了减少输出生成信号和传播信号所涉及的资源, 子加法器可以被实施为 同时输出相应的生成信号和相应的传播信号(例如, 以使相应的生成信号和相应的传播信 号同时可用)。 子加法器可以被另外实施为同时输出相应的总和以及生成信号。
23、和传播信号。 更具体而言, 在一些实施例中, 子加法器可以是使用逻辑阵列块实施的, 逻辑阵列块可以包 括若干电路单元, 例如自适应逻辑模块。 逻辑阵列块可以被结构化为包括用于传播信号的 传播逻辑路径(例如, 硬逻辑路径)和用于生成信号(例如, 加法运算的进位输出信号)的生 成逻辑路径(例如, 进位链)。 通过使用传播逻辑路径和生成逻辑路径, 逻辑阵列块可以被实 施为在同一逻辑阵列块中或者在接下来的逻辑阵列块中输出传播信号、 以及生成信号和总 和。 此外, 对子加法器进行重新结构化可以包括上文描述的技术的任何适当组合。 0027 有鉴于前文, 图1示出了可以实施算术运算的系统10的方框图。 设计。
24、者可能希望在 集成电路器件12(例如, 现场可编程门阵列(FPGA)或者专用集成电路(ASIC)上实施诸如本 公开的大精度算术运算的功能。 在一些情况下, 设计者可以指定所要实施的高级程序, 例如 OpenCL程序, 其可以使设计者能够更有效率地并且更加容易地提供编程指令, 以在无需具 体了解低级硬件描述语言(例如, Verilog或VHDL)的情况下对集成电路器件12的一组可编 程逻辑单元加以配置。 例如, 由于OpenCL与诸如C+的其它高级编程语言相当类似, 因而熟 悉这种编程语言的可编程逻辑设计者与被要求学习不熟悉的低级硬件描述语言来实施集 成电路器件12中的新功能的设计者相比, 可以。
25、具有缩短的学习曲线。 0028设计者可以使用设计软件14(例如, 英特尔公司推出的的版本) 来实施其高级设计。 设计软件14可以使用编译器16将高级程序转化成低级描述。 编译器16 可以向主机18和集成电路器件12提供表示高级程序的机器可读指令。 主机18可以接收可以 通过内核程序20实施的主机程序22。 为了实施主机程序22, 主机18可以将来自主机程序22 的指令经由通信链路24传送到集成电路器件12, 例如, 所述通信链路24可以是直接存储器 存取(DMA)通信或者外围部件互连快速(PCIe)通信。 在一些实施例中, 内核程序20和主机18 可以实现对集成电路器件12上的乘法器26的配置。
26、。 乘法器26可以包括电路和/或其它逻辑 元件, 并且可以被配置为实施(例如)加密和/或算术运算。 0029 尽管本文描述的技术涉及应用高级程序, 但是在一些实施例中, 设计者可以使用 设计软件14生成和/或指定低级程序, 例如, 上文所述的低级硬件描述语言。 此外, 在一些实 施例中, 可以在无需单独主机程序22的情况下实施系统10。 此外, 在一些实施例中, 本文描 述的技术可以被作为不可编程电路设计而实施到电路中。 因而, 本文描述的实施例旨在进 行举例说明而非构成限制。 0030 现在来看对集成电路器件12的更加详细的讨论, 图2示出了作为可编程逻辑器件 (例如, 现场可编程门阵列(F。
27、PGA)的集成电路器件12的示例。 此外, 应当理解, 集成电路器 件12可以是任何适当类型的可编程逻辑器件(例如, 专用集成电路和/或专用标准产品)。 如 所示, 集成电路器件12可以具有用于驱动信号离开器件以及用于经由输入/输出引脚44接 收来自其它器件的信号的输入/输出电路42。 可以使用诸如全局和局部垂直和水平导线和 总线的互连资源46对集成电路器件12上的信号进行路由。 此外, 互连资源46可以包括固定 说明书 3/15 页 7 CN 110780843 A 7 互连(导线)和可编程互连(即, 相应固定互连之间的可编程连接)。 可编程逻辑48可以包括 组合或者顺序逻辑电路。 例如, 。
28、可编程逻辑48可以包括查找表格、 寄存器和复用器。 在各种 实施例中, 可编程逻辑48可以被配置为执行自定义逻辑功能。 与互连资源相关联的可编程 互连可以被看作是可编程逻辑48的部分。 0031 诸如集成电路器件12的可编程逻辑器件可以包含具有可编程逻辑48的可编程元 件50。 例如, 如上文所讨论的, 设计者(例如客户)可以对可编程逻辑48进行编程(例如, 配 置), 以执行一项或多项预期功能。 作为示例, 可以通过使用掩模编程布置对一些可编程逻 辑器件的可编程元件50进行配置而对所述可编程逻辑器件进行编程, 对可编程元件50的配 置是在半导体制造期间执行的。 其它可编程逻辑器件是在已经完成。
29、半导体制作操作之后, 通过(例如)使用电编程或激光编程对其可编程元件50进行编程而被配置的。 一般而言, 可 编程元件50可以基于任何适当的可编程技术, 例如, 熔丝、 反熔丝、 电可编程只读存储器技 术、 随机存取存储器单元、 掩模编程元件及其它。 0032 很多可编程逻辑器件受到电编程。 利用电编程布置, 可编程元件50可以由一个或 多个存储器单元形成。 例如, 在编程期间, 可以使用引脚44以及输入/输出电路42将配置数 据加载到存储器单元中。 在一个实施例中, 可以将存储器单元实施为随机存取存储器(RAM) 单元。 文中描述的对基于RAM技术的存储器单元的使用仅旨在作为一个示例。 此外。
30、, 由于这 些RAM单元在编程期间加载了配置数据, 因而有时将它们称为配置RAM单元(CRAM)。 这些存 储器单元均可以提供对应的静态控制输出信号, 所述信号控制可编程逻辑48中的相关联逻 辑部件的状态。 例如, 在一些实施例中, 输出信号可以被施加至可编程逻辑48内的金属氧化 物半导体(MOS)晶体管的栅极。 0033 现在来看图3, 其示出了流水线加法器100(例如, 加法器电路), 例如进位传播加法 器(CPA), 其可以通过将操作数分解成较小的区段来处理大操作数的求和。 在所例示的实施 例中, 流水线加法器100接收两个128位操作数AA127:0和BB127:0, 它们每者被分成四。
31、 个32位区段(例如, 分别是AA31:0、 AA63:32、 AA95:64和AA127:96以及BB31:0、 BB 63:32、 BB95:64和BB127:96)。 通过将两个128位操作数分成更小(例如, 32位)区段 (例如, 操作数区段), 可以采用一组的四个32位子加法器102来确定两个128位操作数的总 和, 所述四个32位子加法器102可以被实施成以流水线方式联结到一起的行波进位加法器。 因而, 如图3所示, 第一子加法器102可以对AA31:0和BB31:0求和, 第二子加法器102可 以利用接收自第一子加法器102的第一进位输入值对AA63:32和BB63:32求和, 。
32、第三子 加法器102可以利用接收自第二子加法器102的第二进位输入值对AA95:64和BB95:64 求和, 并且第四子加法器102可以利用接收自第三子加法器102的第三进位输入值对AA 127:96和BB127:96求和。 0034 为了在AA63:32和BB63:32的求和期间使用所述第一进位输入值, 可以使输入 到第二子加法器102的操作数区段AA63:32和BB63:32延迟一个或多个时钟周期, 从而 与第一进位输入值同时抵达。 例如, 由于AA31:0和BB31:0的加法的结果(例如, 进位输 出)被用作AA63:32和BB63:32的求和过程中的第一进位输入值, 因而可以使AA63。
33、:32 和BB63:32的求和延迟, 直到来自第一子加法器102的进位输出(其可以被存储到寄存器 104中)可获得为止。 在一些实施例中, 为了使操作数区段AA63:32和BB63:32延迟, 流水 线加法器100可以在第二子加法器102处接收到操作数区段AA63:32和BB63:32之前, 通 说明书 4/15 页 8 CN 110780843 A 8 过可以利用一个或多个寄存器104、 存储器、 和/或先进先出(FIFO)数据结构等实施的第一 延迟链106对操作数区段AA63:32和BB63:32进行路由。 此外, 为了使操作数区段AA95: 64和BB95:64适当延迟, 流水线加法器1。
34、00可以通过第二延迟链106对操作数区段AA95: 64和BB95:64进行路由, 所述第二延迟链106在一些实施例中可以使操作数区段AA95: 64和BB95:64抵达第三子加法器102的时间延迟两个或更多时钟周期, 以使操作数区段 AA95:64和BB95:64与接收自第二子加法器102的第二进位输入值在第三子加法器102 处同时可获得。 相应地, 流水线加法器100可以包括第三延迟链106, 以使操作数区段AA 127:96和BB127:96延迟三个或更多时钟周期再抵达第四子加法器102, 使得操作数区 段AA127:96和BB127:96与接收自第三子加法器102的第三进位输入值同时可。
35、获得。 0035 此外, 通过使第一32位加法器102的输出与第二子加法器102、 第三子加法器102和 第四子加法器102的输出衔接起来, 可以形成AA127:0和BB127:0的128位总和。 由于第 一子加法器102可以在其它子加法器102(例如, 第二子加法器102、 第三子加法器102和第四 子加法器102)中的任何子加法器之前计算并输出操作数区段AA31:0和BB31:0的总和, 因而流水线加法器100可以被实施为通过第四延迟链106对第一子加法器102的输出进行路 由。 第四延迟链可以使第一子加法器102的输出延迟若干时钟周期, 其取决于在流水线加法 器100中跟在第一子加法器1。
36、02之后的子加法器102的数量。 相应地, 在所例示的实施例中, 第四延迟链106可以使第一子加法器102的输出延迟三个时钟周期, 但是在其它实施例中, 第四延迟链106可以被实施为使第一子加法器102的输出延迟更大或更少数量的时钟周期。 此外, 流水线加法器100可以通过第五延迟链106对第二子加法器102的输出进行路由, 并且 通过第六延迟链106对第三子加法器102的输出进行路由, 使得子加法器102中的每者的输 出同时可获得。 0036 尽管上文描述的技术参照了包括以流水线方式联结到一起的四个32位子加法器 102的128位流水线加法器100, 但是在一些实施例中, 可以实施具有更大精。
37、度的流水线加法 器100, 例如, 1024位流水线加法器100和/或其它适当尺寸的流水线加法器。 在这种情况下, 可以将流水线加法器100分解成更大数量的子加法器102, 例如32个32位子加法器102。 此 外, 可以将延迟链106实施为增大在使去往子加法器102的输入和/或来自子加法器102的输 出可获得之前的等待时间(例如, 延迟)。 替代地或此外, 可以增大或者减小操作数区段和/ 或子加法器102的精度, 并且在一些实施例中, 可以至少部分地基于集成电路器件12的精度 确定操作数区段和/或子加法器102的精度。 在任何情况下, 本文描述的示例旨在举例说明 而非构成限制。 0037 在。
38、一些实施例中, 流水线加法器100的延迟链106可能使用集成电路器件12中的显 著的资源, 因为延迟链106可能占据集成电路器件12中的显著的面积和/或消耗集成电路器 件12中的显著的电力。 此外, 由于流水线加法器100的每个子加法器102算术连接至流水线 加法器100中的前一子加法器102(例如, 第二子加法器102与第一子加法器102算术相关), 因而集成电路器件12可以将流水线加法器100装配到集成电路器件12的连续区域中, 这可 以限制和/或约束集成电路器件12中的可用面积的使用。 此外, 由于子加法器102不是独立 的, 因而流水线加法器100执行的加法可能引起显著的等待时间, 以。
39、使输入的操作数区段和 子加法器102的输出适当地延迟。 0038 相应地, 如图4所示, 解码器120可以被实施为对来自一组独立的子加法器102的生 说明书 5/15 页 9 CN 110780843 A 9 成信号(G)和/或传播信号(P)进行解码。 在一些实施例中, 如下文更详细描述的, 重新结构 化加法器可以使用生成信号和/或传播信号来独立于其它子加法器102生成的输出和/或进 位输出值而确定子加法器102处的两个操作数区段(例如, AA31:0和BB31:0)的总和, 所 述和的确定。 0039 为了对生成信号解码, 解码器120可以使用子加法器102确定由第一操作数区段 (A)和第二。
40、操作数区段(B)之和得到的进位输出信号。 在一些实施例中, 解码器120可以直接 路由来自解码器120的子加法器102的进位链的生成信号(例如, 进位输出信号)。 替代地或 此外, 解码器120可以通过(例如)对子加法器102的最高有效位进行零扩展而从逻辑输出生 成信号。 解码器120可以将所得到的生成信号路由至逻辑与门122, 其可以使用生成信号的 补码生成传播信号。 例如, 解码器的逻辑与门122可以接收生成信号的补码和传播 信号 (P )(例如, 传播信号的前体)作为输入并确定这些输入的逻辑与(非(G)与P ), 以生成传播 信号(P), 其中, 信号P 可以由被实施为对第一操作数区段和。
41、第二操作数区段连同进位输入 值1求和的附加子加法器102生成。 0040 如上所述, 重新结构化加法器可以使用生成信号和传播信号独立于一个或多个附 加子加法器102的输出而确定一个或多个子加法器102处的一个或多个总和。 相应地, 图5示 出了被实施为使用解码器120和前缀网络162来确定两个操作数的总和的重新结构化加法 器160(例如, 加法器电路)。 更具体而言, 通过使用解码器120和前缀网络162, 重新结构化加 法器160可以至少部分地基于两个操作数区段的对应对(例如, 操作数区段对)的总和来确 定两个操作数的总和, 每个操作数具有第一精度, 每个操作数区段具有第二精度, 第二精度 。
42、可以是小于第一精度的精度。 0041 如所例示的实施例中所示, 重新结构化加法器160可以包括用于每个操作数区段 对的解码器120。 例如, 重新结构化加法器160可以包括被实施为对由第一操作数区段对AA 31:0和BB31:0产生的生成信号和/或传播信号(例如, 分别为G1和P1)进行解码的第一 解码器120、 被实施为对由第二操作数区段对AA63:32和BB63:32产生的生成信号和/或 传播信号(例如, 分别为G2和P2)进行解码的第二解码器、 以及被实施为对由第三操作数区 段对AA95:64和BB95:64产生的生成信号和/或传播信号(例如, 分别为G3和P3)进行解 码的第三解码器。。
43、 尽管未示出, 但是第一操作数区段对、 第二操作数区段对和第三操作数区 段对中的每者可以从重新结构化加法器160的分别被实施为接收第一操作数(AA)和第二操 作数(BB)的第一输入电路和第二输入电路路由。 此外, 如上文所述, 在每个解码器120处解 码的生成信号和传播信号是独立于其它生成信号和传播信号并且独立于其它操作数区段 对的值而生成的。 相应地, 解码器120和/或输入至相应的解码器120的操作数区段可以被置 于集成电路器件12上的相互分开并且远离的区域中, 而不是被置于连续区域内。 照此, 在一 些实施例中, 将重新结构化加法器160装配到集成电路器件12上的麻烦程度可以低于装配 流。
44、水线加法器100的麻烦程度。 0042 来自每个解码器120的生成信号和传播信号可以馈送到前缀网络162(例如, 软逻 辑前缀网络)中。 前缀网络162可以是由组合逻辑(例如, 组合电路)构建而成的, 并且前缀网 络162的布局可以是灵活的。 相应地, 在一些实施例中, 前缀网络162可以是利用Kogge- Stone拓扑结构、 Brent-Kung拓扑结构、 Sklansky拓扑结构、 流水线拓扑结构和/或任何其它 适当拓扑结构实施的。 在任何情况下, 前缀网络162可以被实施为接收来自解码器120的生 说明书 6/15 页 10 CN 110780843 A 10 成信号和传播信号作为输入。
45、, 并基于所接收到的生成信号和所接收到的传播信号生成进位 位。 重新结构化加法器160可以将所生成的进位位馈送到被实施为进行如下操作的子加法 器102的输入中: 所述子加法器102对紧随在被输入到负责产生对应于进位位的生成信号和 传播信号的解码器120中的操作数区段对之后(具有紧挨着的更高有效位位置)的操作数区 段对求和。 例如, 前缀网络162可以生成对应于由子加法器102执行的求和中的每者的相应 进位输出位, 并且可以将进位输出位路由至相应的后续子加法器102的进位输入位置。 相应 地, 重新结构化加法器160可以模仿流水线加法器100使用的进位链, 以使用前缀网络162将 每个进位输出位。
46、从前一子加法器102馈送至后续子加法器102。 此外, 如上文所讨论的, 通过 利用前缀网络172和解码器120代替进位链, 可以使用重新结构化加法器160按照独立于彼 此的方式生成操作数区段对的总和。 相应地, 解码器120和/或子加法器102可以与附加解码 器120和/或子加法器分开地装配到集成电路器件12上, 这样可以减少集成电路器件12上的 用于执行求和的面积。 0043 在一些实施例中, 为了确保操作数区段对在重新结构化加法器160的最终子加法 器102处与由前缀网络162生成的对应进位输出位同时可获得, 重新结构化加法器160可以 包括延迟链106, 延迟链106被实施为使操作数区。
47、段对延迟适当数量的时钟周期, 以补偿按 照前缀网络162的拓扑结构实施的任何流水线。 在这样的实施例中, 重新结构化加法器160 中包含的延迟链106中的每者可以实施相同的延迟(例如, 相同数量的时钟周期)。 此外, 由 于最低有效操作数区段对(例如, AA31:0和BB31:0)的加法不包含进位输入, 因而最低 有效操作数区段对的总和可以通过延迟最低有效生成信号的产生来实施。 此外, 在一些实 施例中, 重新结构化加法器160可以被实施为使得相等数量的等待时间周期被施加给输入 至重新结构化加法器160的每个操作数区段对。 0044 尽管重新结构化加法器160可能看起来比流水线加法器100更加。
48、复杂, 但是重新结 构化加法器160的深度(级数和/或等待时间)可以保持相对恒定, 而不管重新结构化加法器 160的精度如何。 例如, 具有1024位精度的重新结构化加法器160可以包括比重新结构化加 法器160的具有128位精度的所例示实施例更宽(例如, 更高精度)的前缀网络162, 但是由于 前缀网络162可以是采用组合逻辑构建的, 因而前缀网络162的提高的宽度(例如, 精度)不 会提高重新结构化加法器160的深度和/或等待时间。 相应地, 在具有1024位精度的重新结 构化加法器160和所例示的重新结构化加法器160之间, 在前缀网络162的输出处使用的延 迟链106的深度可以保持相同。
49、。 另一方面, 流水线加法器100的深度可以随着每个附加的子 加法器102用于对每个附加的操作数区段对求和而加1, 因为流水线加法器100可以包括附 加的流水线级(例如, 进位链)。 相应地, 由流水线加法器100的延迟链106产生的等待时间可 以随着流水线加法器100的精度的增大而增大。 0045 此外, 在一些实施例中, 分开计算生成信号(G)和传播信号(P)(例如, 利用一对子 加法器102)可能消耗集成电路器件12的显著资源(例如, 面积、 路由、 电流、 和/或其它)。 例 如, 值3N可以表示大的N位加法器(例如, 图5的重新结构化加法器160)的算术成本。 然而, 通 过同时计算。
50、生成信号和传播信号, N位加法器的算术成本可以降低至2N, 这样可以在集成电 路器件12中产生显著的资源(例如, 放置和路由、 面积和/或其它)和/或性能(例如, 等待时 间)利益。 相应地, 在一些实施例中, 解码器120可以被重新结构化为同时确定生成信号和传 播信号, 如图6所示。 更具体而言, 如下文更详细所述, 可以根据一项或多项技术对用于实施 说明书 7/15 页 11 CN 110780843 A 11 子加法器102的电路和/或逻辑进行重新结构化。 0046 此外, 如图7所示, 在一些实施例中, 可以在子加法器102内同时确定传播信号、 生 成信号和总和中的每者。 相应地, 在。
- 内容关键字: 性能 FPGA 加法
相机模块.pdf
具有防堵机构的浆水处理用滤筛装置.pdf
打包设备.pdf
可回收动脉瘤辅助支架及输送系统.pdf
电梯井道相邻房间的复合隔声墙体构造.pdf
灯具的免接电线的导电铜片触点结构.pdf
管式反应器.pdf
陶瓷纤维管.pdf
留孔装置.pdf
冲压机用的送料机构.pdf
玻璃装饰条组装装置.pdf
电缆抗拉强度检测装置.pdf
电网建设的架线机.pdf
家电玻璃多向磨边机.pdf
用于土壤肥料的均匀泼洒机构.pdf
漏电电流检测仪及防护组件.pdf
洁净室多重复合杀菌过滤风口结构.pdf
纸垛自动整理装置.pdf
有机废气、有机废液及烟气的协同处理系统.pdf
铜锭抛光用夹具.pdf
指纹取景器.pdf
新型电动自楔式安全制动器.pdf
新型血糖试纸盒.pdf
中远距离传输零中频接收机电路.pdf
纳米铁强化磺胺废水厌氧消化的方法.pdf
鱼缸除垢机器人.pdf
可变形手持便携式三防平板电脑.pdf
步进电机散热方法、系统及介质.pdf
建筑施工降尘设备.pdf
防水防潮型家用可燃气体探测器.pdf
基于物联网的智能实验室安全管理策略确定方法及装置.pdf
基于双边带光频梳的快速布里渊光学时域分析仪.pdf
勾扣式易脱穿内裤.pdf
气动悬浮阀以及座椅.pdf
兼具抗菌及催化活性的无机材料及其制备方法.pdf
具备烘干功能的涂装设备.pdf
溅射用高纯铝铜合金靶材坯料的制备方法.pdf
柔性材料切割供应装置及造粒系统.pdf
眼周防止肌肤暗沉、提亮保湿的组合物.pdf
收薯机.pdf
牧草青贮搅拌打捆收获机及收获方法.pdf
定型机废气多污染物脱除及吸附剂原位再生装置和方法.pdf
基于钢筋混凝土框架结构的装配式外墙及其连接方法.pdf
大型磨机过程控制系统.pdf
护边条取放装置.pdf
适用于机械设备制造的螺丝.pdf
可实时监控的电子猫眼.pdf
适用于肥料施用的设备.pdf
马铃薯脱皮装置.pdf
配电网用户电源接入方法、系统、服务器及存储介质.pdf
用于显示屏幕的散热片、电子设备.pdf