DESIGNING HIGH PERFORMANCE DSP HARDWARE

  • 格式:pdf
  • 大小:3.63 MB
  • 文档页数:10

www.mentor.com/eslDESIGNING HIGH PERFORMANCE DSPHARDWAREUSING CATAPULT C SYNTHESIS AND THE ALTERAACCELERATED LIBRARIESOctober 2007

ABSTRACTToday’s class of high-performance FPGAs such as the Altera Stratix III provide design engineers with a

hardware platform that is capable of addressing the computational requirements needed to implement many ofthe next-generation wireless and video algorithms. Although these devices provide dedicated hardware toimplement the basic building blocks of digital signal processing (DSP) algorithms such as multiply-accumulate(MAC), designers still must meet the challenges of rapidly taking an algorithm from concept to implementationin RTL.

Historically, the design flow consisted of modeling the algorithm functionality in a high-level language such asC++ and then hand-coding it in RTL. This manual method of RTLcreation is not only time consuming and errorprone, but often is highly sensitive to back-end routing delay problems. Catapult High-level C++ synthesis hasprimarily been used to build ASIC hardware sub-systems found in extremely complex and compute intensiveapplications found in wireless, video and image processing. Combining Catapult’s ASIC capabilities with AlteraAccelerated Libraries provides designers with a rapid path from algorithms modeled in ANSI C++ to optimizedRTLrunning in FPGAhardware. Furthermore, this design flow allows users to directly target the FPGADSPblocks from C++, easily solving back-end timing problems using high-level synthesis constraints.

Authors:Mike Fingeroff Technical Marketing Engineer Mentor Graphics Corporation8005 SW Boeckman RoadWilsonville, OR 97070 USAPhone: +1 503-685-7000 mike_fingeroff@mentor.com

Thiagaraja Gopalsamy Supervising Member of Technical Staff Altera Corporation 101 Innovation Drive San Jose, CA95134Phone: +1 408-544-7000 tgopalsamy@altera.com

or contact your local sales representative

Mentor Graphics White Paper1www.mentor.com/esl

INTRODUCTIONToday’s class of high-performance FPGAs such as the

Altera Stratix III provide design engineers with ahardware platform that is capable of addressing thecomputational requirements needed to implementmany of the next-generation wireless and videoalgorithms. Although these devices provide dedicatedhardware to implement the basic building blocks ofdigital signal processing (DSP) algorithms such asmultiply-accumulate (MAC), designers still must meetthe challenges of rapidly taking an algorithm fromconcept to implementation in RTL.

Historically, the design flow consisted of modeling thealgorithm functionality in a high-level language suchas C++ and then hand-coding it in RTL. This manualmethod of RTLcreation is not only time consumingand error prone, but often is highly sensitive to back-end routing delay problems. Catapult High-level C++synthesis has historically been used to build ASIChardware sub-systems found in extremely complex andcompute intensive applications found in wireless,video and image processing. Combining Catapult’sASIC capabilities with\ Altera Accelerated Librariesprovides designers with a rapid path from algorithmsmodeled in ANSI C++ to optimized RTLrunning inFPGAhardware. Furthermore, this design flow allowsdesigners to directly target the FPGADSPblocks fromC++, easily solving back-end timing problems usinghigh-level synthesis constraints.

DSPALGORITHM DEVELOPMENT USINGHIGH-LEVELSYNTHESISIn a typical DSPalgorithm design flow, the algorithm

designer or system architect models the algorithm in ahigh-level language such as C++. Working at thishigher level of abstraction enables the system architecttofocus on functional intent, rather then worryingabout implementation details such as system pipeliningand how many FPGADSPblocks are required toachieve the performance requirements. Once thealgorithm functionality is proven, a specification is

created detailing the required area and performancemetrics and is handed off to the RTLdesigner.

The RTLdesigner determines the type and number ofresources required to achieve the specification,deciding what type of hardware resources to use, suchas how many RAMs, DSPblocks, shift registers, etc.Coding the RTLto be sufficiently generic can bechallenging because the inference capabilities of theRTLsynthesis tool often cannot take full advantage ofall of the operating modes of the dedicated hardwareresources. To get around this problem, RTLdesignerstypically instantiate a DSPmacro in the RTLcode andconfigure the DSPblock directly viagenerics/parameters. But that requires that thehardware designer understand how to interface to thisblock to the rest of the system.