Fpgas: An Overview: Sanjiv Malik

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

FPGAs : An Overview

Sanjiv Malik

October 18, 2007

What is Programmable Logic?


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

October 18, 2007

Field Programmable Gate Arrays


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

October 18, 2007

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 4

FPGA Facts (Cont..)


FPGAs Evolved from PALs, PLDs, Complex PLDs FPGAs comparison to other options
Technology Custom VLSI Gate array FPGA Gates <10M <2M <100K Speed <500 MHz <200 MHz <100 MHz NRE Cost $20K-$100M $10K-$1M $100-$100K Part Cost $1-up $1-up $10-$1K Spin time weeks days/weeks minutes/hours

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
October 18, 2007 5

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

An Example FPGA Chip

October 18, 2007

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 ICs Signal, image processing: filters, warping, music Graphics, UART and other device controllers Military: target dependent correlation/recognition Cryptography: DES search Hardware genetic algorithms

October 18, 2007

FPGA internal design


The basic structure of FPGAs is array-based, meaning that each chip comprises a twodimensional 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 9

FPGA Internal design(Cont..)

October 18, 2007

10

Control Logic Block

October 18, 2007

11

Example Control Logic Block

October 18, 2007

12

Input/Output Block

October 18, 2007

13

FPGA Development tools


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

October 18, 2007

14

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. 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. Connect a cable from your computer to the FPGA, and download the binary file to the FPGA. That's it! Your FPGA behaves according to your "logic function".
15

2.

3. 4.

October 18, 2007

Our Sample Board

October 18, 2007

16

October 18, 2007

17

Step 1: Creating the logic[VHDL)

October 18, 2007

18

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

19

Xilings FPGA based Advance system design

October 18, 2007

20

Xilings FPGA based Advance system design(Cont)

October 18, 2007

21

Xilings FPGA based Advance system design(Cont)

October 18, 2007

22

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

23

October 18, 2007

24

You might also like