Not necessarilly. It really depends. A microcontroller (or microprocessor) will often times have a higher frequency, so it depends on the application. If the code is optimized for the processor, this will often times perform faster. The FPGA has the ability to do more in parallel, however this requires development time and due to the slower clock speed may still take longer.CPLD and FPGA are hardware connections, so when you need speed, fast data transfers, and few operations. When you need only few clock cycles to get a result, CPLD or FPGA are the best.
you would most likely want a DSP if it were math operations. DSPs can be found for almost as cheap as a uC (some even have uC built in).But, when you need more data procesing, like mathematical operations, data arrays, data sorting, or anything that don't need a too fast result, cause you can tolerate that result will be available many clock cycles later than input: Microcontroller is better than a CPLD cause is much more flexible.
I'm not sure what this means. But if you look at the architecture of a typical FPGA routing takes the most area followed by flip flops, logic elements take up the least area. I would dare to estimate that flip flops account for >25% of the area on the chip.A big CPLD has about only 256 Flipflops, or 256 bits. A small microcontroller has 1KB of memory for program.
mizel said:Some of these answers are a bit misleading.
Not necessarilly. It really depends. A microcontroller (or microprocessor) will often times have a higher frequency, so it depends on the application. If the code is optimized for the processor, this will often times perform faster. The FPGA has the ability to do more in parallel, however this requires development time and due to the slower clock speed may still take longer.CPLD and FPGA are hardware connections, so when you need speed, fast data transfers, and few operations. When you need only few clock cycles to get a result, CPLD or FPGA are the best.
The "hardware connections have little to do with it since a uC also has hardware connections. The difference is that the "hardware connections" in an FPGA can be modified.
Typically if you are performing math operations you will want a DSP. If you are performing control applications you will want a uC (unless you have specialized needs that require an FPGA). And if you are performing some specialize type of application you may need an FPGA.
you would most likely want a DSP if it were math operations. DSPs can be found for almost as cheap as a uC (some even have uC built in).But, when you need more data procesing, like mathematical operations, data arrays, data sorting, or anything that don't need a too fast result, cause you can tolerate that result will be available many clock cycles later than input: Microcontroller is better than a CPLD cause is much more flexible.
I'm not sure what this means. But if you look at the architecture of a typical FPGA routing takes the most area followed by flip flops, logic elements take up the least area. I would dare to estimate that flip flops account for >25% of the area on the chip.A big CPLD has about only 256 Flipflops, or 256 bits. A small microcontroller has 1KB of memory for program.
If you mean memory flip flops, Spartan 3s (a very popular FPGA) have between 12k-520k of memory (each bit of mem is a flip flop).
Hope i didn't make things worse...
Are there any sites/e-books related to this topic?
I would like to know when I have to use a softcore MCU in an FPGA or when we better use an MCU (hard-version).
mobile-it said:Where do you choose for a microcontroller and where do you opt for a softcore in a CPLD/FPGA?
can you give me some examples ?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?