Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

FPGA Vs Microcontrollers

Status
Not open for further replies.

ravibg

Junior Member level 1
Junior Member level 1
Joined
May 10, 2004
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
148
fpga vs microcontroller

If i can build a system X using

a) A Microcontroller
b) FPGA

what should i go for and why?
 

IanP

Advanced Member level 7
Advanced Member level 7
Joined
Oct 5, 2004
Messages
7,929
Helped
2,311
Reputation
4,624
Reaction score
531
Trophy points
1,393
Location
West Coast
Activity points
66,416
microcontroller vs fpga

These two have been created to perform different tasks.
Microcontroller will give you freedom..
FPGA you can treat as part of microcontroller; it allows you to performe certain logic funtions but if you would like to perform mathematical calculations, communicate with other devices (serial, I2C, etc..) and so on the choice is microcontroller.
 

cawan

Full Member level 2
Full Member level 2
Joined
Dec 28, 2002
Messages
135
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,298
Activity points
1,306
fpga vs microprocessor

FPGA is mainly for programmable logic but microcontroller is mainly for hardcore processing. Microcontroller is running sequencially regardless of how fast the controller is. In digital signal processor, the hardcore would enhance the harward architecture by increasing pipelining to certain level of parallel instruction processing. Instead, FPGA is totally hardware based programmable. The parallel processing in FPGA is not depends to the pipelining, but it is hardware based parallel architecture. For general application, microcontroller is good enough for system implementation. However, in some critical arimethic processing such as dsp algo would need real-time processing that is time critical. In this case, FPGA would be the best solution.
 

TheLizard

Junior Member level 2
Junior Member level 2
Joined
Oct 21, 2004
Messages
22
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
232
fpga vs microcontrollers

With some of the newer FPGAs, you can get microprocessor "cores". Load one or more of these on an FPGA and now you've got a microprocessor that you can add extra logic to or have an FPGA running multiple processors.
 

maizic

Junior Member level 3
Junior Member level 3
Joined
Aug 17, 2004
Messages
28
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,283
Activity points
172
fpga vs. microcontroller

ravibg said:
If i can build a system X using

a) A Microcontroller
b) FPGA

what should i go for and why?


It's decided by what you need, but what you should?
 

djalli

Advanced Member level 3
Advanced Member level 3
Joined
Nov 10, 2001
Messages
825
Helped
31
Reputation
62
Reaction score
15
Trophy points
1,298
Location
1600 Pennsylvania Avenue, Washington DC 20500
Activity points
8,284
fpga versus microcontroller

People here mentioned features, timing required for implementation, and characterized them especially cawan gave a very good insight.

What I would like to mention is "the price , the cost". If you system X ravibg, assuming speed issues etc... are resolved, can be built just using microcontrollers (see cawan explanation) it will be cheaper building it with microcontrollers rather than using FPGA's. Right?

Do not forget boys and girls: Money is common denominator in the world and engineers help business and society.
 

ravibg

Junior Member level 1
Junior Member level 1
Joined
May 10, 2004
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
148
microprocessor vs fpga

I would also like to know if there is a system with FPGA and microcontrollers integrated together.

I heard the new servers which can handle both Optical and electrical signals are built with just FPGA's .
 

samcheetah

Advanced Member level 2
Advanced Member level 2
Joined
May 25, 2004
Messages
645
Helped
39
Reputation
78
Reaction score
10
Trophy points
1,298
Location
Pakistan
Activity points
6,916
microcontroller vs. fpga

you could take a microcontroller core and make it on an FPGA. you could use an AVR core on an FPGA. FPGAs could contain a multitude of things at the same time. the bigger ones can even have two PowerPC microprocessors running at the same time in the same FPGA.
 

    V

    Points: 2
    Helpful Answer Positive Rating

niks

Full Member level 3
Full Member level 3
Joined
Mar 18, 2002
Messages
189
Helped
2
Reputation
4
Reaction score
0
Trophy points
1,296
Activity points
1,386
avr fpga

I think if you are working on low power design then micro-controller is the best. Second advantage is readily available and tested building blocks like ADC,Timers,DMA,UART. Nowdays low power FPGA's also available but you need to spend lots of time on optimization.
But FPGA wins when it comes to complex algorithms,DSP calculations.
 

adro

Junior Member level 1
Junior Member level 1
Joined
Mar 5, 2002
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
64

maharshi_qis

Full Member level 5
Full Member level 5
Joined
Feb 14, 2007
Messages
240
Helped
13
Reputation
26
Reaction score
6
Trophy points
1,298
Activity points
2,462
fpga vs. microcontrollers

it depends on the application,flexxibility of future modifications,cost,speed and many other factors..
 

86412022

Newbie level 1
Newbie level 1
Joined
Mar 2, 2010
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,284
I am a student and work on implementing arifiticial intelligence on fpga
i want to know what's adventags fpga versuse microprocessor in this case?
 

karesz

Advanced Member level 5
Advanced Member level 5
Joined
Apr 13, 2008
Messages
2,328
Helped
327
Reputation
654
Reaction score
52
Trophy points
1,328
Location
EU
Activity points
14,591
Hi,
In this case (& every time) you can implement your special needed micro, AND CHANGE IT in ACCORDANCE your NEWER NEEDs:)... Reconfigurability is a super bonus.
K.

Added after 1 hours 14 minutes:

I received exactly yet this actuellst script:
Tabula introduces 3-dimensional Spacetime programmable logic architecture, w*w.electronics-eetimes.com/en/tabula-introduces-3-dimensional-spacetime-programmable-logic-architecture.htm...id=222900735&vID=120
 

RodSTAR

Newbie level 5
Newbie level 5
Joined
Oct 12, 2007
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,337
FPGA's are merely logic multithreading realtime processing chips. For example, a microcontroller features certain set of peripherals like UART, SPI, PWM, Timers, and so on, and they are limited to it. Unless microcontrollers, FPGA don't feature built-in peripherals, instead, peripherals can be logically programmed. That's the power, FPGA are raw logic gates, that means you can make them do anything. For example, programmed to run like being a 1 UART chip, like a 100 channel PWM generators, 20 channel UART controller + 10 ethernet, 40 timers, even you can program it to emulate a whole microcontroller or several microcontrollers in a single chip. (depending on quantity of gates available)

In fact FPGA's are often used in PCI bus cards to perform high speed time critical specialized tasks a microcontroller would just couldn't afford due to it's architecture.


Unless microcontrollers, FPGA don't run on a core, FPGA run multithreaded cores.
That's why FPGA are used for time critical applications like:
-realtime multi motor control (period generators) for cnc, robotic arms, in general terms, any multi-axis (multi-motor) precision application.
-Any parallel processing application.

rod.-
 

RetroTechie

Full Member level 5
Full Member level 5
Joined
Oct 20, 2011
Messages
290
Helped
65
Reputation
132
Reaction score
64
Trophy points
1,308
Location
Hengelo, the Netherlands
Activity points
4,226
FPGA's are good at processing lots of relatively simply logic operations in parallel, at high speed. Think of processing digital audio or video streams, pre-processing sensor output, filtering lots of data in scientific projects, specialized cryptography tasks, prototyping logic circuits, etc.

µcontrollers are good at tasks that are relatively slow, but complex (lots of steps / operations, different methods used depending on input, etc). Like a user interface for a household appliance, motor control, steering an industrial robot, controlling a communication terminal, etc.

Usually a µcontroller will be more energy-efficient than a FPGA, as long as the task is relatively simple and low-speed. FPGA's have the advantage when there's mountains of data (like in many places these days), that need to be processed in a more-or-less constant way.

You can 'emulate' a real CPU on a FPGA, some FPGA's have a CPU built in as fixed silicon, there exist systems-on-chip where FPGA logic is stuck onto a CPU. So mix & match as required... :)
 

bobsanjose

Advanced Member level 1
Advanced Member level 1
Joined
Jan 13, 2006
Messages
416
Helped
56
Reputation
112
Reaction score
21
Trophy points
1,298
Location
Silicon Valley
Activity points
5,228
Although this is a really old thread, I feel compelled to post a brief response to "RetroTechie's" excellent contribution.
Usually a µcontroller will be more energy-efficient than a FPGA, as long as the task is relatively simple and low-speed. FPGA's have the advantage when there's mountains of data (like in many places these days), that need to be processed in a more-or-less constant way.

I think it is fair to say that a typical modern MCU will use less current than a typical FPGA. Is the MCU more energy efficient? I doubt it. it takes a very short time to run some logic through an FPGA. Emulating this in an MCU takes hundreds of times longer, hence the energy to execute a certain digital functionality might be a lot better on the FPGA.

You can 'emulate' a real CPU on a FPGA, some FPGA's have a CPU built in as fixed silicon, there exist systems-on-chip where FPGA logic is stuck onto a CPU. So mix & match as required... :)

There are a couple architectures out there that do more than emulate a CPU. If you check out Smart Fusion from Microsemi, it combines a Cortex-M3 with a small FPGA and analog components on one chip while the PSoC 5 from Cypress combines a Cortex-M3, PLD-like digital logic and even better analog functionality on the PSoC devices.
If freely available logic gates are the priority Smart Fusion might be the way to go, if higher integration of analog features is more important I would opt for PSoC 5 which has a 20-bit Delta-Sigma ADC, a 12-bit SAR ADC, OpAmps,comparators and more.

If somebody needs limited digital programmability, the analog features a typical MCU offers (or better) and the convenience of having an MCU to program, check out the SmartFusion and the PSoC 5.
Bob
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top