CN103455303B - 用硬件实现指数运算的电路 - Google Patents

用硬件实现指数运算的电路 Download PDF

Info

Publication number
CN103455303B
CN103455303B CN201210175191.6A CN201210175191A CN103455303B CN 103455303 B CN103455303 B CN 103455303B CN 201210175191 A CN201210175191 A CN 201210175191A CN 103455303 B CN103455303 B CN 103455303B
Authority
CN
China
Prior art keywords
circuit
output
highest order
designated
realized
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.)
Active
Application number
CN201210175191.6A
Other languages
English (en)
Other versions
CN103455303A (zh
Inventor
王吉健
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.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co 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 Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN201210175191.6A priority Critical patent/CN103455303B/zh
Publication of CN103455303A publication Critical patent/CN103455303A/zh
Application granted granted Critical
Publication of CN103455303B publication Critical patent/CN103455303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种用硬件实现指数运算的电路,包括:一最高位补“1”电路,其输入是a[M‑1]到a[0],用a[M‑1:0]表示,输出记为b;用于在输入的最高位前补一个逻辑”1”,使输出b的最高位为1,其余位从高到低则为a[M‑1:0];一移位电路,其一输入是所述最高位补“1”电路的输出b,另一输入是a[M+N‑1]到a[M],记为a[M+N‑1:M],表示成十进制数则为k,输出记为c,如果k‑M是负数,则将b右移M‑k位,如果k‑M是非负数,则将b左移k‑M位,补0。本发明计算速度快、精度高,且能显著减少所占用的芯片面积。

Description

用硬件实现指数运算的电路
技术领域
本发明涉及一种用硬件实现指数运算的电路。
背景技术
指数运算是一种常用的运算,在支持浮点运算的处理器中,与对数运算一样,经常被要求实现。目前指数运算在硬件实现的时候,一般是用查找表实现的,这样需要占用大量的芯片面积。即使用软件方式实现,也只能通过泰勒展开等方式计算,计算时间比较长。
发明内容
本发明要解决的技术问题是提供一种用硬件实现指数运算的电路,计算速度快、精度高,且能显著减少所占用的芯片面积。
为解决上述技术问题,本发明的用硬件实现指数运算的电路,包括:
一最高位补“1”电路,其输入是a[M-1]到a[0],用a[M-1:0]表示,输出记为b;用于在输入的最高位前补一个逻辑”1”,使输出b的最高位为1,其余位从高到低则为a[M-1:0];
一移位电路,其一输入是所述最高位补“1”电路的输出b,另一输入是a[M+N-1]到a[M],记为a[M+N-1:M],表示成十进制数则为k,输出记为c,如果k-M是负数,则将b右移M-k位,如果k-M是非负数,则将b左移k-M位,补0。
采用本发明的用硬件实现指数运算的电路,在计算2x,x为11位浮点数,高4位为整数部分,低7位是小数部分时,仅仅需要几十个门电路,由纯组合电路即可实现。运算快速而计算结果的最大误差仅仅是6%。本发明与采用查找表由硬件实现指数运算的电路相比,大大减少了所占用的芯片面积;与采用软件实现指数运算的方式相比,大大提高了执行速度。
本发明可用于各种需要进行指数运算的产品。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是所述用硬件实现指数运算的电路的原理框图;
图2是所述用硬件实现指数运算的电路仿真结果图。
具体实施方式
参见图1所示,所述用硬件实现指数运算的电路,在下面的实施例中M=7,N=4,输入a有7+4=11位,输出c有24=16位,该电路包括:
一个最高位补”1”电路,其输入是a[M-1]到a[0],用a[M-1:0]表示,输出记为b。这个最高位补”1”电路的作用是在输入的最高位前补一个逻辑”1”,所以b的最高位是1,其余位从高到低就是a[M-1:0]。例如,假设a用二进制表示为10110110101,那么a[M-1:0]就是0110101(M=7),那么b就是10110101。
一个移位电路,其一个输入是所述最高位补”1”电路的输出b,另一个输入是a[M+N-1]到a[M],记为a[M+N-1:M],表示成十进制数就记为k;输出记为c。这个选择电路的作用就是,如果k-M是负数,就把b右移M-k位,如果k-M是非负数,就把b左移k-M位,补0。例如,假设a用二进制表示为10110110101,那么a[M+N-1:M]就是1011(M=7,N=4),那么k就是11。由于k-M=11-7=4,是非负数,那么输出c就是b右移4位补0,c就等于101101010000。
图2是上述实施例的仿真结果,其中横轴是输入数据,M=7,N=4;纵轴是精确计算2x的结果与本发明的运算结果的差同精确值之间的比值。从图中可见,当输入x的范围在1~2047内,用本电路计算2x的结果与2x的精确值之间的差别仅占2x的精确值的0.06即最大计算误差为6%。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (1)

1.一种用硬件实现指数运算的电路,其特征在于,包括:
一最高位补“1”电路,其输入是a[M-1]到a[0],用a[M-1:0]表示,输出记为b;用于在输入的最高位前补一个逻辑”1”,使输出b的最高位为1,其余位从高到低则为a[M-1:0];
一移位电路,其一输入是所述最高位补“1”电路的输出b,另一输入是a[M+N-1]到a[M],记为a[M+N-1:M],表示成十进制数则为k,输出记为c,如果k-M是负数,则将b右移M-k位,如果k-M是非负数,则将b左移k-M位,补0;
a[M-1]到a[0]为浮点指数的小数部分,a[M+N-1]到a[M]为浮点指数的整数部分。
CN201210175191.6A 2012-05-31 2012-05-31 用硬件实现指数运算的电路 Active CN103455303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210175191.6A CN103455303B (zh) 2012-05-31 2012-05-31 用硬件实现指数运算的电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210175191.6A CN103455303B (zh) 2012-05-31 2012-05-31 用硬件实现指数运算的电路

Publications (2)

Publication Number Publication Date
CN103455303A CN103455303A (zh) 2013-12-18
CN103455303B true CN103455303B (zh) 2017-10-31

Family

ID=49737718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210175191.6A Active CN103455303B (zh) 2012-05-31 2012-05-31 用硬件实现指数运算的电路

Country Status (1)

Country Link
CN (1) CN103455303B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106787789B (zh) * 2016-11-10 2019-04-02 易事特集团股份有限公司 太阳能电池阵列模拟器输出电网外环控制中的输出电压外环计算方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577250A (zh) * 2003-06-26 2005-02-09 国际商业机器公司 用于实现2的幂的浮点估计的系统与方法
CN101142547A (zh) * 2004-02-18 2008-03-12 通用汽车公司 以浮点数据类型计算2的乘方的快速方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577250A (zh) * 2003-06-26 2005-02-09 国际商业机器公司 用于实现2的幂的浮点估计的系统与方法
CN101142547A (zh) * 2004-02-18 2008-03-12 通用汽车公司 以浮点数据类型计算2的乘方的快速方法

Also Published As

Publication number Publication date
CN103455303A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
Prashanth et al. Design & Implementation of Floating point ALU on a FPGA Processor
US20180329681A1 (en) Quick operation device for nonlinear function, and method therefor
GB2522194A (en) Multiply adder
JP2015103245A (ja) 浮動小数点加算ユニットを含む装置及びシステム、並びに浮動小数点加算方法
Kaur et al. Vhdl implementation of non restoring division algorithm using high speed adder/subtractor
CN103455303B (zh) 用硬件实现指数运算的电路
JP5966763B2 (ja) 除算装置及び除算方法
CN111313890B (zh) 一种高性能近似全加器门级单元
GB2527125A (en) Calculation of a number of iterations
Fathi et al. Ultra high speed modified booth encoding architecture for high speed parallel accumulations
Pande et al. Design and implementation of floating point divide-add fused architecture
San et al. Hardware implementation of floating-point operating devices by using IEEE-754 binary arithmetic standard
Lastras et al. A logarithmic approach to energy-efficient GPU arithmetic for mobile devices
Chandu et al. Design and implementation of high efficiency square root circuit using Vedic mathematics
Halder et al. Pipelining Based Floating Point Division: Architecture and Modeling
Singh et al. Optimized floating point arithmetic unit
Chen et al. A dynamic non-uniform segmentation method for first-order polynomial function evaluation
WO2023100372A1 (ja) データ処理装置、データ処理方法、及びデータ処理プログラム
Kareem et al. A low error add and shift-based efficient implementation of base-2 logarithm
CN202720630U (zh) 除法器逻辑电路
Kumar et al. Performance Analysis of Different types of Adders for High Speed 32 bit Multiply and Accumulate Unit
CN102508633B (zh) 除法器逻辑电路及实现除法器逻辑电路的方法
Xia et al. Research and optimization on methods for reciprocal approximation
Faraz et al. Design and Synthesis of Restoring Technique Based Dual Mode Floating Point Divider for Fast Computing Applications
Rashmi et al. 32 bit power efficient carry select adder using 4T XNOR gate

Legal Events

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