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.

How much problem solving FPGAs are ?

Status
Not open for further replies.

fala

Full Member level 5
Joined
Sep 18, 2005
Messages
249
Helped
19
Reputation
38
Reaction score
4
Trophy points
1,298
Activity points
3,569
Hello, I'm completely alien to FPGA. for many years I have used microcontrollers in my digital designs and I never felt that there is anything that can't be done by MCUs and I have to use FPGA or DSP for that. I know there are specific designs like digital osciloscopes that are really impractical to implent without FPGAs but I mean for most routine digital designs how much necessary is to learn FPGAs. I'm completely familiar with 8bit MCUs (51, AVR,..) and I have designed many boards during many years with them. I have to design digital boards many of them have to communicate with computer and have some ADC and DACs. Now I want to spare some of my time to learn either DSP or FPGA but I'm not sure which one I will need the most. is there any document that explains practical problems that can be solved by FPGAs and compare it with development time using microcontrollers? or can someone that has experience in both fields kindly explain it to me?
thanks.
 

The main advantage of FPGAs is speed. In a microcontroller, you have only one processor so you can only make one decision at a time. In an FPGA, you can have multiple pieces of logic simultaneously making decisions.
For example, let us say that you want to turn off a output when two of three inputs go high. In addition, you need to perform three unrelated tasks. In a microcontroller, you would set up interrupts or poll each of the four tasks. This leads to response latency issues, because if the controller is doing another task, then there is a delay before turning off the output. In an FPGA, the monitoring of the three inputs is a separate piece of logic and reacts in real time. Whether this is required or not depends on the application. Thus for many things, FPGAs do not provide an advantage as small latencies can be tolerated.
DSP are even more specialized and I have never had a task that required them. If you want to branch out, I would suggest getting an FPGA demo board.
 

    fala

    Points: 2
    Helpful Answer Positive Rating
Agree with banjo, to say it in a simple way, FPGA offers real concurrency and parallel processing, because microcontrollers/microprocessors simulate this behaviour.
 

If you are doing digital signal processing, a modern FPGA is enormously faster, less expensive, and less power hungry than dedicated DSP or microprocessor chips. For maximum benefit, you need to design your signal processing algorithm to take advantage of the FPGA's parallel architecture.
 

    fala

    Points: 2
    Helpful Answer Positive Rating
Thanks for clarification, is it possible to convert programs that has been written in C for 8 bit MCUs to FPGA programs? And can someone give me a hint about learning curve of these creatures.
Thanks
 

FPGA design is digital logic design. That's very different thinking than programming a microprocessor in C. You need to understand counters, multiplexers, sequencers, state machines, accumulators, synchronous and combinatorial logic, timing issues, and other stuff like that. If you don't yet know digital logic design, you should learn it before tackling an FPGA project.

There are some software tools that try to convert C programs into FPGA logic, but the translation has many limitations. You can get much better results (faster performance and smaller size) by designing your FPGA logic using an HDL such as Verilog or VHDL. If you enjoy C programming, you will probably find Verilog easier to learn than VHDL.

Another approach, you can buy an inexpensive development kit from Xilinx or Al.tera (approximately $150 US), study the tutorial examples, and run them on the FPGA board. That should give you a taste of what you need to learn.
 

FPGA are also about integration ..if you need 20 chip besides a CPU ..well it can be all integrated in one FPGA
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top