Field-programmable gate array

Field-programmable gate array

“FPGA” redirects here. It is not to be confused with Flip-chip pin grid array Stratix IV FPGA from Alter A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing – hence “field-programmable”. The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC). (Circuit diagrams were previously used to specify the configuration, as they were for ASICs, but this is increasingly rare.)

 A Spartan FPGA from Xilinx, FPGAs contain an array of programmable logic blocks, and a hierarchy of reconfigurable interconnects that allow the blocks to be “wired together”, like many logic gates that can be inter-wired in different configurations. Logic blocks can be configured to perform complex combinational functions, or merely simple logic gates like AND and XOR. In most FPGAs, logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory.

 

Technical design:

Contemporary field-programmable gate arrays (FPGAs) have large resources of logic gates and RAM blocks to implement complex digital computations. As FPGA designs employ very fast I/Os and bidirectional data buses, it becomes a challenge to verify correct timing of valid data within setup time and hold time. Floor planning enables resource allocation within FPGAs to meet these time constraints. FPGAs can be used to implement any logical function that an ASIC could perform. The ability to update the functionality after shipping, partial re-configuration of a portion of the design and the low non-recurring engineering costs relative to an ASIC design (notwithstanding the generally higher unit cost), offer advantages for many applications.

Some FPGAs have analog features in addition to digital functions. The most common analog feature is programmable slew rate on each output pin, allowing the engineer to set low rates on lightly loaded pins that would otherwise ring or couple unacceptably, and to set higher rates on heavily loaded pins on high-speed channels that would otherwise run too slowly. Also common are quartz-crystal oscillators, on-chip resistance-capacitance oscillators, and phase-locked loops with embedded voltage-controlled oscillators used for clock generation and management and for high-speed serializer-deserializer (SERDES) transmit clocks and receiver clock recovery. Fairly common are differential comparators on input pins designed to be connected to differential signaling channels. A few “mixed signal FPGAs” have integrated peripheral analog-to-digital converters (ADCs) and digital-to-analog converters (DACs) with analog signal conditioning blocks allowing them to operate as a system-on-a-chip. Such devices blur the line between an FPGA, which carries digital ones and zeros on its internal programmable interconnect fabric, and field-programmable analog array (FPAA), which carries analog values on its internal programmable interconnect fabric.

21st Century Developments:

 

 

A recent trend has been to take the coarse-grained architectural approach a step further by combining the logic blocks and interconnects of traditional FPGAs with embedded microprocessors and related peripherals to form a complete “system on a programmable chip”. This work mirrors the architecture created by Ron Perlof and Hana Potash of Burroughs Advanced Systems Group in 1982 which combined a reconfigurable CPU architecture on a single chip called the SB24. Examples of such hybrid technologies can be found in the Xilinx Zynq-7000 All Programmable SoC, which includes a 1.0 GHz dual-core ARMCortex-A9 MPCore processor embedded within the FPGA’s logic fabric or in the Altera Arria V FPGA, which includes an 800 MHz dual-core ARM Cortex-A9 MPCore. The Atmel FPSLIC is another such device, which uses an AVR processor in combination with Atmel’s programmable logic architecture. The Microsemi SmartFusion devices incorporate an ARM Cortex-M3 hard processor core (with up to 512 kB of flash and 64 kB of RAM) and analog peripherals such as a multi-channel ADC and DACs to their flash-based FPGA fabric

A Xilinx Zynq-7000 All Programmable System on a Chip. An alternate approach to using hard-macro processors is to make use of soft processor cores that are implemented within the FPGA logic. Nios II, MicroBlaze and Mico32 are examples of popular softcore processors. Many modern FPGAs are programmed at “run time”, and this is leading to the idea of reconfigurable computing or reconfigurable systems – CPUs that reconfigure themselves to suit the task at hand. Additionally, new, non-FPGA architectures are beginning to emerge. Software-configurable microprocessors such as the Stretch S5000 adopt a hybrid approach by providing an array of processor cores and FPGA-like programmable cores on the same chip.

Companies like Microsoft have started to use FPGA to accelerate high-performance, computationally intensive systems (like the data centers that operate their Bing search engine), due to the performance per Watt advantage FPGAs deliver.

Comparisons:

Historically, FPGAs have been slower, less energy efficient and generally achieved less functionality than their fixed ASIC counterparts. An older study had shown that designs implemented on FPGAs need on average 40 times as much area, draw 12 times as much dynamic power, and run at one third the speed of corresponding ASIC implementations. More recently, FPGAs such as the Xilinx Virtex-7 or the Altera Stratix 5 have come to rival corresponding ASIC and ASSP solutions by providing significantly reduced power usage, increased speed, lower materials cost, minimal implementation real-estate, and increased possibilities for re-configuration ‘on-the-fly’. Where previously a design may have included 6 to 10 ASICs, the same design can now be achieved using only one FPGA.

Advantages of FPGAs include the ability to re-program in the field to fix bugs, and may include a shorter time to market and lower non-recurring engineering costs. Vendors can also take a middle road by developing their hardware on ordinary FPGAs, but manufacture their final version as an ASIC so that it can no longer be modified after the design has been committed.

Xilinx claims that several market and technology dynamics are changing the ASIC/FPGA paradigm:

  • Integrated circuit development costs are rising aggressively
  • ASIC complexity has lengthened development time
  • R&D resources and headcount are decreasing
  • Revenue losses for slow time-to-market are increasing
  • Financial constraints in a poor economy are driving low-cost technologies

These trends make FPGAs a better alternative than ASICs for a larger number of higher-volume applications than they have been historically used for, to which the company attributes the growing number of FPGA design starts (see History).

Some FPGAs have the capability of partial re-configuration that lets one portion of the device be re-programmed while other portions continue running.

Complex programmable logic devices (CPLD):

The primary differences between CPLDs (complex programmable logic devices) and FPGAs are architectural. A CPLD has a somewhat restrictive structure consisting of one or more programmable sum-of-products logic arrays feeding a relatively small number of clocked registers. The result of this is less flexibility, with the advantage of more predictable timing delays and a higher logic-to-interconnect ratio. The FPGA architectures, on the other hand, are dominated by interconnect. This makes them far more flexible (in terms of the range of designs that are practical for implementation within them) but also far more complex to design for.

In practice, the distinction between FPGAs and CPLDs is often one of size as FPGAs are usually much larger in terms of resources than CPLDs. Typically only FPGAs contain more complex embedded functions such as adders, multipliers, memory, and serdes. Another common distinction is that CPLDs contain embedded flash to store their configuration while FPGAs usually, but not always, require external nonvolatile memory.

Applications:

An FPGA can be used to solve any problem which is computable. This is trivially proven by the fact FPGA can be used to implement a soft microprocessor, such as the Xilinx MicroBlaze or Altera Nios II. Their advantage lies in that they are sometimes significantly faster for some applications because of their parallel nature and optimality in terms of the number of gates used for a certain process.

FPGAs originally began as competitors to CPLDs to implement glue logic for PCBs. As their size, capabilities, and speed increased, they took over additional functions to the point where some are now marketed as full systems on chips (SoC). Particularly with the introduction of dedicated multipliers into FPGA architectures in the late 1990s, applications which had traditionally been the sole reserve of DSPs began to incorporate FPGAs instead.

Another trend in the use of FPGAs is hardware acceleration, where one can use the FPGA to accelerate certain parts of an algorithm and share part of the computation between the FPGA and a generic processor.

Traditionally, FPGAs have been reserved for specific vertical applications where the volume of production is small. For these low-volume applications, the premium that companies pay in hardware costs per unit for a programmable chip is more affordable than the development resources spent on creating an ASIC for a low-volume application. Today, new cost and performance dynamics have broadened the range of viable applications.

Common FPGA Applications:

  • Aerospace and Defense
    • Avionics/DO-254
    • Communications
    • Missiles & Munitions
    • Secure Solutions
    • Space
  • Audio
    • Connectivity Solutions
    • Portable Electronics
    • Software-Defined Radio
    • Digital Signal Processing (DSP)
    • Speech Recognition
  • Automotive
    • High Resolution Video
    • Image Processing
    • Vehicle Networking and Connectivity
    • Automotive Infotainment
  • Bioinformatics
  • Broadcast
    • Real-Time Video Engine
    • EdgeQAM
    • Encoders
    • Displays
    • Switches and Routers
  • Consumer Electronics
    • Digital Displays
    • Digital Cameras
    • Multi-function Printers
    • Portable Electronics
    • Set-top Boxes
    • Flash Cartridges
  • Data Center
    • Servers
    • Security
    • Hardware security module 
    • Routers
    • Switches
    • Gateways
    • Load Balancing
  • High Performance Computing
    • Servers
    • Super Computers
    • SIGINT Systems
    • High-end RADARs
    • High-end Beam Forming Systems
    • Data Mining Systems
  • Industrial
    • Industrial Imaging
    • Industrial Networking
    • Motor Control
  • Integrated Circuit Design
    • ASIC Prototyping
    • Computer Hardware Emulation
  • Medical
    • Ultrasound
    • CT Scan
    • MRI
    • X-ray
    • PET
    • Surgical Systems
  • Scientific Instruments
    • Lock-in amplifiers
    • Boxcar averagers
    • Phase-locked loops
    • Radio Astronomy
  • Security
    • Industrial Imaging
    • Secure Solutions
    • Hardware security module 
    • Image Processing
  • Video & Image Processing
    • High Resolution Video
    • Video Over IP Gateway
    • Digital Displays
    • Industrial Imaging
    • Computer Vision
  • Wired Communications
    • Optical Transport Networks
    • Network Processing
    • Connectivity Interfaces
  • Wireless Communications
    • Baseband
    • Connectivity Interfaces
    • Mobile Backhaul
    • Radio

Chinna

MechGIN: A platform for all Engineering students who are unknown about technical study of the engineering. Here the site provides you full current affairs in scientific education role of your studies.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInPinterestGoogle PlusYouTube

No Comments Yet

Leave a Reply

Your email address will not be published. Required fields are marked *

Facebook

Get the Facebook Likebox Slider Pro for WordPress
HTML Snippets Powered By : XYZScripts.com