CN103455303B - 用硬件实现指数运算的电路 - Google Patents
用硬件实现指数运算的电路 Download PDFInfo
- 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
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]为浮点指数的整数部分。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106787789B (zh) * | 2016-11-10 | 2019-04-02 | 易事特集团股份有限公司 | 太阳能电池阵列模拟器输出电网外环控制中的输出电压外环计算方法和装置 |
Citations (2)
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的乘方的快速方法 |
-
2012
- 2012-05-31 CN CN201210175191.6A patent/CN103455303B/zh active Active
Patent Citations (2)
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 |