CPU vs DSP vs FPGA | Difference between CPU,DSP,FPGA

This page compares CPU vs DSP vs FPGA and describes difference between CPU,DSP and FPGA.

CPU-Central Processing Unit

8085 CPU

The figure-1 depicts 8085 CPU architecture.
Refer CPU Architecture➤.

DSP-Digital Signal Processor

DSP inside

The figure-2 depicts DSP architecture.
Refer DSP Architecture➤.

FPGA-Field Programmable Gate Array


The figure-3 depicts FPGA Architecture.
Refer FPGA Architecture➤.

Following table-1 mentions difference between CPU and FPGA.

Specifications CPU FPGA
Computation Fixed arithmetic engines User configurable logic
I/O Fixed and dedicated I/O ports User configurable I/O ports
Programmability Program execution Registers will determine modes and also defines operating parameters.
Ease of programming C simplifies development tasks, not required to be worried about hardware. HDL requires knowledge of hardware
Upgrades and maintenance less difficult more difficult
Execution Sequential parallel
Throughput lower higher
Complex algorithm implementation Easy Difficult
Peripherals Equipped with peripherals with RS232, USB, Ethernet etc. Significant HW and SW effort is needed to implement these on FPGA chip.
Appropriate tasks • decision making
• complex analysis
• lower data rate computation
• block oriented tasks
• compute intensive algorithms
• massively paralle operations
• high data rate computation
• streaming tasks

Following table-2 mentions difference between DSP and FPGA.

Specifications DSP FPGA
Application as per sample rate Standalone DSP chips provide cost effective solution at few KHz of sample rate. FPGA is best suitable for sample rates are in few MHz.
Data rate For low data rates extra cycles are available and hence DSP is not bandwidth limited. FPGA is easier and efficient to implement when I/O rates are greater than few Mbytes/sec.
Data width/precision No limitation if data width is same as bus width of processor. Moreover there is no room for bit growth in the DSP algorithms. Suitable for high precision/high data width as it has uniform parallel structure.
Implementation of decision trees or conditional branches. DSPs are ideal. FPGAs are not suitable. These tasks can be done with the use of embedded cores or microBlaze.

Useful Links

Refer our Page on what a microcontroller does.
Refer our Page on microcontroller programming using C language including example.
Refer our Page on microcontroller development kit manufacturers.
RS232 interface   RS485 interface   RS422 interface   CAN interface   SPI interface   interface types and converters   DigRF interface 

What is Difference between

difference between FDM and OFDM
Difference between SC-FDMA and OFDM
Difference between SISO and MIMO
Difference between TDD and FDD
Difference between 802.11 standards viz.11-a,11-b,11-g and 11-n
Bluetooth vs zigbee
Fixed wimax vs mobile
wibro vs mobile wimax

RF and Wireless Terminologies