HIGH SPEED ADDER
Dagrious Anak Jihob
Bachelor of Engineering with Honours (Electronics and Telecommunications Engineering)
2008/2009
UNIVERSITI MALAYSIA SARAWAK
R13a BORANG PENGESAHAN STATUS TESIS
Judul: HIGH SPEED ADDER
SESI PENGAJIAN: 2008/2009
Saya DAGRIOUS ANAK JIHOB
(HURUF BESAR)
mengaku membenarkan tesis * ini disimpan di Pusat Khidmat Maklumat Akademik, Universiti Malaysia Sarawak dengan syarat-syarat kegunaan seperti berikut:
1. Tesis adalah hakmilik Universiti Malaysia Sarawak.
2. Pusat Khidmat Maklumat Akademik, Universiti Malaysia Sarawak dibenarkan membuat salinan untuk tujuan pengajian sahaja.
3. Membuat pendigitan untuk membangunkan Pangkalan Data Kandungan Tempatan.
4. Pusat Khidmat Maklumat Akademik, Universiti Malaysia Sarawak dibenarkan membuat salinan tesis ini sebagai bahan pertukaran antara institusi pengajian tinggi.
5. ** Sila tandakan ( ) di kotak yang berkenaan
SULIT (Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972).
TERHAD (Mengandungi maklumat TERHAD yang telah ditentukan oleh organisasi/
badan di mana penyelidikan dijalankan).
TIDAK TERHAD
Disahkan oleh
(TANDATANGAN PENULIS) (TANDATANGAN PENYELIA)
Alamat tetap: D3-3B, Demak Laut Commercial Centre, Jln Bako, 93050
Kuching, Sarawak ENCIK NURHUZAIMIN JULAI
Nama Penyelia
Tarikh: 6 APRIL 2009 Tarikh:
CATATAN * Tesis dimaksudkan sebagai tesis bagi Ijazah Doktor Falsafah, Sarjana dan Sarjana Muda.
** Jika tesis ini SULIT atau TERHAD, sila lampirkan surat daripada pihak berkuasa/organisasi berkenaan dengan menyatakan sekali sebab dan tempoh tesis ini perlu dikelaskan sebagai SULIT dan TERHAD.
This Final Year Project attached here:
Title : High Speed Adder Student Name : Dagrious Anak Jihob
Matric No : 13923
has been read and approved by:
__________________________ ______________________
Mr. Nurhuzaimin Julai Date (Supervisor)
HIGH SPEED ADDER
DAGRIOUS ANAK JIHOB
This project is submitted in partial fulfilment of
The requirements for the degree of Bachelor of Engineering with Honours (Electronics and Telecommunications Engineering)
Faculty of Engineering
UNIVERSITI MALAYSIA SARAWAK 2008/2009
Dedicated to my beloved parent, family members and friends who was supported and encouraged me
Thank you for all the support and encouragement
ii
ACKNOWLEDGEMENT
First of all, I would like to thank God, with His guidance and wishes that this final year project can be completed successfully. I also wish to express my sincere gratitude to my project supervisor Encik Nurhuizaimin Julai for his excellent patience, guidance, advice and valuable experience throughout this project.
In particular, I wish to express my appreciation towards the other electronics lecturers, and staff of the Faculty of Engineering, UNIMAS for contributed their commitment, their bright ideas, their valuable time, and their energy towards the development of this project.
Finally, I would like to express my greatest appreciation to my friends, my girlfriend, course mates and my lovely family for their constant cooperation, encouragement, understanding, and supports.
iii
ABSTRAK
Terdapat beberapa jenis kumpulan rekaan penambahan di bawah keluarga rekaan penambahan berkelajuan tinggi. Setiap kumpulaan ada kelebihan dan kebaikan tersendiri. Untuk projek ini, tiga ciri-ciri penambah berkelajuan tinggi akan di bandingkan dan dinilaikan dari segi saiz bit, keluasan rekaaan dan perlengahan masa.
Matlamat projek ini adalah untuk mereka salah satu kumpulan dari keluarga penambahan berkelajuan tinggi menggunakan perisisan komputer yang berkaitan. Jadi, kemampuan untuk cara mencipta Penambahan Berkelajuan Tinggi yang dipersembahkan dalam projek ini akan dibuktikan. Kepekaan dalam perlengahan masa untuk membezakan proses dan pelbagai persekitaran telah disentuh dengan lebih lanjut dalam perlaksanaan keputusan. Oleh itu, daripada keputusan eksperimen menunjukkan bahawa elemen Penambah Berkelajuan Tinggi mampu memberikan jumlah perlengahan masa yang dapat diterima tanpa menggunakan kuasa yang besar. Dengan itu, daripada perbandingan keputusan yang akan ditunjukkan dalam projek ini nanti akan membuktikan bahawa memilih elemen perlengahan masa yang terbaik adalah sangat berguna untuk diaplikasikan di mana keperluan dalam bentuk masa itu sendiri beroperasi ke arah rekaan penambahan berkelajuan tinggi.
iv
ABSTRACT
There are various group of adder design under high speed adder family design.
Each group has its own advantages and disadvantages. For this project, three important criteria of high speed adder will be compared and analyzed: bit size, design’s area, and propagation delay. The aim of this project is to design one group member of high speed adder’s family using related software. Thus, the capability for the methodology by designing the Brent Kung Adder(s) is presented in this project by which to proven. The sensitivity of the delay elements to different process and environmental variations is studied from the simulation results. Therefore, the experimental result represent that the high speed adder elements gave a reasonable amount of delay without large power costs.
So, from the comparison results presented in this project will prove useful for selecting the best delay element to apply which is the essential part for self-timed operation in high speed adder.
i
TABLE OF CONTENTS
Content Page
Dedication i
Acknowledgement ii
Abstrak iii
Abstract iv
Table of Contents i
List of Tables v
List of Figures vi
List of Abbreviations ix
CHAPTER 1: INTRODUCTION
1.0 Background 1
1.1 Objectives of Project 3
1.2 Project Outline 4
1.3 Thesis Outline of Project 5
CHAPTER 2: LITERATURE REVIEW
2.0 Introduction 7
2.1 Half Adder 8
2.2 Full Adder 10
ii
2.3 Ripple Carry Adder 13
2.4 Carry Look-Ahead Adder 15
2.5 Parallel Prefix Adder 17
2.6 Kogge-Stone Adder 21
2.7 Brent-Kung Adder 23
2.8 Brent Kung Adder Ideology Design 25 2.8.1 Propagate-Generate –Block 27 2.8.2 Fundamental Carry Operator 28
Block
2.8.3 Parallel Prefix Carry Block 30 2.8.4 Parallel Prefix Sum Block 31 2.8.5 BKA design for 8-bit and 32
16 bit word length
2.8.6 BKA design for 32-bit length 35 2.8.7 BKA design for 64-bit length 36
2.9 Design Sofware 36
CHAPTER 3: METHODOLOGY
3.0 Project Process Flow 38
3.1 Project Design Flow 40
3.1.1 Design Entry Project 41 3.1.2 Generate VHDL source code 41
3.1.3 Compilation 44
3.1.4 Simulation 44
iii
3.1.5 Analysis and Synthesis 45 3.1.6 Modification and Implementation 45
Process
CHAPTER 4: RESULTS, ANALYSIS & DISCUSSIONS
4.0 Discussion on BKA-8, BKA-16, BKA-32 46 and BKA-64 bit design
4.2 BKA-8 bit simulation functional waveform 47 results
4.3 Discussion on BKA-8 bit simulation functional 48 waveform results
4.4 BKA-16 bit simulation functional waveform 49 results
4.5 Discussion on BKA-16 bit simulation functional 50 waveform results
4.6 BKA-32 bit simulation functional waveform 51 results
4.7 Discussion onBKA-32 bit simulation functional 52 waveform results
4.8 BKA-64 bit simulation functional waveform 53 results
4.9 Discussion on BKA-64 bit simulation functional 54 waveform results
4.10 Results of BKA n-bit timing analysis 58
iv
4.11 Discussion on the BKA n-bit timing analysis 60 results
4.12 Problem Encounter 64
4.13 Problem Solution 64
CHAPTER 5: CONCLUSION AND RECOMMENDATION
5.0 Conclusion 65
5.1 Future Work 68
5.2 Recommendation 69
REFERENCES 70
APPENDIX 74
v
LIST OF TABLES
Table Page
Table 2.1: HA truth table 10
Table 2.2: FA truth table 13
Table 4.1: Comparison between BKA ‘n’-bit versus internal blocks 46 Table 4.2: Representative values of Decimal, Hexadecimal and Binary 54 Table 4.3: Comparison between worst case propagation delays of 61
BKA bit size designed
vi
LIST OF FIGURES
Figure Page
Figure 1.1: Datapath Bit-Sliced Organization in IC designs 2 Figure 1.2: Evaluating High Speed Adder Block Diagram 6
Figure 2.1: HA Structure 8
Figure 2.2: Schematic HA gate logic 9
Figure 2.3: FA structure 11
Figure 2.4: Schematic FA gate logic 12
Figure 2.5: RCA structure 14
Figure 2.6: Calculation with carry operation 15
Figure 2.7: CLA structure 16
Figure 2.8: PPA derivation Block Diagram 17
Figure 2.9: Parallel prefix product with prefix operator (€) 19
Figure 2.10: PPAs network example 21
Figure 2.11: Basic structure of 16 bit radix-2 KSA 22 Figure 2.12: Basic structure of 16 bit radix-2 BKA 24 Figure 2.13: BK Prefix Parallel computation structure 26
Figure 2.14: Schematic view of PG block 28
Figure 2.15: Schematic View of FCO block 29
Figure 2.16: Schematic View of ppC block 31
vii
Figure 2.17: Schematic view of ppS block 32
Figure 2.18: BK-PPA design for 8-bit length 33
Figure 2.19: BK-PPA design for 16-bit length 34
Figure 2.20: BK-PPA design for 32-bit length 35
Figure 2.21: BK-PPA design for 64-bit length 36
Figure 3.1: Project Flow Chart 39
Figure 3.2: The Design Flow of each project stage 40 Figure 4.1: BKA-8 bit simulation functional waveform results 47 Figure 4.2: Sample from BKA-8 bit simulation waveform 48 Figure 4.3: BKA-16 bit simulation functional waveform 49 Figure 4.4: sample from BKA-16 bit simulation waveform 50 Figure 4.5: BKA-32 bit simulation functional waveform results 51 Figure 4.6: sample from BKA-32 bit simulation functional 52 Figure 4.7: BKA-64 bit simulation functional waveform results 53 Figure 4.8: Sample from BKA-64 bit simulation waveform 56 Figure 4.9: Sample from BKA-64 bit simulation waveform 57 Figure 4.10: BKA 8-bit worst-case propagation delay 58 Figure 4.11: BKA 16-bit worst-case propagation delay 58 Figure 4.12: BKA 32-bit worst-case propagation delay 59 Figure 4.13: BKA 64-bit worst-case propagation delay 59 Figure 4.14: BKA bit size versus worst-case propagation delay 62 Figure 4.15: Graph of BKA n-bit stages versus propagation delay 63 Figure 5.1: High Speed Adder design derivation Block Diagram 66
ix
LIST OF ABBREVIATIONS
IC - Integrated Circuits
CPU - Central Processing Unit ALU - Arithmetic Logic Unit HSA - High Speed Adder
FA - Full Adder
HA - Half Adder
RCA - Ripple Carry Adder CLA - Carry Lookahead Adder PPA - Parallel Prefix Adder BKA - Brent Kung Adder KSA - Kogge-Stone Adder
Ci - Carry in
Co - Carry out
S - Sum
PFA - Partial Full Adder
Gi - Generates function
Pi - Propagate function
L - Number of lookahead levels in the design FPGA - Field-Programmable Gate Array
LUTs - Slice Look-Up Tables
x
€ - Carry Operator
PG - Propagate-Generate function FCO - Fundamental Carry Operator ppC - parallel prefix Carry
ppS - parallel prefix Sum
CPLD - Complex Programmable Logic Devices EDA - Electronic Design Automation
LPM - Library of Parameterized Modules IP - Intellectual Property
EDIF - Electronic Design Interchange Format SDC - Synopsys Design Constraint
GUI - Graphical Unit Interface
SRAM - Random Access Memory
tpd - Propagation delay
1
CHAPTER 1
INTRODUCTION
1.0 Background
Computers, mobile phones, gaming devices or consoles, mp3 players, televisions, digital cameras, digital watches and ATM machine are the few types of technology that may came across almost every day. This technology operates with functions of the Central Processing Unit (CPU) or some of it may as simple Integrated Circuits (IC). Generally, the very basic component of either CPUs or ICs is the adder.
The search for hardware algorithms for addition has been started around year 1950. The addition function is the most basic and commonly used arithmetic operation in our life. In terms of digital electronic engineering, adder is a device that will perform the additional operation. Adder is a part of Arithmetic Logic Unit (ALU) in the computer and some ALUs may consist of multiple adder. Adder performs addition operation by using interior combination of primitive logic gate inside adder itself.
2
Although adder can be constructed in many other numerical representation but basically in computation adder is operated on the binary representation.
As shown in Figure 1.1, the datapath of IC design, one of the very basic structure implemented in IC design in Adder. Adder is widely used in the generic computer [2]
for the reason that it is very important for adding data in the processor. The processing speeds of one’s computer turn out to be the most considerable requirement acquired by ones technology users.
Figure 1.1: Datapath Bit-Sliced Organization in IC designs
3
In general, the purpose of adder designed is to strive with the Sum operation of the Arithmetic Logic Unit (ALU). This operation is then applied to other arithmetic operation such as: the subtraction, multiplication and the division function. These were very basis operation in order to constructs programs which later are derived into more advance and complex programs which alter into all technology which have been seen nowadays. The performance and the reliability is the main key in order ones technology to be acknowledge these days. As time passed by, the technology operation needs to undergo with smoothly and efficiently. Time is Gold, even a delay of 1 second could cost gargantuan losses, therefore to human always rushing for time, especially for technology devices user, always demanding for the faster speed of technology.
1.1 Objectives of Project
Following are the objective of this project;
1. To design a group of adder which are belongs to High Speed Adder family 2. To design the High Speed Adder group with Quartus II program.
3. To designs and simulates several bit size of High Speed Adder.
4 1.2 Project Outline
The target of this project is to design a High Speed Adder with Quartus II Web Edition Version 8 program. The Quartus II program is chosen because it includes all of the design files, software source files, plus other related files that necessary for the eventual implementation of a design in a programmable logic device.
Figure 1.2: Evaluating High Speed Adder Block Diagram
Since there are various type adder design categorize as High Speed Adder, relevant evidence are acquired via comparing and evaluating each adders design in the following viewpoint; intentional output speed, delay, bit size and area. The involvement of bit size will concern in term of cost nowadays. The speed of the output and the delay
High Speed Adder
Viewpoint
Speed Delay Bit Size Area
5
point of view isthe verification of performance and the value of the design. While, bit size are the requirement aspect in performance view whereas the design area is a factor of reliability revelation.
As well, the circuitry design areas are also anxiety of the all cost design. All these criteria agonize whether it worthwhile to acknowledge as HSA as well in the price market nowadays. Afterward all the characteristics of high speed adders are compared and the ones with greater advantage is agonize as HSA.
1.3 Thesis Outline of Project
This project is divided into 5 chapters in general and is prearranged as follows:
Chapter 1 of this project report are discusses on the introduction of the Adder operation and the overview of the various types of adder design. In addition, this chapter stated clearly the type of adder design to be research on. Plus, it also included a viewpoint of the adder to be designs. Furthermore, the objective of this project will be included to give a clear view and information needed.
Chapter 2 is the literature review of this project. There various type of High Speed adder design as High speed adder is design stage by stage, starting with HA or FA
6
design stage until PPA design stage. Each design stage is review in the chapter. The characteristics of a good performance of the High Speed Adder included.
Chapter 3 discusses the study of one type of High Speed Adder; it includes the algorithm of the High Speed Adder. In addition, this chapter also contains the performance comparison of each adder designed. Furthermore a revision method that used in Chapter 1 and 2 is also included. Plus, the methodology of designing project is also affirmed.
Chapter 4 contains the simulation results and a discussion which is comparison and analysis of the delay element are made. Concern the approach and analysis to achieve the objectives.
Chapter 5 concludes and summarizes the overall process and performance of the project. In addition, further work which can be implemented or improve the project is also being discussed for future improvement.