element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Blog Comparing an FPGA to a Microcontroller, Microprocessor or an ASIC
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: rscasny
  • Date Created: 22 Feb 2018 7:43 PM Date Created
  • Views 18905 views
  • Likes 15 likes
  • Comments 9 comments
  • fpga vs microcontroller
  • asic
  • fpga
  • microcontroller comparison
  • microcontroller
  • fpga comparison
Related
Recommended

Comparing an FPGA to a Microcontroller, Microprocessor or an ASIC

rscasny
rscasny
22 Feb 2018

A Field Programmable Gate Array or FPGA is an integrated circuit that could contain millions of logic gates that can be electrically configured to perform a certain task. But how does an FPGA compare to a microcontroller, microprocessor or an application specific IC?.

 

Microcontroller vs FPGA: The structure of a microcontroller is comparable to a simple computer placed in a single chip with all of the necessary components like memory and timers embedded inside. It is programmed to do some simple tasks for other hardware. The very basic nature of FPGAs allows it to be more flexible than most microcontrollers. The term field programmable already tells you that the whole FPGA device can be reprogrammed to do any logic task that can be fitted into the number of gates that it has. The flexibility of FPGAs comes at a price because they consume more power than typical microcontrollers, making them unsuitable for applications where power drain is an issue. Making an FPGA function in a certain role would also take a lot longer compared to microcontrollers because you would have to write all the code from scratch and convert it to machine language. With microcontrollers, you can buy packages that are geared towards a certain task and just program them to your exact specification relatively quikly.

 

Microprocessor vs FPGA: A microprocessor is a simplified CPU or Central Processing Unit. It executes a program that contains a specific set of instructions. The main difference between FPGAs and microprocessors is the complexity. Although both vary in complexity depending on the scale, microprocessors tend to be more complex than FPGAs. This is because of the various processes already implemented in it. Microprocessors already have a fixed set of instructions, which the programmers need to learn in order to create the appropriate working program. Each of these instructions has their own corresponding block that is already hardwired into the microprocessor. An FPGA doesn’t have any hardwired logic blocks because that would defeat the field programmable aspect of it. An FPGA is laid out like a net with each junction containing a switch that the user can make or break. This determines how the logic of each block is determined. Programming an FPGA involves learning HDL or the Hardware Description Language; a low level language that some people say to be as difficult as assembly language. The development and drop in price of semiconductors and electronics in general has slowly blurred the lines between FPGAs and microprocessors by literally combining the two in a single package. This gives the combined package a lot more flexibility. The microprocessor does most of the actual processing but it passes off the more specific tasks to an FPGA block. This lets you obtain the best of both worlds. The microprocessor can handle the general tasks while custom FPGA blocks give you the ability to incorporate unique blocks. Microprocessors are more complex than FPGAs. Microprocessors have fixed instructions while FPGAs don’t. FPGAs and microprocessors are often mixed into a single package.

 

ASIC vs FPGA: Field Programmable Gate Arrays (FPGAs) and Application Specific Integrated Circuits (ASICs) provide different values to designers, and they must be carefully evaluated before choosing any one over the other. Information abounds that compares the two technologies. While FPGAs used to be selected for lower speed/complexity/volume designs in the past, today’s FPGAs easily push the 500MHz performance barrier. With unprecedented logic density increases and a host of other features, such as embedded processors, DSP blocks, clocking, and high-speed serial at ever lower price points, FPGAs are a compelling proposition for almost any type of design. The FPGA design flow eliminates the complex and time-consuming floorplanning, place and route, timing analysis, and mask / re-spin stages of the project since the design logic is already synthesized to be placed onto an already verified, characterized FPGA device. However, when needed, Xilinx provides the advanced floorplanning, hierarchical design, and timing tools to allow users to maximize performance for the most demanding designs. ASICs (Application Specific Integrated Circuits) are specific chips (as the name suggest) used to implement both analog and digital functionalities in high volume or high performance. ASICs are full custom therefore they require higher development costs in order to design and implement (NRE). Moreover, unlike the FPGAs chips, they are not reprogrammable and therefore a change requires again NRE payment. On the other side, however, ASICS are much denser, and one can integrate several different functionalities into one chip and therefore offer small size, low power and low cost solution.

 

FPGA DESIGN

Advantage

Benefit

Faster time-to-market

No layout, masks or other manufacturing steps are needed

No upfront non-recurring expenses (NRE)

Costs typically associated with an ASIC design

Simpler design cycle

Due to software that handles much of the routing, placement, and timing

More predictable project cycle

Due to elimination of potential re-spins, wafer capacities, etc.

Field reprogramability

A new bitstream can be uploaded remotely

 

ASIC DESIGN

Advantage

Benefit

Full custom capability

For design since device is manufactured to design specs

Lower unit costs

For very high volume designs

Smaller form factor

Since device is manufactured to design specs

Table 1: FPGA vs. ASIC Design Advantages

  • Sign in to reply

Top Comments

  • johnbeetem
    johnbeetem over 7 years ago +7
    As Gene said above: interesting comparisons. Personally, I don't think programming an FPGA in a good hardware-description language (HDL) is inherently more difficult than programming a microprocessor in…
  • genebren
    genebren over 7 years ago +5
    Interesting comparisons. You could build either a microcontroller or microprocessor from a FPGA, but you could not build a FPGA from either a microcontroller or microprocessor. ASICs are like one-time…
  • DAB
    DAB over 7 years ago +5
    Nice post. There were many times in my career where I wish we had access to either of these devices. There were many times when we needed a unique logic circuit to fit into a small area of a circuit board…
  • permission
    permission over 3 years ago in reply to permission
    I know a microprocessor is an Integrated Circuit. But by definition, a circuit comprises various electrical components like resistors, and capacitors while a system comprises subsystems. How is a microprocessor a circuit when it has different subblocks like registers and ALU blocks? Please help
    looking for the quick response
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • permission
    permission over 3 years ago
    I know microprocessor is an Integrated Circuit. But by definition a circuit comprises of various electrical components like resistors, capacitors while a system comprises of subsystems. How is microprocessor a circuit when it has different sub blocks like registers, ALU block. Please help
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • 181818
    181818 over 4 years ago

    Discuss and Compare FPGA, Microprocessors and GPU

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • johnbeetem
    johnbeetem over 7 years ago in reply to 14rhb

    14rhb  wrote:

     

    On a similar topic, that may prove useful for some designers; there are microcontrollers that also include a small amount of configurable logic; the ones I have used were Microchip PIC range with their Configurable Logic Cells (CLC). Although these can only provide a similar capability to a basic PAL they are very useful for pre/post processing signals for the ucontroller e.g. glue logic. I'm sure the other manufacturer's do something similar and in differeing levels of complexity.

    This sort of logic can be very useful, and can often eliminate the need for a programmable logic device.  Sometimes you only need a little bit of glue logic.  Each year fewer applications really need an FPGA instead of just a microcontroller.

     

    The Cypress PSoCs also provide a small amount of logic.  The PSoC 4200 is very cost effective.  Too bad their software only runs on Windows.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • 14rhb
    14rhb over 7 years ago in reply to genebren

    "but you could not build a FPGA from either a microcontroller or microprocessor"

     

    On a similar topic, that may prove useful for some designers; there are microcontrollers that also include a small amount of configurable logic; the ones I have used were Microchip PIC range with their Configurable Logic Cells (CLC). Although these can only provide a similar capability to a basic PAL they are very useful for pre/post processing signals for the ucontroller e.g. glue logic. I'm sure the other manufacturer's do something similar and in differeing levels of complexity.

     

    Rod

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube