( ELSE 06 Item 7 ) --------------------------------------------- [ 06/23/06 ]

Subject: Mentor Catapult C

WORLDWIDE -- In purely technical terms, Catapult's biggest rival is Forte
Cynthesizer.  While Catapult C claims it can read straight olde sequential
ANSI C, Forte uses "timed" SystemC as source code.  In terms of geography,
with their much larger marketing budget, Mentor Catapult C users are many
in Japan, and with some in Europe and India -- whereas the Forte universe
seems centered mostly in Japan.  Neither companies seem to generate that
much interest in the U.S. chip design market, though.  Synfora Pico and
Celoxica Handel-C seem to be the smaller players in this space.


    We did an eval between Mentor Catapult C and Forte Cynthesizer for a
    NTSC encoder design.  Catapult C generated RTL was slightly smaller
    than Forte's results.  For 27 Mhz, both produced designs of roughly
    the same performance.  Results after Synopsys DC synthesis:

            Mentor Catapult C RTL: 247 K um2 (98.4k gates)
            Forte Cynthesizer RTL: 249 K um2 (99.2k gates)

    Post-DC analysis: Forte's area estimates before running DC are better
    than Catapult's estimates.  Forte result is very close to the post-DC
    results, because Forte generates many dont_touch attribute script for
    DC.  However, Forte does not have wire load nor scan synthesis
    settings, that is expected to make the worse timing result after DC
    fanout adjustment.  Catapult area estimate is not the same post-DC
    result.  Catapult does not estimate all area before Design Compiler
    synthesis (roughly 20-30% smaller).

    The biggest difference we noticed was implementation time.  Catapult
    was 10 times faster to RTL than with Cynthesizer.  Catapult was able
    to accept our original ANSI C++ algorithm with minimum changes; which
    was the biggest reason for the difference.  Cynthesizer required
    extensive modifications of our original ANSI C++ algorithm with
    SystemC constructs and directives, increasing our coding time.

    We also found Catapult's graphical user interface very useful for
    analyzing the design and achieving good results.

        - Yoshinao Umeda of Prime Gate, Ltd.


    We looked at Mentor Catapult C and Forte Cynthesizer.  Forte was not
    considered because it needs timed SystemC models.  Catapult takes
    untimed C/C++ models, which fits better to our flow.  We have evaluated
    Catapult and bought some licenses.  We are now starting to use it in
    project context.

        - [ An Anon Engineer ]


    Forte Design Systems sells a behavioral synthesis tool that goes from
    SystemC to Verilog RTL.  They emphasized that it is production proven.

    Mentor's "Catapult" goes from C++ (with no timing in the code) to RTL.
    They emphasize that they take standard ANSI C++ as input but support
    SystemC data types.  It builds RAM interfaces automatically.  You also
    need to specify clock rate and other constraints as an input.  Outputs
    are cycle accurate VHDL, Verilog and System C (for simulation) and VHDL
    and Verilog RTL.  Unlike Celoxica's tool, theirs inserts registers
    automatically based on constraints.  Their tool is probably not as good
    at what-if analysis or HW/SW tradeoffs.  They say it's aimed mainly at
    dataflow applications with minimal control issues.

        - John Weiland of Intrinsix Corp.


    We were SystemC Compiler users and recently switched to Catapult C after
    an extensive evaluation.  Catapult is mature both in features and ease
    of use.  We could use our original C spec as input into Catapult, so
    many engineers can easily learn the tool.  The performance is good but
    depends on the end application.

        - [ An Anon Engineer ]


    I was in charge of evaluating Catapult for awhile last year.  We design
    image processors, and certain datapath-centric algorithms we implement
    map very nicely to the Catapult C flow.  We started by taking an
    existing DSP block we had modeled C code as well as VHDL RTL, and using
    Catapult-C to generate RTL as a comparison. 

    Mentor's AE's were great in helping us get up and running, which mainly
    required modifying the C code to conform to Catapult C coding guidelines
    as well as changing some data types to map to Catapult-friendly revs.

    Once the input and output interfaces on the block were defined, Catapult
    was then able to generate RTL code with a flexible number of pipeline
    delay stages, allowing us to make trade-offs between total throughput
    and number of gates. 

    It was pretty slick, although required quite a bit of modification to
    our original C code.  At that point I was put on another project and
    didn't get to fully complete the evaluation, but I believe our company
    ended up purchasing the tool and is now working on putting it into
    production.

        - [ An Anon Engineer ]


    Feedback on Catapult C:    

    + The tool substantially reduces design time for datapath design.  This
      is because, it synthesizes the algorithmic C++ code to RTL depending
      on the library characterization and architectural constraints.
    + Automated verification flow substantially reduces the time required
      for the blobk-level verification.
    - RTL generated is unreadable and highly structural.
    - RTL generated may not be optimal in performance (for ex: area).

        - Sheetal Kumar Jain of STmicroelectronics


    Catapult C is a good tool on a right track, but still need some time to
    became great.  I personally think that a behavioral synthesis tool, 
    first of all, should be a good parallelizing compiler.  It can be used
    as a fully automatic tool with good results for most C programs.  Or a
    lot of advanced compilation optimizations can be done by the tool, such
    as pipelining, and data prefetching.

    Don't like Handel-C nor Bluespec.

        - [ An Anon Engineer ]


    My group has been using Mentor's Catapult C for the past 3 years on
    several projects with good results.  The original impetus for using the
    tool was the need to quickly prototype complex wireless receiver
    algorithms which could require several man-months to hand-code in VHDL.
    We found that Catapult-C reduced this design time to a few weeks which
    enabled us to comfortably meet our tight schedules.  The tool has
    matured since then and is now used globally in Nokia.

    My group is currently using Catapult C to efficiently analyze hardware
    architectures and complexities for various next-generation wireless
    algorithms.  Although Catapult C is not applicable to all of our designs
    (there really is no tool that can do it all) it is definitely an
    integral part of our design flow allowing us to give our customers a
    good assessment of the hardware complexity for various physical-layer
    algorithms.  We feel that Catapult-C is the most mature behavioral
    synthesis tool on the market today.

        - Dennis McCain of Nokia


    We evaluated Catapult C for our behavioral synthesis methodology.  We
    graded the tool on three important points:

        - amount of modification required in original C spec
        - RTL functional verification environment
        - RTL quality of results.

    We used 4 evaluation designs (including JPEG encoder, YUV transform).

    Catapult can generate several architectures from one C source.  ASIC
    library characterize takes a long time, but we were able to create
    C IP that's not dependant on process technology.  This is a good point
    also.  To summary, we are happy with results of evaluation and we will
    adopt Catapult for our high-level synthesis flow.

        - Masahiro Oie of Casio Computer Co., Ltd.


    I have worked with Catapult and I like it.  I think the value it brings
    is two fold.  First it shortens the design investigation time by quit a
    bit, and second, if you are developing new algorithms it does not tie
    you to predefines primitives like Synplify DSP and the others do.  The
    verification chain is pretty smooth as well since the Catapult tools
    are well integrated.

        - Irfan Nasir of Motorola Labs


    We chose Catapult primarily because of the maturity of the tool and the
    fact that it supports both ASIC and FPGA targets -- a prerequisite for
    doing real-time FPGA prototyping for system validation and before
    switching to an ASIC technology for the final silicon.

    While good hand-coded RTL code may yield slightly smaller silicon, the
    overall cost and time-to-market constraints are in favor of C synthesis,
    even for our high volume products.

        - [ An Anon Engineer ]


    First we tried another behavioral synthesis C tool for 3 weeks, but
    couldn't create a working design for an FPGA.  We spent much time
    changing the original C-code and running simulations.  Next we tried
    Catapult C.  It was easy to use and we got a working design for an
    FPGA in a few days.  We changed the original C-code a bit in order
    to meet our performance requirement.  We were satisfied with the
    results.

        - Tsuyoshi Sakamoto of Pioneer
Index    Next->Item







   
 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)