Sei sulla pagina 1di 93

FPGA and its applications

Prepared by:

Dr. Amit Joshi


Assistant Professor,
MNIT, Jaipur

3/30/2018 Digital System Design & FPGAs 1


Outline
 Introduction to PLD

 Basics of PLD

 What is FPGA?

 FPGA basic structure

 FPGA Implementation

 FPGA Applications

 Summary

3/30/2018 Digital System Design & FPGAs 2


Introduction to PLD
 ASIC (Application Specific Integration Circuit)
Circuit)::
- Fixed functionality
- Digital IC 74
74xx
xx series

 Concept of PLD (Programmable Logic Device)


Device)::
 It is possible to manufacture chips that contain relatively large amounts of
logic circuitry with a structure that is not fixed means we can modify (to
some extent) according to our requirement
requirement..
 Such chips are introduced in 1970 and are called PROGRAMMABLE LOGIC
DEVICES..
DEVICES

 Evolution of PLD
- PROM ,PLA ,PAL, CPLD, FPGA
3/30/2018 Digital System Design & FPGAs 3
Advantages of PLD

 Advantage of PLD

– Ease of design changes


– Flexibility
– No ASIC re-re-spin risk
– Easy & faster design Implementation
– Shorter time to market

3/30/2018 Digital System Design & FPGAs 4


Types of PLD
 There are mainly four types of PLD
1) SPLD (Simple Programmable Logic Device)
2) CPLD (Complex Programmable Logic Device)
3) FPGA (Filed Programmable Gate Array)

- ASIC (Application Specific Integrated Circuit)

3/30/2018 Digital System Design & FPGAs 5


SPLD vs FPGA
 SPLD
- Most basic & least expensive form of programmable logic
- It contains several configurable logic gates, programmable
interconnection, FFs etc.

 FPGA
- Millions of gates
- Fast and reprogrammable
- Many things can be done parallel for real time
- Gate level programming

3/30
30//2018 Digital System Design & FPGAs 6
Outline
 Introduction to PLD

 Basics of PLD

 What is FPGA?

 FPGA basic structure

 FPGA Implementation

 FPGA Applications

 Summary

3/30/2018 Digital System Design & FPGAs 7


Programmable Logic Devices

3/30/2018 Digital System Design & FPGAs 8


Programmable Array Logic

3/30/2018 Digital System Design & FPGAs 9


Programmable Array Logic
w= ABC’ + A’B’CD’
X= A + BCD
Y=A’B + CD + B’D’
Z= ABC’ + A’B’CD’ + AC’D’ + A’B’C’D
= W + AC’D’ + A’B’C’D

3/30/2018 Digital System Design & FPGAs 10


Programmable Logic Array
F1= AB’ + AC +A’BC
F2= ( AC + BC )’

3/30/2018 Digital System Design & FPGAs 11


Why CPLD?
 CPLD (Complex Programmable Logic Devices)
Features:

 Low development cost


 Faster time to market
 Reduced PCB area
 Ease & Simple way to implement a design

3/30/2018 Digital System Design & FPGAs 12


Structure of CPLD

3/30/2018 Digital System Design & FPGAs 13


CPLD (Complex Programmable Logic Devices)
 Advantages :

- Simplified design process.


- Mostly standard architecture and easy to use.
- Low cost design and development tool
- Deterministic, uniform delays and predictable timing.

 Disadvantages :

- Low to moderate density


- Inflexible architecture

3/30/2018 Digital System Design & FPGAs 14


Outline
 Introduction to PLD

 Basics of PLD

 What is FPGA?

 FPGA basic structure

 FPGA Implementation

 FPGA Applications

 Summary

3/30/2018 Digital System Design & FPGAs 15


What is FPGA?
 FPGA stands for Field Programmable Gate Array
 More Gate count to support complex logic Circuit
 It does not contain AND and OR planes.
 They have
- Logic blocks which are arranged in 2-
2-D.
- Routing channels, programmable switches.
 Mostly LUT are there to implement logic.
 LUTs of various sizes can be created, they are limited by
number of inputs.

3/30/2018 Digital System Design & FPGAs 16


Purpose of FPGA
 FPGA is programmable ICs

 Configurable i.e. programmable

- Logic blocks

- Inter connects

 The term “Field programmable” means programming in the


particular field where device function can be modified as per
logic circuit

3/30/2018 Digital System Design & FPGAs 17


FPGA

 Inexpensive, easy realization of logic network in the form of


hardware.. Easy such as software !!!!!
hardware
 Hardware of FPGA contains Logic gates, RAM and others
(such DCM)
 Fast implementation where so many thing are working parallel
 Gate level working i.e. smallest level of circuit with building
complex systems

3/30/2018 Digital System Design & FPGAs 18


Vendors of FPGA
 Mainly Xilinx, Altera and Actel
 Differences of FPGA in terms of
- Physical means for implementation programmability
- Inter connection arrangement
- Basic function of logic blocks
- LUTs input

3/30/2018 Digital System Design & FPGAs 19


Outline
 Introduction to PLD

 Basics of PLD

 What is FPGA?

 FPGA basic structure

 FPGA Implementation

 FPGA Applications

 Summary

3/30/2018 Digital System Design & FPGAs 20


FPGA structure

3/30/2018 Digital System Design & FPGAs 21


Biggest FPGA producers are :
Company Percentage of Total Revenue
Total
Xilinx 49% 2.4 Billion $
Altera 40% 1 Billion $
Quick Logic 1% 26 Million $
Micri Semi 4% 207 Million $
Lattice Semi 6% 297 Million $

- Xilinx and Altera have 89% of the Market

3/30/2018 Digital System Design & FPGAs 22


FPGAs
Summary of Commercially Available FPGAs

Company General Logic Block Programming


Architecture Type Technology

Xilinx Symmetrical Array Look-up Table Static RAM

Actel Row-based Multiplexer-Based Anti-fuse


Altera Hierarchical-PLD PLD Block EPROM

Plessey Sea-of-Gates NAND-gate Static RAM


PLUS Hierarchical-PLD PLD Block EPROM
AMD Hierarchical-PLD PLD Block EEPROM
QuickLogic Symmetrical Array Multiplexer-Based Anti-fuse

Algotronix Sea-of-gates Multiplexers & Basic Gate Static RAM


Concurrent Sea-of-gates Multiplexers & Basic Gate Static RAM

Crosspoint Row-based Transistors Pairs & Anti-fuse


Multiplexers

3/30/2018 Digital System Design & FPGAs 23


XILINX FPGA
ARCHITECTURE

3/30/2018 Digital System Design & FPGAs 24


Elements of FPGA
 Various types of FPGA such as Virtex
Virtex--II, Sparten 3E, Sparten
3A, Sparten 6, Kintex 7, Artix 7 etc..

 All Xilinx FPGA contains


1) CLB (Configurable Logic Block)
2) IOB (Input output Buffer)
3) PI (Programmable Interconnection)
4) RAM blocks
5) Other Resources - three state buffers, Global clock buffers,
Dedicated Multiplier

3/30/2018 Digital System Design & FPGAs 25


Simplified CLB Structure

3/30/2018 Digital System Design & FPGAs 26


LUT--Based Logic Cells
LUT

1. LUT is a memory which contains the truth


truth--table of a function

2. LUT with n inputs can implement any n-bit function

3. Truth--table is placed in LUT during the FPGA programming


Truth

4. LUTs are implemented with SRAM

3/30/2018 Digital System Design & FPGAs 27


Example: 4-input AND
gate
A B C D O
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0 A,B,C and D are act as address pointer
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
Output can be present value or previous store
1 1 0 1 0 value
1 1 1 0 0
3/30/2018 28
1 1 1 1 1 Digital System Design & FPGAs
Example:

3/30/2018 Digital System Design & FPGAs 29


Example
 x=(a & b)|((not b) & c);

Truth Table
SRAM Cell (LUT)

a b c x
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
3/30/2018
1 1 1 1 Digital System Design & FPGAs 30
Programmability
 Three Methods
1. SRAM Based – Xilinx, Altera
2. Antifuse Technology - Actel
Actel,, Quicklogic
3. EPROM/EEPROM

3/30/2018 Digital System Design & FPGAs 31


SRAM BASED PROGRAMMING
 FPGA Connections –
1. Pass Transistors

2. Transmission Gates

3. Multiplexer

 Making or Breaking cross point connections.


 SRAM defines function of logic block.
 In programming, SRAM cells are arranged in shift register manner in
order to configure using Digital
3/30/2018 bit fileSystem Design & FPGAs 32
SRAM Programming Technology
 Employs SRAM (Static RAM) cells to
control pass transistors and/or
transmission gates
 SRAM cells control the configuration of
logic block
 Volatile
 Needs an external storage

 Needs a power-
power-on configuration
mechanism
 In
In--circuit re-
re-programmable
 Lesser configuration time
 Occupies relatively larger area
3/30/2018 Digital System Design & FPGAs 33
Interconnection Network

SRAM CELL is used to


program 0 or 1 at FET
Level.
3/30/2018 Digital System Design & FPGAs 34
SRAM CELL is used to program 0 or
1 at inputs. So it decides function of
CLB

3/30/2018 Digital System Design & FPGAs 35


Antifuse Technology
 One Time Programming
 Invented at Stanford and developed by Actel
 Actel PLICE (Programmable Logic Interconnect Circuit Element)
structure
 Anti--fuse resides in a high
Anti high--impedance state. Can be programmed
into low impedance or "fused" state.
 Less expensive than the RAM technology

3/30/2018 Digital System Design & FPGAs 36


Comparison of two programming technology
Antifuse Technology SRAM technology

- It occupies less area - it has larger area


- Delay less , High Speed - Delay is high

Why to go for reprogramability !!!


To have interface between Microprocessor and DSP for
communication for different data rates

3/30/2018 Digital System Design & FPGAs 37


Arithmetic Resources in FPGA
1. Adder
2. Multiplier
3. Counter

 Special circuitry to speed up operation


 Dedicated Carry Logic/ XOR
 ASIC is faster compare to FPGA. FPGA has to speed
up for improvement therefore arithmetic resources

3/30/2018 Digital System Design & FPGAs 38


FPGA
 Advantage:----
Advantage: ----
- Ideal for customized design
- High complexity , density and reliability
- Low cost, power consumption, small physical size
- Fast time to market

 Disadvantage:----
Disadvantage:----
- long delay in design and testing

3/30/2018 Digital System Design & FPGAs 39


Comparison Of CPLD & FPGA
CPLD FPGA
 Logic gates are less in number  Several millions of gates

 Number of i/o pins are  Number of i/o pins are less


significantly higher than CPLD
 CPLD does not require any  It requires one or more PROM
external memory store depend on the size
program
 CPLD are smaller than FPGA  FPGA are larger than CPLD

3/30/2018 Digital System Design & FPGAs 40


FPGA (Field Programmable Gate Array)

 What are the limitations of FPGA?


 Existence of programmable switches.
 Of course they provide programmable feature to
user but, they consume lot of real estate on the chip.
 They make reduce the speed of operation.

3/30/2018 Digital System Design & FPGAs 41


Where do FPGA lies?
Types of IC

PLDs ASICs
-SPLD, CPLD - Gate Array, structured Array,
Standard cell, Full custom
- Features - Features
F No Reconfigurable,
Highly Reconfigurable,
P Time Consuming
Faster Design Time expensive
Don’t support complex logic G
Support complex logic
A
3/30/2018 Digital System Design & FPGAs 42
Introduction to Gate Array
 Gate array is a prefabricated silicon chip circuit.
circuit.

 Gate array is an IC chip on which gates are placed in


a matrix form

 Gate array contains basic cell as most important


element.. It contains (either CMOS,NAND,NOR or
element
any other active device).
device).

3/30
30//2018 Digital System Design & FPGAs 43
Gate Array

3/30/2018 Digital System Design & FPGAs 44


Gate Array Design

 Gate array implementation requires a two step manufacturing


process::
process
- The first phase, which is based on generic (standard) masks,
results in an array of uncommitted transistors on each GA
chip..
chip
- These uncommitted chips can be stored for later
customization, which is completed by defining the metal
interconnects between transistors of arrays
arrays..

3/30/2018 Digital System Design & FPGAs 45


Designing Approaches

VLSI design

Full custom (geometry &


Semi custom
placement of every transistor (such as std cell
design or FPGA)
can be optimized individually)

3/30/2018 Digital System Design & FPGAs 46


Full custom design:
Requires longer time till design maturity
Adjustment flexibility of almost every aspect improves
the circuit performance
High performance but large cost in terms of design cycle
time.
Semi custom design:
Requires less time till design maturity
In early stage, performance is better to full custom
design because, some components are optimized. But, less
opportunity for improvement in the circuit performance.
Lesser performance but shorter design cycle time.

3/30
30//2018 Digital System Design & FPGAs 47
Outline
 Introduction to PLD

 Basics of PLD

 What is FPGA?

 FPGA basic structure

 FPGA Implementation

 FPGA Applications

 Summary
3/30/2018 Digital System Design & FPGAs 48
Xilinx ISE Design Flow

3/30/2018 Digital System Design & FPGAs 49


Introduction to Xilinx ISE
 ISE stands for Integrated Software Environment
 All tools are integrated as collection in one GUI
 Tools for Xilinx ISE:
a) HDL Complier/Simulator - Xilinx ISE sim sim,, Modelsim
b) Synthesis - XST
c) Core generator & Arch Wizard – Coregen
d) Pin out & Area Constraint Editor - PACE
e) Implementation – Translate/MAP/PAR
f) Device Configuration - IMPACT

3/30/2018 Digital System Design & FPGAs 50


Xilinx Design Flow
 Design Entry : (ISIM)
- Input file can be ..sch
sch,, .v, ..vhd
vhd
 Synthesis : (XST)
- Produces the net list file starting from an HDL/schematic file
description
- Converts .v,. vhd
vhd,, ..sch ---- .NGC file (netlist
sch ---- (netlist file with
constraint)
 Translate : (XST)
- Read all input design file then write result into on emerged file
that describes logic and constraint
- Converts .NGC file ---  .NGD (Native Generic Database)
---
file, this file describes logic design to Xilinx primitives

3/30/2018 Digital System Design & FPGAs 51


Xilinx Design Flow
 Mapping – (XST)
- maps logic on the device components
- Takes the netlist and logic elements into CLBs and IOBs
- Converts .NGD --  .NCD (Native Circuit Description) &
--
.PCF (Physical Constraint File)
- .NCD file represents the physical circuit (Which CLBs, IOBS
and interconnections) description of the input design as applied
to specific design
- . PCF has constraint according to device dependent

3/30/2018 Digital System Design & FPGAs 52


Xilinx Design Flow
 Place & Route – (XST)
- Determines the placement of cells and the routing between
cells

 Bit stream generation –


- Is a stream of data that contains the location information for
logic and devices
- Actual bit stream to be sent or to be load on FPGA

 Configuration/ Programming (IMPACT)


- Download a bit file into FPGA using JTAG port

3/30/2018 Digital System Design & FPGAs 53


Translation
Synthesis

Circuit netlist Timing Constraints


Constraint Editor
Electronic Design Native
Interchange Format Constraint
File
EDIF NCF UCF User Constraint File

Translation

NGD Native Generic Database file


3/30/2018 Digital System Design & FPGAs 54
Sample UCF File
NET "clock" LOC = "P8";
NET "control<0>" LOC = "K4";
NET "control<1>" LOC = "K3";
NET "control<2>" LOC = "K2";
NET "reset" LOC = "E11";
NET "segments<0>" LOC = "R10";
NET "segments<1>" LOC = "P10";
NET "segments<2>" LOC = "M11";
NET "segments<3>" LOC = "M6";
NET "segments<4>" LOC = "N6";
NET "segments<5>" LOC = "T7";
NET "segments<6>" LOC = "R7";
"R7";

set_property -dict { PACKAGE_PIN J15


IOSTANDARD LVCMOS33 } [get_ports
[get_ports { A
}]; #IO_L24N_T3_RS0_15 Sch
Sch=
=sw
sw[0]
[0]
3/30/2018 Digital System Design & FPGAs 55
Circuit netlist

3/30/2018 Digital System Design & FPGAs 56


Mapping
LU
T0
LU
T4
LU
T1 FF
LU 1
T5
LU
T2
FF
LU 2
T3

3/30
30//2018 Digital System Design & FPGAs 57
Placement: Select CLBs

3/30/2018 Digital System Design & FPGAs 58


FPGA

Placing CLB SLICES

3/30/2018 Digital System Design & FPGAs 59


Routing: Select path

3/30/2018 Digital System Design & FPGAs 60


FPGA Generic Flow
 Design Entry:
– Create your design files using:
• schematic editor or
• hardware description language (Verilog
(Verilog,,
VHDL)

 Design “implementation” on FPGA:


– Partition, place, and route to create bit-
bit-
stream file
–Converts HDL to format which FPGA
understands

 Design verification:
– Use Simulator to check function,
– Load onto FPGA device (cable connects PC
to development board)-
board)- Logic Analyzer

 check operation at full speed in real


environment.
3/30/2018 Digital System Design & FPGAs 61
FPGA Implementation
 Partition: Converts logic blocks into n –input CLB blocks
 Placement : Choosing the appropriate CLBs
 Routing : Interconnection of CLBs
 Translation : For design entry of 4 FFs logic to number of CLB
.i.e if CLB has two FFs then divide the logic in 2 CLBs

3/30/2018 Digital System Design & FPGAs 62


ASIC vs FPGA vs Microprocessor
Performance NREs Unit Cost Time To Market
(Speed) (TTM)
ASIC ASIC FPGA ASIC

FPGA FPGA Microprocessor FPGA

Microprocessor Microprocessor ASIC Microprocessor

Microprocessors are more complex than FPGAs


Microprocessors have fixed instructions while FPGAs
don’t

3/30/2018 Digital System Design & FPGAs 63


COMPARISION

3/30/2018 Digital System Design & FPGAs 64


FPGA Application
 In DSP ,software defined radio, defense system, aerospace
 Speech recognition/synthesis/Translator

 Computer hardware simulation

 Image/ Video processing

 Gate array prototyping

 Biomedical application/ healthcare

 Data Security algorithms

Many more

3/30/2018 Digital System Design & FPGAs 65


Outline
 Introduction to PLD

 Basics of PLD

 What is FPGA?

 FPGA basic structure

 FPGA Implementation

 FPGA Applications

 Summary
3/30/2018 Digital System Design & FPGAs 66
Latest 7 series FPGA Family
 There are mainly three 7 series family:
1) Artix 7: Lowest Price & power
2) Kintex 7: Best Price & Performance
3) Virtex 7: High Performance & Capacity
 Same CLB architecture structure
 High Speed and low power consumption
 Reduced power almost 50%

3/30/2018 Digital System Design & FPGAs 67


Comparison of 7 Series FPGA
Family

 Artix-7 cost is 320 USD, while Kintex 7 is


Artix-
1250 USD and Virtex 7000 USD, Zynq ???.
3/30/2018 Digital System Design & FPGAs 68
Xilinx 7 Series Family

3/30/2018 Digital System Design & FPGAs 69


Virtex 7 Series

3/30/2018 Digital System Design & FPGAs 70


Strong Focus on Power Reduction

3/30/2018 Digital System Design & FPGAs 71


7 Series FPGA Applications
 The Artix
Artix--7 family is ideally suited to demanding handheld
applications including portable ultrasound machines, digital
camera control and software-
software-defined radio.
radio.

 The low-
low-power, cost-
cost-effective Kintex
Kintex--7 family provides a perfect
balance of features and performance, making it ideal for wireless
LTE infrastructure equipment, LED backlit and 3D digital video
displays, medical imaging and avionics imaging systems
systems..

 The highest in system performance, the Virtex-


Virtex-7 family useful in
optical networks, radar and ASIC emulation.
emulation.
3/30/2018 Digital System Design & FPGAs 72
7 Series FPGA Family Architecture

3/30/2018 Digital System Design & FPGAs 73


7 Series FPGA Family Layout

3/30/2018 Digital System Design & FPGAs 74


Clock Regions and I/O Banks

3/30/2018 Digital System Design & FPGAs 75


Clock Management

3/30/2018 Digital System Design & FPGAs 76


3/30/2018 Digital System Design & FPGAs 77
CLB Structure

3/30/2018 Digital System Design & FPGAs 78


Slices in CLB

3/30/2018 Digital System Design & FPGAs 79


Slice Resource

3/30/2018 Digital System Design & FPGAs 80


3/30/2018 Digital System Design & FPGAs 81
Block RAM

3/30/2018 Digital System Design & FPGAs 82


DSP Slice

3/30/2018 Digital System Design & FPGAs 83


3/30/2018 Digital System Design & FPGAs 84
Clocking Resources

3/30/2018 Digital System Design & FPGAs 85


XADC: Dual 12-
12-Bit 1-
1-MSPS
ADCs

3/30/2018 Digital System Design & FPGAs 86


I/O Composition

3/30/2018 Digital System Design & FPGAs 87


Zynq Board

3/30/2018 Digital System Design & FPGAs 88


FPGA Technology

3/30/2018 Digital System Design & FPGAs 89


Cost, Power and Performance

3/30/2018 Digital System Design & FPGAs 90


Where Can I Learn More?

3/30/2018 Digital System Design & FPGAs 91


References
 Xilinx website
 Advanced FPGA Design: Architecture,
Implementation, and Optimization by Steve Kilts
 Digital Systems Design with FPGAs and CPLDs
by Ian Grouts

3/30/2018 Digital System Design & FPGAs 92


THANK YOU

3/30/2018 Digital System Design & FPGAs 93

Potrebbero piacerti anche