FPGAs : An Overview


Published on

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

Published in: Business, Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

FPGAs : An Overview

  1. 1. FPGAs : An Overview Sanjiv Malik October 18, 2007 1
  2. 2. What is Programmable Logic? Can be defined as an IC whose functionality can be modified “On-the fly” October 18, 2007 2
  3. 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 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 3
  4. 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 quot;logic functionquot;, 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
  5. 5. FPGA Facts (Cont..) • FPGAs Evolved from PALs, PLDs, Complex PLDs • FPGAs comparison to other options Technology Gates Speed NRE Cost Part Cost Spin time Custom VLSI <10M <500 MHz $20K-$100M $1-up weeks Gate array <2M <200 MHz $10K-$1M $1-up days/weeks FPGA <100K <100 MHz $100-$100K $10-$1K 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
  6. 6. FPGAs vs CPLDs • FPGAs are quot;fine-grainquot; devices. • CPLDs are quot;coarse-grainquot; That means that they contain a devices. They contain relatively lot (up to 100000) of tiny few (a few 100's max) large blocks of logic with flip-flops. blocks of logic with flip-flops. • FPGAs are RAM based. They • CPLDs are EEPROM based. They need to be quot;downloadedquot; are active at power-up (i.e. as (configured) at each power-up. long as they've been programmed at least once • CPLDs can contain small • FPGAs can contain very large designs only. digital designs • CPLDs do not have • FPGAs have special routing resources to implement efficiently binary counters and arithmetic functions (adders, comparators...). October 18, 2007 6
  7. 7. An Example FPGA Chip October 18, 2007 7
  8. 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 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 8
  9. 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 9
  10. 10. FPGA Internal design(Cont..) October 18, 2007 10
  11. 11. Control Logic Block October 18, 2007 11
  12. 12. Example Control Logic Block October 18, 2007 12
  13. 13. Input/Output Block October 18, 2007 13
  14. 14. FPGA Development tools • Design tools • Pin Assignment tools • Design Entry tools • Simulation tools • Synthesis tools October 18, 2007 14
  15. 15. FPGA Programming Steps 1. Use a computer to describe the quot;logic functionquot; that you want. You might draw a schematic, or create a text file describing the function, doesn't matter. 2. Compile the quot;logic functionquot; 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 quot;logic functionquot;. October 18, 2007 15
  16. 16. Our Sample Board October 18, 2007 16
  17. 17. October 18, 2007 17
  18. 18. Step 1: Creating the logic[VHDL) October 18, 2007 18
  19. 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 19
  20. 20. Xilings FPGA based Advance system design October 18, 2007 20
  21. 21. Xilings FPGA based Advance system design(Cont…) October 18, 2007 21
  22. 22. Xilings FPGA based Advance system design(Cont…) October 18, 2007 22
  23. 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 23
  24. 24. October 18, 2007 24