abdelrahman elskahwy kareem ismail enhanced binary ...€¦ · the need for an enhanced adder for...
TRANSCRIPT
![Page 1: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/1.jpg)
NOTE:
To change the
image on this
slide, select
the picture and
delete it. Then
click the
Pictures icon in
the placeholder
to insert your
own image.
Enhanced Binary Floating Point Interval Adder with
Decorations
By: Abdelrahman Elskahwy
Kareem Ismail Maha Zohdy
Under the supervision of:
Associate Prof. Hossam A. H. Fahmy IEEE P1788 committee member
Presented by:
Amin Maher Contact : [email protected]
![Page 2: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/2.jpg)
Agenda
Motivation
Adder Design
Parallel Adder Design
Decorations Interval Adder with Decorations
Testing Test Vectors Generation
Results & Comparisons
Conclusion
What’s next ?
Binary Floating Point Interval Adder 2
![Page 3: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/3.jpg)
Motivation
1. The need for an enhanced adder for high speed applications.
2. Unlike conventional operations on discrete floating point numbers, operations on floating point intervals are flagged with Decorations.
Achievements:
1. Floating point interval adder with enhanced speed and area over the 1st and only implementation of binary floating point interval adder.
2. 1st Implementation of Decorations in Interval Adder
Binary Floating Point Interval Adder 3
![Page 4: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/4.jpg)
Interval Applications
Solves error due to rounding
- Result obtained may be totally wrong
Saves simulation time
- Component’s tolerance
Computer graphics
Inaccurate More accurate Perfect Binary Floating Point Interval Adder
4
![Page 5: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/5.jpg)
Parallel Adder design
We adopted the tow-path design, as we were targeting the speed.
Some floating point addition/subtraction characteristics
Binary Floating Point Interval Adder 5
Full length alignment & normalization shift.
Rounding & conversion addition.
![Page 6: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/6.jpg)
Special cases
Infinities according to IEEE 754 standard.
Binary Floating Point Interval Adder 6
Double-Format Bit Pattern Value
s = 0; e = 2047; sig = 0 (all bits in f are zero) +INF (positive infinity)
s = 1; e = 2047; sig = 0 (all bits in sig are zero) -INF (negative infinity)
Nan (Not A Number):
If any of the two operands is Nan, the result will be a canonical Nan. (Nan_sig==>13'h4000000000000)
Single-Format Bit Pattern Value
s = x; e =2047; sig≠0 (at least one bit in sig is nonzero) Nan (Not-a-Number)
![Page 7: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/7.jpg)
Exponent Difference 0 1
MUX
0 1
MUX
Full-length Right
Shift 1-bit Right Shift
Compound Adder
Compound Adder
LZC
1-bit Right
Shifter Normalization
0 1
MUX
Exp_A Exp_B A B B A
Difference Value Difference Sign
Mantissa Result Far Path Near Path
Special Cases
Handling
A B
Select result
Parallel design Block diagram
Binary Floating Point Interval Adder 7
Select Logic
Exp_A
Exp_B
op
![Page 8: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/8.jpg)
Decorations
Decorations is used to describe a property , not of the interval it is attached to but of the function evaluated on the i/p intervals.
Example : If a code defines the expression f (x,y)= 𝑦2 − 𝑥 ∗ 𝑦, then decorated-interval gives information about definedness, continuity, etc. of the function f (x,y) over the intervals (x,y).
IEEE P1788’s Decorations replace the status flags (Invalid, Inexact, Overflow, and underflow) of IEEE754 standard.
Decoration of the o/p interval should not depend on i/p intervals’ decorations, but on the i/p intervals.
Binary Floating Point Interval Adder 8
![Page 9: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/9.jpg)
Decorations
Value Short description Property Definition
• com
• dac
• def
• trv
• ill
• Common
• Defined & continuous
• Defined
• Trivial
• Ill-formed
• 𝑃𝑐𝑜𝑚 (f, x)
• 𝑃𝑑𝑎𝑐 (f, x)
• 𝑃𝑑𝑒𝑓 (f, x)
• 𝑃𝑡𝑟𝑣 (f, x)
• 𝑃𝑖𝑙𝑙 (f, x)
• x is a bounded, nonempty subset of Dom(f); f is
continuous at each point of x; and the computed
interval f(x) is bounded.
•x is a nonempty subset of Dom(f), and the
restriction of f to x is continuous.
• x is a nonempty subset of Dom(f).
• Always true (so gives no information).
• Not an Interval; formally Dom(f) =φ .
Binary Floating Point Interval Adder 9
![Page 10: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/10.jpg)
Decorations
Example:
For the function f(x)= sqrt(x) applied on interval x as follows:
• [0,1], then f is decorated Dac
• [-1,1], then f is decorated Trv
• (-1-𝑥2 ), then f is decorated Ill-formed
Binary Floating Point Interval Adder 10
Decoration Bits
(Logical values)
Decoration value
000 Com
001 Dac
010 Def
011 Trv
100 Ill
Implementation: Decorations are implemented as 3-bits attached to the interval.
![Page 11: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/11.jpg)
Decorations
Finally for any function φ that is continuous everywhere
φ(𝑥1, 𝑥2,…., 𝑥𝑘), and for all inputs non empty, is Decorated :
- com ,if inputs bounded and result bounded
- dac, otherwise.
Addition and subtraction is defined and continuous on all R , given normal input intervals, thus they always give Com or Dac decorated interval.
Binary Floating Point Interval Adder 11
![Page 12: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/12.jpg)
Interval Adder with Decorations
Two proposed designs:
1. Parallel design using Two Path Algorithm Adder.
Binary Floating Point Interval Adder 12
Pre-processing
Unit
Lower Bound Adder
Upper Bound Adder
Interval A
Interval B
A_ub
B_ub
A_lb
B_lb
Post-processing
Unit
Output
Interval
Output_ub
Output_lb
Clk
Parallel operation -> Fast speed, higher area.
![Page 13: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/13.jpg)
Interval Adder with Decorations
Two proposed designs:
1. Parallel design using Two Path Algorithm Adder.
Binary Floating Point Interval Adder 13
Pre-processing
Unit
Interval A
Interval B
Divides the interval operands into two parallel floating
point addition/subtraction operations with the appropriate
rounding mode for each operation, and extract the
Decorations of each interval.
![Page 14: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/14.jpg)
Interval Adder with Decorations
Two proposed designs:
1. Parallel design using Two Path Algorithm Adder.
Binary Floating Point Interval Adder 14
Lower Bound Adder
Upper Bound Adder
A_ub
B_ub
A_lb
B_lb
Clk
Double precision floating point adder built from scratch, to enhance it’s speed, using Verilog according to the aforementioned design. One for the upper bound and the other for the lower bound.
![Page 15: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/15.jpg)
Interval Adder with Decorations
Two proposed designs:
1. Parallel design using Two Path Algorithm Adder.
Binary Floating Point Interval Adder 15
Post-processing
Unit
Output
Interval
Output_ub
Output_lb
Collects the two floating point results into one interval result, attaches the calculated Decoration value to the interval, then raises
a flag for ready result
![Page 16: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/16.jpg)
Interval Adder with Decorations
2. Serial design using Single Path Algorithm Adder.
Binary Floating Point Interval Adder 16
Pre-processing Unit
Upper Bound Adder
Interval A
Interval B
A_ub/lb
B_ub/lb
Post-processing Unit
Output
Interval
Adder
output
Clk
- The units have the same functions, but they operate serially on the upper and lower bounds.
- Serial operation -> lower speed, and small area.
![Page 17: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/17.jpg)
Generating Test vectors
Binary Floating Point Interval Adder 17
C++ Algorithm
A manually created algorithm
to generate Decimal Floating
Point numbers, save these
numbers in memory in the
IEE754 format, read these
numbers byte by byte in its
binary form.
![Page 18: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/18.jpg)
Advantages
Double data type is stored in memory according to IEEE754’s Format.
Accurate results as the ADD/SUB operation deals with the internal FPU of the machine’s microprocessor.
The ability to control the rounding mode, and exceptions handling.
The ability to read the exceptions flags from the internal FPU.
The ability to change the value and the range of input numbers.
Binary Floating Point Interval Adder 18
![Page 19: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/19.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
![Page 20: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/20.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Visual C++ Compiler
![Page 21: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/21.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
….. .
Visual C++ Compiler
![Page 22: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/22.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
….. .
Visual C++ Compiler
C++ Code byte-by-byte
![Page 23: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/23.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
….. .
Visual C++ Compiler
C++ Code byte-by-byte
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
![Page 24: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/24.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
….. .
Visual C++ Compiler
C++ Code byte-by-byte
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
INPUTS
![Page 25: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/25.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
….. .
Visual C++ Compiler
C++ Code byte-by-byte
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
100100101010011100…..
100011001110001010…..
INPUTS
![Page 26: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/26.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
….. .
Visual C++ Compiler
C++ Code byte-by-byte
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
100100101010011100…..
100011001110001010…..
INPUTS
Inputs to Our Design
![Page 27: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/27.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
….. .
Visual C++ Compiler
C++ Code byte-by-byte
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
Design Under Test
100100101010011100…..
100011001110001010…..
INPUTS
Inputs to Our Design
![Page 28: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/28.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
….. .
Visual C++ Compiler
C++ Code byte-by-byte
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
Design Under Test
Test bench using Verilog
100100101010011100…..
100011001110001010…..
INPUTS
Inputs to Our Design
![Page 29: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/29.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 20
Double X; +/- Double Y; = Double Z;
Memory 10010010100101010011100
….. 10001101000001110001010
….. 11110010100100011001001
…..
Visual C++ Compiler
C++ Code byte-by-byte
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
Design Under Test
Test bench using Verilog
100100101010011100…..
100011001110001010…..
INPUTS
Inputs to Our Design
Design Output File 10010010101001110
0….. 10001100111000101
0….. 111100100011001001
…..
![Page 30: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/30.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 31
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
Design Output File 10010010101001110
0….. 10001100111000101
0….. 111100100011001001
…..
![Page 31: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/31.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 31
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
Design Output File 10010010101001110
0….. 10001100111000101
0….. 111100100011001001
…..
![Page 32: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/32.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 31
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
Design Output File 10010010101001110
0….. 10001100111000101
0….. 111100100011001001
…..
Compare
![Page 33: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/33.jpg)
Vectors Generation Using C++ Code
Binary Floating Point Interval Adder 31
C++ Output File 100100101010011100….. 100011001110001010….. 111100100011001001…..
Design Output File 10010010101001110
0….. 10001100111000101
0….. 111100100011001001
…..
Compare
Result Test File
Total No. of lines : No. of Matched Lines : No. of Unmatched Lines
:
![Page 34: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/34.jpg)
Testing Vectors
Our Testing Vectors are formed from the different combinations of the following :
+ve/-ve ADD/SUB +ve/-ve .
Very Large Numbers / Very Small Numbers.
Near Path Testing / Far Path Testing .
Rounding Up / Rounding Down .
Sequential Numbers / Random Numbers .
Exceptions (NaNs , Subnormal , Denormalized , …. )
The design passed over 25 test vectors of ~100,000 Inputs each.
Binary Floating Point Interval Adder 34
![Page 35: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/35.jpg)
Results & comparisons
Design /
Parameter
Area Clock
Frequency
(MHZ)
Pipelining
Depth
(Cycles)
Pipelining
Throughput
No. of internal
ALUTs
No. of
Reg.
Single
Path
Adder/Subtract
or
254
220
116.72
4
0.5
Note: Stratix III Family is used
Binary Floating Point Interval Adder 35
![Page 36: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/36.jpg)
Results & comparisons
Two path
Design /
Parameter
Area Clock
Frequency
(MHZ)
Pipelining
Depth
(Cycles)
Pipelining
Throughput
No. of internal
ALUTs
No. of
Reg.
Proposed
Design
1125
798
283.05
4
1
Ayman’s
1178
745
250
7
1
Note: Stratix III Family is used
Binary Floating Point Interval Adder 36
![Page 37: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/37.jpg)
Results & comparisons
MIBFP
Adder/
Subtractor
Area Clock
Frequency
(GHZ)
Pipelining
Depth
(Cycles)
Pipelining
Throughput
Combinational
Area
(µm)
Non-
combinational
Area
(µm)
Proposed design
(65nm)
35588 21249 1.126 4 1
Proposed design
(45nm)
17056 10184 1.624 4 1
Ayman’s
(45nm)
11300
8900
1.176
8
1
ASIC Simulation Results Binary Floating Point Interval Adder 37
![Page 38: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/38.jpg)
Results & comparisons
Notes on Simulation results:
• Ayman’s design is the 1st implementation of Modal interval Binary floating point ADD/SUB.
• Our design was implemented using 65nm technology, and the values provided in 45nm technology are approximate.
• Area of the proposed design is a little bit larger than Ayman’s one, but the speed is higher.
Binary Floating Point Interval Adder 38
![Page 39: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/39.jpg)
Conclusion
This is the second hardware implementation of modal interval floating point adder.
The proposed implementation features faster speed, and smaller area.
This is the 1st implementation of the Decoration system.
Binary Floating Point Interval Adder 39
![Page 40: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/40.jpg)
What’s next?
More enhancement of the speed and area of the proposed design.
Implementing Decorations on Interval Floating point multiplier.
Basic interval functions:
Trigonometric
Exponential
Logarithmic
Multiple precision modal interval units.
Binary Floating Point Interval Adder 40
![Page 41: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/41.jpg)
Questions ?
Binary Floating Point Interval Adder 41
![Page 42: Abdelrahman Elskahwy Kareem Ismail Enhanced Binary ...€¦ · The need for an enhanced adder for high speed applications. 2. Unlike conventional operations on discrete floating point](https://reader033.vdocument.in/reader033/viewer/2022052019/60339ace2a7af4074e4784fb/html5/thumbnails/42.jpg)
Thank you
Binary Floating Point Interval Adder 42