Forum Discussion
Altera_Forum
Honored Contributor
14 years agoPro& Cons using FPGA???
Hello everyone, Can someone pointed out to me what are the pros and cons using fpga compare to microcontroller? What I know is fpga execute our program in paralel order and uc execute the progra...
Altera_Forum
Honored Contributor
14 years agoActually, there are µCs with dedicated PWM hardware which can achieve timings not achievable with an FPGA.
Anyway, FPGAs are re-configurable logic devices. They contain thousands of basic digital blocks. These blocks, and the way they are connected, can be configured to behave as any digital chip you can think off. Then can be.. whatever you can build blocks within a FPGA. Which is a lot. An FPGA can be configured to be a CPU, a µC, a USB controller, a UART, the chip you'd like to have but doesn't exist, etc. However, compared to dedicated chips, FPGAS are expensive, slow, have high power consumption, tend to require more components and other stuff. So, good reasons to use a FPGA: - There's no decent chip in the market that fits your needs and you can't afford to design your own. - There's no decent chip in the market that fits your needs and you don't have the time to design your own. - You could use some existing chips but it's cumbersome or poor performing. - You need the flexibility to reconfigure your system. So, a more practical example. Once upon a time, we needed to control a bunch of I2C ADCs and DACs, Since we were running out of address space, we decided to use multiple I2C buses. Since we couldn't find any µC with enough I2C masters, we used an FPGA and implemented a design with a 8051 µC and several I2C masters to fit our needs. Problem solved.