CN110069239A - 二进制逻辑电路、获得其硬件表示的方法及其制造方法 - Google Patents

二进制逻辑电路、获得其硬件表示的方法及其制造方法 Download PDF

Info

Publication number
CN110069239A
CN110069239A CN201910231455.7A CN201910231455A CN110069239A CN 110069239 A CN110069239 A CN 110069239A CN 201910231455 A CN201910231455 A CN 201910231455A CN 110069239 A CN110069239 A CN 110069239A
Authority
CN
China
Prior art keywords
binary
slope
value
logic circuits
straightway
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910231455.7A
Other languages
English (en)
Other versions
CN110069239B (zh
Inventor
T·李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Publication of CN110069239A publication Critical patent/CN110069239A/zh
Application granted granted Critical
Publication of CN110069239B publication Critical patent/CN110069239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

二进制逻辑电路、获得其硬件表示的方法及其制造方法。提供一种二进制逻辑电路,该二进制逻辑电路用于在预定义范围内将数学函数逼近为一系列直线段,每条直线段在一对断点之间延伸并且具有斜率以及基值,所述二进制逻辑电路包括:输入,用于接收在所述预定义范围内的输入变量;多条逻辑链,每条逻辑链包括:二进制乘法器,该二进制乘法器被配置为执行与斜率的乘法,以及二进制加法器,该二进制加法器被配置为将基值相加到所述二进制乘法器的输入或输出;以及选择逻辑,被构造成根据所述输入变量选择所述逻辑链中的一个,以针对所接收的输入变量提供所述数学函数的近似值,其中,每个断点具有小于或等于阈值的最小扩展汉明权重。

Description

二进制逻辑电路、获得其硬件表示的方法及其制造方法
本申请是原案申请号为201510212231.3的发明专利申请(申请日:2015年4月29日,发明名称:二进制逻辑电路、获得其硬件表示的方法及其制造方法)的分案申请。
技术领域
本发明涉及用于作为一系列直线段在预定义范围内逼近数学曲线的二进制逻辑电路、以及获得这样的二进制逻辑电路的硬件表示的方法。
背景技术
通常希望在硬件中高速执行某些功能。例如,用于执行计算机图形处理和数字信号处理的集成电路可能经常需要为给定输入值计算对数或伽玛函数的值。用于执行这样的计算的硬件通常在输入值的定义范围内操作,并通常要求计算该函数达到特定等级的精确度。这允许硬件设计者使用对给定函数的逼近,以提供不过度消耗集成电路上的面积量的低延迟解决方案。
log2函数是一个这样的函数,其通常用硅实现,并且按照惯例,通常在区间[1,2]内由直线来逼近。在图1中示出了米切尔(Mitchell)逼近102。虽然当在硬件中实现时,其提供快速逼近,但是可以看出,特别是在区间[1,2]的中部附近,米切尔逼近不同于log2函数的曲线101。
米切尔逼近的较差精确度导致基于查找表的方法的开发,诸如在美国专利4,583,180中所描述的。这些方法用在预先计算值的大表中对函数本身的查找代替函数逼近的计算(例如,米切尔的直线)。这样的方法是精确的,但是对查找表的内存要求消耗大面积集成电路,并且可能相对较慢。
开发了查找表方法的进一步精炼,其使用在较小查找表中的值之间的内插,以在减小表的大小的同时,提供类似程度的精确度。由Suganth Paul等人在他们的论文“Afasthardware approach for approximate,efficient logarithm andantilogarithmcomputations”,IEEE Transactions on VLSI Systems,Vol.17,No.2,2009年2月中提出了该种类的一种最新方法。然而,这种方法要求在硬件中使用适于执行两个变量的乘法的乘法阵列。这样的结构复杂,并且在集成电路上消耗大面积。
发明内容
一种二进制逻辑电路,该二进制逻辑电路用于在预定义范围内将数学函数逼近为一系列直线段,每条直线段在一对断点之间延伸并且具有斜率以及基值,所述二进制逻辑电路包括:输入部,该输入部用于接收所述预定义范围内的输入变量;多条逻辑链,每条逻辑链包括:二进制乘法器,该二进制乘法器被配置为执行与斜率的乘法,以及二进制加法器,该二进制加法器被配置为将基值与所述二进制乘法器的输入或输出相加;以及选择逻辑,该选择逻辑被构造成根据所述输入变量选择所述逻辑链中的一个,以针对所接收的输入变量提供所述数学函数的近似值,其中,每个断点具有小于或等于阈值的最小扩展汉明权重。
其中,每条直线段具有预定的一组固定斜率中的一个斜率,并且其中,所述预定的一组固定斜率中的每个所述固定斜率具有小于或等于另一阈值的相应的最小扩展汉明权重。
其中,所述二进制乘法器被配置为使用多个二进制加法器执行与所述一组固定斜率中的相应固定斜率的乘法,其中,所述多个二进制加法器的数量比针对所述相应固定斜率的所述最小扩展汉明权重小1。
其中,所述另一阈值是2或3。
其中,所述预定的一组固定斜率的各个固定斜率的最小扩展汉明权重小于或等于3。
其中,所述选择逻辑被配置为通过将所接收的输入变量与和断点关联的预定的一组断点值进行比较,来选择所述逻辑链中的一条逻辑链,每个断点值表示对一条或更多条直线段进行划界的所述输入变量的值。
其中,所述选择逻辑被配置为确定一对相邻断点值,所接收的输入变量位于该对相邻断点值之间,并且所述选择逻辑响应于该确定,选择与位于该对相邻断点值之间的直线段相应的逻辑链。
其中,所述一组断点值中的每个断点值在所述选择逻辑中以该断点值的表示的形式被使用,该表示具有针对该断点值的最小扩展汉明权重。
其中,所述一组断点值中的每个断点值的最小扩展汉明权重小于或等于3。
其中,所述数学函数被表示为y=f(x)的形式,其中x和y表示沿着相应笛卡尔轴的值,并且其中,每条逻辑链的二进制加法器被布置成将相应的基值与该二进制乘法器的输出相加。
其中,每条直线段表示在所述基值处与y轴相交的线的一部分。
其中,所述数学函数被表示为y=f(x)的形式,其中x和y表示沿着相应笛卡尔轴的值,并且其中,每条逻辑链的二进制加法器被布置成将相应的基值与所接收的输入变量相加。
其中,每条直线段表示在所述基值处与x轴相交的线的一部分。
其中,所述数学函数在所述预定义范围内是连续光滑函数,或者,所述数学函数是以2为底的对数并且所述预定义范围是1到2之间,或者,所述数学函数是伽玛函数并且所述预定义范围是0到1之间。
其中,所述多条逻辑链中的至少一条逻辑链包括:二进制乘法器,该二进制乘法器被配置为执行与具有大于1的最小扩展汉明权重的固定斜率的乘法。
一种获得二进制逻辑电路的硬件表示的方法,该二进制逻辑电路被配置为在预定义范围内将数学函数逼近为一系列直线段,所述方法包括以下步骤:在预定义范围内将多条直线段拟合到所述数学函数,每条直线段在一对断点之间延伸并且具有斜率和基值;并且获得用于所述二进制逻辑电路的硬件表示,该硬件表示对于所述多条直线段中的每条直线段包括:二进制乘法器,该二进制乘法器被配置为执行与所述线段的斜率的乘法,以及二进制加法器,该二进制加法器被配置为将所述线段的基值与所述二进制乘法器的输入或输出相加,该硬件表示还包括选择逻辑,该选择逻辑被配置为根据所述断点,针对预定范围内的给定输入变量,选择多个二进制乘法器中的一个,其中,每个断点具有小于或等于阈值的最小扩展汉明权重。
每条直线段具有预定的一组固定斜率中的一个斜率,并且其中,所述预定的一组固定斜率中的每个所述固定斜率具有小于或等于另一阈值的最小扩展汉明权重,并且其中,所述二进制乘法器被配置为使用多个二进制加法器执行与所述一组固定斜率中的相应固定斜率的乘法,其中,所述多个二进制加法器的数量比针对所选择的固定斜率的最小扩展汉明权重小1。
所述方法进一步包括:针对所述多条直线段中的每条直线段,计算对该直线段划界的断点之间的平均斜率;以及从所述预定的一组固定斜率中选择最接近所计算的平均斜率的固定斜率。
该方法进一步包括:选择所述多条直线段中的足够数量的直线段,使得所述二进制逻辑电路在所述输入变量的值的预定义范围内基本达到至少预定精确度。
一种根据硬件表示来制造二进制逻辑电路的方法,该硬件表示是利用在预定义范围内将数学函数逼近为一系列直线段的方法得到的,该制造二进制逻辑电路的方法包括以下步骤:在预定义范围内将多条直线段拟合到所述数学函数,每条直线段在一对断点之间延伸并且具有斜率和基值;并且获得二进制逻辑电路的硬件表示,该硬件表示对于所述多条直线段中的每条直线段包括:二进制乘法器,该二进制乘法器被配置为执行与所述线段的斜率的乘法,以及二进制加法器,该二进制加法器被配置为将所述线段的基值与所述二进制乘法器的输入或输出相加,该硬件表示还包括选择逻辑,该选择逻辑被配置为根据所述断点,针对预定义范围内的给定输入变量,选择多个二进制乘法器中的一个,其中,每个断点具有小于或等于阈值的最小扩展汉明权重。
附图说明
现在将参照附图,通过示例的方式描述本发明。在附图中:
图1是示出在区间[1,2]上函数log2(x)的米切尔逼近的曲线图。
图2是用于计算函数的逼近的二进制逻辑电路的示意图。
图3是示出使用一系列直线段通过二进制逻辑电路对函数log2(x)的逼近的曲线图。
图4是示出用于设计二进制逻辑电路的处理的流程图。
具体实施方式
以下说明通过举例呈现,以使得本领域的任何技术人员能够作出和使用本发明。本发明不限于在此描述的实施方式,并且对所公开的实施方式的多种修改对于本领域技术人员来说都是显而易见的。
具有能够高速计算数学函数到期望等级的精确度并且更有效地使用集成逻辑电路面积的二进制逻辑是有益的。
提供用于在预定义范围内计算函数的估计。在此描述的逻辑适用于逼近广泛多种函数,这些函数包括但不限于对数或伽玛函数。
图2示出被构造成在输入值x202的给定范围内作为一系列直线段逼近数学函数f(x)的二进制逻辑电路。该逻辑电路包括逻辑布置,在所示的示例中,其包括三条逻辑链213-215,每条逻辑链对应于在逼近中采用的线段之一。在其输出端211处,逻辑电路提供用于函数f(x)的近似值。
在图3中示出了图2的二进制逻辑电路可以被构造成执行的逼近的示例。在该示例中,函数f(x)301是在x∈[1,2]范围内的函数log2(x),但是更一般地,该函数可以是可以由一系列有限斜率的线段逼近的任何函数。图3中所示的逼近包括三条线段303、304和305。选择斜率、每条线段的起始点和终止点,使得线段逼近函数的曲线。可以看出,线段(303、304和305)比传统米切尔逼近302更紧密地跟随函数的曲线。由于函数log2(x)是连续函数,所以线段以链的形式首尾连接布置。对于不连续函数,情况不是这样的,线段的链在不连续处被中断以更好地逼近在附近(at hand)函数。
在图3所示的示例中,用于1和2之间的x的log2(x)曲线由被选择为具有下表中所示的斜率的三条线段逼近:
线段 斜率 二进制斜率 汉明权重 截距
303 1.3125 1.0101 3 -1.3125
304 1.0625 1.0001 2 -1
305 0.8125 0.1101 3 -0.625
表1
由于每个斜率的二进制整数表示都具有为2或3的低的汉明权重,所以这些斜率是有益的。通过将每个斜率重写为2的幂的组合,可以理解当以二进制表示时以上表中所示的斜率的简单性:
1.3125=1+1/4+1/16
1.0625=1+1/16
0.8125=1/2+1/4+1/16=1–1/8–1/16
应注意的是,为1(而不是0)的二进制值的项的数量对于二进制值是操作数的乘法运算的硬件实现的复杂性具有重要意义。二进制值的指数可以表示为项左/右移位适当数量的位置,其可以通过使用硬件中的适当连接来实现。不要求逻辑电路来执行这种左/右移位。
尽管当用一系列线段逼近函数时,原则上可以自由选择每条线段的斜率、起始点和终止点,但是在设计时选择特定固定值用于线段的斜率可以当在硬件中实现图2中所示的二进制逻辑电路时提供明显益处。线段303、304和305中的每条线段的斜率都被选择为具有低扩展汉明权重的二进制值。二进制数的扩展汉明权重是出现在以下二进制数的表示中的非零符号的最小数量:(a)其标准二进制表示,(b)其三进制表示(例如,规范位表示,其中,数字可以是0、+1或-1)、或(c)其作为两个二进制数或三进制数的乘法的表示。
使用扩展汉明权重n的操作数的乘法运算的硬件实现要求n-1个加法器/减法器单元。从而,与具有扩展汉明权重m和n的两个二进制数或三进制数的乘积的乘法要求m-1+n-1个加法器/减法器单元,并且其等效于与扩展汉明权重m+n-1的操作数的乘法。
示出二进制数的扩展汉明权重的示例包括:
·二进制数1.0001具有为2的汉明权重,并且由于标准二进制表示包括表示类型(a)-(c)的非零符号的最小数量,因此这也是其扩展汉明权重。
·二进制数0.1111具有为4的汉明权重,但是其可以以三进制形式被更有效地表示为(即,1-0.0001),其具有为2的汉明权重。因此,二进制数0.1111的扩展汉明权重是2。
·二进制数1101001具有为4的汉明权重,但是其可以被更有效地表示为每个汉明权重都为2的两个三进制数的乘积因此,二进制数1101001的扩展汉明权重是3。
与扩展汉明权重为2的二进制或三进制数的乘法可以使用单个加法器/减法器在逻辑上实现,并且与扩展汉明权重为3的二进制或三进制数的乘法可以使用两个加法器/减法器在逻辑上实现。与扩展汉明权重为2的两个二进制或三进制数的乘法也可以使用两个加法器/减法器在逻辑上实现,因此消耗同与扩展汉明权重为3的二进制或三进制数的乘法相同的硅面积。
将线段303、304和305中的每个的斜率选择为具有低扩展汉明权重的二进制值确保了与固定斜率的乘法运算在硬件中可以被有效地实现,同时仍然提供对对象函数的良好的逼近。与扩展汉明权重为h的固定斜率的乘法可以通过具有h-1行的乘法阵列来实现,每行表示将操作数移位适合数量的位置的加法运算。对于低扩展汉明权重,这样的二进制乘法阵列提供紧凑实现,其仅消耗集成电路的很小面积并且提供高性能。
图2中的乘法器203-205被构造成使用固定斜率的表示(选自上述(a)到(c))在逻辑上执行乘法运算,固定斜率的表示具有最低汉明权重,并且由此确定该二进制固定斜率值的扩展汉明权重。例如,如果用于线段的固定斜率是二进制值1101001,则在硬件中与该固定斜率的乘法使用最低汉明权重形式的固定斜率执行,其是并且限定扩展汉明权重为2用于该固定斜率(因此,在本示例中,乘法器逻辑包括顺次的两个乘法器,每个乘法器都被构造成执行与汉明权重为2的三进制数的乘法)。
发现了可以在硬件中使用具有小于或等于3的扩展汉明权重的固定斜率的线段,提供用于广泛范围的函数的有效逼近。在其他示例中,根据在此教导的原理构造的逼近的线段的固定斜率可以具有小于或等于2的扩展汉明权重。一般来说,斜率的扩展汉明权重越低,实现与该斜率的乘法的给定乘法阵列越有效。线段的数量在设计时可以相对于每条线段的扩展汉明权重来平衡,以最小化硬件的复杂性。一般来说,可以通过使用大量线段来改进给定逼近的精确度,每条线段都具有选自已知为具有低扩展汉明权重的一组斜率中的斜率。可以优选使用与该函数更准确匹配但是其斜率具有较大的扩展汉明权重的线段。这是因为所得到的硬件逼近可以在精确度与硬件在速度和所消耗的集成电路的面积方面的要求之间提供较好平衡。当集成电路将被包括在移动设备中时,对硬件的要求特别高,这是因为硅面积和功率消耗可能是非常有限的。
在图2中,乘法器阵列203、204和205中的每个都对应于图3中所示出的线段303、304和305之一,每个乘法器阵列都被构造成对对应于各个线段的范围的预定义范围内的输入值操作。乘法器阵列在此可以被简单地称为“乘法器”。乘法器203在图3中的线段303的范围内(从1到1.25)操作,乘法器204在线段304的范围内(从1.25到1.5)操作,并且乘法器205在线段305的范围(从1.5到2)内操作。
图3中示出的每条线段都形成可以以y=mx+c形式表示的线的一部分,其中,y是f(x)的估计值,m是线的固定斜率,并且c是在线段延伸与y轴相交的情况下的线段与y轴的截距。因此,给定线段可由四个参数限定:其斜率m、其截距c、以及限定其起始点和终止点的x的值(在图3中约束三条线段的值1、1.25、1.5和2)。
可以通过使用固定斜率和对应于输入值x的线段的截距值,计算用于x的给定值的“mx+c”,计算函数f(x)的估计。因此,为了计算对用于给定x值的函数log2(x)的逼近,首先将x的值与断点(1、1.25、1.5和2)相比较,以确定哪条线段与输入值x相关。然后,选择图2中的被构造成将输入值x202乘以各个线段的固定斜率m的相应乘法器的输出,用于在逻辑电路的输出211中使用。在逻辑链213-215中提供的加法器可以用于执行截距参数c的相加。现在将描述在图2中提供用于执行该计算的逻辑的布置。
在接收到位于在1和2之间定义的范围内的输入值x202后,选择单元201识别乘法器203-205中的哪个提供用于逼近的适当计算。这可以通过将输入值x与所存储的线段的边界值相比较,以识别哪条线段在x的给定值处形成对曲线f(x)的逼近来实现。例如,查看图3,考虑在曲线上具有为1.3的x值的P点处计算对f(x)的逼近。该值位于在断点1.25与1.5之间的第二条线段的范围内,并且因此在本示例中,第二个乘法器204的输出提供相关计算。
通常,每条线段都属于不经过原点的线—即,具有非零截距值c。这可以通过在乘法器阵列之前使用加法器210-212或通过在乘法器阵列之后使用加法器207-209来调节,将乘法器阵列的输入或输出移位一组基值,如图2所示。图2示出了在乘法器阵列之前和之后的加法器,但是在一些示例中,可以存在在乘法器阵列之前而不在其之后的加法器,并且在一些其他示例中,可以存在在乘法器阵列之后而不在其之前的加法器。乘法器之后的每个加法器都可以被构造成为将用于各个线段的固定截距参数c相加。例如,对于图3所示的第二条线段,加法器208可以减去固定基值1,其是在以上表1中给出的用于该线段的截距值。乘法器之前的每个加法器都可以被构造成在执行乘法之前将基值相加到x,以实现相同结果。这可以通过如下重写用于线的通式来理解:
因此,为了继续与线段304相关的示例,在乘法器204之前配置加法器211以将值-1/1.0625=-0.941176相加到在其与固定斜率m的乘法之前的输入值x将实现与在乘法器之后采用加法器208相同的结果。将理解,其他布置也可以实现相同结果,包括在乘法器之前和之后利用加法器,以在其与固定斜率的乘法之前修改x,并且将值相加到该乘法的结果,以提供最终输出211。
实际上,图2中所示的逻辑通常被实现为,与选择单元201一起,逻辑链213-215中的每个都对输入值x执行其计算。选择单元201可以在这样的布局中被构造成控制复用器206仅选择来自所选逻辑链的输出,用于提供为f(x)211的近似值。选择单元与复用器一起表示选择逻辑,用于选择适当输出值用作对函数的逼近。二进制逻辑电路设计领域中的技术人员将想到,其他布局也是可以的。
如图3所示,当该组线段303-305的斜率被限制到具有低扩展汉明权重的二进制值时,可以实现对函数log2(x)的紧密逼近。相邻线段相交的断点306和307的值不太重要,并且可以被选择为允许线段与函数最紧密地匹配。然而,在可能的地方,如果断点的值也被选择为具有低扩展汉明权重的二进制值,其是有利的。这可以降低在选择单元201处用于确定哪个乘法器用于给定输入值x的逻辑的复杂性。在图3中,断点306和307分别具有值1.25和1.5,其对应于二进制值1.01和1.1。
在根据在此描述的原理设计二进制逻辑电路时,构造具有低扩展汉明权重的固定斜率的线段,以在附近逼近函数。使用所要求的很多线段,来满足逼近的期望等级的精确度。然而,在函数的斜率快速改变的区域中比在函数的斜率较慢改变的区域中使用更多数量的更短线段。这导致断点的不均匀分布。例如,在图3所示的示例中,两个断点出现在x的范围的前半部分中,其中,函数log2(x)的斜率最快速地改变。
如本领域中已知的,有时可以使用二进制数的三进制或规范位表示来实现硬件,以提供具有较低汉明权重的值在二进制运算中使用。例如,具有为4的汉明权重的二进制数0.1111以其规范形式可以表示为其表示二进制值1-0.0001,并且对应于十进制值0.9375。该规范形式具有为2的汉明权重,并且因此,可以说二进制数0.1111具有为2的扩展汉明权重。
根据在此描述的原理配置的二进制逻辑可以采用三进制或规范位表示。当合适时,线段斜率在硬件中从而可以被表示为其规范形式。在使用线段斜率的规范形式的情况下,线段斜率的扩展汉明权重是为其规范形式的线段斜率的汉明权重。
注意,根据在此阐述的原理配置的二进制逻辑利用可以在硬件中被有效实现的固定乘法运算。由于每个斜率乘法因数都通过每个阵列的架构固定,因此不要求到乘法器阵列的斜度输入。此外,不要求查找表来计算函数的逼近。根据在此描述的原理配置的二进制逻辑提供用于在不消耗大面积集成电路的情况下逼近函数的高速解决方案。
通过图4的流程图示出用于根据在此描述的原理设计二进制逻辑电路(诸如图2中所示的电路)的处理。在接收到在值的一些所定义范围内要求逼近的函数时401,选择适当数量的线段和给那些线段划界的断点402。给定将提供逼近的预定义范围以及在该范围内的函数的复杂性-例如,在函数的斜率更快改变的区域中可以使用更大数量的线段,这可以通过视图来完成,以提供期望精确度的逼近。对于简单的单调函数,诸如log()曲线,在两条至五条直线段之间的某处可以提供用于很多应用的良好逼近。例如,通过反复试验的过程或使用基于一组预先计算的低扩展汉明权重系数的计算机化搜索,可以选择直线段的数量和分布。
然后,在403处,将具有从具有低扩展汉明权重的一组斜率值中提取的固定斜率的所选数量的直线段拟合到函数。现在通过举例描述一种从具有低扩展汉明权重的一组斜率值中选择适当斜率方法。
1、确定在断点以及在函数将被逼近的所定义范围的端点处的函数的值。
2、使用断点和端点值,计算相邻端点/断点之间的曲线的平均斜率(例如,将在相邻端点/断点处的函数的值之间的差值除以相应x值之间的差值)。
3、为每对相邻端点/断点,从具有低扩展汉明权重的一组斜率值中选择斜率,作为各条直线段的斜率,所选斜率接近(并且优选地尽可能接近)所计算的平均斜率。
一旦直线段的斜率被选择,就可以确定每条线段的基值404—例如,直线段与轴线相交的值。这可以通过选择直线段关于其在函数空间中固定的一个或更多个参考点来实现。通常,这些参考点可能是在所定义范围内的函数的起始点和/或终止点。例如,在图2中,第一线段303被选择为在log函数上的点x=1开始,log(x)=0,并且最后线段305被选择为在log函数上的点x=2处结束,log(x)=1终止。固定这些点也就固定了与第一线段和最后线段首尾相连的中间线段304。然后,每条线段都可以被外推回到轴,例如,以确定用于以在此描述的方式在硬件计算中使用的基值。
将理解,对于每条直线段,都存在选择低扩展汉明权重斜率值的范围和线段关于其是固定的参考点的余地(scope)。重复图4中的步骤402-404以在附近确定对函数的最佳逼近可以是有利的–例如,通过对断点作出小改变,选择低扩展汉明权重斜率和参考点,以获得线段与函数之间的最佳拟合。例如,可执行这样的优化,以将所限定范围内的逼近的总均方误差减少到最小。
这可以帮助处理其斜率随着x的增加而减小的单调递增函数的情况。对于这样的函数,根据起始点和终止点位于函数上的以上示例确定的斜率的选择通常意味着每条直线段都基本上位于函数略下方。通过执行优化步骤以使所定义范围内的逼近的总均方误差减少到最小,有时可以确定更好的拟合—例如,通过选择略高的第一斜度和略低的最终斜度,使得每条线段都具有位于曲线下方的一些部分和位于曲线上方的其他部分。这可以在该范围内得到更低均方误差。
现在更详细地描述图3中所示的特定示例。使用三条线段来逼近在1、1.25、1.5和2处具有断点和断点的函数log2(x)。log2(x)函数在那些点处的值、以及在表示该函数的曲线上的那些点之间的平均斜率如表2中所示。从这些平均斜率中,选择最接近的低扩展汉明权重数,用作各个线段的斜率。因此,如图3中指示的,在曲线上的x值1和1.25之间的第一线段303被选择为具有斜率1.3125,在曲线上的x值1.25和1.5之间的第二线段304被选择为具有斜率1.0625,以及在曲线上的x值1.5和2之间的第三线段305被选择为具有斜率0.8125。
表2
在确定了对函数的给定逼近的直线段的斜率和基值参数时,就可以使用每条线段的固定斜率的最低扩展汉明权重表示,获得由直线段表示的逼近的硬件表示。这样的硬件表示可以根据图2中所示和以上描述的示例定义二进制逻辑电路。硬件表示可以被获得为要求形成用于执行逼近的逻辑电路的硬件元件的逻辑表示,例如,在寄存器传输级(RTL)、或作为逻辑电路的任何其它适当表示。
如图4中阐述并且在此描述的设计处理可以在软件中实现用于设计二进制逻辑电路的硬件表示。例如,该处理可以在软件中实现,用于设计集成电路的寄存器传输级(RTL)定义。遵循在此描述的原理,这样的软件可以提供二进制逻辑的更快且更多空间有效硬件实现,用于计算用于给定函数的逼近。
根据以上原理获得的二进制电路可以根据任何适当制造工艺被制造。例如,可以根据一组常规处理步骤制造为硅半导体器件的形式的集成电路,该组常规步骤可能涉及在硅晶圆的沉积,接下来进行图案化并且将芯片封装为集成电路。
注意,加法器是指用于加法和减法的逻辑。由于负数的加法等效于减法,因此术语相加、加法器以及加法都广泛地指正数的加法或正数的减法、以及负数的加法或负数的减法。
图2的二进制逻辑电路被示出为包括多个功能框。这仅是示意性的,并且不旨在在集成电路的不同逻辑元件之间定义严格划分。每个功能框都可以以任何适当方式提供。
如在此使用的术语软件和计算机可读程序代码包括用于处理器(例如,CPU和/或GPU)的可执行代码、固件、字节码、诸如C或OpenCL的编程语言代码、以及诸如FPGA的用于可重配置逻辑器件的模块。机器可读代码包括软件和用于在任何级别定义集成电路的硬件表示的代码,包括在寄存器传输级(RTL)、在诸如Verilog或VHDL的高级电路表示、以及诸如OASIS和GDSII的较低级表示。
在此描述的算法和方法可以通过一个或更多个物理处理单元执行使得该单元执行算法/方法的软件来执行。该或每个物理处理单元都可以是任何合适处理器,诸如CPU或GPU(或其内核)、或固定功能或可编程硬件。软件可以以非暂时形式存储在机器可读介质中,诸如集成电路存储器、或光或磁存储器。机器可读介质可以包括多个存储器,诸如片上存储器、计算机工作存储器、以及非易失性存储设备。
由此,申请人单独公开了在此描述的每个单独特征以及两个以上这样的特征的任何结合,在这个意义上,这样的特征或结合能够根据本领域技术人员的公知常识,作为一个整体基于本说明书被实现,而不管这样的特征或特征的结合是否解决了在此公开的任何问题,并且不限制权利要求的范围。申请人指出,本发明的多个方面可以由任何这样的单独特征或特征的结构构成。考虑前述说明,可以在本发明的范围内作出多种修改,对于本领域技术人员来说是显而易见的。

Claims (20)

1.一种二进制逻辑电路,该二进制逻辑电路用于在预定义范围内将数学函数逼近为一系列直线段,每条直线段在一对断点之间延伸并且具有斜率以及基值,所述二进制逻辑电路包括:
输入部,该输入部用于接收所述预定义范围内的输入变量;
多条逻辑链,每条逻辑链包括:
二进制乘法器,该二进制乘法器被配置为执行与斜率的乘法,以及
二进制加法器,该二进制加法器被配置为将基值与所述二进制乘法器的输入或输出相加;以及
选择逻辑,该选择逻辑被构造成根据所述输入变量选择所述逻辑链中的一个,以针对所接收的输入变量提供所述数学函数的近似值,
其中,每个断点具有小于或等于阈值的最小扩展汉明权重。
2.根据权利要求1所述的二进制逻辑电路,其中,每条直线段具有预定的一组固定斜率中的一个斜率,并且其中,所述预定的一组固定斜率中的每个所述固定斜率具有小于或等于另一阈值的相应的最小扩展汉明权重。
3.根据权利要求2所述的二进制逻辑电路,其中,所述二进制乘法器被配置为使用多个二进制加法器执行与所述一组固定斜率中的相应固定斜率的乘法,其中,所述多个二进制加法器的数量比针对所述相应固定斜率的所述最小扩展汉明权重小1。
4.根据权利要求2或3所述的二进制逻辑电路,其中,所述另一阈值是2或3。
5.根据权利要求2或3所述的二进制逻辑电路,其中,所述预定的一组固定斜率的各个固定斜率的最小扩展汉明权重小于或等于3。
6.根据权利要求1至3中任一项所述的二进制逻辑电路,其中,所述选择逻辑被配置为通过将所接收的输入变量与和断点关联的预定的一组断点值进行比较,来选择所述逻辑链中的一条逻辑链,每个断点值表示对一条或更多条直线段进行划界的所述输入变量的值。
7.根据权利要求6所述的二进制逻辑电路,其中,所述选择逻辑被配置为确定一对相邻断点值,所接收的输入变量位于该对相邻断点值之间,并且所述选择逻辑响应于该确定,选择与位于该对相邻断点值之间的直线段相应的逻辑链。
8.根据权利要求6所述的二进制逻辑电路,其中,所述一组断点值中的每个断点值在所述选择逻辑中以该断点值的表示的形式被使用,该表示具有针对该断点值的最小扩展汉明权重。
9.根据权利要求8所述的二进制逻辑电路,其中,所述一组断点值中的每个断点值的最小扩展汉明权重小于或等于3。
10.根据权利要求1至3中任一项所述的二进制逻辑电路,其中,所述数学函数被表示为y=f(x)的形式,其中x和y表示沿着相应笛卡尔轴的值,并且其中,每条逻辑链的二进制加法器被布置成将相应的基值与该二进制乘法器的输出相加。
11.根据权利要求10所述的二进制逻辑电路,其中,每条直线段表示在所述基值处与y轴相交的线的一部分。
12.根据权利要求1至3中任一项所述的二进制逻辑电路,其中,所述数学函数被表示为y=f(x)的形式,其中x和y表示沿着相应笛卡尔轴的值,并且其中,每条逻辑链的二进制加法器被布置成将相应的基值与所接收的输入变量相加。
13.根据权利要求12所述的二进制逻辑电路,其中,每条直线段表示在所述基值处与x轴相交的线的一部分。
14.根据权利要求1至3中任一项所述的二进制逻辑电路,其中,所述数学函数在所述预定义范围内是连续光滑函数,或者,所述数学函数是以2为底的对数并且所述预定义范围是1到2之间,或者,所述数学函数是伽玛函数并且所述预定义范围是0到1之间。
15.根据权利要求1至3中任一项所述的二进制逻辑电路,其中,所述多条逻辑链中的至少一条逻辑链包括:二进制乘法器,该二进制乘法器被配置为执行与具有大于1的最小扩展汉明权重的固定斜率的乘法。
16.一种获得二进制逻辑电路的硬件表示的方法,该二进制逻辑电路被配置为在预定义范围内将数学函数逼近为一系列直线段,所述方法包括以下步骤:
在预定义范围内将多条直线段拟合到所述数学函数,每条直线段在一对断点之间延伸并且具有斜率和基值;并且
获得用于所述二进制逻辑电路的硬件表示,该硬件表示对于所述多条直线段中的每条直线段包括:
二进制乘法器,该二进制乘法器被配置为执行与所述线段的斜率的乘法,以及
二进制加法器,该二进制加法器被配置为将所述线段的基值与所述二进制乘法器的输入或输出相加,
该硬件表示还包括选择逻辑,该选择逻辑被配置为根据所述断点,针对预定范围内的给定输入变量,选择多个二进制乘法器中的一个,
其中,每个断点具有小于或等于阈值的最小扩展汉明权重。
17.根据权利要求16所述的方法,每条直线段具有预定的一组固定斜率中的一个斜率,并且其中,所述预定的一组固定斜率中的每个所述固定斜率具有小于或等于另一阈值的最小扩展汉明权重,并且
其中,所述二进制乘法器被配置为使用多个二进制加法器执行与所述一组固定斜率中的相应固定斜率的乘法,其中,所述多个二进制加法器的数量比针对所选择的固定斜率的最小扩展汉明权重小1。
18.根据权利要求17所述的方法,所述方法进一步包括:
针对所述多条直线段中的每条直线段,计算对该直线段划界的断点之间的平均斜率;以及
从所述预定的一组固定斜率中选择最接近所计算的平均斜率的固定斜率。
19.根据权利要求16至18中任一项所述的方法,该方法进一步包括:选择所述多条直线段中的足够数量的直线段,使得所述二进制逻辑电路在所述输入变量的值的预定义范围内基本达到至少预定精确度。
20.一种根据硬件表示来制造二进制逻辑电路的方法,该硬件表示是利用在预定义范围内将数学函数逼近为一系列直线段的方法得到的,该制造二进制逻辑电路的方法包括以下步骤:
在预定义范围内将多条直线段拟合到所述数学函数,每条直线段在一对断点之间延伸并且具有斜率和基值;并且
获得二进制逻辑电路的硬件表示,该硬件表示对于所述多条直线段中的每条直线段包括:
二进制乘法器,该二进制乘法器被配置为执行与所述线段的斜率的乘法,以及
二进制加法器,该二进制加法器被配置为将所述线段的基值与所述二进制乘法器的输入或输出相加,
该硬件表示还包括选择逻辑,该选择逻辑被配置为根据所述断点,针对预定义范围内的给定输入变量,选择多个二进制乘法器中的一个,
其中,每个断点具有小于或等于阈值的最小扩展汉明权重。
CN201910231455.7A 2014-05-01 2015-04-29 二进制逻辑电路、获得其硬件表示的方法及其制造方法 Active CN110069239B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1407688.9A GB2525648C (en) 2014-05-01 2014-05-01 Approximating functions
GB1407688.9 2014-05-01
CN201510212231.3A CN105045559B (zh) 2014-05-01 2015-04-29 二进制逻辑电路、获得其硬件表示的方法及其制造方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201510212231.3A Division CN105045559B (zh) 2014-05-01 2015-04-29 二进制逻辑电路、获得其硬件表示的方法及其制造方法

Publications (2)

Publication Number Publication Date
CN110069239A true CN110069239A (zh) 2019-07-30
CN110069239B CN110069239B (zh) 2022-10-11

Family

ID=50980421

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510212231.3A Active CN105045559B (zh) 2014-05-01 2015-04-29 二进制逻辑电路、获得其硬件表示的方法及其制造方法
CN201910231455.7A Active CN110069239B (zh) 2014-05-01 2015-04-29 二进制逻辑电路、获得其硬件表示的方法及其制造方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201510212231.3A Active CN105045559B (zh) 2014-05-01 2015-04-29 二进制逻辑电路、获得其硬件表示的方法及其制造方法

Country Status (4)

Country Link
US (5) US9785406B2 (zh)
EP (1) EP2940576B1 (zh)
CN (2) CN105045559B (zh)
GB (2) GB2525648C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2525648C (en) * 2014-05-01 2019-10-09 Imagination Tech Ltd Approximating functions
CN107220025B (zh) * 2017-04-24 2020-04-21 华为机器有限公司 处理乘加运算的装置和处理乘加运算的方法
CN108984149B (zh) * 2018-08-07 2023-03-03 电子科技大学 一种高速低功耗的近似4-2压缩器
GB2580177B (en) * 2018-12-21 2021-03-24 Imagination Tech Ltd Iterative estimation hardware
TWI698759B (zh) 2019-08-30 2020-07-11 創鑫智慧股份有限公司 曲線函數裝置及其操作方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260054B1 (en) * 1998-10-29 2001-07-10 Neomagic Corp. Reciprocal generator using piece-wise-linear segments of varying width with floating-point format
CN1498369A (zh) * 2001-03-30 2004-05-19 使用带有软高速缓存的芯片上系统的系统与方法
TW589484B (en) * 2003-10-16 2004-06-01 Au Optronics Corp Liquid crystal display module
CN1545320A (zh) * 2003-11-18 2004-11-10 清华大学 细粒度可扩展视频编码的码率分配方法
US20050023563A1 (en) * 2001-06-26 2005-02-03 Kabushiki Kaisha Toshiba Semiconductor chip with fuse unit
JP2006317353A (ja) * 2005-05-13 2006-11-24 Mitsutoyo Corp 測定データの多点補正方法及び装置
CN101083065A (zh) * 2006-05-30 2007-12-05 株式会社东芝 液晶显示装置及其驱动方法
US20070279574A1 (en) * 2006-05-30 2007-12-06 Kabushiki Kaisha Toshiba Liquid crystal display device and driving method thereof
JP2008158925A (ja) * 2006-12-26 2008-07-10 Mie Tlo Co Ltd デフォルメ変形用直線近似装置および直線近似方法
CN103677736A (zh) * 2012-09-04 2014-03-26 亚德诺半导体股份有限公司 数字信号处理器的数据路径电路
CN103765897A (zh) * 2012-06-27 2014-04-30 株式会社东芝 编码方法、解码方法、编码设备以及解码设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4482975A (en) * 1982-03-29 1984-11-13 Motorola, Inc. Function generator
US4583188A (en) * 1983-03-11 1986-04-15 Sanders Associates, Inc. Digitally controlled electronic function generator
DE3441481A1 (de) * 1984-11-13 1986-08-28 Licinvest Ag, Chur Vorrichtung zum zyklischen umschichten eines blattstapels
DE3700740A1 (de) * 1986-01-16 1987-07-23 Gen Electric Linearapproximationsumformschaltung
US5367702A (en) * 1993-01-04 1994-11-22 Texas Instruments Incorporated System and method for approximating nonlinear functions
US5824936A (en) * 1997-01-17 1998-10-20 Crystal Semiconductor Corporation Apparatus and method for approximating an exponential decay in a sound synthesizer
US6163791A (en) * 1998-02-02 2000-12-19 International Business Machines Corporation High accuracy estimates of elementary functions
CA2398153A1 (en) * 2001-08-17 2003-02-17 Joseph Mathieu Pierre Langlois Phase to sine amplitude conversion system and method
US8856201B1 (en) * 2004-11-10 2014-10-07 Altera Corporation Mixed-mode multiplier using hard and soft logic circuitry
US20070094318A1 (en) * 2005-10-24 2007-04-26 Christian Lutkemeyer Method and system for hardware efficient systematic approximation of square functions for communication systems
US7580964B2 (en) * 2006-01-25 2009-08-25 Teledyne Technologies Incorporated Hardware-efficient phase-to-amplitude mapping design for direct digital frequency synthesizers
US7644116B2 (en) * 2006-05-31 2010-01-05 Via Telecom Co., Ltd. Digital implementation of fractional exponentiation
US20110270902A1 (en) * 2010-02-26 2011-11-03 Dimitrov Vassil S Efficient Multipliers Based on Multiple-Radix Representations
US9015217B2 (en) * 2012-03-30 2015-04-21 Apple Inc. Transcendental and non-linear components using series expansion
CN102955682B (zh) * 2012-11-14 2015-06-10 电子科技大学 一种模(23n-2n)乘法器
CN103268217A (zh) * 2013-04-19 2013-08-28 荣成市鼎通电子信息科技有限公司 基于循环左移的准循环矩阵串行乘法器
GB2525648C (en) * 2014-05-01 2019-10-09 Imagination Tech Ltd Approximating functions

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260054B1 (en) * 1998-10-29 2001-07-10 Neomagic Corp. Reciprocal generator using piece-wise-linear segments of varying width with floating-point format
CN1498369A (zh) * 2001-03-30 2004-05-19 使用带有软高速缓存的芯片上系统的系统与方法
US20050023563A1 (en) * 2001-06-26 2005-02-03 Kabushiki Kaisha Toshiba Semiconductor chip with fuse unit
TW589484B (en) * 2003-10-16 2004-06-01 Au Optronics Corp Liquid crystal display module
CN1545320A (zh) * 2003-11-18 2004-11-10 清华大学 细粒度可扩展视频编码的码率分配方法
JP2006317353A (ja) * 2005-05-13 2006-11-24 Mitsutoyo Corp 測定データの多点補正方法及び装置
CN101083065A (zh) * 2006-05-30 2007-12-05 株式会社东芝 液晶显示装置及其驱动方法
US20070279574A1 (en) * 2006-05-30 2007-12-06 Kabushiki Kaisha Toshiba Liquid crystal display device and driving method thereof
JP2008158925A (ja) * 2006-12-26 2008-07-10 Mie Tlo Co Ltd デフォルメ変形用直線近似装置および直線近似方法
CN103765897A (zh) * 2012-06-27 2014-04-30 株式会社东芝 编码方法、解码方法、编码设备以及解码设备
CN103677736A (zh) * 2012-09-04 2014-03-26 亚德诺半导体股份有限公司 数字信号处理器的数据路径电路

Also Published As

Publication number Publication date
US9785406B2 (en) 2017-10-10
EP2940576A2 (en) 2015-11-04
US20190205096A1 (en) 2019-07-04
CN105045559A (zh) 2015-11-11
GB2525648A (en) 2015-11-04
US20190347073A1 (en) 2019-11-14
CN110069239B (zh) 2022-10-11
US20200225912A1 (en) 2020-07-16
US10402167B2 (en) 2019-09-03
GB2554167B (en) 2019-06-26
GB201712598D0 (en) 2017-09-20
EP2940576A3 (en) 2015-12-16
US20150317126A1 (en) 2015-11-05
GB2525648B (en) 2017-09-20
GB2525648C (en) 2019-10-09
US10268450B2 (en) 2019-04-23
US20170364329A1 (en) 2017-12-21
EP2940576B1 (en) 2022-10-19
GB2554167A (en) 2018-03-28
US10642578B2 (en) 2020-05-05
GB201407688D0 (en) 2014-06-18
CN105045559B (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
CN105045559B (zh) 二进制逻辑电路、获得其硬件表示的方法及其制造方法
US11868426B2 (en) Hardware implementation of convolutional layer of deep neural network
US10565492B2 (en) Neural network unit with segmentable array width rotator
US10140574B2 (en) Neural network unit with segmentable array width rotator and re-shapeable weight memory to match segment width to provide common weights to multiple rotator segments
EP3343463B1 (en) Neural network unit with re-shapeable memory
US10395165B2 (en) Neural network unit with neural memory and array of neural processing units that collectively perform multi-word distance rotates of row of data received from neural memory
US10438115B2 (en) Neural network unit with memory layout to perform efficient 3-dimensional convolutions
CN108133264A (zh) 执行高效3维卷积的神经网络单元
US11216250B2 (en) Dynamic, variable bit-width numerical precision on field-programmable gate arrays for machine learning tasks
EP2176754B1 (en) System and method for optimizing data analysis
US20180189640A1 (en) Neural network unit with segmentable array width rotator
US9996345B2 (en) Variable length execution pipeline
US10877760B2 (en) Selection of data for processor pipelines using multiple supply lines wherein in one of two modes the same data is supplied to both inputs of a processing element
CN109800468B (zh) 一种基于寄存器重定时的多流水级时序电路装箱操作方法
JP2021531572A (ja) Mac回路中の異なるカーネルを使用してデータのセットに対して連続するmac演算を実施すること
Mahapatra et al. DFG partitioning algorithms for coarse grained reconfigurable array assisted RTL simulation accelerators
US20230080578A1 (en) Dot product array
US20230031551A1 (en) Constant multiplication by division
EP4113280A1 (en) Hybrid fixed logic for performing multiplication
US9043739B1 (en) Placement based arithmetic operator selection
Zhang et al. HierSyn: Fast Synthesis for Large Hierarchical Designs
GB2537524A (en) Variable length execution pipeline having an odd number of stages

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant