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 and Microcontroller

Status
Not open for further replies.

WR

Junior Member level 1
Joined
Feb 24, 2005
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,392
Hi,
Which one is better in performance FPGA or Microcontroller?
 

What do you want to do?
 

I'm designing a real traffic light Controller..
I'm just asking what is the advange of using FPGA?
 

Microcontroller = Software implementation

FPGA = truely hardware (like an ASIC)

But nowadays we use FPGA's to implement softcore MPU's (or multiple MPU's).

We can write dedicated hardware on the FPGA (USB core, true parallel processing, ...) if we want to do this with a Microcontroller we need an extra ASIC on the PCB.


So the conclusion is: the FPGA can be used more as an PSoC (Programmable System on Chip - Hardware and Software). You can see it as a whole solution on 1 chip... (there are limitations of course)
 

A traffic light controller sounds like the job for a simple low-cost microcontroller, unless your goal is to learn FPGA design.

An FPGA can give extremely high performance if you design a parallel processing algorithm that takes advantage of the FPGA's architecture. If you simply drop a microprocessor core into the FPGA, then you will get mediocre microprocessor performance.

If you need to combine a microprocessor with other custom logic onto one chip, then an FPGA could be a useful system-on-a-chip, as mobile-it suggested.

It's more difficult to design a PC board for a modern FPGA than for a microcontroller such as PIC or AVR.
 

Hardware point of view:-
With the help of FPGA you can implement the same if you want to reduce your hardware components on board.

Other way you have to interface all peripherals with uC or uP to design the same design.

Price:- FPGA would be costlier than uC/uP but easy to implement.
 

Thanks for the reply...I have used FPGA in many design projects .. I agree that it is easy to implement the design using FPGA and it will reduce the hardware components... but at the end it is just as a demo on the FPGA kit, and as echo47 said it is difficult to implement FPGA on PC board, at the same time it is costly..so what is the benift of using FPGA..espcially if will do the design for production ... not just as a senior project.
 

hi !
let us suppose we designed our FPGA as a microcontroller. then can we use that FPGA designed based microcontroller similar to that of ordinary uc(8051 etc) for some specific applications? if so how ? do we require any kind of interface between the FPGA and the user for programming the micro controller? plz help me in detail

thanks and regards
deepak
 

How many inputs and outputs does the traffic controller require? Are the sensors and lamps simple binary signals, or does the controller require fancy interfaces such as video cameras and data communication links to other controllers along the street?

Many different microprocessor cores are available for use in an FPGA. Some are free, some cost money. Each one has a different method of assembling or compiling the code and merging it into your FPGA project. Here is a collection of free microprocessor cores:
https://www.opencores.org/browse.cgi/filter/category_microprocessor
 

Hi Echo47,

Thanks for your reply again..I have a total of 26 I/O..which will need some interfaces in the future...at the moment I'm testing it with LEDs.
Also there will be a vedio camera, and a link to other controllers along the street.

Thanks.
 

Dear,
from the speed point of view , the FPGA is very fast than a microcontroller dur to the following reasons:
1- The MC needs to read an instruction first from the flash memory.
2- The MC d\executes these instructions sequentially.
whereas, the FPGA does not need to read instuctions from another place as it will be implemented on its self.
2- It can execute your program in paralle, and even if the program is sequential, it does not take a clock cycle for each instruction as for the microcontroller.
Regards, Hammuda
 

Before selecting a controller type, be sure you understand approximately how to talk to each of those 26 I/O devices. The video camera and communications link could be complex. Depending on those details, a $10 microcontroller could be fine, or it could be hopelessly inadequate.

If you make a terrible mistake such as "oh-no, this interface needs to run 50 times faster!", then you will probably have a better chance of rescuing the project if you used an FPGA instead of a microcontroller. Another technique is to select an FPGA that's big enough for the job, but has a bigger-brother available in the same package footprint, just in case you need it!
 

Well, according to "Design to Warrior's Guide to FPGA : Clive Maxfield" ... If you need response times of the order of nano or micro seconds, you have to use FPGAs or for even faster circuits, you need ASICs.

Otherwise, if micro or even milli second order delays are allowable...its better to use microcontrollers/microprocessor.

Here, thus it would be better to use microcontroller b/c implementing the same thing on FPGA would take much more time. It would require behavioral modelling, gate-level modelling and then implementation.
 

use a cyclone series fpga, wih nios soft processor
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top