Indic On Paper I Eee
Indic On Paper I Eee
net/publication/283561505
CITATIONS READS
6 1,836
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Prateek Singh on 06 December 2016.
Abstract—Arithmetic circuits plays an important role in (LNS) is simpler because it requires simple addition for
digital systems. Realization of complex digital circuits is possible multiplication and subtraction for division. [4]
with development in very large scale integration (VLSI) circuit
technology. In this paper an arithmetic unit based on IEEE-754 We have implemented arithmetic unit that are specially
standard for floating point numbers has been implemented on designed to carry out operations on floating point numbers. De-
Spartan3E XC3S500e FPGA Board. Here Floating Point Unit mand of more accuracy and resolution lead digital arithmatic
(FPU) follows IEEE single precision format. Various arithmetic development towards floating point operations.Complexity in-
operations such as, addition, subtraction multiplication and crease has given birth to software library routines (ip cores).
division on floating point numbers have been performed on
arithmetic unit. Novel approach of converting fixed to floating The IEEE 754 Floating point standard provides for many
point saves around 30% of slices and can perform 50 Mega closely related formats, differing in only a few details, like
floating point operations per second on Spartan 3E FPGA at
50 MHz clock. Arithmetic operations using proposed conversion
single precision, single precision, single extended. The single
optimize space and speed requirements. precision format includes 32 bits, contains 1 sign bit, 8 bits
for exponential and 23 bits wide mantissa. [5] Generally
Keywords: FPGA; floating point numbers; verilog; IEEE represented as follows:
754
1 8 23
sign exponent mantissa
I. I NTRODUCTION
Digital processors and application specific systems are
made up of group of digital arithmetic operations. Realization The value of representation is obtained from the equation.
of complex digital circuits is possible with development in very
large scale integration (VLSI) circuit technology.Conventional In this paper the operands are 32 bit wide, to choose
computer arithmetic methods as well as non conventional ones which operation to be performed op register gives information,
need floating point arithmetics.In the past,floating point were similarly for rounding modes rmode is used to provide infor-
usually implemented via coprocessor rather than an integrated mation that which mode among the four to be used. Standard
unit and in microcomputer era a single microchip are used. rounding mode is round to nearest. Here we use status signals
to represent the operation they are overflow, underflow, inexact,
exception and invalid.
eA > eB
eL = e A eL = e B
es = e B es = e A
fracL = fracA fracL = fracB
fracs = fracB fracs = fracA
Diff= eL - e0
didiff
Round frac0
Yes
Normalize Signal exception C. Division
No
The division is multiple subtraction of numbers and thus
Output=sign0 & e0 & frac0
division algorithm is implemented. Algorithm is implemented
such that it optimize between area and speed.The five stages
of division algorithm are counting leading zeros,shifting
Fig. 5. algorithm of addition and subtraction
left,division,rounding and normalization.In division algorithm
one stage is division so it is prime important to select such
B. Multiplication algorithm which optimize between area and speed.
In IEEE 754 floating point multiplication, the two mantis- • Count leading zeros in both floating point numbers.
sas are multiplied and two exponents are added .To implement
• Shift left fractional bits of both floating point numbers
sign logic simply XOR gate is realized.Floating point multi-
according to number of zeros.
plication algorithm is realized as follows: [7]
• Divide the fractional bits. Sign of result is calculated
• Addition of exponents and then subtract bias. from xoring sign of two operand.
• Multiply the mantissas and determine the sign of • Exponent of result is calculated by equation:
result.
e0 = eA eB + bias(127) − ZA + ZB
• Normalize the resulting value.
• Rounding occurs in floating point multiplication when • Round the fraction and normalize it if required.
the mantissa of the product is reduced by half. • To demonstrate the basic steps of division, lets say we
• The multiplication algorithm takes 3 steps. To demon- want to divide two 5-digits FP numbers:
strate the basic steps, take two 5- digits FP numbers
to multiply: 2110 ∗ 1.000/2100 ∗ 0.0011
(2100 × 1.1001) × (2110 × 1.0010)
(a) Count leading zeros in both fractions.
(a) Multiply fractions and calculate the result ex-
ponent. ZA = 0, ZB = 3
1.1001 × 1.0010 = 1.11000010
(b) Shift-left the fractions according to ZA , ZB .
so f rac0 = 1.11000010 Calculate the result exponent
and
e0 = 2100+110−bias = 283 f racA = 1000000000
(b) Round the fraction to nearest-even
f racB = 0000011000
f rac0 = 1.1100
(c) Result = 283 × 1.1100 e0 = 2110−100+bias−0+3 = 2140
• Algorithm implementation is shown in figure 6 (c) Divide both fractions
Mega floating point operations per second on Spartan 3E
FPGA at 50 MHz clock whereas division algorithm executes
100000.0000/000001.1000 = 1.0101 at the speed of 2.03 Mega floating point operations per second
(e) Result = 1.0101 × 2140 on Spartan 3E FPGA at 50 MHz clock.
Proposed 45 78
Multiplication 60 107