FPGA (Field Programmable Gate Array)

Post on 23-Feb-2016

66 views 0 download

Tags:

description

FPGA (Field Programmable Gate Array). Presented By: Obaid ur Rehman Badar Hussain . FPGA. * A Field Programmable Gate Array (FPGA) is a Programmable Logic Device(PLD) with higher densities and capable of implementing different functions in a short period of time. - PowerPoint PPT Presentation

Transcript of FPGA (Field Programmable Gate Array)

FPGA (Field Programmable

Gate Array)

Presented By:Obaid ur Rehman

Badar Hussain

FPGA* A Field Programmable Gate Array (FPGA)

is a Programmable Logic Device(PLD) with higher densities and capable of implementing different functions in a short period of time.

* Topics covered:-• FPGA Overview• Logic Block• FPGA Routing Techniques• Programming Methodology• FPGA Design Flow

HistoryProgrammable Read Only Memory (PROM) fuse programming n- address i/p can implement n i/p logic fun.Problem:Area efficiency.

Programmable Logic Array (PLA)Programmable AND plane followed by

programmable or wired OR plane.Sum of product formProblem :Two level programming adds delay

NextProgrammable Array Logic (PAL)Programmable AND plane and fixed OR

plane.Flexible comparably.

All these PLA and PAL are Simple Programmable Logic Devices (SPLD).

Problem:Logic plane structure grows rapidly with

number of inputs

Next -To mitigate the problemComplex Programmable Logic Devices (CPLD)programmable interconnect multiple SPLDs. Problem :Extending to higher density difficultLess flexibility

FPGA overview2-D array of logic blocks and flip-flops with

programmable interconnections.Compact designUser can configure

Intersections between the logic blocks The function of each block

Why do we need FPGAs?World of Integrated Circuits

Full-CustomASICs

Semi-CustomASICs

UserProgrammable

PLD FPGA

Which Way to Go?

ASICs FPGAs

Low development cost

Short time to market

Reprogrammable

High performance

Low power

Low cost inhigh volumes

Other FPGA Advantages

Manufacturing cycle for ASIC is very costly, lengthy and engages lots of manpower

Mistakes not detected at design time have large impact on development time and cost

FPGAs are perfect for rapid prototyping of digital circuits

Easy upgrades like in case of softwareUnique applications

Programming Methodology

Electrically programmable switches are used to program FPGA

Properties of programmable switch determine on- resistance, parasitic capacitance, volatility, reprogram ability, size etc.

Various programming techniques are:- SRAM programming technologyFloating Gate ProgrammingAnti fuse programming methodology

SRAM programming technology

Use Static RAM cells to control pass gates or multiplexers.1= closed switch connection

0= open For mux, SRAM determines the mux input selection process.

Advantage• Fast re-programmability• Standard IC fabrication Tech. is

used Disadvantage• SRAM volatile • Requires large area

Why better ?FPGA programmed using electrically

programmable switchesRouting architectures are complex.Logic is implemented using multiple levels of

lower fan-in gates.Shorter time to market Ability to re-program in the field to fix bugs

FPGA DISADVANTAGE FPGAs are generally slower than their

application-specific integrated circuit (ASIC) Can't handle as complex a design, and draw

more power.

Application Reconfigurable computing. Applications of FPGAs include DSP,

software-defined radio. The inherent parallelism of the logic

resources on the FPGA allows for considerable compute throughput.

FPGA Design and ProgrammingTo define the behavior of the FPGA the user provides

a hardware description language (HDL) or a schematic design.

Then, using an electronic design automation tool, a technology-mapped net list is generated.

The net list can then be fitted to the actual FPGA architecture using a process called place-and-route.

The user will validate the map, place and route results via timing analysis, simulation, and other verification methodologies.

Once the design and validation process is complete, the binary file generated used to configure the FPGA.

*THANK YOU*