Professional Documents
Culture Documents
Floating Point ALU Using VHDL
Floating Point ALU Using VHDL
Floating Point ALU Using VHDL
Telecommunication Engineering
A Seminar on
Brief outline:
IEEE 754 format
Floating point unit
VHDL
FPGA
EDA Tools and softwares
Design of arithmetic units
Conclusion
1.M*
Conversion Examples
9.5 =
0 10000010 00110000000000000000000
-12.076 =
1 10000010
10000010011011101110101
Conversion of IEEE754 to
decimal
1
1011 0110 01100000000000000000000
= 49539595901075456.0
= 4.9539595901075456
What is ALU?
It is Arithmetic and logical unit
In simple words any unit which
performs the required mathematical
computations
What is FPGA?
It is a semiconductor device that can
be programmed after manufacturing.
The FPGA-architecture consists of
many logic modules, which are
placed in an array-structure
FPGA architecture
Overview of VHDL
VHDL stands for Very High Speed
Integrated Circuit Hardware
Description Language
VHDL is widely used to model digital
systems
VHDL was originated in early 1980s
VHDL features
Structural Specification
Support for Design Hierarchy
Library Support
Support for Concurrent and Sequential
Statements
Type Declaration
Use of subprograms
Design flow
The design file is written in VHDL language
with the extension .vhd and often named as
its ENTITYs name.
VHDL Constructs
Entity definition
Architecture definition
Configuration
Process
Subprogram
Package
A VHDL design can be broken into multiple files. Each file contains entity and
architecture definitions, or packages.
Architecture Declaration
Defines what the component does
Variables,
Signals, Constants defines
Component Mapping
Interconnects previously defined
components/entities.
but no implementation
Structural
Implements behavior by connecting
components
with known behavior
Example
entity andgate is
Port ( a : in
b : in
c : out
STD_LOGIC;
STD_LOGIC;
STD_LOGIC);
end andgate;
architecture Behavioral of andgate is
Begin
c <= a AND b;
end Behavioral;
Development Kit
Spartan-6 XC6SLX45 FPGA
6,822 Spartan-6 logic slices , 43,661 Spartan-6 logic cells
Integrated Memory Controller Block (MCB)
2,088 Kbits of block RAM
Op(0
1)
0
)
0
Operation
Addition
Subtraction
Multiplication
Division
Algorithm for
addition/subtraction
Step 1: Take difference of two
exponents. Take the larger
exponent as the tentative
exponent of the result.
Algorithm for
Multiplication
Block diagram of
multiplier/divider
RESULTS
Synthesis summary
Inferred
Multiplier(s).
Inferred 31
Inferred
2 Comparator(s).
Adder/Subtractor(s).
Inferred 256 D-type flip-
Timing Summary
flop(s).
Minimum period: 7.936ns (Maximum Frequency:
126.004MHz)
Conclusion
Synthesis
of
the
Floating
Point
Unit
i.e.
404
slices
(202
CLBs).