FPGAs : An Overview

  • View
    7.597

  • Download
    1

  • Category

    Business

Preview:

DESCRIPTION

This presenation is intended to give an overview of the FPGAs, designing using FPGA and related technologies.

Citation preview

October 18, 2007 1

FPGAs : An Overview

Sanjiv Malik

October 18, 2007 2

What is Programmable Logic?

Can be defined as an IC whose functionality can be modified “On-the fly”

October 18, 2007 3

Field Programmable Gate Arrays

FPGA is an IC with ability to reconfigure its circuitry for a desired application or function at any time after manufacturingAdaptive hardware that continuously changes in response to the input data or processing environmentCombination of general-purpose processors and ASICs(Application Specific IC). Quick reconfiguration time, in order of 100 µS to 1 mS

October 18, 2007 4

FPGA Facts

• You can download FPGAs as many time as you want -no limit - with different functionalities every time if you want. If you make a mistake in your design, just fix your "logic function", re-compile and re-download it. No PCB, solder or component to change.

• The designs can run much faster than if you were to design a board with discrete components, since everything runs within the FPGA, on its silicon die.

• FPGAs loose their functionality when the power goes away (like RAM in a computer that looses its content). You have to re-download them when power goes back up to restore the functionality.

October 18, 2007 5

FPGA Facts (Cont..)

• FPGAs Evolved from PALs, PLDs, Complex PLDs• FPGAs comparison to other options

– FPGA Strengths: quick prototyping and time-to-market,reprogrammability, relatively easy to use

– FPGA Weaknesses: cost, density, speed• FPGA Vendors: Xilinx, Altera, Actel, Atmel, Lucent,

Cypress, QuickLogic, IBM, Motorola

Technology Gates Speed NRE Cost Part Cost Spin timeCustom VLSI <10M <500 MHz $20K-$100M $1-up weeksGate array <2M <200 MHz $10K-$1M $1-up days/weeksFPGA <100K <100 MHz $100-$100K $10-$1K minutes/hours

October 18, 2007 6

FPGAs vs CPLDs

• FPGAs are "fine-grain" devices. That means that they contain a lot (up to 100000) of tiny blocks of logic with flip-flops.

• FPGAs are RAM based. They need to be "downloaded" (configured) at each power-up.

• FPGAs can contain very large digital designs

• FPGAs have special routing resources to implement efficiently binary counters and arithmetic functions (adders, comparators...).

• CPLDs are "coarse-grain" devices. They contain relatively few (a few 100's max) large blocks of logic with flip-flops.

• CPLDs are EEPROM based. They are active at power-up (i.e. as long as they've been programmed at least once

• CPLDs can contain small designs only.

• CPLDs do not have

October 18, 2007 7

An Example FPGA Chip

October 18, 2007 8

Where are FPGAs used?

Some of the examples of FPGA usage are:Fast prototypes of large designs for simulation/ verification later to be implemented in ICsSignal, image processing: filters, warping, musicGraphics, UART and other device controllersMilitary: target dependent correlation/recognitionCryptography: DES search“Hardware” genetic algorithms

October 18, 2007 9

FPGA internal design

• The basic structure of FPGAs is array-based, meaning that each chip comprises a two-dimensional array of logic blocks that can be interconnected via horizontal and vertical routing channels.

• FPGAs consists of an array of CLB, IOB and programmable interconnects

• CLB : Configurable Logic Block• IOB : Input/output block

October 18, 2007 10

FPGA Internal design(Cont..)

October 18, 2007 11

Control Logic Block

October 18, 2007 12

Example Control Logic Block

October 18, 2007 13

Input/Output Block

October 18, 2007 14

FPGA Development tools

• Design tools• Pin Assignment tools• Design Entry tools• Simulation tools• Synthesis tools

October 18, 2007 15

FPGA Programming Steps

1. Use a computer to describe the "logic function" that you want. You might draw a schematic, or create a text file describing the function, doesn't matter.

2. Compile the "logic function" on your computer, using a software provided by the FPGA vendor. That creates a binary file that can be downloaded into the FPGA.

3. Connect a cable from your computer to the FPGA, and download the binary file to the FPGA.

4. That's it! Your FPGA behaves according to your "logic function".

October 18, 2007 16

Our Sample Board

October 18, 2007 17

October 18, 2007 18

Step 1: Creating the logic[VHDL)

October 18, 2007 19

Advance FPFA based system designs

• For designing microprocessor-based complex embedded systems, advance FPGAs are available.

• These contains gates of the order of TODO• Xilings and vendors provide system design

wizards to create complex systems.

October 18, 2007 20

Xilings FPGA based Advance system design

October 18, 2007 21

Xilings FPGA based Advance system design(Cont…)

October 18, 2007 22

Xilings FPGA based Advance system design(Cont…)

October 18, 2007 23

Conclusion

• Over time FPGAs will become the dominant form of digital logic design and implementation.

• Their ease of access, principally through the low cost of the devices, makes them attractive to small firms and small parts of large companies.

• The fast manufacturing turn-around they provide is an essential element of success in the market.

October 18, 2007 24

Recommended