|
DSP to ASIC conversion refers to the process of moving from a software based design utilizing a DSP processor to a dedicated ASIC which increases performance by several orders of magnitude.
Comparison of ASIC DSP versus SW DSP:
Pros:
1) Reach performance that is either impossible with a DSP processor or that would require an array of DSP processors with a single efficient chip.
2) Reduce system power consumption.
3) Performance is typically scalable.
4) IP security is inherent.
5) Combine the DSP algorithm with all the external logic that typically requires extra chips (e.g. FPGA).
Cons:
1) For next generation products relying on legacy technology, the move requires some engineering effort in order to "port" the legacy design.
2) Final product is less flexible.
Comparison of ASIC DSP conversion versus traditional hand coded ASIC:
Pros:
1) Rapid Prototyping. Faster by a factor of 3 at least.
2) Risk is considerably reduced.
-
After the product is finalized, the KaiSemi FPGA to ASIC flow is utilized and a drop-in replacement ASIC chip is available shortly. In contrast, a typical RTL ASIC flow is very complicated and hazard prone.
3) Ability to test various algorithms before committing is much simpler.
-
Since the algorithm is written in ANSI C complaint code, it is fairly easy to change and retest. Efficient hand coding is usually not very tolerant to changes, and every small change might require a re-design.
4) Time from prototype to chip in hand is reduced significantly using the streamlined KaiSemi proprietary FPGA to ASIC conversion flow.
Cons:
1) Hand coded ASIC might be slightly more efficient. Typically by 5%-20%.
DSP to ASIC conversion flow:
The conversion flow consists of an FPGA prototype, which implements the algorithm required on a development board, and then converting it to an ASIC.
The process of getting to an FPGA prototype is typically comprised of:
• Analyzing the algorithm and finding which points could benefit most from parallelization.
• Writing the algorithm in ANSI C, using Impulse CoDesigner tool libraries.
• Testing the algorithm correctness in SW.
• Compiling the algorithm to HW RTL.
• Optionally, compiling the SW test bench to HW RTL and run it through an RTL simulator.
• Using selected wrappers to connect physical interfaces to HW algorithm.
• Synthesizing and testing the algorithm in FPGA.
|