CN102460424A - 具有减小面积的乘性除法电路 - Google Patents

具有减小面积的乘性除法电路 Download PDF

Info

Publication number
CN102460424A
CN102460424A CN2010800335024A CN201080033502A CN102460424A CN 102460424 A CN102460424 A CN 102460424A CN 2010800335024 A CN2010800335024 A CN 2010800335024A CN 201080033502 A CN201080033502 A CN 201080033502A CN 102460424 A CN102460424 A CN 102460424A
Authority
CN
China
Prior art keywords
circuit
input
multiplier
series
squaring
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
CN2010800335024A
Other languages
English (en)
Other versions
CN102460424B (zh
Inventor
韩炅男
A·坦卡
D·特兰
R·凯莉
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.)
Synopsys Inc
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of CN102460424A publication Critical patent/CN102460424A/zh
Application granted granted Critical
Publication of CN102460424B publication Critical patent/CN102460424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/535Dividing only
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt

Landscapes

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

Abstract

本技术是具有减少的电路区域的除法电路。实施例包括实现被除数输入和除数输入的乘性除法的集成电路。集成电路包括查找表电路和乘法器电路。查找表提供除数输入的倒数的近似值。乘法器电路接收该近似值并精化被除数输入和除数输入的商输出。至少一个乘法器电路是用于实现与减少数目的中间部分乘积的乘法的平方电路。减少数目的中间部分乘积防止平方电路进行任意两个不相等数之间的乘法以及将平方电路限于进行相同数乘以相同数的乘法。

Description

具有减小面积的乘性除法电路
技术领域
本技术涉及执行乘性除法(multiplicative division)的电路,以及在EDA软件中实现电路的单元。
背景技术
已经以多种方式实现了除法电路。在这些方法中,由于具有二次收敛特性,基于牛顿-拉夫逊(Newton-Raphson)迭代法的乘性除法电路非常流行。作为一种备选的除法电路,戈德施密特(Goldschmidt)方法利用了牛顿-拉夫逊迭代法的并行性。二次收敛性使得这些除法电路有望高性能地实现大数除法运算。然而,常规的牛顿-拉夫逊迭代法和戈德施密特方法包含了全精度操作数的乘法递归系列,从而必须经受较大的面积消耗。
发明内容
本技术减少了二次收敛组合除法器的面积而不牺牲性能。
本技术的一个方面是具有减少的电路面积的除法电路。实施例包含了实现乘性除法的集成电路。集成电路包括查找表电路和乘法器电路。查找表电路提供除数输入的倒数的近似值。乘法器电路接收并精化商输出的近似值。至少一个乘法器电路是平方电路,该平方电路利用减少数目的中间部分乘积来实现乘法运算。该减少数目的中间部分乘积防止平方电路进行任何两个不相等的数之间的乘法,并且将平方电路限于进行相同数乘以相同数的乘法。
在一些实施例中,乘性除法具有二次收敛性。
在一些实施例中,乘法器电路包含具有逐渐改进的商输出的第一系列的乘法器电路;以及具有减少的误差调整输出的第二系列的乘法器电路。在一些实施例中,第一系列的乘法器电路与第二系列的乘法器电路并行地运算。在一些实施例中,乘法器电路的第二系列包含平方电路。在一些实施例中,乘法器电路包含多个平方电路。
在一些实施例中,查找表电路是二分查找表电路。在一些实施例中,查找表电路是多方查找表电路,从而使得多方查找表电路包含多个偏移值表。在一些实施例中,查找表电路是直接查找表电路。
在一些实施例中,平方电路对如下输入操作数进行运算,该输入操作数具有小于被除数输入的输入宽度以及小于除数输入的输入宽度的输入宽度。
本技术的另一方面是实现该技术的计算机系统。
本技术的另一方面是实现该技术的计算机可读介质。
附图说明
图1示出了戈德施密特乘性除法器的框图。
图2示出了包含在此所描述的、具有一般化的级(stage)数的平方电路的乘性除法器的框图。
图3示出了包含在此所描述的平方电路的特定乘性除法器的框图。
图4示出了在乘性除法器的一些实施例中的二分查找表。
图5示出了显示了附图4中的二分查找表的两个表的应用的图。
图6示出了在乘性除法器的一些实施例中的多方查找表。
图7示出了示出在此描述的乘性除法电路的实施例所使用的减少面积的比较图。
图8示出了示出在此描述的乘性除法电路的实施例所使用的减少面积的比较图。
图9示出了并入本技术的特点的例示的集成电路设计流的简化表示。
图10是能够用于实现并入了本技术的方面的软件的计算机系统的简化框图。
具体实施例
图1示出了戈德施密特乘性除法器的框图。
用于求1/B的倒数的经典牛顿-拉夫逊迭代法实现方程:
x[n+1]=x[n]*(2-B*x[n])
其中x[0]是来自查找表(LUT)的种子,并且x[无穷大]=1/B。A/B相除通过将A与x[n]相乘来获得。
牛顿-拉夫逊迭代法是一个仅乘法数列并且因而会遭受速度损失。
常规的戈德施密特法实现这种类型的方程:
q[n+1]=q[n]*(2-y[n])
y[n+1]=y[n]*(2-y[n])
y[n]<2
其中q[0]=A*来自LUT的种子,y[0]=B*来自LUT的种子,并且q[无穷大]=A/B。常规算法中的y[n]在多次迭代后保持全精度。
常规的戈德施密特方法允许具有增加速度的并行乘法运算。
戈德施密特电路不具有任何平方逻辑。例如,y[1]是y[0]*(2-y[0])的乘积,其不是平方运算。
牛顿-拉夫逊迭代法和戈德施密特方法在每一个步骤都需要全精度的乘法运算。例如,具有戈德施密特法的24位除法电路需要两个9b x 24b的乘法器电路和三个具有来自LUT的8b种子的27b x 27b乘法器电路。因为对硬件资源的繁重使用,通过重复使用时序系统中的单个乘法器、或者其它使用矩形乘法器的技术来备选地减少面积。然而,这种技术不能被应用于组合除法器。
为了减少除法电路的面积并且提高其性能,必须要修改常规戈德施密特法的回归方程,并且通过小精度乘法器电路替代全精度乘法器电路进行实现。
戈德施密特法经过修订和修改以实现如下类型的方程:
q[n+1]=q[n]*(1+r[n])=q[n]+q[n]*r[n]
r[n+1]=r[n]2
r [ n ] < 2 - k 2 n - 1
其中q[0]=A*来自LUT的种子;r[0]=1-B*来自LUT的种子;并且q[无穷大]=A/B。
r[n]的精度以二次方减小并且收敛到0。
商q[n]这样来更新:将其乘以小精度r[n]并且将其与q[n]相加,而不是戈德施密特法中的与全精度y[n]相乘。
通过平方运算将r[n]所需的精度以二次方速度减少,而q[n]在迭代时保持全精度。
本实现的多个实施例只需要输入宽度小于被除数和除数的输入宽度的乘法器。
这些方程将常规戈德施密特法中的y[n]替换为1-r[n]。由于r[n]具有到0的二次收敛,因此在r[n]迭代时所要求的精度变得更小。实现具有该方程的24比特的除法器电路的一种方式是使用两个9b x 24b的乘法器,一个20b x 20b的乘法器,以及两个13b x 13b的乘法器。
图2示出了包含在此描述的平方电路的、具有一般化数目的级的乘性除法器的框图。
如在此所描述的,级数随着所要求的精度和LUT而变化。同样,如在此所描述的,平方电路的位置也有所变化。
图3示出了包含在此描述的平方电路的特定乘性除法器的框图。
特别地,所示出的是具有8bLUT的32b单精度浮点除法器的框图。
乘法器的右边列对应于修正项r[n],该r[n]在每级二次收敛到0。乘法器的左边列对应于商数项q[n],该q[n]在每级生成增加的精度的商。乘法器的上边的行对应于n=0的项,该项生成自除数和被除数输入以及LUT。每个后续的行对应于以下级。
Q=A/B,f=23
A:被除数
B:除数
Q:商(24b)
维度
(24b倒数)
M1:9b x 24b
M2:9b x 24b
M3:20b x 20b
M4:13b x 13b
M5:13b x 13b
如标签X或X2所示,M4是平方电路,并且剩余的乘法器M1、M2、M3和M5是通用乘法器而不是平方电路。加法器电路通常实现为前述乘法器的部分,从而使得加法器电路A1用乘法器M3实现,并且加法器电路A2用乘法器M5实现。
除法器电路通过减少的硬件实现经修改的算法。参数f表示有效位数的宽度,并且对于单精度浮点除法来说f为23。
“Computer Arithmetic:Algorithms and Hardware Designs”(作者Behrooz Parhami,牛津大学出版社(Oxford University Press),纽约,2000年)其整体通过引用并入于此。平方电路是标准乘法器或模乘法器的特殊情形。尽管标准乘法器或模乘法器可以用于通过使这两者的输入接收相同的数来计算平方,但相比起能够将两个任意不相等的数相乘的标准乘法器或模乘法器,在硬件中专门定制的平方电路具有更小的面积和更低的延迟。一般而言,乘法涉及生成第一操作数的每一位与第二操作数的每一位的部分乘积的矩阵的过程。平方电路充分地减少部分乘积矩阵。例如,部分乘积项xx减小至x。在另一示例中,在同一矩阵列(列表明每个重要数字的位置)中的部分乘积项xy和yx减少至下一较高列中的xy。在另一示例中,
Figure BPA00001498668100051
这减少了进位传递加法器的宽度。这些定制防止平方电路执行两个任意不相等的数的乘法(例如这是由于在定制的平方电路中所消除的部分乘积对于两个任意不相等数的乘法来说是必须的)。
平方逻辑的性能要好于乘法器的性能。例如,采用90nm的工艺,使用设计编译器(Design Compiler)的实验示出32b平方逻辑的最佳性能是1.71ns的延迟和18580的面积,而32b乘法器的最佳性能是1.91ns的延迟和29494的面积。
平方逻辑的细节取决于LUT的尺寸、输入精度以及输出精度。平方逻辑的布置基于以上的递归方程。例如,如果除法利用16b的LUT实现24b的尾数精度,则q[1]对于24b精度来说足够,并且M4和M5并不必要。
根据以上的回归方程,M4是r[i+1]=r[i]2的实现,其中
Figure BPA00001498668100061
也就是说,M4执行具有前导零的数的平方运算。为了获得更好的性能,通过LUT的输出精度和尺寸来确定平方逻辑的最小尺寸。在一个实施例中,13bx 13b是示出在保持正确的除法结果的同时用最小的面积实现最佳性能的M4的最小尺寸。然而,其它实施例能够实现具有14b x 13b或20b x 20b或任何更大的平方逻辑的M4,因为具有前导零的数的平方结果保持相同。
平方逻辑的存在不限于M4。平方逻辑的优点能够被应用到M6、M8等。M4、M6、M8等的存在由输入精度和输出精度以及LUT尺寸来确定。通常的LUT尺寸是8b的LUT或16b的LUT。在一个示例中,如果LUT具有16b,则24b的尾数除法不要求任何平方逻辑,但是53b的尾数除法要求M4,而100b的除法要求M4和M6。在一些实施例中,为了获得更好的性能,15b的LUT或14b的LUT能够在优化后被使用。
图4示出了在乘性除法器的一些实施例中的二分查找表。
图5示出了示出图4中的二分查找表的两个表的应用的图。
图6示出了在乘性除法器的一些实施例中的多方查找表。
LUT可以是直接LUT,二分LUT或多方LUT。“Faithful Bipartite ROMReciprocal Tables”(作者D.Das Sarma和D.Matula,第12届IEEE Symp.Computer Arithmetic会议集,编辑S.Knowles和W.McAllister,D第17-28页,1995年)以及“Multipartite Table Methods”(作者F.de Dinechin和A.Tisserand,IEEE Trans.Comput.,第54卷,第53期,第319-330页,2005年3月)通过引用并入于此。
直接LUT是明了的。然而,由于较大的面积消耗,诸如16b直接LUT实现之类的较大的直接LUT是不切实际的。因此,其它技术利用了LUT不必存储确切值、而是在1ulp误差范围内的近似值这一事实。
二分LUT示例具有初始值和偏移值的表。例如,16b二分LUT的面积变得可行,并且与11b~12b的直接LUT的面积相似。
多方LUT示例具有初始值的表和偏移值的多个表。偏移来自于线性近似。TOV可以被划分成更小的表。
如果查找表的尺寸有n比特,则误差范围变得小于2-n。各种实施例使用各种n的n比特LUT。
例如:
第一级的输出误差变得小于2-2n
第二级的输出误差变得小于2-4n
第三级的输出误差变得小于2-8n
如果使用8b的LUT,则对于24b的尾数除法(32b浮点FP除法)要求第二级,并且对53b的尾数除法(64b浮点FP除法)要求第三级,并且对大于64b的尾数(mantissa)要求第四级。
另外,如果使用16b的LUT,则对24b的尾数除法(32b浮点FP除法)要求第一级,并且对53b的尾数除法(64b浮点FP除法)要求第二级,并且对大于64b的尾数要求第三级。
各种实施例使用各种数目的级。将w定义为操作数的宽度。则M4的大小变成(w-n)比特x(w-n)比特。如果存在第二级,则r[2]的平方逻辑变成(w-2n)比特x(w-2n)比特。如果存在第m级,则r[m]的平方逻辑变成(w-mn)比特x(w-mn)比特。
作为实现不同的乘性除法的直接结果,常规的用于单精度浮点运算的戈德施密特乘性除法器缺少平方电路M4,并且代之以低效率的标准乘法器或模乘法器。
所描述的技术可以在单元(例如定点和浮点除法器以及倒数电路)中实现,并且存储在计算机可读介质(诸如图10的1028所示)中。
图7示出了示出由在此描述的乘性除法器电路的实施例所使用的减少面积的比较图。
所示出的是具有f=23的单精度浮点除法器的基准比较。该基准比较使用0906版本、超编译以及90nm工艺的设计编译器。x轴表示延迟时间,并且y轴表示编译网表的面积。上面一行是传统戈德施密特电路的曲线,并且下面一行是本技术电路的曲线。经过速度优化,示出在延迟时间变得相似的同时面积减少了37%。经过面积优化,本技术相比于戈德施密特除法器电路示出30%~40%的面积减少。
本技术通过减少具有小精度乘法器电路的除法器电路的面积,来改进由二次收敛法实现的除法器电路的qor(结果的质量),同时保持结果的正确性。除法器电路降低了在常规电路实现中所使用的乘法运算的精度。
乘法器的大小主要取决于输出的大小而不是除数和被除数的大小。
图8示出了示出由在此描述的乘性除法器电路的实施例所使用的减少面积的比较图。
图9示出了并入本技术的特征例示的集成电路设计流的简化表示。在高级别上,过程开始于产品理念(步骤900),并在EDA(电子设计自动化)软件设计过程中实现(步骤910)。当设计定案时,可以进行流片(步骤940)。在流片之后,发生制造过程(步骤950)和封装及装配过程(步骤960),并最终产生所完结的集成电路芯片(步骤970)。
EDA软件设计过程(步骤910)实际上由多个步骤912-930组成,为求简化以线性方式示出。在实际的集成电路设计过程中,特定的设计可能不得不返回进行步骤直至通过特定的测试。类似的,在任何实际设计过程中,这些步骤能够以不同顺序和组合发生。因此作为背景或一般性说明的方式、而非作为特定集成电路的具体的、或推荐的设计流的方式提供本描述。
现在将提供EDA软件设计过程(步骤910)的组成步骤的简要描述。
系统设计(步骤912):设计者描述他们想要实现的功能,他们可以执行假设规划以精化功能,检查成本等。硬件-软件架构分割可以在这一级发生。在该步骤中能够使用的来自Synopsys公司的示例EDA软件产品包含Model Architect、Saber、System Studio以及Design Ware产品。
逻辑设计和功能验证(步骤914):在该级编写用于系统中模块的VHDL或Verilog代码,并且检查设计的功能正确性。更具体而言,检查设计以确保响应于特定输入激励产生正确的输出。在该步骤中能够使用的来自Synopsys公司的示例EDA软件产品包含VCS、VERA、Design Ware
Figure BPA00001498668100092
Magellan、Formality、ESP、以及LEDA产品。
测试的综合和设计(步骤916):这里,VHDL/Verilog被翻译为网表。网表可以针对目标技术而被优化。另外,发生用于允许检查已完成芯片的测试的设计和实现。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含Design Compiler
Figure BPA00001498668100093
Physical Compiler、Test Compiler、PowerCompiler、FPGA Compiler、Tetramax、以及Design Ware
Figure BPA00001498668100094
产品。
网表验证(步骤918):在该步骤,针对遵守时序约束以及针对与VHDL/Verilog源代码的一致性检查网表。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含Formality、PrimeTime、以及VCS产品。
设计规划(步骤920):这里,构造芯片的总体平面规划(floor plan),并且对其进行时序分析和顶层布线分析。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含Astro、以及IC Compile产品。
物理实现(步骤922):布置(电路元件的定位)和布线(电路元件的连接)发生在该步骤。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含Astro、以及IC Compile产品。
分析和提取(步骤924):在该步骤,电路功能进行晶体管级验证,这反过来允许假设精化。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含AstroRail、PrimeRail、Primetime、以及Star RC/XT产品。
物理验证(步骤926):在该步骤,执行各种检查功能以确保以下的正确性:制造、电气问题、光刻问题以及电路。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含Hercules产品。
流片(步骤927):该步骤提供用于生产用于光刻掩膜的“流片”数据,以生产成片。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含CATS(R)系列产品。
解析度增强(步骤928):该步骤涉及布图的几何操作以改进设计的可制造性。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含Proteus、以及PSMGen产品。
掩膜数据预备(步骤930):该步骤提供用于生产用于光刻的掩膜的“流片”数据,以生产成片。在该步骤中能够使用的来自Synopsys公司的EDA软件产品包含CATS(R)系列产品。
图10是能够被用于实现并入本技术的方面的软件的计算机系统的简化框图。
计算机系统1010通常包括如下处理器子系统1014,该子系统经由总线子系统1012与多个外围设备进行通信。这些外围设备可以包括存储子系统1024,其包含存储器子系统1026和文件存储子系统1028,用户接口输入设备1022,用户接口输出设备1020以及网络接口子系统1016。输入和输出设备允许用户与计算机系统1010进行交互。网络接口子系统1016提供了到外部网络的接口,其包括到通信网络1018的接口,并且经由通信网络1018与其它计算机中相应的接口设备进行耦合。通信网络1018可以包含许多互联的计算机系统和通信链路。这些通信链路可以是电线链路,光链路,无线链路,或其它任何信息通信的机制。尽管在一个实施例中,通信网络1018是因特网,但在其它实施例中,通信网络1018可以是任何适当的计算机网络。
网络接口的物理硬件组件有时指网络接口卡(NIC),尽管它们不必以卡的形式存在:例如它们能以集成电路(IC)和直接安装在母板上的连接器的形式存在,或者以装配在具有计算机系统的其它组件的单一集成电路芯片上的宏单元的形式存在。
用户接口输入设备1022可以包含并入到显示器、音频输入设备(诸如语音识别系统、麦克风、以及其它类型的输入设备)的键盘,指点设备(诸如鼠标、轨迹球、触摸板、图形手写板、扫描仪、触摸屏)。一般而言,使用术语输入设备旨在包括向计算机系统1010或计算机网络1018输入信息的所有可能的设备类型和方式。
用户接口输出设备1020可以包含显示子系统、打印机、传真机、或非视觉显示器(诸如音频输出设备)。显示子系统可以包括阴极射线管CRT,平板设备(诸如液晶显示器LCD),投影设备,或用于创建可视图像的一些其它机制。显示子系统还可以提供非视觉显示(诸如经由音频输出设备)。一般而言,使用术语“输出设备”旨在包括从计算机系统1010向用户或向另一机器或计算机系统输出信息的所有可能的设备类型和方式。
存储子系统1024存储提供本发明的特定方面功能的基础编程和数据构造。例如,可以在存储子系统1024中存储在先前附图中的各种用于实现电路模拟器功能和计算机实现的步骤的模块。这些软件模块通常由处理器子系统1014执行。存储在存储子系统1024中的数据构造还包括任何技术文件、宏单元库、布图文件、以及其它在此提及的数据库。注意到在一些实施例中,这些中的一个或多个可以被存储在其它处而对计算机系统1010而言(例如经由通信网络1018)可访问。
存储器子系统1026通常包含具有多个包括用于存储在程序执行期间的指令和数据的主随机访问存储器(RAM)1030、以及其中存储了固定指令的只读存储器(ROM)1032的存储器。文件存储子系统1028提供程序和数据文件的持久存储,并且可以包含硬盘驱动、软盘驱动以及相关联的可移除介质、CD ROM驱动,光驱动、或可移除的媒介磁带。实现本发明特定实施例功能的数据库和模块可能已经被提供在诸如一个或多个CD-ROM的计算机可读介质上(或者已经经由通信网络1018被传达到计算机系统1028),并且可以由文件存储子系统1028进行存储。其中,主机存储器1026包含如下计算机指令,当处理器子系统1010执行该指令时,使得计算机系统执行在此描述的功能。如此处所使用的,被说成在“主机”或“计算机”中或上运行的的过程和软件响应于计算机指令和在如下主机存储器子系统1026中的数据而在处理器子系统1014上执行,该主机存储器子系统1026包含任何其它用于这种指令和数据的本地或远程存储。
总线子系统1012提供用于让计算机系统1010的各种组件和子系统按照预期彼此通信。尽管总线子系统1012示意性示出为单一总线,但总线子系统的备选实施例可以使用多个总线。
计算机系统1010本身可以具有如下不同类型,包括个人计算机、便携式计算机、工作站、计算机终端、网络计算机、电视、大型机、或任何其它数据处理系统或用户设备。由于计算机和网络不断变化的特性,在图10中描绘的计算机系统1010的描述仅旨在出于例示本发明优选实施例的目的的具体示例。计算机系统1010的多个其它配置有可能比图10中描绘的计算机系统具有更多或更少的组件。
尽管参照上文的详细优选实施例和示例公开了本发明,将理解这些示例旨在示例性意义而非限制性意义。可以预期的是,本领域技术人员很容易想到进行修改和组合,这些修改和组合将在本发明的精神和如下权利要求的范围内。所请求保护的是:

Claims (20)

1.一种具有减少的电路面积的除法电路,包括:
实现被除数输入和除数输入的乘性除法的集成电路,包括:
用于提供除数输入的倒数的近似值的查找表电路;
用于接收所述近似值并精化所述被除数输入和除数输入的商输出的多个乘法器电路,其中所述多个乘法器电路中的至少一个乘法器电路是实现与减少数目的中间部分乘积的乘法的平方电路,所述减小数目的所述中间部分乘积的防止所述平方电路进行任意两个不相等的数之间的乘法以及将所述平方电路限于进行相同数乘以所述相同数的乘法。
2.根据权利要求1所述的除法电路,其中,所述乘性除法具有二次收敛性。
3.根据权利要求1所述的除法电路,其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路。
4.根据权利要求1所述的除法电路,其中,所述多个乘法器电路包含具有逐渐精化的商输出的乘法器电路的第一系列;以及具有减少的误差的调整输出的乘法器电路的第二系列;并且乘法器电路的第一系列与乘法器电路的第二系列并行运算。
5.根据权利要求1所述的除法电路,其中,所述查找表电路是二分查找表电路。
6.根据权利要求1所述的除法电路,其中,所述查找表电路是多方查找表电路,从而使得所述多方查找表电路包含多个偏移值表。
7.根据权利要求1所述的除法电路,其中,所述查找表电路是直接查找表电路。
8.根据权利要求1所述的除法电路,其中,所述平方电路对输入操作数进行运算,所述输入操作数具有小于所述被除数输入的输入宽度以及小于所述除数输入的输入宽度的输入宽度。
9.根据权利要求1所述的除法电路,其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路;并且所述第二系列的乘法器电路包含所述平方电路。
10.根据权利要求1所述的除法电路,其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路;并且所述第二系列的乘法器电路的包含所述平方电路;
其中,所述平方电路对输入操作数进行运算,所述输入操作数具有小于所述被除数输入的输入宽度以及小于所述除数输入的输入宽度的输入宽度。
11.根据权利要求1所述的除法电路,
其中,所述多个乘法器电路包括多个平方电路,并且
其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路;并且所述第二系列的乘法器电路包含所述多个平方电路。
12.根据权利要求1所述的除法电路,
其中,所述多个乘法器电路包括多个平方电路,并且
其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路;并且所述第二系列的乘法器电路包含所述多个平方电路;
其中,所述平方电路对输入操作数进行运算,所述输入操作数具有小于所述被除数输入的输入宽度以及所述除数输入的输入宽度的输入宽度。
13.一种用于对集成电路设计进行布局的计算机系统,所述计算机系统包括处理器和存储器,
所述计算机系统生成第一集成电路设计的第一布图,所述第一布图定义多个掩膜,所述掩膜定义制造过程中的多个特征,所述特征定义实现被除数输入和除数输入的乘性除法的集成电路,所述集成电路包括:
用于提供除数输入的倒数的近似值的查找表电路;
用于接收所述近似值并精化所述被除数输入和除数输入的商输出的多个乘法器电路,其中所述多个乘法器电路中的至少一个乘法器电路是实现与减少数目的中间部分乘积的乘法的平方电路,所述减少数目的中间部分乘积防止所述平方电路进行任意两个不相等数之间的乘法以及将所述平方电路限于进行相同数乘以所述相同数的乘法。
14.根据权利要求13所述的计算机系统,其中,所述平方电路对输入操作数进行运算,所述输入操作数具有小于所述被除数输入的输入宽度以及小于所述除数输入的输入宽度的输入宽度。
15.根据权利要求13所述的计算机系统,其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路;并且所述第二系列的乘法器电路包含所述平方电路。
16.根据权利要求13所述的计算机系统,
其中,所述多个乘法器电路包括多个平方电路,并且
其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路;并且所述第二数列的乘法器电路包含所述多个平方电路。
17.一种计算机可读介质,该计算机可读介质定义标准单元以生成第一集成电路设计的布图,所述布图定义多个掩膜,所述掩膜定义制造过程中的多个特征,所述特征定义实现被除数输入和除数输入的乘性除法的集成电路,所述标准单元定义所述集成电路包括:
用于提供除数输入的倒数的近似值的查找表电路;
用于接收所述近似值并精化所述被除数输入和除数输入的商输出的多个乘法器电路,其中所述多个乘法器电路中的至少一个乘法器电路是实现与减少数目的中间部分乘积的乘法的平方电路;所述减少数目的中间部分乘积防止所述平方电路进行任意两个不相等数之间的乘法以及将所述平方电路限于进行相同数乘以所述相同数的乘法。
18.根据权利要求17所述的计算机介质,其中,所述平方电路对输入操作数进行运算,所述输入操作数具有小于被除数输入的输入宽度以及小于除数输入的输入宽度的输入宽度。
19.根据权利要求17所述的计算机介质,其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路;并且所述第二系列的乘法器电路包含所述平方电路。
20.根据权利要求17所述的计算机介质,
其中,所述多个乘法器电路包括多个平方电路,并且
其中,所述多个乘法器电路包含具有逐渐精化的商输出的第一系列的乘法器电路;以及具有减少的误差的调整输出的第二系列的乘法器电路;并且所述第二系列的所述乘法器电路包含所述多个平方电路。
CN201080033502.4A 2009-06-10 2010-06-10 具有减小面积的乘性除法电路 Active CN102460424B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18592909P 2009-06-10 2009-06-10
US61/185,929 2009-06-10
US12/488,956 US8819094B2 (en) 2009-06-10 2009-06-22 Multiplicative division circuit with reduced area
US12/488,956 2009-06-22
PCT/US2010/038124 WO2010144673A2 (en) 2009-06-10 2010-06-10 Multiplicative division circuit with reduced area

Publications (2)

Publication Number Publication Date
CN102460424A true CN102460424A (zh) 2012-05-16
CN102460424B CN102460424B (zh) 2016-03-23

Family

ID=43307291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080033502.4A Active CN102460424B (zh) 2009-06-10 2010-06-10 具有减小面积的乘性除法电路

Country Status (6)

Country Link
US (1) US8819094B2 (zh)
EP (1) EP2441016A4 (zh)
JP (1) JP5905386B2 (zh)
KR (1) KR101411683B1 (zh)
CN (1) CN102460424B (zh)
WO (1) WO2010144673A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092561A (zh) * 2013-01-18 2013-05-08 北京理工大学 一种基于除数映射的Goldschmidt除法实现方法
CN104471714A (zh) * 2012-06-13 2015-03-25 美商新思科技有限公司 N沟道和P沟道端对端FinFET单元架构
CN110308891A (zh) * 2019-08-21 2019-10-08 上海南芯半导体科技有限公司 一种低成本应用的除法器电路及其实现方法
WO2022088997A1 (zh) * 2020-10-28 2022-05-05 Oppo广东移动通信有限公司 除运算方法及除法器、除法装置、电子设备、存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8838559B1 (en) * 2011-02-24 2014-09-16 Cadence Design Systems, Inc. Data mining through property checks based upon string pattern determinations
US9189581B2 (en) * 2012-07-30 2015-11-17 Synopsys, Inc. Equivalence checking between two or more circuit designs that include division circuits
US8732637B2 (en) * 2012-07-30 2014-05-20 Synopsys, Inc. Formal verification of bit-serial division and bit-serial square-root circuit designs
US9904512B1 (en) 2013-05-31 2018-02-27 Altera Corporation Methods and apparatus for performing floating point operations
MY168512A (en) * 2014-04-09 2018-11-12 Mimos Berhad A system and method for implementing division
US10120650B2 (en) 2014-09-30 2018-11-06 Samsung Electronics Co., Ltd. Method and apparatus for calculating data
US10002219B2 (en) * 2015-03-25 2018-06-19 Samsung Electronics Co., Ltd. Method for placing parallel multiplier
US10209957B2 (en) 2015-05-04 2019-02-19 Samsung Electronics Co., Ltd. Partial remainder/divisor table split implementation
CN106354473B (zh) * 2015-07-16 2019-02-12 浙江大华技术股份有限公司 一种除法器和求商和余数的方法
TWI557641B (zh) 2015-12-29 2016-11-11 瑞昱半導體股份有限公司 除法運算裝置及其運算方法
US20190354074A1 (en) * 2018-05-17 2019-11-21 Johnson Controls Technology Company Building management system control using occupancy data
US11416218B1 (en) 2020-07-10 2022-08-16 Ali Tasdighi Far Digital approximate squarer for machine learning
US11467805B1 (en) 2020-07-10 2022-10-11 Ali Tasdighi Far Digital approximate multipliers for machine learning and artificial intelligence applications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254525A (ja) * 1987-04-10 1988-10-21 Matsushita Electric Ind Co Ltd 除算装置
JP2001256039A (ja) * 2000-03-10 2001-09-21 Fuji Xerox Co Ltd 浮動小数点演算装置および演算方法
CN1740962A (zh) * 2005-09-22 2006-03-01 上海广电(集团)有限公司中央研究院 一种快速流水线型除法器
US20060265443A1 (en) * 2005-05-19 2006-11-23 Cornea-Hasegan Marius A Converting a number from a first base to a second base
US20080148203A1 (en) * 2006-12-14 2008-06-19 Alpert Charles J Latch Placement for High Performance and Low Power Circuits

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3508038A (en) * 1966-08-30 1970-04-21 Ibm Multiplying apparatus for performing division using successive approximate reciprocals of a divisor
JPS61201327A (ja) * 1985-03-04 1986-09-06 Oki Electric Ind Co Ltd 除算装置
US5046038A (en) 1989-07-07 1991-09-03 Cyrix Corporation Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5065352A (en) 1989-08-16 1991-11-12 Matsushita Electric Industrial Co., Ltd. Divide apparatus employing multiplier with overlapped partial quotients
EP0530936B1 (en) 1991-09-05 2000-05-17 Cyrix Corporation Method and apparatus for performing prescaled division
US5377134A (en) 1992-12-29 1994-12-27 International Business Machines Corporation Leading constant eliminator for extended precision in pipelined division
US5862059A (en) * 1995-07-19 1999-01-19 National Semiconductor Corporation Table compression using bipartite tables
US7191204B1 (en) * 1999-12-22 2007-03-13 Wataru Ogata Computing system using newton-raphson method
US6782405B1 (en) * 2001-06-07 2004-08-24 Southern Methodist University Method and apparatus for performing division and square root functions using a multiplier and a multipartite table
US7467174B2 (en) 2004-09-23 2008-12-16 Wisconsin Alumni Research Foundation Processing unit having decimal floating-point divider using Newton-Raphson iteration
WO2007063601A1 (ja) * 2005-12-02 2007-06-07 Fujitsu Limited 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法
US8402078B2 (en) * 2008-02-26 2013-03-19 International Business Machines Corporation Method, system and computer program product for determining required precision in fixed-point divide operations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254525A (ja) * 1987-04-10 1988-10-21 Matsushita Electric Ind Co Ltd 除算装置
JP2001256039A (ja) * 2000-03-10 2001-09-21 Fuji Xerox Co Ltd 浮動小数点演算装置および演算方法
US20060265443A1 (en) * 2005-05-19 2006-11-23 Cornea-Hasegan Marius A Converting a number from a first base to a second base
CN1740962A (zh) * 2005-09-22 2006-03-01 上海广电(集团)有限公司中央研究院 一种快速流水线型除法器
US20080148203A1 (en) * 2006-12-14 2008-06-19 Alpert Charles J Latch Placement for High Performance and Low Power Circuits

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DONGDONG CHEN等: "DESIGN AND IMPLEMENTATION OF RECIPROCAL UNIT", 《IEEE INTERNATIONAL 48TH MIDWEST SYMPOSIUM ON CIRCUITS》 *
DONGDONG CHEN等: "DESIGN AND IMPLEMENTATION OF RECIPROCAL UNIT", 《IEEE INTERNATIONAL 48TH MIDWEST SYMPOSIUM ON CIRCUITS》, 7 August 2005 (2005-08-07), pages 1318 - 1321, XP031176721 *
MILOS D. ERCEGOVAC等: "Improving Goldschmidt Division, Square Root, and Square Root Reciprocal", 《IEEE TRANSACTIONS ON COMPUTERS》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104471714A (zh) * 2012-06-13 2015-03-25 美商新思科技有限公司 N沟道和P沟道端对端FinFET单元架构
US9646966B2 (en) 2012-06-13 2017-05-09 Synopsys, Inc. N-channel and P-channel end-to-end finFET cell architecture
CN103092561A (zh) * 2013-01-18 2013-05-08 北京理工大学 一种基于除数映射的Goldschmidt除法实现方法
CN103092561B (zh) * 2013-01-18 2015-11-25 北京理工大学 一种基于除数映射的Goldschmidt除法实现方法
CN110308891A (zh) * 2019-08-21 2019-10-08 上海南芯半导体科技有限公司 一种低成本应用的除法器电路及其实现方法
WO2022088997A1 (zh) * 2020-10-28 2022-05-05 Oppo广东移动通信有限公司 除运算方法及除法器、除法装置、电子设备、存储介质

Also Published As

Publication number Publication date
JP5905386B2 (ja) 2016-04-20
JP2012529718A (ja) 2012-11-22
EP2441016A2 (en) 2012-04-18
WO2010144673A2 (en) 2010-12-16
KR20120017468A (ko) 2012-02-28
US20100318592A1 (en) 2010-12-16
WO2010144673A3 (en) 2011-03-31
EP2441016A4 (en) 2013-01-09
KR101411683B1 (ko) 2014-06-25
CN102460424B (zh) 2016-03-23
US8819094B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
CN102460424B (zh) 具有减小面积的乘性除法电路
Raghunathan et al. High-level power analysis and optimization
Zhang et al. Reconfigurable acceleration for Monte Carlo based financial simulation
Obermann et al. Division algorithms and implementations
Shiva Introduction to logic design
Huang High-level optimization techniques for low-power multiplier design
US8336007B1 (en) Verifiable multimode multipliers
Hasan et al. A high-speed 4-bit Carry Look-Ahead architecture as a building block for wide word-length Carry-Select Adder
US11321049B2 (en) Fast binary counters based on symmetric stacking and methods for same
Garg et al. Bit-width-aware constant-delay run-time accuracy programmable adder for error-resilient applications
Irturk et al. GUSTO: An automatic generation and optimization tool for matrix inversion architectures
Ahmed et al. Improved designs of digit-by-digit decimal multiplier
Patankar et al. Novel data dependent divider circuit block implementation for complex division and area critical applications
Gierenz et al. Parameterized MAC unit generation for a scalable embedded DSP core
Liu Design and analysis of approximate adders and multipliers
Liddicoat High-performance arithmetic for division and the elementary functions
BhanuTej Vedic divider-A high performance computing algorithm for VLSI applications
Putra et al. Optimized hardware algorithm for integer cube root calculation and its efficient architecture
Purohit et al. Implementation and Physical Design of 8/4-Bit Signed Divider
Gowreesrinivas et al. Improvised hierarchy of floating point multiplication using 5: 3 compressor
Chen Hardware Acceleration for Elementary Functions and RISC-V Processor
US20230367554A1 (en) Apparatus, a method of operating modulo k calculation circuitry and a non-transitory computer-readable medium to store computer-readable code for fabrication of an apparatus
Kumar et al. Single precision floating point multiplier
Lee AIR: Adaptive dynamic precision iterative refinement
Jessintha A Two-Speed, Radix-4, Parallel-Parallel Multiplier

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant