FPGA Field Programmable Gate Array Presented By Obaid
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
History Programmable 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 form Problem : �Two level programming adds delay
Next Programmable 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 problem Complex Programmable Logic Devices (CPLD) �programmable interconnect multiple SPLDs. Problem : �Extending to higher density difficult �Less flexibility
FPGA overview � 2 -D array of logic blocks and flip-flops with programmable interconnections. �Compact design �User can configure �Intersections between the logic blocks �The function of each block
Why do we need FPGAs? �World of Integrated Circuits Full-Custom ASICs Semi-Custom ASICs PLD User Programmable FPGA
Which Way to Go? � ASICs FPGAs � High performance Low development cost Low power Short time to market Low cost in high volumes Reprogrammable
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 software �Unique applications
Programming Methodology �Electrically programmable switches are used to program FPGA �Properties of programmable switch determine onresistance, parasitic capacitance, volatility, reprogram ability, size etc. �Various programming techniques are: �SRAM programming technology �Floating Gate Programming �Anti 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 switches �Routing 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 applicationspecific integrated circuit (ASIC) Can't handle as complex a design, and draw more power.
Application � Reconfigurable computing. � Applications of FPGAs include DSP, softwaredefined radio. � The inherent parallelism of the logic resources on the FPGA allows for considerable compute throughput.
FPGA Design and Programming �To 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*
- Slides: 15