Professional Documents
Culture Documents
A SEMINAR REPORT
Submitted in partial fulfilment for the award of the Degree of
Bachelor of Technology
in
Electrical and Electronics Engineering
By
ARCHANA SASIKUMAR
(Roll No: B120760EE)
CERTIFICATE
Dr. Sunitha R
Assistant Professor
Dept. of Electrical Engineering
NIT Calicut
Place: Kozhikode
Date: 01-02-2016
ACKNOWLEDGEMENT
I would like to express my gratitude to our teacher in-charge Dr. Sunitha R., for
giving us an opportunity to undertake this seminar. I would also like to thank my
parents. Their constant encouragement and motivation has always helped me in all the
challenges that I have undertaken. Last but not the least; I would like to thank God
Almighty for showering his blessings on us.
ARCHANA SASIKUMAR
(Roll No. : B120760EE)
.
.
ABSTRACT
CONTENTS
Chapter No.
Title
Page No.
List of Abbreviations
ii
List of Figures
iii
List of Tables
iv
INTRODUCTION
FPGA ARCHITECTURE
2.1
Introduction
2.2
Configurable Logic Blocks
2.3
Interconnects
2.4
I/O Blocks
1
2
3
5
5
2.5
3.
FPGA Pins
FPGA FUNDAMENTALS
3.1
3.2
3.3
3.4
FPGA vs Processors
FPGA Programming
Applications of FPGA
Advantages of FPGA
8
10
12
14
4.
Conclusion
16
8.
References
17
List of Figures
Figure No.
Title
Page No.
2.1
2.2
Flip-Flop Symbol
2.3
2.4
FPGA Pins
4.1
10
List of Tables
Table No.
2.1
Title
Truth Table for Boolean AND Operation
Page No.
4
CHAPTER 1
INTRODUCTION
Field-programmable gate arrays (FPGAs) are reprogrammable silicon chips. Ross
Freeman, the cofounder of Xilinx, invented the first FPGA in 1985. FPGA chip
adoption across all industries is driven by the fact that FPGAs combine the best parts
of application-specific integrated circuits (ASICs) and processor-based systems.
FPGAs provide hardware-timed speed and reliability, but they do not require high
volumes to justify the large upfront expense of custom ASIC design.
FPGA is an integrated circuit. However the difference from the others is that they can
be configurable as we wish. We can explain this as follows: In ordinary or standard
ICs which cannot be programmable, there are fixed interconnections between the
transistors. Unless they are burned or another unfortunate event does not come, they
cannot be changed.
Reprogrammable silicon also has the same flexibility of software running on a
processor-based system, but it is not limited by the number of processing cores
available.
CHAPTER 2
FPGA ARCHITECTURE
2.1 INTRODUCTION
Every FPGA chip is made up of a finite number of predefined resources with
programmable interconnects to implement a reconfigurable digital circuit and I/O
blocks to allow the circuit to access the outside world. Figure 2.1 shows the different
parts of an FPGA.
FPGA resource specifications often include the number of configurable logic blocks,
number of fixed function logic blocks such as multipliers, and size of memory
resources like embedded block RAM. Of the many FPGA chip parts, these are
typically the most important when selecting and comparing FPGAs for a particular
application.
Embedded Block RAM memory is available in most FPGAs, which allows for onchip memory in your design. These allow for on-chip memory for your design.
The configurable logic blocks (CLBs) are the basic logic unit of an FPGA. The
purpose of programmable logic block in a FPGA is to provide the basic computation
and storage elements used in digital systems. Sometimes referred to as slices or logic
cells, CLBs are made up of two basic components: flip-flops and lookup tables
(LUTs). In addition to a basic logic block, many modern FPGAs contains a
heterogeneous mixture of different blocks, some of which can only be used for
specific functions, such as dedicated memory blocks, multipliers or multiplexers; of
course, configuration memory is used throughout the logic block to control the
specific function of each element within the block. Various FPGA families differ in
the way flip-flops and LUTs are packaged together, so it is important to understand
flip-flops and LUTs.
FLIP-FLOPS
Flip-flops are binary shift registers used to synchronize logic and save logical states
between clock cycles within an FPGA circuit. On every clock edge, a flip-flop latches
the 1 or 0 (TRUE or FALSE) value on its input and holds that value constant until the
next clock edge. Figure 2.2 shows a typical Flip-Flop Symbol.
The corresponding truth table for the two inputs of an AND operation is shown in
Table 2.
Table 2.1. Truth Table for Boolean AND Operation
Input 1
Input 2
Output
The seemingly simple task of multiplying two numbers together can get extremely
resource intensive and complex to implement in digital circuitry.
Multiplying two 32-bit numbers together will take up more than 2000 operations for a
single multiply. Because of this, FPGAs have prebuilt multiplier circuitry to save on
LUT and flip-flop usage in math and signal processing applications.
Many signal processing algorithms involve keeping the running total of numbers
being multiplied, and, as a result, higher-performance FPGAs like Xilinx Virtex-5
FPGAs have prebuilt multiplier-accumulate circuitry. These prebuilt processing
blocks, also known as DSP48 slices, integrate a 25-bit by 18-bit multiplier with adder
circuitry.
2.3 INTERCONNECTS
While the CLB provides the logic capability, flexible interconnect routing routes the
signals between CLBs and to and from I/Os. Routing comes in several flavours, from
that designed to interconnect between CLBs to fast horizontal and vertical long lines
spanning the device to global low-skew routing for Clocking and other global signals.
The design software make the interconnect routing task hidden to the user unless
specified otherwise, thus significantly reducing design complexity.
Over the time, the basic FPGA architecture has been further developed through the
addition of more specialized programmable functional blocks. The special function
blocks like- embedded memory (Block RAMs), arithmetic logic (ALUs), multipliers,
DSP-48 and even embedded microprocessors have been added due to a frequent need
of such resources for an application. The result is that many FPGAs have the
heterogeneous mixture of resources than early FPGAs.
Todays FPGAs provide support for dozens of I/O standards thus providing the ideal
interface bridge in your system. I/O in FPGAs is grouped in banks with each bank
independently able to support different I/O standards. Todays leading FPGAs provide
over a dozen I/O banks, thus allowing flexibility in I/O support.
Dedicated pins
User pins
a) Dedicated pins
20% to 30% of all the pins of an FPGA are reserved. According to the special
functions they realized, these pins are divided into three categories.
Power Pins: They provide power and ground which is needed by FPGA.
Configuration Pins: They are used to upload the created program to FPGA.
b) User Pins:
These are standard I/O pins that can be configurable by user. They are divided
into three categories such as Input, Output, Input / Output Each I/O pin is
connected to an I/O cell in FPGA. Power needed by I/O cells is provided by
VCCIO.
Despite having more than one VCCIO pins, all pins with the same voltage to
feed in former FPGAs.
Whereas in the new production FPGAs, I/Os can be divided into groups and
these groups can be fed from different voltages. So, a group of I/O pins can be
working with 3.3 V, while other groups of I/O pins work with 2.5 volt.
CHAPTER 3
FPGA FUNDAMENTALS
Hardware structure in the FPGA is not fixed so it is defined by the user. Although
logic cells are fixed in FPGA, the functions that they perform and the
interconnections between them are determined by the user. So operations that FPGAs
can do are not predefined. You can have the processes done according to the written
HDL (Hardware Description Language) code "in parallel" which means
simultaneously. Ability of parallel processing is one of the most important features
that separate FPGA from processor and makes it superior in many areas.
CPU's are sequential processing devices. They break an algorithm up into a sequence
of operations and execute them one at a time.
FPGA's are (or, can be configured as) parallel processing devices. An entire algorithm
might be executed in a single tick of the clock, or, worst case, far fewer clock ticks
than it takes a sequential processor. One of the costs to the increased logic complexity
is typically a lower limit at which the device can be clocked.
Bearing the above in mind, FPGA's can outperform CPU's doing certain tasks
because they can do the same task in less clock ticks, albeit at a lower overall clock
rate. The gains that can be achieved are highly dependent on the algorithm.
Further, because you can build multiple parallel execution units into an FPGA, if you
have a large volume of data that you want to pass through the same algorithm, you
can distribute the data across the parallel execution units and obtain further orders of
magnitude higher throughput than cant be achieved with even a multi-core CPU.
Processors are generally more useful for routine control of a particular circuit. For
example, using FPGA for simple functions such as turn on and off any device from a
computer may be overstated. This process can be easily done with many ordinary
microcontroller (PIC series, etc.). However, FPGA solution is more reasonable, if you
want
to
process
on
high-resolution
video
data
on
the
computer.
Because video processing requires processing large data in high speed and make these
types of applications are very suitable for FPGA that is capable of parallel
processing. Since the user can determine the hardware structure of FPGAs, you can
program FPGA to process larger data with few clock cycles, whereas this is not
possible with the processor because data flow is limited by processor bus (16-bit, 32
bit, etc.) and the processing speed.
As a result, applications that require more performance such as intensive data
processing FPGA has come to the fore, and processor / microcontroller has come to
the fore for routine control operations. Nevertheless, processors / microcontrollers can
be embedded into the FPGA since they are logic circuits in fact. Thus it is possible to
define and use processor and user-specific hardware functions on only one chip by
using FPGA. This solution gives engineers the opportunity to control the hardware
because of its great flexibility.
You can modify and update whole design (FPGA on the processor and other logic
circuits) by only changing the code on FPGA, without any change on circuit board
layout. In this way, you can add different functions, improve performance and make
your design resistant of time without having to redesign the cards.
Graphical Design
Logic gates and tools in the library of the compiler program (ISE, Quartus, etc) are
used in graphical design method. HDL is a programming language which helps to
model hardware. VHDL and Verilog are the most widely used types of HLDs. Figure
4.1 shows of screen shot for the Graphical Design of a Half-Adder.
To describe the hardware of a half adder, write a VHDL code like below:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity HALF_ADDER is
Port ( A
: in STD_LOGIC;
: in STD_LOGIC;
SUM
: out STD_LOGIC;
<= A XOR B;
end Behavioral;
2.
3.
have no fabrication costs or long lead times for assembly. Because system
requirements often change over time, the cost of making incremental changes to
FPGA designs is negligible when compared to the large expense of respinning an
ASIC.
4.
5.
Long-term maintenanceAs mentioned earlier, FPGA chips are fieldupgradable and do not require the time and expense involved with ASIC redesign.
Digital communication protocols, for example, have specifications that can
change over time, and ASIC-based interfaces may cause maintenance and
forward-compatibility challenges. Being reconfigurable, FPGA chips can keep up
with future modifications that might be necessary. As a product or system
matures, you can make functional enhancements without spending time
redesigning hardware or modifying the board layout.
algorithm
automatically
identifies
input
signal
4. High-Speed Test
An FPGA-based hardware was used to dynamically evaluate an
electrical machine. The main aim was to measure the characteristics
and performance of an electrical machine running as a motor and
generator more efficiently. A dynamic synthetic loading technique
using an FPGA was implemented to test the motors and generators.
5. Monitoring Systems
FPGA based modules are being used to control rocket operation and
acquire, log, and publish temperature, pressure, and thrust data.
Analysis of the data received is also incorporated within the FPGA
module. At the same time, the vacuum chamber temperatures are also
closely and instantly monitored using the same module.
CHAPTER 4
CONCLUSION
Since their introduction in the 1985, field programmable gate arrays (FPGAs) have
become increasingly important to the electronics industry. They have the potential for
higher performance and lower power consumption than microprocessors and
compared with application specific integrated circuits (ASICs), offer lower nonrecurrent engineering (NRE) costs, reduced development time, easier debugging and
reduced risk. Since modern FPGAs can meet many of the performance requirements
of ASICs, they are being increasingly used in their place.
REFERENCES