28
DESIGN AND IMPLEMENTATION OF POWER OPTIMIZED HIGH PERFORMANCE 32 BIT FLOATING POINT ALU EMPLOYING BLOCK ENABLING TECHNIQUE Under the guidance of Dr .Y. SYAMALA Associate Professor Department of ECE Gudlavalleru Engineering College. By B N V A SURENDRA BABU 13481D5505 M.Tech -Embedded Systems.

64 BIT FPU

Embed Size (px)

Citation preview

Page 1: 64 BIT FPU

DESIGN AND IMPLEMENTATION OF POWER OPTIMIZED

HIGH PERFORMANCE 32 BIT FLOATING POINT ALU

EMPLOYING BLOCK ENABLING TECHNIQUE

Under the guidance of

Dr .Y. SYAMALA Associate Professor

Department of ECE

Gudlavalleru Engineering College.

By

B N V A SURENDRA BABU

13481D5505

M.Tech -Embedded Systems.

Page 2: 64 BIT FPU

CONTENTS

Motivation

Introduction

Literature survey

Objective

Floating point ALU

Block enabling technique

Floating point ALU block diagram

Tools required

Plan of action

Conclusion

References

1-May-15 1

Page 3: 64 BIT FPU

INTRODUCTION

Floating point describes a system for representingnumbers that would be too large or too small.

IEEE-754 32-bit Single-Precision Floating-PointNumbers represented as

The floating point coprocessor perform operationsmore efficiently and faster, so that it increasingthe overall speed of a computer.

1-May-15 3

Page 4: 64 BIT FPU

LITERATURE SURVEY

In 2013, Manisha Sangwan and Angeline implemented Floating

point ALU with four basic operations like addition, subtraction,

multiplication ,division and they performed functional verification

of the system.

Itagi Mahal and S.S kerur implemented Floating point point ALU

in 2013, and they had shown results in terms of number of clock

cycles required for each operation.

In 2011, Ankit mitra implemented ALU with clock gating technique

and the results were compared with the ALU with out clock gating

technique.

Jagrit Kathuria and Ayoubkhan implemented different types of

clock gating techniques in 2011 and they had shown their simulation

results.

In 2013, Manisha and Anita Angeline implemented a Pipelined FP

Co-Processor which performs four basic arithmetic operations and

results were compared with the existing coprocessor.1-May-15 4

Page 5: 64 BIT FPU

CONVENTIONAL FLOATING POINT ALU

1-May-15 5

Page 6: 64 BIT FPU

OBJECTIVE

To design a 64bit floating point ALU core using

verilog HDL.

To simulate using xilinx-14.7 ISE simulator .

To synthesize using xilinx-14.7 XST synthesizer.

Power analysis will be observed using xilnx-

14.7 XPA .

1-May-15 5

Page 7: 64 BIT FPU

FLOWCHART FOR FLOATING POINT ADDER

1-May-15 7

Page 8: 64 BIT FPU

SIMULATION RESULTS OF FLOATING POINT ADDER

1-May-15 8

Page 9: 64 BIT FPU

SYNTHESIS RESULTS AND POWER ANALYSIS OF

FLOATINGPOINT ADDER

Number of Slice Registers utilized 617 out of 69120 0%

Number of Slice LUTs utilized 514 out of 69120 0%

Number of fully used LUT-FF pairs 330 out of 801 41%

umber of bonded IOBs utilized 198 out of 640 30%

Adders/ Subtractors 5

Registers 23

1-May-15 9

frequency(MHZ) power(W)

100 1.212

200 1.376

300 1.535

400 1.693

500 1.849

Device utilization summary:

power analysis :

Page 10: 64 BIT FPU

FLOWCHART FOR FLOATING POINT SUBTRACTOR

1-May-15 10

Page 11: 64 BIT FPU

SIMULATION RESULTS OF FLOATING POINT

SUBTRACTOR

1-May-15 11

Page 12: 64 BIT FPU

SYNTHESIS RESULTS AND POWER ANALYSIS OF

FLOATINGPOINT SUBTRACTOR

1-May-15 12

frequency(MHZ) power(W)

10 1.074

100 1.278

200 1.506

300 1.731

400 1.955

500 2.719

Device utilization summary:

Number of Slice Registers utilized 689 out of 69120 0%

Number of Slice LUTs utilized 1138 out of 69120 1%

Number of fully used LUT-FF pairs 437 out of 1390 31%

umber of bonded IOBs utilized 437 out of 1390 31%

Adders/ Subtractors 3

Registers 688

power analysis :

Page 13: 64 BIT FPU

FLOWCHART FOR FLOATING POINT MULTIPLIER

1-May-15 13

Page 14: 64 BIT FPU

SIMULATION RESULTS OF FLOATING POINT

MULTIPLIER

1-May-15 14

Page 15: 64 BIT FPU

SYNTHESIS RESULTS AND POWER ANALYSIS

OF FLOATINGPOINT MULTIPLIER

1-May-15 15

Device utilization summary:

Number of Slice Registers utilized 1214 out of 69120 1%

Number of Slice LUTs utilized 1991 out of 69120 2%

Number of fully used LUT-FF pairs 1060 out of 2145 49%

umber of bonded IOBs utilized 200 out of 640 31%

Adders/ Subtractors 9

Registers 1236

power analysis :

frequency(MHZ) power(W)

10 1.052

100 1.143

200 1.365

300 1.585

400 1.805

500 2.024

Page 16: 64 BIT FPU

1-May-15 16

FLOWCHART FOR FLOATING POINT DIVIDER

Page 17: 64 BIT FPU

SIMULATION RESULTS OF FLOATING POINT

DIVISON MODULE

1-May-15 17

Page 18: 64 BIT FPU

SYNTHESIS RESULTS AND POWER ANALYSIS

OF FLOATINGPOINT DIVISION MODULE

1-May-15 18

Device utilization summary:

Number of Slice Registers utilized 938 out of 69120 1%

Number of Slice LUTs utilized 1843 out of 69120 2%

Number of fully used LUT-FF pairs 638 out of 2143 29%

umber of bonded IOBs utilized 200 out of 640 31%

Adders/ Subtractors 10

Registers 919

power analysis :

frequency(MHZ) power(W)

10 1.059

100 1.221

200 1.388

300 1.552

400 1.716

500 1.879

Page 19: 64 BIT FPU

BLOCK ENABLING TECHNIQUE

Changing the logic stateof the circuit leadsto power dissipation.

Block enabling techniqueis used to reduceunnecessary Switchingactivities.

1-May-15 7

Page 20: 64 BIT FPU

FLOATING POINT ALU

In this work, the floating point ALU will be

designed to perform eight number of different

arithmetic and logical operations.

This floating point ALU is employed with block

enabling technique which is used to reduce the

total power consumption of the existing FPU.

1-May-15 6

Page 21: 64 BIT FPU

FLOATING POINT ALU

1-May-15 21

Page 22: 64 BIT FPU

TOOLS USED

Tools Required: Front end Design Tools-XILINX 14.7

Language Required: verilog HDL programming

language.

1-May-15 9

Page 23: 64 BIT FPU

PLAN OF ACTION

S.NO ACTIVITY WEEKS(40)

1 Literature survey 3

2 Study and implementation of base paper 4

3 Implementation of floating point addition

/subtraction module+ Literaure survey.

3

4 Implementation of other floating point

modules +Literaure survey.

8

5 Implementation of floating point ALU with

block enabling technique.

6

6 Power Analysis of Proposed floating point ALU

and Conventional ALU +Literature survey

8

7 Paper publication work +Literature survey 4

8 Project documentation work +Literature survey 4

1-May-15 10

Page 24: 64 BIT FPU

CONCLUSION

A double precision 64 bit floating point

ALU will implement with block enabling

technique.

The results of this proposed floating point

ALU with block enabling technique will

compared with the conventional floating

point ALU.

1-May-15 11

Page 25: 64 BIT FPU

REFERENCES

[1] Manisha Sangwan, A Anita Angeline “Design and Implementation of Single Precision

Pipelined Floating Point Co-Processor” 2013 International Conference on Advanced

Electronic Systems (ICAES) ,pp. 78-81, july2013.

[2] Rajit Ram Singh, Asish Tiwari, Vinay Kumar Singh, GeetamS “VHDL environment for

floating point Arithmetic Logic Unit -ALU design and simulation” in 2011 IEEE

International Conference on Communication Systems and Network Technologies , pp.

162-170, july2011.

[3] Sameh Galal, Student Member, IEEE, and Mark Horowitz, Fellow, IEEE “Energy-

Efficient Floating-Point Unit Design” IEEE transactions on computers, pp. 913-922,

july 2011.

[4] Manish Kumar Jaiswal ,Ray C.C. Cheung “VLSI Implementation of Double-Precision

Floating- Point Multiplier Using Karatsuba Technique” Springer Science+Business

Media, pp.15 -27, 19 July 2012.

[5] Jeff Rupley, John King, Eric Quinnell, Frank Galloway, Ken Patton, Peter-Michael

Seidel, James Dinh, Hai Bui, “The Floating-Point Unit of the Jaguar x86 Core” IEEE

21st Symposium on Computer Arithmetic., pp.7-16, july 2013.1-May-15

16

Page 26: 64 BIT FPU

[5]Taek-Jun Kwon, Jeff Sondeen and Jeff Draper ,“Floating-Point Division and Square Root

Implementation using a Taylor-Series Expansion Algorithm”, IEEE 2008, pp. 106-118,

july 2008.

[6] A. Vazquez, E. Antelo, and P. Montuschi, “A New Family of High–“Performance Parallel

Decimal Multipliers”. Proceedings of the 18th IEEE Symposium on Computer Arithmetic,

pp. 195-204, June2007.

[7] Taek-Jun Kwon, Joong-Seok Moon, Jeff Sondeen, Jeff Draper,“0.18μm Implementation of a

Floating - Point Unit for a Processing-In-Memory System”, in Proc. of the IEEE

Internation Symposium on Circuits and Systems, pp. 922-936, May 2004.

[8] P. Belanovic and M. Leeser, “A Library of Parameterized Floating-Point Modules and

Their Use”, in 12th International Conference on Field-Programmable Logic and

Applications (FPL-02). London, UK: Springer-Verilag, pp. 632-649, September 2002 .

[9] G. Even and P.-M. Seidel, “A Comparison of Three Rounding Algorithms for IEEE

Floating-Point Multiplication,”IEEE Trans.Computers, pp. 638-650, July 2000.

1-May-15 13

Page 27: 64 BIT FPU

suggestions please

Page 28: 64 BIT FPU

Yes No

Pass the value of

exponent and mantissa

Left shift the smaller

mantissa by the difference

Left shift the smaller

mantissa by the

difference

If e2>e1

start

Take two operands in

IEEE754 standard

Compare

two

exponents

If e1>e2 If e1=e2

Take two sign bits,

exponent & two mantissas

XOR the Sign

bits of

mantissas

Is sign

bit is Add the

mantissas

Subtract the

mantissas