( DAC 00 Item 2 ) ---------------------------------------------- [ 7/13/00 ]

Subject: C-Level Design, Cynapps, CoWare, and Synopsys 'SystemC Compiler'

IF AT FIRST YOU DON'T SUCCEED:  One of the loudest companies in the C/C++
foray last year was C-Level Design.  They promised all sorts of great things
like using C/C++ as a behavioral level tool.  Their attitude was "Verilog?
VHDL?  RTL synthesis?...  That's all OK for you chip designing infants.
The *real* systems designers operate at a truely Higher Level by designing
in behavioral C and using our System Compiler(tm) to make a chip!"  The
funny thing about DAC claims is they only have a year to make it happen or
it's Egg On Their Face time.  And C-Level has Omlette Level egg time now!

A few weeks before this year's DAC, I had a rather interesting conversation
with one of my readers who did a beta with System Compiler.  Yes, C-Level's
System Compiler synthesized C into RTL Verilog, but the RTL Verilog wasn't
synthesizable to gates.  That is, you couldn't make actual buildable chips
using this tool because it resulted in designs that had state machines with
thousands of states, nightmare datapaths, and hundred layer logic.  This
output from System Compiler couldn't ever make timing ever and some of the
RTL constructs it spit out weren't synthesizable at all.  In short, it was
a beta nightmare for C-Level.

When I saw them at DAC, I told them about that conversation, and, with much
integrity, they very quickly agreed it was true.  They wanted to know if it
was Motorola in Fort Worth or Sony in the UK who told me first.  "Last year
we used to talk to customers and we felt that they were snickering at us
when we left the room," said Kevin Hotaling of C-Level.  "They knew more
about this problem than us.  Now we know more than everyone because we've
done our time in the woods."

This year at DAC, C-Level punted the behavioral C and is refocusing on just
making structural ANSI C synthesizable to Verilog RTL.  They claim that you
will still be able to use C's pointers, structs, arrays, unions, objects,
and classes -- but in a moderate way.  Users seem to be OK with this, but,
as always, we're all waiting to hear when the first real chip is taped-out
using their tool and the nitty-gritty details it took to get there.

(Be sure to read the 'Behavioral Compiler' part of this report -- it has a
lot of related customer quotes on C/C++ synthesis there.)


   "We have C Level Design tools.  They work for us now, at least in trial.
    We plan to use their tools in an up coming project.  We have looked at
    many other vendors.  In our opinion, C Level Design is that best
    available today, but Synopsys will be the best once their tools have the
    features we need (by the end of 2000 it looks like). We plan to move to
    Synopsys tools when they are ready.  I expect it will take 3 to 5 years
    before we move from a VHDL flow to a C flow because it will take that
    long before all the required tools are available."

        - an anon engineer


   "C-Level Design

      - I finally was explained how they handle concurrency, hierarchy and
        time.  They fake it by having all input/output to C functions be an
        array with 2 locations: one for the input, one for the output.  The
        output value replaces the input value at the next clock cycle.  That
        way the order in which functions are called in irrelevant.

      - Very intuitive to use at the RTL level but this cycle-based approach
        limits the usability & portability at higher levels of abstractions.
        My bet is you'll see a LOT of incompatible models written at that
        level and the mess will still remain.

      - The AE I spoke to eventually agreed that C was not that cool for
        testbenches since it did not offer good concurrency & communication
        control compared to Specman or Vera.

    Their value-add is a yellow brick road between C models and RTL coding
    in HDLs."

        - Janick Bergeron of Qualis Design (VG 1.13)


   "CynApps:  Good idea, but they still have some serious issues to resolve
    before it's all over.  Biggest problem is that their C simulator and
    their cynthesized Verilog simulation won't necessarily give you the same
    answers if the underlying C++ code suffers from call-order problems.

    Also, if you are trying to simulate a design, there's no good simulation
    commands to (for example) step 100 cycles, or examine a particular RTL
    signal at any level of abstraction.  It is good for the stepwise
    refinement idea, but isn't really all that friendly otherwise.

    SystemC:  Has concurrency problems as well.  There was a lot of buzz
    about SystemC before DAC, so I let others in my group hound the SystemC
    guys while I looked at other vendors.

    Interesting thing at DAC was that on Monday Cadence announced support
    for SystemC, and on Wednesday announced support of CynApps.  Playing
    both sides of the fence might (or might not!) be the prudent thing to
    do.  I'll be very interested to see where this all goes."

        - an anon engineer


   "C-Level's tool could have a place in a design flow.  Their ANSI C
    compatibility is a plus over Synopsys's SystemC Compiler.  The problem
    is getting designers to work in C rather than Verilog/VHDL.  At 95K per
    license it looks pretty steep to my eyes.  I don't know what Synopsys
    is charging for their similar tool."

        - an anon engineer


   "Didn't look at C too much.  But I don't believe C-Level's 1500x speedup
    number.  Cynapps admitted their simulation isn't much faster than
    something like VCS; they just think everyone wants to design in C++."

        - an anon engineer


   "Co-Ware -

    Their Jay Leno/Bill Gates skit was pretty funny, but their Napkin to
    Chip concept was pretty much a repeat of last year's demo from what I
    could tell.  Their claim is that their tool provides a higher-level
    concept visualization and helps the software/hardware partitioning.
    It can also output interface code and interface RTL for synthesis."

        - an anon engineer


   "C-Level

    This company provides a C to Verilog or VHDL converter.  We could use
    this tool for testing the [ design deleted ].  We currently do not have
    the ability to test every case for the [ design ].  We have in the past
    modeled the [ design ] in C and done some testing.  However the VHDL
    that was written could be different than what is modeled in C.  C
    modeling and testing is easier and faster.  The C-Level conversion tool
    offers ANSI C / C++ compatibility.  We could slowly use this tool for
    more and more design blocks.  Some designers might prefer to write there
    code in C.  Port drivers could also be done in C.  The conversion tool
    provides a fully synthesizeable Verilog or VHDL file.  So we could use
    this as an extra part of our simulation environment.  C-Level has
    experience with five million gate designs and compile times of
    approximately 1 million gates per 2 hours.  The software runs on either
    NT or Solaris with signal name retention assured.  All compiling,
    debugging and testing could be done on PC's.  A possible drawback is the
    cost of the license, approximately $95 K.  We would have a hard time
    keeping this license busy.  License is only for the conversion step."

        - an anon engineer


   "C Language Simulation/Synthesis

    This is an area that was hot last year - a number of companies were
    pushing describing your ASIC in a subset of either C or C++, simulating
    it there (which is faster than an RTL) and then automatically
    synthesizing your RTL from C/C++.

    The new SystemC standard that Synopsys is pushing is having its effect
    on the established players in this market.  Most of the sales pitches
    talked about either how similar they were to SystemC or how their flavor
    of C or C++ was superior to SystemC.

    C-level Design sells a tool that accepts C and outputs RTL.  They say
    they now recommend using "cycle C" - C with clock cycles in it
    explicitly.  This is something that editorials have been commenting on
    - if you tweak C enough that you can model concurrency and the passage
    of time, eventually you just get another RTL, so what's the point in
    using C?  They say that unlike Cynapps they can simulate with any
    standard C/C++ compiler.

    Cynapps accepts C++ and outputs RTL code.  They say they are superior
    to C level because they are at a higher level.  Their C++ is similar to
    SystemC but they say it is more extensible.

    CoWare's N2C tool also translates C into VHDL or Verilog, but claims to
    do a lot more.  It is aimed at system partitioning and hardware/software
    codesign.  The designer creates an initial untimed C model of the
    system.  This is then refined into a cycle accurate model, which is then
    implemented in HDL.  It is also supposed to make IP use easier.  Don't
    know if it's really different from the tools above or just marketed
    better.

    Frontier Design sells tools that sound awfully similar to C-Level."

        - an anon engineer


   "Most of the C-level tools are still stuck at the RTL or cycle-based
    level.  What we need is a solution that has the ability to handle
    different simulation and design domains, such as synchronous dataflow,
    asynchronous dataflow, analog, gate level, cycle based, RF, etc.

    The reason why many companies are using C for system level verification
    is the speed, cause you can be more than 100 times faster than with an
    event driven HDL simulation.  The language or tool must give you the
    ability to refine your design starting from the system level without
    timing information down to a RTL represemtation.

    I think CoCentric SystemC Compiler is a step in the right direction."

        - an anon engineer


   "CoWare:

    These guys had a cheezie yet funny skit with a Jay Leno and Bill Gates
    look alikes.  Was pretty good for a geek show.  N2C or napkin to chip
    is their tool.  Lets you enter C for everything and then play HW/SW
    arch trade offs.  The hardware then can be translated to RTL.  Very
    SystemC-ish they say.  Still could not get much info with the time I
    had.  I think they define a C style that can be mapped into an HDL.  I
    think they support SystemC in that they can hook up to the SystemC
    library parts.

    C Level:
  
    These guys have a C to Verilog translator.  It can be run standalone on
    a C compiler based simulator that can even spit out standard dump files
    to compare.  Their C style has to be learned.  Only their C styled code
    works for translation to HDL.  Not really addressing a C standard for
    verification, just use C anyway you want for verif."

        - Peet James of Qualis


   "CoWare partner demo with IKOS's new emulator was pretty impressive.
    A cell phone design, processing conversation (speech samples) right
    there on the DAC floor -- now that is what good DAC floor demos are
    made of!  Of course 'smoke and mirrors' and attractive spokesbimbos
    are also what DAC floor demos are made of as well.  :-)"

        - an EDA salesman


 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)