Presentation on theme: "FPGA (Field Programmable Gate Array)"— Presentation transcript:
1FPGA (Field Programmable Gate Array) Presented By:Obaid ur RehmanBadar Hussain
2FPGA* 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 OverviewLogic BlockFPGA Routing TechniquesProgramming MethodologyFPGA Design Flow
3History 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 formProblem :Two level programming adds delay
4Next 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
5Next - To mitigate the problem Complex Programmable Logic Devices (CPLD)programmable interconnect multiple SPLDs.Problem :Extending to higher density difficultLess flexibility
6FPGA overview2-D array of logic blocks and flip-flops with programmable interconnections.Compact designUser can configureIntersections between the logic blocksThe function of each block
7Why do we need FPGAs? World of Integrated Circuits Full-Custom ASICs Semi-CustomASICsUserProgrammablePLDFPGA
8Which Way to Go? High performance Low development cost Low power ASICs FPGAsHigh performanceLow development costLow powerShort time to marketLow cost inhigh volumesReprogrammable
9Other FPGA AdvantagesManufacturing cycle for ASIC is very costly, lengthy and engages lots of manpowerMistakes not detected at design time have large impact on development time and costFPGAs are perfect for rapid prototyping of digital circuitsEasy upgrades like in case of softwareUnique applications
10Programming Methodology Electrically programmable switches are used to program FPGAProperties 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
11SRAM 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.AdvantageFast re-programmabilityStandard IC fabrication Tech. is usedDisadvantageSRAM volatileRequires large area
12Why better ? FPGA Disadvantage FPGA programmed using electrically programmable switchesRouting architectures are complex.Logic is implemented using multiple levels of lower fan-in gates.Shorter time to marketAbility to re-program in the field to fix bugsFPGA DisadvantageFPGAs are generally slower than their application- specific integrated circuit (ASIC)Can't handle as complex a design, and draw more power.
13Application 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.
14FPGA 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.