当前位置: 首页 > 专利查询>英特尔公司专利>正文

高基数子集代码乘法器架构制造技术

技术编号:19933556 阅读:18 留言:0更新日期:2018-12-29 04:19
提供了用于增强软乘法器实现方式的性能/效率的系统、方法和设备。更具体地,提供了用于利用高基数子集代码架构来实现软乘法器的方法。本文提供的技术实现了更小的乘法器,其占用更小的面积、改进封装、消耗更少的功率、并且改进集成电路上的路由选择。

【技术实现步骤摘要】
高基数子集代码乘法器架构相关申请的交叉引用本申请是要求于2017年6月20日提交的题为“HighRadixSubsetCodeMultiplierArchitecture”的美国临时专利申请第62/522,546号的优先权的非临时申请,该申请通过引用并入本文。
本公开一般地涉及集成电路,诸如现场可编程门阵列(FPGA)。更具体地,本公开涉及在集成电路(例如,FPGA)上实现的软乘法器逻辑。
技术介绍
该部分旨在向读者介绍可以与本公开内容的各个方面有关的领域的各个方面,本公开内容将在下文进行说明和/或要求保护。本论述被认为有助于向读者提供用于促进本公开的各个方面的更佳理解的背景信息。因此,应当理解的是,这些陈述应从这个角度来理解,而不承认为现有技术。机器学习正变为越来越重要的应用领域。例如,机器学习可用在自然语言处理、对象识别、生物信息学和经济性以及其它领域和应用。因此,跨越包括FPGA、专用标准产品(ASSP)、专用集成电路(ASIC)、中央处理单元(CPU)、图形处理单元(GPU)等在内的不同类型的平台的改进的机器学习实现方式可能是需要的。在机器学习中所涉及的很多计算都是基于推论的,不管平台如何。也即,机器学习中所涉及的系统可基于先前可用数据来进行预测。因此,为了更快且更高效地运行,系统可依赖于许多低精度(即,定点)计算,而不是依赖于较慢的、全精度(即,浮点)计算。因此,更小的、更高效的乘法器已经成为执行机器学习所涉及的运算的一部分。现代的FPGA架构可以包含软乘法器,它们是利用大的内部存储器I/O带宽来增加可用乘法器数量的基于存储器的乘法器。然而,不幸的是,软乘法器使用可能非常昂贵。软乘法器会消耗集成电路的很大的面积、功率、路由和/或包装资源,并且因此,它们在用于机器学习应用时并不那么高效。
技术实现思路
下文阐述本文公开的一些实施例的概要。应当理解的是,这些方面仅为了向读者提供这些实施例的简要概述而提供,并且这些方面不旨在限制本公开内容的范围。事实上,该公开内容可以涵盖下文没有阐述的各个方面。本实施例涉及用于增强软乘法器实现方式的性能/效率的系统、方法和设备。具体地,提供了一种用于将高Booth基数8子集编码映射到单级FPGA逻辑的方法。本文提供的技术实现了可以占用集成电路上的更小面积的较小的乘法器。此外,对于高密度电路而言封装可以更好。此外,使用公开的技术,软乘法器可以封装到单级逻辑上,可以利用较小的面积,并且可以具有更低的延迟。此外,这些软乘法器的功耗可以降低,并且可路由性可以得到显著提高。关于本公开内容的各个方面可能存在上文所述的特征的各种细化。另外的特征也可以并入这些各个方面中。这些细化和附加的特征可以单独地或以任何组合存在。例如,下文关于所示实施例中的一个或多个描述的各个特征可以单独地或以任意组合并入本专利技术的上述方面的任一方面中。再次,上述呈现的简要概述仅意在使读者熟悉本公开内容的实施例的某些方面和背景,而不限制所要求保护的主题。附图说明在阅读下文的具体实施方式并且参考附图时,可以更好地理解本公开内容的各个方面,在附图中:图1是根据实施例的用于实现软乘法器的系统的框图;图2是根据实施例的其中可以实现软乘法器的集成电路的框图;图3是根据实施例的根据公开的技术进行优化的Nx3乘法器的框图;图4是根据实施例的示出了根据公开的技术进行优化的Nx6乘法器的框图;图5是根据实施例的示出了Nx9乘法器的框图;并且图6是根据实施例的示出了添加到乘法器的输出的校正因子的框图。具体实施方式下文将描述一个或多个具体的实施例,为了提供这些实施例的简要描述,在说明书中没有描述实际的实现方式的全部特征。应当意识到,在任何此类实际实现方式的开发中,如在任何工程或设计项目中,可以做出若干实现方式特定的决策来实现开发者的具体目标,例如符合系统相关和商业相关约束,这可能因实现方式而不同。而且,应当意识到,这样的开发努力可能是复杂的和耗时的,但是对于获益于本公开的普通技术人员而言仍是设计、制造和制作的常规工作。如下文进一步详述的,本公开的实施例一般涉及用于增强在集成电路(IC)上实现的软乘法器的电路。特别地,在一些实施例中,高Booth基数8子集编码可以映射到单级FPGA逻辑,这可以使得软乘法器尺寸减小和/或其它功效。回顾之前所述,图1示出了利用软乘法器逻辑来实现机器实现程序的系统10的框图。设计者可能希望在集成电路12(IC,诸如现场可编程门阵列(FPGA))上实现功能。设计者可以规定实现高级程序,诸如OpenCL程序,这可以使得设计者能够更高效且容易地提供实现用于IC12的一组可编程逻辑的编程指令,而无需低级计算机程序设计语言(例如,Verilog或VHDL)的具体知识。例如,因为OpenCL非常类似于其它高级程序设计语言,诸如C++,所以熟悉这些程序设计语言的可编程逻辑的设计者可以比需要学习不熟悉的低级程序设计语言以在IC上实现新功能的设计者具有减少的学习曲线。设计者可以利用诸如AlteraTM的Quartus版本的设计软件14来实现它们的高级设计。设计软件14可以使用编译器16将高级程序转换成低级程序。编译器16可以提供将表示高级程序的机器可读指令提供给主机18和IC12。例如,IC12可以接收描述应存储在IC中的硬件实现方式的一个或多个内核程序20。主机18可以接收可以由内核程序20实现的主机程序22。为了实现主机程序22,主机18可以经由通信链路24将指令从主机程序22传送到IC12,通信链路24可以是例如直接存储器存取(DMA)通信或快速外围组件互连(PCIe)通信。在一些实施例中,内核程序20和主机18可以通过乘法器26实现乘法,乘法器26可以存储在IC12上且由主机18控制。乘法器26可以实现为软乘法器,或者可利用IC12内的大的内部存储器I/O带宽来增加可用乘法器数量的基于存储器的乘法器。现在转到IC12的更详细的说明,图2示出了IC设备12,其可以是可编程逻辑器件,诸如现场可编程门阵列(FPGA)40。为了该示例的目的,设备40被称为FPGA,但是应当理解,该设备可以任意类型的可编程逻辑器件(例如,专用集成电路和/或专用标准产品)。如图所示,FPGA40可以具有输入/输出电路42,用于驱动信号离开设备40以及用于经由输入/输出引脚44从其它设备接收信号。互连资源46(诸如,全局和局部垂直和水平导线和总线)可以用来在设备40上对信号进行路由。另外,互连资源46可以包括固定互连(导线)和可编程互连(即,各个固定互连之间的可编程连接)。可编程逻辑48可以包括组合和顺序逻辑电路。例如,可编程逻辑48可以包括查找表、寄存器和多路复用器。在各个实施例中,可编程逻辑48可以被配置为执行定制逻辑功能。与互连资源相关联的可编程互连可以被视为可编程逻辑48的一部分。如下文进一步详述的,FPGA40还可以包括可以依赖于高Booth基数8子集代码来定义其架构的高效软乘法器。诸如FPGA40之类的可编程逻辑器件可以包含具有可编程逻辑48的可编程元件50。例如,如上文所述,设计者(例如,客户)可以对可编程逻辑48进行编程(例如,配置)以执行一个或多个所需的功能。通过示例的方式,一些可编程逻辑器件可以通过使用掩码编程布置本文档来自技高网
...

【技术保护点】
1.一种可编程逻辑器件,包括:乘数编码,其包括一个或多个编码的乘数值;以及乘法器,其被配置为基于所述乘数编码来执行乘法运算,其中,所述乘法器跳过针对所述编码的乘数值的子集的实现。

【技术特征摘要】
2017.06.20 US 62/522,546;2017.09.28 US 15/718,9781.一种可编程逻辑器件,包括:乘数编码,其包括一个或多个编码的乘数值;以及乘法器,其被配置为基于所述乘数编码来执行乘法运算,其中,所述乘法器跳过针对所述编码的乘数值的子集的实现。2.如权利要求1所述的可编程逻辑器件,其中,所述乘数编码中的最高编码的乘数值中的一个或多个包括所述编码的乘数值的子集。3.如权利要求1或2中的任一项所述的可编程逻辑器件,其中,所述乘数编码是Booth基数8编码。4.如权利要求3所述的可编程逻辑器件,其中,用于+4、-4或其组合的所述乘数编码包括所述编码的乘数值的子集。5.如权利要求1、2或3中的任一项所述的可编程逻辑器件,其中,来自所述乘法器的结果小于针对用于所述乘法器的一个或多个输入的常量值。6.如权利要求5所述的可编程逻辑器件,其中,所述结果与所述常量值之间的差被输出作为独立信号。7.如权利要求6所述的可编程逻辑器件,其中,所述独立信号是用于所述乘法器的输入。8.如权利要求1、2、3或5中的任一项所述的可编程逻辑器件,其中,所述乘法运算包括加法运算、移位运算或它们的组合。9.如权利要求1、2、3、5或8中的任一项所述的可编程逻辑器件,其中,所述乘数编码是带符号的并且是关于0值对称的。10.如权利要求1、2、3、5、8或9中的任一项所述的可编程逻辑器件,包括多个乘法器并且包括用于基于一组编码的乘数值来处理所述乘法运算的电路,其中,来自所述电路的结果选择性地复用到来自所述多...

【专利技术属性】
技术研发人员:M·朗哈默尔G·贝克勒
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1