Field Programmable Gate Arrays (FPGAs) are large scale runtime programmable logic devices.  They typically include hundreds of customizable I/O pins that offer various voltage signaling  standards (e.g., LVDS, LVTTL, etc.), millions of user definable logic gates and latches, embedded RAM usable for Dual Port or FIFO functions, and fixed hardware functions such as optimized multipliers. 

The MityDSP CPU engines leverage FPGA technology to provide flexibility to meet your application with minimal support hardware or infrastructure.   FPGA I/O can be tailored to interface to whatever digital interfaces your embedded application requires.  In addition, the FPGA gate hardware and multipliers can be used to offload intensive signal processing operations from the DSP CPU (e.g., FIR or IIR filtering, FFT processing, etc.). 

The MityDSP CPU Engines marry a TI digital signal processor (DSP) to an FPGA through a high speed memory interface.  Custom interface logic is then routed through the FPGA to the DSP through this bus interface.  The interface logic resident in the FPGA is modular and makes up part of a MityDSP interface core (see the Framework Overview).    This removes common limitations design engineers encounter when selecting normal processor engines: 

  • Don't have quite enough I/O triggers on that MicroProcessor?  Pop a GPIO core in the FPGA and pick MityDSP.
  • Need 4 UARTs instead of the 2 available on Processor XYZ?  Add 4 UART cores to the FPGA and pick MityDSP.
  • Realize that you needed an I2C device?  Add an I2C core to the FPGA and pick MityDSP.
  • Want to interface to a custom ADC and integrate a FIFO?  Put your core in the FPGA and pick MityDSP.
  • Need to do a pile of signal processing but don't want to buy an Pentium SBC?  Put it in the FPGA and pick MityDSP.
  • Need timing precision accurate to a system clock?  Put it in the FPGA and pick MityDSP.

The scenarios are endless; none of them require changing your underlying CPU platform when you use MityDSP.  Have a design that needs to grow but your not sure what interfaces you'll need a year from now?  No problem.  You can update your FPGA code with the rest of your application in system FLASH at any time.   You can even store multiple configurations and select your application at runtime.