SlideShare a Scribd company logo
1 of 33
SEMINAR ON
FIELD PROGRAMMABLE GATE ARRAY
PRESENTED BY :
SARANSH CHOUDHARY,
DEPARTMENT OF ECE, 3RD YEAR,
ROLL NUMBER : 11900314029
DEPARTMENT OF ECE, SIT
UNDER THE GUIDANCE OF :
DR. SUBHOJIT SARKER
DATE OF PRESENTATION :
20.05.2017
PRESENTATION OUTLINE
 INTRODUCTION
ARCHITECTURE OF FPGA
CASE STUDY
DSP USING FPGA
APPLICATIONS OF FPGA
CONCLUSION
REFERENCES
INTRODUCTION
 What is FPGA?
An FPGA(Field Programmable Gate Array) is a semiconductor device on which the function can
be defined after manufacturing. An FPGA enables the user to program product features and
functions, adapt to new standards, and reconfigure hardware for specific applications even after
the product has been installed in the field — hence the term field programmable. And gate
arrays are two-dimensional arrays of logic gates.
PROGRAMMABLE LOGIC DEVICE (PLD)
A Programmable Logic Device (PLD) refers to any type of integrated circuit through which a
logic design can be implemented and reconfigured in the field by the end user.
Inputs Outputs
The above figure shows the basic block diagram of PLDs. They have certain advantages, viz.,
Less board space and thus reduced cost
Increased processing speed
Availability of design software
4
AND Array OR Array
Programmable Logic
Device(PLD)
Simple
Programmable
Logic
Device(SPLD)
High Density
Programmable Logic
Device(HDPLD)
Complex
Programmable Logic
Device(CPLD)
Field Programmable
Gate Array(FPGA)
Programmable
Logic
Array(PLA)
Programmable
Array Logic(PAL)
THE PLD FAMILY
Programmable
Read Only
Memory(PROM)
5
NEED FOR FPGA
Systems based on FPGAs (Field Programmable Gate Arrays) provide many advantages over
conventional implementations, e.g., CPLD, some of which are:
Capacity
Storage of the image
Feature
Fast and efficient systems
Massively Parallel Data Processing
Owing to these advantages, FPGAs have established themselves as favourites for application in
manifold areas of technology ranging from Digital Signal Processing to Artificial Intelligence,
development of high speed communication networks ,etc. to mention a few.
6
ARCHITECTURE OF FPGA
The basic cell structure for FPGA is somewhat complicated than the basic cell structure of
standard gate array. The FPGA architecture consists of three types of configurable elements :
IOBs : a perimeter of input/output blocks
CLBs : a core array of configurable logic blocks
Programmable Interconnects
In general, FPGA chip consists of a large number of programmable logic blocks surrounded by
programmable I/O block, the logic blocks being distributed across the entire chip. In our
discussion we will see the FPGA architecture used by Xilinx.
7
The programmable logic blocks in the Xilinx family of FPGAs are called Configurable Logic
Blocks (CLBs).The Xilinx architecture uses, CLBs, I/O blocks, switch matrix and an external
memory chip to realize a logic function. The general structure of an FPGA chip is shown as
follows :
8
GENERAL STRUCTURE OF XILINX FPGA
 I/O BLOCK (IOB)
Each user-configurable IOB provides an interface between the external package pin of the device
and the internal user logic as well as a programmable 3-state output buffer, which may be driven
by a registered or direct output signal.
Configuration options allow each IOB
An inversion
A controlled slew rate
A high impedance pull-up
Each input circuit also provides input clamping diodes to provide electrostatic protection, and
circuits to inhibit latch-up produced by input currents.
9
I/O block of Xilinx XC3000 Series 10
Summary of I/O Options:
Inputs
Direct
Flip-flop/latch
CMOS/TTL threshold (chip inputs)
Pull-up resistor/open circuit
Outputs
 Direct/registered
 Inverted/not
 3-state/on/off
 Full speed/Slew limited
 3-state/output enable (inverse) 11
 CONFIGURATIONAL LOGIC BLOCK (CLB)
The array of Configurational Logic Blocks(CLBs) provides the functional elements from which the
user’s logic is constructed. Each CLB has a combinatorial logic section, two flip-flops, and an
internal control section. There are
five logic inputs (A, B, C, D and E)
a common clock input (K)
an asynchronous direct RESET input (RD)
an enable clock (EC)
a direct data in DI
two outputs X and Y
12
Block diagram of CLB of Xilinx XC3000 Series 13
 MODES
The combinatorial-logic portion of the CLB uses a 32 by 1 look-up table to implement Boolean
functions. Variables selected from the five logic inputs and two internal block flip-flops are used
as table address inputs.
The combinatorial propagation delay through the network is independent of the logic function
generated and is spike free for single input variable changes, which generates the following three
modes :
FG Mode F Mode FGM Mode 14
 PROGRAMMABLE INTERCONECTS
Programmable-interconnection resources in FPGA provide routing paths to connect inputs and
outputs of the IOBs and CLBs into logic networks.
Specially designed pass transistors, each controlled by a configuration bit, form Programmable
Interconnect Points (PIPs) and switching matrices used to implement the necessary connections
between selected metal segments and block pins.
Three types of metal resources are provided to accommodate various network interconnect
requirements :
General Purpose Interconnect
Direct Connection
Longlines (multiplexed buses and wide AND gates) 15
A Design Editor view of routing resources forming a typical interconnection network from CLB GA 16
 EXAMPLE : AND GATE USING FPGA
Although logic gates can be designed using Digital ICs (e.g., IC 7408 for 2-input AND gate), each
one of such ICs has a specific function. FPGA provides flexibility to implement any logic
function, as discussed in the following example :
Introduction to AND Gate
An AND gate is a logic gate which gives a high output when all of its inputs are high. Here the
truth table of a 2-input AND gate is shown along with its logic symbol.
17
Writing the code
The Verilog code for designing an AND gate is shown. Here a module named AND_Gate has been
written. Switches 1 and 2 are the inputs and the correct output is determined by the glow of LED
1.
18
Synthesizing the code
The synthesis of the code yields the following results. The usage report is inside the outer box (with solid
border), while the content inside the inner box gives the cell usage and total number of LUTs used ,i.e., 1.
Similarly, any Boolean function can be implemented following the above method. 19
CASE STUDY
One of the most important benchmarks in financial markets is the computation of option prices
via the Monte Carlo Black-Scholes method, The Monte Carlo Black-Scholes technique is based on
conducting random simulations of the underlying stock price and averaging the expected payoff
over millions of different paths. The accompanying figure shows a graphical representation of
this method.
The entire algorithm can be implemented in about 300 lines of OpenCL code that is portable
from an FPGA to a CPU and GPU. The FPGA solution outperforms both the CPU and GPU in
power, performance, and efficiency as shown in the next table.
20
FPGAs are inherently parallel — meaning they can be coded to break complex calculations into
computations that can be done in parallel. This results in much faster execution and increased
power efficiency and hence they’re highly favourable for wide applications.
Courtesy of Altera Corporation.
21
Platform Power
(Watts)
Performance
Simulations per
second(Bsims/s)
Efficiency Simulations
per second
Watt(Msims/s/W)
CPU 130 0.032 0.0025
GPU 212 10.1 48
FPGA 45 12.0 266
DSP USING FPGA
Why FPGA over DSP ?
Because of their size and the components they contain, FPGAs now offer a wide variety of
interesting possibilities in the field of digital signal processing. The difference between the
classical solution - using a Digital Signal Processor (DSP) - and implementation on an FPGA lies
in the fact that the DSP has to be programmed in Assembler or C whereas FPGA algorithms are
described in VHDL. While a DSP works through its program more or less sequentially, an FPGA
maps the entire algorithm at the hardware level.
22
EXAMPLE : THREE-BAND AUDIO EQUALIZER
In the brief example below, a three-band audio equalizer has been implemented on an FPGA. For
reasons of clarity, we use half-band filters in the equalizer algorithm. In this, a digital high-pass
(HP) and a digital low-pass (LP) each split the discrete-time input signal into two sub-bands. In
turn, the sum of the two sub-bands yields the input signal.
In MATLAB, it is possible to calculate this type of filter using just a few instructions:
% Buttworth low-pass filter with cut-off frequency w1:
[G_LP_num, G_LP_den] = butter(2, w1);
% Complement-res high-pass filter:
G_HP_num = G_LP_den - G_LP_num;
G_HP_den = G_LP_den;
The block diagram for the entire equalizer with two half-band filter stages is shown.
23
Fig. : Block diagram of Three-band digital equalizer
Each of the three bands is multiplied by a coefficient (K_Low, K_Mid and K_High). The output
signal y[.] is given by the sum of the three weighted sub-bands. If one of the coefficients is greater
than one then the corresponding band is amplified. If it is less than one, then the band is
attenuated.
24
The equalizer was developed, simulated and checked using MATLAB and Simulink. The next
stage represents the start of the actual FPGA design phase - it is necessary to verify that the
algorithm meets requirements even when calculations to bit accuracy are needed. To this end,
Xilinx offers a block set for Simulink. The number representations, word width, overflow and
rounding behaviour etc. of the relevant blocks are configurable and perform calculations to bit
accuracy.
It should be noted that an additional bit may arise when adding two fixed-point numbers.
Consequently, multiplication can lead to a result of almost double the length. So, the numbers
must be truncated or rounded off in an appropriate way during processing. Thanks to its
flexibility, the Xilinx block set is perfectly suited for this task.
At the end of this operation, the digital equalizer is present in the form of a Simulink model.
Because of the bit accuracy of the description, it behaves in exactly the same way as it is to
subsequently run on the FPGA.
25
TOOL CHAIN
GENERATING THE VHDL CODE
The second important feature of the Xilinx blocks is the fact that these blocks can be directly
converted into VHDL. This task is performed by the Xilinx System Generator. This does not just
convert the individual blocks but also the entire Simulink model from which it generates an
FPGA project folder. It should be noted that the System Generator is only able to convert blocks
from the Xilinx block set. The IIR Filter in Simulink looks as follows :
26
The above diagram depicts a half-band filter created using Xilinx blocks. Here, it is seen that the delay
networks that are typical of IIR filters (at the extreme left and right) together with five multipliers and four
adders. The System Generator will subsequently recognize the multipliers and assign them to the hardware
multipliers present on the selected chip.
Following figure presents the menu for a multiplier. The top four boxes relate to the numerical
presentation and word width. In signal processing applications it is normal to represent numbers as two's
complements and in fraction format. The next two boxes control the way the result value is delimited on
the left and right sides. A number of rounding approaches are possible for the right-hand side. All the other
parameters refer to the VHDL generation.
27
SUMMARY
The following table indicates the equalizer's occupancy of a Xilinx XC2V1000-4FG456C FPGA.
This makes it clear that the selected FPGA is more than generously sized for a single equalizer.
Flip-flops were primarily used for the serial interface and for shift registers. Look-up tables are
used when adding the filters.
28
The design presented here is completely parallel, with the result that an output value is calculated
in every FPGA clock cycle. However, to achieve this, the equalizer occupies 20 of the 40 available
18x18-bit multipliers on the chip.
The data rate, in particular, indicates the phenomenal arithmetic performance offered by today's
FPGAs. The equalizer presented here processes 18 k samples per second. The FPGA's limit is
approximately 80 internal logical layers at slightly more than 10 MHz. If adapted correctly, our
equalizer would therefore be able to cope with more than 500 audio channels.
29
APPLICATIONS OF FPGA
FPGA
Switches and
Routers,
Edge QAM
Digital Signal
Processing,
Image Processing
PLL,
Missiles
MRI,
X-Rays,
CT Scanner Supercomputer,
High end RADAR
Baseband,
Mobile
Backhaul,
Servers
30
CONCLUSION
With rapid advancement in contemporary technology, there has been an ever-increasing need for
faster data processing, more and more compact hardware and multi-dimensional functionalities
of modern devices and FPGAs emerge out to be the perfect candidates for varied
implementations across diverse domains of technology. From implementation of simple Boolean
functions to complex algorithms with significant time efficiency or Image Processing, Artificial
Intelligence and Wireless Communications, FPGAs have opened an all new horizon to be
explored in various fields of science and technology. With unprecedented development in VLSI
technology, the real potential of this class of logic devices has been unearthed and it provides
even brighter prospects for future .
31
REFERENCES
FPGAs for Dummies by Andrew Moore (Altera Special Edition, Wiley & sons Inc.)
Xilinx datasheet for XC3000 Series Field Programmable Gate Arrays(November
9,1998,Version 3.1)
Google
Wikipedia
FPGA Central
Quora
THANK YOU

More Related Content

What's hot

Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applicationsSudhanshu Janwadkar
 
vlsi design flow
vlsi design flowvlsi design flow
vlsi design flowAnish Gupta
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array) Iffat Anjum
 
Delays in verilog
Delays in verilogDelays in verilog
Delays in verilogJITU MISTRY
 
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its ApplicationsComplex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its Applicationselprocus
 
Field Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsField Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsDr. Saravanakumar Umathurai
 
SOC Processors Used in SOC
SOC Processors Used in SOCSOC Processors Used in SOC
SOC Processors Used in SOCA B Shinde
 
4.FPGA for dummies: Design Flow
4.FPGA for dummies: Design Flow4.FPGA for dummies: Design Flow
4.FPGA for dummies: Design FlowMaurizio Donna
 

What's hot (20)

Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applications
 
vlsi design flow
vlsi design flowvlsi design flow
vlsi design flow
 
Actel fpga
Actel fpgaActel fpga
Actel fpga
 
Array multiplier
Array multiplierArray multiplier
Array multiplier
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array)
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
 
Delays in verilog
Delays in verilogDelays in verilog
Delays in verilog
 
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its ApplicationsComplex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
 
Field Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsField Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and Interconnections
 
Verilog tutorial
Verilog tutorialVerilog tutorial
Verilog tutorial
 
Logic Synthesis
Logic SynthesisLogic Synthesis
Logic Synthesis
 
FPGA
FPGAFPGA
FPGA
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
Unit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA ArchitectureUnit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA Architecture
 
SOC Processors Used in SOC
SOC Processors Used in SOCSOC Processors Used in SOC
SOC Processors Used in SOC
 
Study of vlsi design methodologies and limitations using cad tools for cmos t...
Study of vlsi design methodologies and limitations using cad tools for cmos t...Study of vlsi design methodologies and limitations using cad tools for cmos t...
Study of vlsi design methodologies and limitations using cad tools for cmos t...
 
Fpga design flow
Fpga design flowFpga design flow
Fpga design flow
 
Xilinx 4000 series
Xilinx 4000 seriesXilinx 4000 series
Xilinx 4000 series
 
Vlsi testing
Vlsi testingVlsi testing
Vlsi testing
 
4.FPGA for dummies: Design Flow
4.FPGA for dummies: Design Flow4.FPGA for dummies: Design Flow
4.FPGA for dummies: Design Flow
 

Similar to FPGA Seminar on Field Programmable Gate Arrays

Similar to FPGA Seminar on Field Programmable Gate Arrays (20)

Fpg as 11 body
Fpg as 11 bodyFpg as 11 body
Fpg as 11 body
 
Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)
 
Convolution
ConvolutionConvolution
Convolution
 
Iaetsd a design of fpga with ledr encoding and
Iaetsd a design of fpga with ledr encoding andIaetsd a design of fpga with ledr encoding and
Iaetsd a design of fpga with ledr encoding and
 
Nt1310 Unit 5 Algorithm
Nt1310 Unit 5 AlgorithmNt1310 Unit 5 Algorithm
Nt1310 Unit 5 Algorithm
 
Fpga lecture
Fpga lectureFpga lecture
Fpga lecture
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
F233644
F233644F233644
F233644
 
Reconfigurable ICs
Reconfigurable ICsReconfigurable ICs
Reconfigurable ICs
 
4_BIT_ALU
4_BIT_ALU4_BIT_ALU
4_BIT_ALU
 
Fpga implementation of multi protocol data
Fpga implementation of multi protocol dataFpga implementation of multi protocol data
Fpga implementation of multi protocol data
 
Basys3 rm
Basys3 rmBasys3 rm
Basys3 rm
 
VLSI PLDS pla, pal
VLSI PLDS pla, palVLSI PLDS pla, pal
VLSI PLDS pla, pal
 
GCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignEGCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignE
 
FPGA Architecture and application
FPGA Architecture and application FPGA Architecture and application
FPGA Architecture and application
 
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONSFIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
 
Cpld fpga
Cpld fpgaCpld fpga
Cpld fpga
 
Fpga based motor controller
Fpga based motor controllerFpga based motor controller
Fpga based motor controller
 
System designing and modelling using fpga
System designing and modelling using fpgaSystem designing and modelling using fpga
System designing and modelling using fpga
 
Design and Implementation of FPGA Based Signal Processing Card
Design and Implementation of FPGA Based Signal Processing Card  Design and Implementation of FPGA Based Signal Processing Card
Design and Implementation of FPGA Based Signal Processing Card
 

Recently uploaded

Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 

Recently uploaded (20)

Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 

FPGA Seminar on Field Programmable Gate Arrays

  • 1. SEMINAR ON FIELD PROGRAMMABLE GATE ARRAY PRESENTED BY : SARANSH CHOUDHARY, DEPARTMENT OF ECE, 3RD YEAR, ROLL NUMBER : 11900314029 DEPARTMENT OF ECE, SIT UNDER THE GUIDANCE OF : DR. SUBHOJIT SARKER DATE OF PRESENTATION : 20.05.2017
  • 2. PRESENTATION OUTLINE  INTRODUCTION ARCHITECTURE OF FPGA CASE STUDY DSP USING FPGA APPLICATIONS OF FPGA CONCLUSION REFERENCES
  • 3. INTRODUCTION  What is FPGA? An FPGA(Field Programmable Gate Array) is a semiconductor device on which the function can be defined after manufacturing. An FPGA enables the user to program product features and functions, adapt to new standards, and reconfigure hardware for specific applications even after the product has been installed in the field — hence the term field programmable. And gate arrays are two-dimensional arrays of logic gates.
  • 4. PROGRAMMABLE LOGIC DEVICE (PLD) A Programmable Logic Device (PLD) refers to any type of integrated circuit through which a logic design can be implemented and reconfigured in the field by the end user. Inputs Outputs The above figure shows the basic block diagram of PLDs. They have certain advantages, viz., Less board space and thus reduced cost Increased processing speed Availability of design software 4 AND Array OR Array
  • 5. Programmable Logic Device(PLD) Simple Programmable Logic Device(SPLD) High Density Programmable Logic Device(HDPLD) Complex Programmable Logic Device(CPLD) Field Programmable Gate Array(FPGA) Programmable Logic Array(PLA) Programmable Array Logic(PAL) THE PLD FAMILY Programmable Read Only Memory(PROM) 5
  • 6. NEED FOR FPGA Systems based on FPGAs (Field Programmable Gate Arrays) provide many advantages over conventional implementations, e.g., CPLD, some of which are: Capacity Storage of the image Feature Fast and efficient systems Massively Parallel Data Processing Owing to these advantages, FPGAs have established themselves as favourites for application in manifold areas of technology ranging from Digital Signal Processing to Artificial Intelligence, development of high speed communication networks ,etc. to mention a few. 6
  • 7. ARCHITECTURE OF FPGA The basic cell structure for FPGA is somewhat complicated than the basic cell structure of standard gate array. The FPGA architecture consists of three types of configurable elements : IOBs : a perimeter of input/output blocks CLBs : a core array of configurable logic blocks Programmable Interconnects In general, FPGA chip consists of a large number of programmable logic blocks surrounded by programmable I/O block, the logic blocks being distributed across the entire chip. In our discussion we will see the FPGA architecture used by Xilinx. 7
  • 8. The programmable logic blocks in the Xilinx family of FPGAs are called Configurable Logic Blocks (CLBs).The Xilinx architecture uses, CLBs, I/O blocks, switch matrix and an external memory chip to realize a logic function. The general structure of an FPGA chip is shown as follows : 8 GENERAL STRUCTURE OF XILINX FPGA
  • 9.  I/O BLOCK (IOB) Each user-configurable IOB provides an interface between the external package pin of the device and the internal user logic as well as a programmable 3-state output buffer, which may be driven by a registered or direct output signal. Configuration options allow each IOB An inversion A controlled slew rate A high impedance pull-up Each input circuit also provides input clamping diodes to provide electrostatic protection, and circuits to inhibit latch-up produced by input currents. 9
  • 10. I/O block of Xilinx XC3000 Series 10
  • 11. Summary of I/O Options: Inputs Direct Flip-flop/latch CMOS/TTL threshold (chip inputs) Pull-up resistor/open circuit Outputs  Direct/registered  Inverted/not  3-state/on/off  Full speed/Slew limited  3-state/output enable (inverse) 11
  • 12.  CONFIGURATIONAL LOGIC BLOCK (CLB) The array of Configurational Logic Blocks(CLBs) provides the functional elements from which the user’s logic is constructed. Each CLB has a combinatorial logic section, two flip-flops, and an internal control section. There are five logic inputs (A, B, C, D and E) a common clock input (K) an asynchronous direct RESET input (RD) an enable clock (EC) a direct data in DI two outputs X and Y 12
  • 13. Block diagram of CLB of Xilinx XC3000 Series 13
  • 14.  MODES The combinatorial-logic portion of the CLB uses a 32 by 1 look-up table to implement Boolean functions. Variables selected from the five logic inputs and two internal block flip-flops are used as table address inputs. The combinatorial propagation delay through the network is independent of the logic function generated and is spike free for single input variable changes, which generates the following three modes : FG Mode F Mode FGM Mode 14
  • 15.  PROGRAMMABLE INTERCONECTS Programmable-interconnection resources in FPGA provide routing paths to connect inputs and outputs of the IOBs and CLBs into logic networks. Specially designed pass transistors, each controlled by a configuration bit, form Programmable Interconnect Points (PIPs) and switching matrices used to implement the necessary connections between selected metal segments and block pins. Three types of metal resources are provided to accommodate various network interconnect requirements : General Purpose Interconnect Direct Connection Longlines (multiplexed buses and wide AND gates) 15
  • 16. A Design Editor view of routing resources forming a typical interconnection network from CLB GA 16
  • 17.  EXAMPLE : AND GATE USING FPGA Although logic gates can be designed using Digital ICs (e.g., IC 7408 for 2-input AND gate), each one of such ICs has a specific function. FPGA provides flexibility to implement any logic function, as discussed in the following example : Introduction to AND Gate An AND gate is a logic gate which gives a high output when all of its inputs are high. Here the truth table of a 2-input AND gate is shown along with its logic symbol. 17
  • 18. Writing the code The Verilog code for designing an AND gate is shown. Here a module named AND_Gate has been written. Switches 1 and 2 are the inputs and the correct output is determined by the glow of LED 1. 18
  • 19. Synthesizing the code The synthesis of the code yields the following results. The usage report is inside the outer box (with solid border), while the content inside the inner box gives the cell usage and total number of LUTs used ,i.e., 1. Similarly, any Boolean function can be implemented following the above method. 19
  • 20. CASE STUDY One of the most important benchmarks in financial markets is the computation of option prices via the Monte Carlo Black-Scholes method, The Monte Carlo Black-Scholes technique is based on conducting random simulations of the underlying stock price and averaging the expected payoff over millions of different paths. The accompanying figure shows a graphical representation of this method. The entire algorithm can be implemented in about 300 lines of OpenCL code that is portable from an FPGA to a CPU and GPU. The FPGA solution outperforms both the CPU and GPU in power, performance, and efficiency as shown in the next table. 20
  • 21. FPGAs are inherently parallel — meaning they can be coded to break complex calculations into computations that can be done in parallel. This results in much faster execution and increased power efficiency and hence they’re highly favourable for wide applications. Courtesy of Altera Corporation. 21 Platform Power (Watts) Performance Simulations per second(Bsims/s) Efficiency Simulations per second Watt(Msims/s/W) CPU 130 0.032 0.0025 GPU 212 10.1 48 FPGA 45 12.0 266
  • 22. DSP USING FPGA Why FPGA over DSP ? Because of their size and the components they contain, FPGAs now offer a wide variety of interesting possibilities in the field of digital signal processing. The difference between the classical solution - using a Digital Signal Processor (DSP) - and implementation on an FPGA lies in the fact that the DSP has to be programmed in Assembler or C whereas FPGA algorithms are described in VHDL. While a DSP works through its program more or less sequentially, an FPGA maps the entire algorithm at the hardware level. 22
  • 23. EXAMPLE : THREE-BAND AUDIO EQUALIZER In the brief example below, a three-band audio equalizer has been implemented on an FPGA. For reasons of clarity, we use half-band filters in the equalizer algorithm. In this, a digital high-pass (HP) and a digital low-pass (LP) each split the discrete-time input signal into two sub-bands. In turn, the sum of the two sub-bands yields the input signal. In MATLAB, it is possible to calculate this type of filter using just a few instructions: % Buttworth low-pass filter with cut-off frequency w1: [G_LP_num, G_LP_den] = butter(2, w1); % Complement-res high-pass filter: G_HP_num = G_LP_den - G_LP_num; G_HP_den = G_LP_den; The block diagram for the entire equalizer with two half-band filter stages is shown. 23
  • 24. Fig. : Block diagram of Three-band digital equalizer Each of the three bands is multiplied by a coefficient (K_Low, K_Mid and K_High). The output signal y[.] is given by the sum of the three weighted sub-bands. If one of the coefficients is greater than one then the corresponding band is amplified. If it is less than one, then the band is attenuated. 24
  • 25. The equalizer was developed, simulated and checked using MATLAB and Simulink. The next stage represents the start of the actual FPGA design phase - it is necessary to verify that the algorithm meets requirements even when calculations to bit accuracy are needed. To this end, Xilinx offers a block set for Simulink. The number representations, word width, overflow and rounding behaviour etc. of the relevant blocks are configurable and perform calculations to bit accuracy. It should be noted that an additional bit may arise when adding two fixed-point numbers. Consequently, multiplication can lead to a result of almost double the length. So, the numbers must be truncated or rounded off in an appropriate way during processing. Thanks to its flexibility, the Xilinx block set is perfectly suited for this task. At the end of this operation, the digital equalizer is present in the form of a Simulink model. Because of the bit accuracy of the description, it behaves in exactly the same way as it is to subsequently run on the FPGA. 25 TOOL CHAIN
  • 26. GENERATING THE VHDL CODE The second important feature of the Xilinx blocks is the fact that these blocks can be directly converted into VHDL. This task is performed by the Xilinx System Generator. This does not just convert the individual blocks but also the entire Simulink model from which it generates an FPGA project folder. It should be noted that the System Generator is only able to convert blocks from the Xilinx block set. The IIR Filter in Simulink looks as follows : 26
  • 27. The above diagram depicts a half-band filter created using Xilinx blocks. Here, it is seen that the delay networks that are typical of IIR filters (at the extreme left and right) together with five multipliers and four adders. The System Generator will subsequently recognize the multipliers and assign them to the hardware multipliers present on the selected chip. Following figure presents the menu for a multiplier. The top four boxes relate to the numerical presentation and word width. In signal processing applications it is normal to represent numbers as two's complements and in fraction format. The next two boxes control the way the result value is delimited on the left and right sides. A number of rounding approaches are possible for the right-hand side. All the other parameters refer to the VHDL generation. 27
  • 28. SUMMARY The following table indicates the equalizer's occupancy of a Xilinx XC2V1000-4FG456C FPGA. This makes it clear that the selected FPGA is more than generously sized for a single equalizer. Flip-flops were primarily used for the serial interface and for shift registers. Look-up tables are used when adding the filters. 28
  • 29. The design presented here is completely parallel, with the result that an output value is calculated in every FPGA clock cycle. However, to achieve this, the equalizer occupies 20 of the 40 available 18x18-bit multipliers on the chip. The data rate, in particular, indicates the phenomenal arithmetic performance offered by today's FPGAs. The equalizer presented here processes 18 k samples per second. The FPGA's limit is approximately 80 internal logical layers at slightly more than 10 MHz. If adapted correctly, our equalizer would therefore be able to cope with more than 500 audio channels. 29
  • 30. APPLICATIONS OF FPGA FPGA Switches and Routers, Edge QAM Digital Signal Processing, Image Processing PLL, Missiles MRI, X-Rays, CT Scanner Supercomputer, High end RADAR Baseband, Mobile Backhaul, Servers 30
  • 31. CONCLUSION With rapid advancement in contemporary technology, there has been an ever-increasing need for faster data processing, more and more compact hardware and multi-dimensional functionalities of modern devices and FPGAs emerge out to be the perfect candidates for varied implementations across diverse domains of technology. From implementation of simple Boolean functions to complex algorithms with significant time efficiency or Image Processing, Artificial Intelligence and Wireless Communications, FPGAs have opened an all new horizon to be explored in various fields of science and technology. With unprecedented development in VLSI technology, the real potential of this class of logic devices has been unearthed and it provides even brighter prospects for future . 31
  • 32. REFERENCES FPGAs for Dummies by Andrew Moore (Altera Special Edition, Wiley & sons Inc.) Xilinx datasheet for XC3000 Series Field Programmable Gate Arrays(November 9,1998,Version 3.1) Google Wikipedia FPGA Central Quora