Introduction
There are several producers of DSPs: Analog Devices and Texas Instruments are the two market leaders. Both feature extensive market segmentation, producing DSPs for very specific applications, such as Video and Imaging, Audio, Telecom, and Control. In-depth technical support is provided in the form of Integrated Development Environments (IDE) and Development Platforms. Analog Devices's Blackfin Processor is among the more well known. Blackfin provides a Reduced Instruction Set Computer instruction set (RISC) with both microcontroller and digital signal processing components. Analog Devices argues that "the Blackfin processor can act as 100% MCU [microcontroller], 100% DSP, or a combination of the two.
Part of the reason Blackfin processors in particular have high performance marks is that all the internal memory of the DSP is L1, thus running all the memory at the core clock rate. However, this high performance comes at a cost of the highest in-class power usage, requiring nearly 100% more power than the second most power-hungry DSP. However, Blackfin Processors are extremely cheap, on the order of $5 per unit in a 10K order.
In the FPGA market, there are two leading companies, Xilinx and Altera. Other companies specialize in market niches, such as Lattice Semiconductor (low-cost). Altera provides a white paper on comparisons between Xilinx FPGAs and Altera FPGAs within the domain of digital signal processing, noting that the cost of Altera FPGAs is an order of magnitude cheaper than some traditional DSP processors.
Our investigation focused on a Xilinx Virtex-4, one of the more recent FPGA entries to the market, and the Analog Devices Blackfin, an older (3-4 years) DSP. The following chart shows the basic comparisons.
^ TOPComparison Criteria
The following criteria can be compared: Price, Performance, Power Supply, Flexibility, and Implementation Time. The most important factor in making a decision will usually be the comfort level from previously using either a DSP or a FPGA.
In a not-previously-scripted coincidence, we have a tie! Of course, one of these factors will weigh more heavily on the decision to go the FPGA or DSP route. And as the cost of FPGAs continues to decrease, the competition will only get tighter.
^ TOPUsing a DSP
As mentioned above, DSPs can accept C/C++ or assembly as software inputs. Depending on the application, the DSP is connected to the primary processor through peripheral chips or flash memory. Integrated Development Environments are usually available through the vendor or a third-party support company. A substantial amount of source code also exists from vendors.
^ TOPUsing a FPGA
Generally, FPGAs are programmed using a hardware description language such as Verilog or VHDL (Very High Speed Integrated Circuit Hardware Description Language). Once the code is completed, a netlist is generated, which lists all components that are connected to each other, as well as connections to power and ground. Then, the FPGAs proprietary software will determine which logic blocks to use for each part of the program and optimize this. The user should check that this place and route makes sense. From this, a binary file is generated (also usually done by the FPGA software). This is fed into the FPGA in the power-on or configure state. One of three methods is used: a cable hooking up a computer to the FPGA input, or an on-board microcontroller, or a boot-PROM connected to the FPGA. This boot-PROM automatically configures the FPGA and is usually available from the FPGA vendor.