SlideShare a Scribd company logo
1 of 12
*DESIGN AND
IMPLEMENTATION OF
FPGA BASED 64-BIT ALU
*BY SAIDU, ABUBAKAR MOHAMMED
*(08/05/04/007)
*supervised by Engr.(Dr.) C U Ngene
 In the present day technology, there is an immense need for developing
Suitable communication interfaces for real time embedded systems in a
Lesser time and at an efficient cost such as the ALU and other parts of
the CPU.
 HDL like VHDL and Verilog offers lots of resources that can be
manipulated and Utilized To achieve these goals.
 ALU is one of the most important component of a processor, it is usually
designed first so that the rest of the processor parts will be implemented
to feed operands and control codes to it for arithmetic and logic
operations.
 FPGA allows an IC to be configured by a customer using any of the HDL’s
to describe (model) and verify(simulate) the design before translating
into actual hardware
*background
*Aims and objectives
AIM
 The main aim of this project is to design and implement an FPGA Based
64-ALU that performs 14 distinct Operations using VHDL.
OBJECTIVES
 To design an FPGA based 64-bit ALU that performs 14 operations.
 To capture the design using VHDL and Xilinx ISE software.
 To carry out verification of the design using ISIM software.
 To synthesize and implement the design on Xilinx SPARTAN 3E kit.
 To test the design.
Top level design block diagram
*Block diagram
*Instructions selection
N0 Instruction code
C_in RESULT OPERATION
S3 S2 S1 S0
1 0 0 0 0 0 A + B Addition
2 0 0 0 0 1 A + B + 1 Addition with carry
3 0 0 0 1 0 A + (~B) Subtraction
4 0 0 0 1 1 A + (~B)+ 1 Subtraction with
borrow
5 0 0 1 0 0 A – 1 Decrement
6 0 0 1 0 1 A Transfer
7 0 0 1 1 0 A Transfer
8 0 0 1 1 1 A + 1 Increment
9 0 1 0 0 X A∙B AND
10 0 1 0 1 X A+B OR
11 0 1 1 0 X A⨁B XOR
12 0 1 1 1 X ~A Complement
13 1 0 0 X X LSR A Shift Right
14 1 0 1 X X LSL A Shift Left
instructions table
*Flow chart of source code
*Test and result
ADD = Arithmetic simulations
*Test and results
AND = Logic simulation
*Test and results
Left shift = shift simulation
*recommendation
In this project, the ALU was designed to perform only the
basic functions, Though that aim was achieved, but there
are still lots of other things that can be improved on Like:
 Mult. and Div.
 Timing and delays for issuing control and operands.
 Implementing the design on a higher version of the
Spartan 3E kit.
*conclusion
 In the project, an ALU which is capable of manipulating up to
64-bits of operands to output a result with an exception flag bit
Have been designed and implemented .
 The usefulness of this project is to show how complex and large
capacity digital designs can be simplified by using field programmable
gate arrays to describe (model) and verify (simulate) a required
behavior from a proposed design before translating it into
real hardware, hence resulting into reliability and cost efficiency
for manufacturers of digital devices
*Thank you!

More Related Content

What's hot

Owf 2013 rii alter go speaker 5
Owf 2013 rii alter go speaker 5 Owf 2013 rii alter go speaker 5
Owf 2013 rii alter go speaker 5 Patrick MOREAU
 
Programmable logic array
Programmable logic arrayProgrammable logic array
Programmable logic arrayHuba Akhtar
 
ScilabTEC 2015 - Evidence
ScilabTEC 2015 - EvidenceScilabTEC 2015 - Evidence
ScilabTEC 2015 - EvidenceScilab
 
Demosaic RTL for ISP workflow
Demosaic RTL for ISP workflowDemosaic RTL for ISP workflow
Demosaic RTL for ISP workflowMaikon
 
A DSP technical challange for an FPGA Engineer
A DSP technical challange for an FPGA EngineerA DSP technical challange for an FPGA Engineer
A DSP technical challange for an FPGA EngineerMaikon
 
An Update on the European Processor Initiative
An Update on the European Processor InitiativeAn Update on the European Processor Initiative
An Update on the European Processor Initiativeinside-BigData.com
 
Programmable Logic Array(PLA), digital circuits
Programmable Logic Array(PLA), digital circuits Programmable Logic Array(PLA), digital circuits
Programmable Logic Array(PLA), digital circuits warda aziz
 
programmable logic devices part 1
programmable logic devices part 1programmable logic devices part 1
programmable logic devices part 1Kundan Gupta
 
Post-processing SAR images on Xeon Phi - a porting exercise
Post-processing SAR images on Xeon Phi - a porting exercisePost-processing SAR images on Xeon Phi - a porting exercise
Post-processing SAR images on Xeon Phi - a porting exerciseIntel IT Center
 
Programmable Logic Controls training day 1
Programmable Logic Controls training day 1Programmable Logic Controls training day 1
Programmable Logic Controls training day 1Malinga Ephraim
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGATO project
 
Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Ravi Sony
 
Programmable Logic Controls training day 2
Programmable Logic Controls training day 2Programmable Logic Controls training day 2
Programmable Logic Controls training day 2Malinga Ephraim
 

What's hot (20)

Owf 2013 rii alter go speaker 5
Owf 2013 rii alter go speaker 5 Owf 2013 rii alter go speaker 5
Owf 2013 rii alter go speaker 5
 
ASIC DESIGN FLOW
ASIC DESIGN FLOWASIC DESIGN FLOW
ASIC DESIGN FLOW
 
Programmable logic array
Programmable logic arrayProgrammable logic array
Programmable logic array
 
ScilabTEC 2015 - Evidence
ScilabTEC 2015 - EvidenceScilabTEC 2015 - Evidence
ScilabTEC 2015 - Evidence
 
Demosaic RTL for ISP workflow
Demosaic RTL for ISP workflowDemosaic RTL for ISP workflow
Demosaic RTL for ISP workflow
 
A DSP technical challange for an FPGA Engineer
A DSP technical challange for an FPGA EngineerA DSP technical challange for an FPGA Engineer
A DSP technical challange for an FPGA Engineer
 
An Update on the European Processor Initiative
An Update on the European Processor InitiativeAn Update on the European Processor Initiative
An Update on the European Processor Initiative
 
Programmable Logic Array(PLA), digital circuits
Programmable Logic Array(PLA), digital circuits Programmable Logic Array(PLA), digital circuits
Programmable Logic Array(PLA), digital circuits
 
programmable logic devices part 1
programmable logic devices part 1programmable logic devices part 1
programmable logic devices part 1
 
Post-processing SAR images on Xeon Phi - a porting exercise
Post-processing SAR images on Xeon Phi - a porting exercisePost-processing SAR images on Xeon Phi - a porting exercise
Post-processing SAR images on Xeon Phi - a porting exercise
 
Fpga design flow
Fpga design flowFpga design flow
Fpga design flow
 
Lecture24
Lecture24Lecture24
Lecture24
 
Vlsi design flow
Vlsi design flowVlsi design flow
Vlsi design flow
 
06 u 2
06 u 206 u 2
06 u 2
 
Programmable Logic Controls training day 1
Programmable Logic Controls training day 1Programmable Logic Controls training day 1
Programmable Logic Controls training day 1
 
PAL And PLA ROM
PAL And PLA ROMPAL And PLA ROM
PAL And PLA ROM
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming Models
 
Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners
 
Programmable Logic Controls training day 2
Programmable Logic Controls training day 2Programmable Logic Controls training day 2
Programmable Logic Controls training day 2
 
ASIC vs FPGA
ASIC vs FPGAASIC vs FPGA
ASIC vs FPGA
 

Similar to FYP_DCS_seminar

Programmable logic controller performance enhancement by field programmable g...
Programmable logic controller performance enhancement by field programmable g...Programmable logic controller performance enhancement by field programmable g...
Programmable logic controller performance enhancement by field programmable g...ISA Interchange
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirHideki Takase
 
Short.course.introduction.to.vhdl
Short.course.introduction.to.vhdlShort.course.introduction.to.vhdl
Short.course.introduction.to.vhdlRavi Sony
 
Design and implementation of complex floating point processor using fpga
Design and implementation of complex floating point processor using fpgaDesign and implementation of complex floating point processor using fpga
Design and implementation of complex floating point processor using fpgaVLSICS Design
 
VLSI Experiments I
VLSI Experiments IVLSI Experiments I
VLSI Experiments IGouthaman V
 
An Introductory course on Verilog HDL-Verilog hdl ppr
An Introductory course on Verilog HDL-Verilog hdl pprAn Introductory course on Verilog HDL-Verilog hdl ppr
An Introductory course on Verilog HDL-Verilog hdl pprPrabhavathi P
 
Unit 5_Realizing Applications in FPGA.pdf
Unit 5_Realizing Applications in FPGA.pdfUnit 5_Realizing Applications in FPGA.pdf
Unit 5_Realizing Applications in FPGA.pdfkanyaakiran
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET Journal
 
The Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemThe Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemMelissa Luster
 
Advanced Techniques for Exploiting ILP
Advanced Techniques for Exploiting ILPAdvanced Techniques for Exploiting ILP
Advanced Techniques for Exploiting ILPA B Shinde
 
GCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignEGCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignEIbrahim Hejab
 
Basics of digital verilog design(alok singh kanpur)
Basics of digital verilog design(alok singh kanpur)Basics of digital verilog design(alok singh kanpur)
Basics of digital verilog design(alok singh kanpur)Alok Singh
 
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdfJunZhao68
 
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben SanderPT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben SanderAMD Developer Central
 

Similar to FYP_DCS_seminar (20)

Programmable logic controller performance enhancement by field programmable g...
Programmable logic controller performance enhancement by field programmable g...Programmable logic controller performance enhancement by field programmable g...
Programmable logic controller performance enhancement by field programmable g...
 
4_BIT_ALU
4_BIT_ALU4_BIT_ALU
4_BIT_ALU
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
 
Short.course.introduction.to.vhdl
Short.course.introduction.to.vhdlShort.course.introduction.to.vhdl
Short.course.introduction.to.vhdl
 
Tutor1
Tutor1Tutor1
Tutor1
 
Design and implementation of complex floating point processor using fpga
Design and implementation of complex floating point processor using fpgaDesign and implementation of complex floating point processor using fpga
Design and implementation of complex floating point processor using fpga
 
Rashmi_Palakkal_CV
Rashmi_Palakkal_CVRashmi_Palakkal_CV
Rashmi_Palakkal_CV
 
Project-Synopsis
Project-SynopsisProject-Synopsis
Project-Synopsis
 
VLSI Experiments I
VLSI Experiments IVLSI Experiments I
VLSI Experiments I
 
An Introductory course on Verilog HDL-Verilog hdl ppr
An Introductory course on Verilog HDL-Verilog hdl pprAn Introductory course on Verilog HDL-Verilog hdl ppr
An Introductory course on Verilog HDL-Verilog hdl ppr
 
Unit 5_Realizing Applications in FPGA.pdf
Unit 5_Realizing Applications in FPGA.pdfUnit 5_Realizing Applications in FPGA.pdf
Unit 5_Realizing Applications in FPGA.pdf
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
 
The Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemThe Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging System
 
Advanced Techniques for Exploiting ILP
Advanced Techniques for Exploiting ILPAdvanced Techniques for Exploiting ILP
Advanced Techniques for Exploiting ILP
 
GCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignEGCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignE
 
Fpg as 11 body
Fpg as 11 bodyFpg as 11 body
Fpg as 11 body
 
Basics of digital verilog design(alok singh kanpur)
Basics of digital verilog design(alok singh kanpur)Basics of digital verilog design(alok singh kanpur)
Basics of digital verilog design(alok singh kanpur)
 
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
 
Verilog
VerilogVerilog
Verilog
 
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben SanderPT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
 

FYP_DCS_seminar

  • 1. *DESIGN AND IMPLEMENTATION OF FPGA BASED 64-BIT ALU *BY SAIDU, ABUBAKAR MOHAMMED *(08/05/04/007) *supervised by Engr.(Dr.) C U Ngene
  • 2.  In the present day technology, there is an immense need for developing Suitable communication interfaces for real time embedded systems in a Lesser time and at an efficient cost such as the ALU and other parts of the CPU.  HDL like VHDL and Verilog offers lots of resources that can be manipulated and Utilized To achieve these goals.  ALU is one of the most important component of a processor, it is usually designed first so that the rest of the processor parts will be implemented to feed operands and control codes to it for arithmetic and logic operations.  FPGA allows an IC to be configured by a customer using any of the HDL’s to describe (model) and verify(simulate) the design before translating into actual hardware *background
  • 3. *Aims and objectives AIM  The main aim of this project is to design and implement an FPGA Based 64-ALU that performs 14 distinct Operations using VHDL. OBJECTIVES  To design an FPGA based 64-bit ALU that performs 14 operations.  To capture the design using VHDL and Xilinx ISE software.  To carry out verification of the design using ISIM software.  To synthesize and implement the design on Xilinx SPARTAN 3E kit.  To test the design.
  • 4. Top level design block diagram *Block diagram
  • 5. *Instructions selection N0 Instruction code C_in RESULT OPERATION S3 S2 S1 S0 1 0 0 0 0 0 A + B Addition 2 0 0 0 0 1 A + B + 1 Addition with carry 3 0 0 0 1 0 A + (~B) Subtraction 4 0 0 0 1 1 A + (~B)+ 1 Subtraction with borrow 5 0 0 1 0 0 A – 1 Decrement 6 0 0 1 0 1 A Transfer 7 0 0 1 1 0 A Transfer 8 0 0 1 1 1 A + 1 Increment 9 0 1 0 0 X A∙B AND 10 0 1 0 1 X A+B OR 11 0 1 1 0 X A⨁B XOR 12 0 1 1 1 X ~A Complement 13 1 0 0 X X LSR A Shift Right 14 1 0 1 X X LSL A Shift Left instructions table
  • 6. *Flow chart of source code
  • 7. *Test and result ADD = Arithmetic simulations
  • 8. *Test and results AND = Logic simulation
  • 9. *Test and results Left shift = shift simulation
  • 10. *recommendation In this project, the ALU was designed to perform only the basic functions, Though that aim was achieved, but there are still lots of other things that can be improved on Like:  Mult. and Div.  Timing and delays for issuing control and operands.  Implementing the design on a higher version of the Spartan 3E kit.
  • 11. *conclusion  In the project, an ALU which is capable of manipulating up to 64-bits of operands to output a result with an exception flag bit Have been designed and implemented .  The usefulness of this project is to show how complex and large capacity digital designs can be simplified by using field programmable gate arrays to describe (model) and verify (simulate) a required behavior from a proposed design before translating it into real hardware, hence resulting into reliability and cost efficiency for manufacturers of digital devices