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

Subject: Forte Cynthesizer

MOSTLY JAPANESE -- In purely technical terms, Forte's biggest rival is Mentor
Catapult C.  Forte uses "timed" SystemC as its source code, while Catapult C
claims it can read straight olde sequential ANSI C.  In terms of geography,
most of the Forte universe seems centered in Japan; whereas, with its much
larger marketing budget, Mentor Catapult C users are many in Japan, and with
some in Europe and India.  Neither companies seem to to have generated 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.


    I am a Japanese engineer.  We have been using Forte's Cynthesizer since
    2003 when we first purchased it.  We are very happy to see their new TLM
    support and will consider it in future designs.  I'm interested in the
    routability of layout from RTL generated by Cynthesizer.  We have not
    met the routability problem yet, but I think it will be occurred.

        - [ An Anon Engineer ]


    SystemC is the standard since December 2005; I would downgrade any EDA
    vendor not supporting it.  From recent Toshiba reports Forte Cynthesizer
    seems a good tool; I don't have personal experience with it.

    Looks like MathWorks Matlab & Simulink are still the leader.

        - [ An Anon Engineer ]


    Oki switched to C-based design using SystemC to reduce the implementation
    time for algorithms in hardware with acceptable QoR.  SystemC gave us
    fast system verification at the front end of the design process including
    co-design of software and hardware.  However, it moved our bottleneck to
    the C-to-RTL implementation stage, so we needed more automation there.

    We began using Cynthesizer in the fall of 2004, and have since used it
    to complete several projects.  For our first project, it only took about
    3 months to implement two functional modules for our production LSI
    design.  Even our SystemC "beginners" had their development time cut in
    half.  Follow-on projects with Cynthesizer took approximately 1/3 less
    time that it took us to create the RTL by hand.

    For area, our benchmarks of Cynthesizer's area results range from 80%
    to 130% of conventional hand-coded RTL design.  On average, Cynthesizer
    produces roughly the same area as hand-coded RTL.

    What we liked about Forte:

     1) You have far less hand RTL implementation work with Cynthesizer.
        We can use our old C/C++ description (except for the I/O interface
        part of the design where we use SystemC to describe timing.)  For
        optimization, Cynthesizer allows timing-based scheduling, where we
        can control fine scheduling with synthesis options and directives.
        You can use auto-scheduling to ensure functional equivalence between
        pre- and post-synthesis and automatically verify the results with
        the same testbench.

     2) You can more thoroughly explore the design space with various
        latency constraints, which is highly useful to us.  Cynthesizer's
        synthesis is extremely high speed -- we can synthesize approximately
        30 K gates in several minutes.

     3) Your specification can be changed quickly prior to layout.  For
        example, we found a defective process equalizer in our design during
        LSI verification.  Using Cynthesizer, we were able to modify the
        code and re-verify in only 4 hours.  With conventional RTL design,
        this would have taken us 4-5 days.

    Drawbacks:

     1) We need equivalency checking between SystemC behavior and RTL.  We
        have to do this with dynamic simulation.  Honestly speaking, it is
        a time consuming step and something that needs fixing in the future.
        Behavioral synthesis is an emerging technology and everything is
        not mature yet as it is with RTL.  Perhaps you would agree that this
        was also true for the early days of Synopsys Design Compiler... so
        we are taking some risks to move us forward.

     2) ECOs are difficult to do during layout.  We had that equalizer spec
        change occur during place and route.  We gave up doing an ECO on our
        design for this change because we couldn't find the relationship
        between the SystemC code and the netlist.  So we restarted from the
        logic synthesis step, which caused a 1 week delay to discover this.
        In contrast, a conventional RTL design could have dealt with the
        same ECO within a day.

    So far we have completed 5 modules using Cynthesizer, and 4 LSI's.  With
    it, we consistently achieve a 1/3 decrease in the overall design time
    compared to hand-coded RTL.  For example, for a recent LSI design we had
    a 17 month LSI development time, which we were able to reduce to only
    12 months using Cynthesizer!  Oki has a wide variety of algorithms to
    implement in a very short time period, so this is an important advantage.

        - Kazuhiko Maki of Oki Electric


    We got a demo of the Forte Cynthesizer product.  As a "third generation"
    product, it got the best reviews for completeness and usefulness of the
    results from the EDA industry analysts.

    From our point of view, Forte's sample problem (the scaler module of an
    MPEG decoder) must have been selected by their sales *prevention* dept.
    After the first run yielded a 140 K square micron die size, against a
    constraint of under 125 K, they showed how the engineer could (manually!)
    inspect the resource utilization to determine that two internal blocks
    consumed 120 K square-microns, while the remaining ~18 blocks used the
    other 20 K.  They then popped up a window into the generated Verilog
    from which it became immediately apparent that the area budget was blown
    by the instantiation of 18 fixed-point multipliers.  Another few clicks
    hot-linked to the appropriate C source code, which had 3 sets of 6-term,
    linear sum-of-products, in which all of the coefficients were constants.
    (Note: I last wrote a compiler 22 years ago, and at that time, it was
    already common practice to optimize multiplication by constants!)

    It is clear that, to the extent that "behavioral synthesis" is useful at
    all, its proper domain is problems with substantial algorithmic content
    and minimal temporal (state) content.  These behavioral tools treat time
    as an external "constraint" -- another dimension for optimization along
    with power and gates.  We think this sort of tool would find its best in
    wireless application for BBPs (baseband processors).  Our best-case
    scenario might well be competing against multi-protocol wireless
    interface products generated using behavioral synthesis tools!

        - [ An Anon Engineer ]


    Forte's Cynthesizer demo was good and showed the potential benefits of
    the C to RTL methodology.  The ease of design exploration possibilities
    and tradeoffs impressed me.  However, my impression was somewhat
    peculiar as to the usability of these tools:

      - They are intended for some specialized DSP designs only
      - Their cost is sky rocketing
      - It is a very big leap for hardware designers (who are generally
        quite conservative)
      - They ALL can now do excellent H.264 designs ...

    My feeling is that something is missing there between the RTL and the C
    layers because when looking on the verification field there are at
    least 5 levels of abstraction between the two.

    I was also impressed by the concept of the Synfora tool, though it is
    a rather complicated solution.  I also think CoWare LISA is a good
    solution for some cases of DSP designs.

        - [ An Anon Engineer ]


    The purpose of my visiting Forte's DAC demo was to understand the
    potential impact of Cynthesizer on our verification flow, speed
    and quality.  The tool had not yet been evaluated by our frontend
    designers.  My feedback from their DAC demo was that SystemC should
    be very easy to integrate into our verification flow.  Also, the
    strong support of equivalency tools (eg : Calypto) may slow down
    adoption, plus there might be partitioning issues regarding control
    flow and data flow synthesis.

    Now, months later, we have IP's developed using similar tools from
    competition.  We now have a better understanding on how and where
    this class of tools can be efficient.  For historical reasons
    probably, we still haven't evaluated Forte.  On the verification
    side, we are not taking advantage of this new style of design; we
    still base the verification at RTL level.  The main reason is due
    to the fact that only a subpart of the design is described in a
    behavioral way, and verifying this part of our hierarchy "stand
    alone" is not cost effective or meaningful.

        - Laurent Ducousso of STmicroelectronics


    Forte's DAC Cynthesizer demo was not detailed enough for me to talk
    about its strengths and weaknesses.  But I think the future of
    behavioral synthesis is quite promising.  The productivity gain of
    SystemC will be degraded if the gap between SystemC and RTL is not
    filled by a mature behavioral synthesis tool.  Like logic synthesis,
    behavioral synthesis will be successful once a full set of
    synthesizable SystemC syntax is well defined.

        - Joonhwan Yi of Samsung Electronics Co.


    I think the Forte Cynthesizer demo was good and the tool promising.  I'm
    not sure how much behavioral synthesis is used today.  It would be good
    to see a real tape-out based completely on SystemC design and Forte's RTL
    code generation. 

    I am a big believer of system design, but it has been one of those
    elusive concepts that no one has capitalized on yet.  Perhaps there have
    been too many custom C++ system design tools (Agilent ADS Ptolemy, Elanix
    SystemVUE, CoWare SPW, etc.)  Customers have always been skeptical of
    these and relied mostly on hand written RTL code.  I see this development
    similar to logic synthesis tools created for HDL back in 80s-90s.

        - Shashi Bhutada of Agilent


    Cynthesizer's biggest strength is that it supports SystemC, i.e. it can
    be merged with other tools for a solid design flow.  Its biggest weakness
    is currently that it is limited to the module level.

        - [ An Anon Engineer ]


   Regarding Forte -- behavioral synthesis is really interesting, but we
   don't plan to bring the tool in our flow for now.  Breaking the boundary
   of architecting, verification and implementation is my dream.  I will
   keep an eye on this tool.

        - [ An Anon Engineer ]


    Forte Cynthesizer certainly works, and evaluation results are good.
    Hope to use it in the near future on suitable commercial projects
    where its high price can be justified.

        - [ An Anon Engineer ]
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)