( DVcon 04 Item 3 ) ---------------------------------------------- [ 05/26/04 ]

Subject: SystemC

THE VERIFICATION DIFFERENCE  In my prior surveys over the years, chip
designers have been quite vocal about how they hate SystemC and that they're
in no way, shape, or form going to use SystemC to design.  This year in a
purely verification survey (i.e. NOT design, but verification), it appears
that 1 out of 3 verification engineers are going to use this SystemC
beastie in some form on their project.

       "Do you see your project using SystemC in the next 6 months?"

          not in the
         next 6 months :  ################################## 68%

           yes we will :  ################# 32%

And asking only those who are or will be using SystemC:

             "Are you using SystemC for high level modeling,
                   or verification, or for design?"

             high level modeling :  ######################## 72%
                    verification :  ##################### 64%
                          design :  ## 5%

Overall SystemC smartened up and stopped trying to be an extremely painful
chip design language that just evoked Pavlonian fear responses from the
experienced design engineers.  Instead, the verification folk use SystemC
in a niche where it peacefully and non-threateningly thrives as a speedy
architecture and high level modeling simulator.  And 1 in 3 is impressive...


    I use NC-SystemC to make a tool to analyze STBUS.  It's been a valuable
    tool to analyze the STBUS Bus.  I used NC-SystemC with SimVision for
    analyzing the transactions.  I feel it will be good if Cadence can come
    up with something that is a level higher than transactions, such as a
    message so that we can analyze a group of transactions.  I also feel that
    more demos should be given by Cadence telling about new features of
    products and briefly mentioning the old ones.

    I was not at all happy with the use of the debugger with NC-SystemC and
    wasn't able to use it for my design.  Even with help of local Cadence
    engineers it took a lot of time to resolve the problem.  I finally found
    a small work around to do things which was very crude and takes lot of
    time to debug.

    Code Coverage is not available for C++ code.  As I use mostly NC-SystemC,
    I want a coverage tool for C++ (NC_SC, SystemC).  It is usually needed
    for the end of design when the time is less, so I guess most designers
    skip this part due to tight deadlines.

        - Sudhanshu Chadha of STmicroelectronics


    Yes, for high level modeling and verification.  CoCentric and OSCI.

        - Frank Lier of PACT XPP Technologies


    We do not intend using SystemC.

        - Samuel Russell of Ceva, Inc.


    Absolutely Not!  I'm a hardware designer, not a software weenie.
    C is for 'C'issies.

        - Ray Andraka of Andraka Consulting


    We will go down the SystemC route with out current project and will be
    using it principally for verification - including HW/SW co-verification.
    We are likely to use the Cadence SystemC tools.

        - Fraser Dallas of Motorola GSG (Scotland)


    No, my current project is Verilog.

        - Greg Arena of Intel Corp.


    Anyone using SystemC should be immediately fired and their degree(s)
    revoked by their school.  I've had a SystemC/VHDL design in my hands
    for a year now.  A complete disaster.

        - [ An Anon Engineer ]


    We do already use SystemC in production for more than 10 designs.  We use
    SystemC to build virtual prototypes shipped to software (drivers) teams.
    The same modeling environment is reused to build RTL testbenches for
    functional verification and the high-level (TLM) model of the DUT is used
    as the reference model.  We've been in production for 1 year now.

    For a few months now, we also have 4 SystemC platforms in production for
    architecture analysis.  These platforms most often integrate some RTL
    models.  Hence need cosimulation capabilities.

    Virtual prototypes use the OSCI SystemC simulator.  Functional verif.
    environment relies on Cadence NC-SystemC (NC-Sim).

        - Frank Ghenassia of STMicroelectronics


    No application of SystemC.  Not great for our designs.

        - Andreas Dieckmann of Siemens AG


    We are actively using SystemC now, and have been for over 1 year for
    system level modeling (performance and architecture).

        - Scott Runner of Qualcomm


    No -- and though I'd like to get our systems guys to use SystemC to
    make the transfer from algorithm to implementation a bit less painful,
    I doubt we'll go there.

        - John Ford of SolarFlare Communications


    No.  We used SystemC for verification in a previous SoC and now we switch
    to Vera.  SystemC makes little sense for verification.  We are still
    using it for system description but still I think it make sense only for
    algorithmic validation.  For system we are Cocentric or CoWare for their
    conformance telecom system tests.  But this not really SystemC is it?

        - Remi Francard of STmicroelectronics


    We use SystemC to connect between C models & Verilog (for verification),
    nothing else.  We link NC-Verilog to our C model via SystemC: this seems
    to be easier and higher performance for our needs than using PLI/VPI.

        - Pete Cumming of Icera Semiconductor


    No.  We aren't using SystemC, and I don't think that we will use it in
    the next year.

        - Dorit Moshe of IBM Israel


    I experimented with converting our present design to SystemC.  We used
    Modelsim's SystemC tools, since the present chip's testbench was built
    assuming Modelsim.  The constraints of our existing system (proprietary
    PLI-based C testbenches) made the conversion prospect too difficult to
    contemplate for this chip.  If we were starting from scratch, we'd
    probably have done SystemC.

        - Christine Gerveshi of Agere Systems


    Apparently we are using SystemC now, for high-level behavioral modeling.
    We're in the architecture and definition phase of a large subsystem, 
    and 2 or 3 units are either seriously considering or already using 
    SystemC.  I believe we have Synopsys Cocentric Studio.

        - Aviva Starkman of Northrop Grumman


    We tried some SystemC modeling already, but found the verbosity and poor
    support for bit manipulation of ports to be too much trouble for the 
    benefit.  Compile times of SystemC were terrible, too.  We quickly 
    converted the SystemC model we had to RTL.  It wasn't modeling any
    complex algorithmic function, so we didn't see any speed penalty.  In
    fact, since the RTL compiles faster than the SystemC did, we probably
    saw in increase in debug productivity.  We were using Cadence NC-SystemC.

        - Ty Gallander of Conexant


    We're just starting to use it for system and behavioral modeling.  No
    real experience yet.  We will integrate SystemC models into the Specman
    environment for output prediction versus writing models in "e" on our
    next project. I have a lot of CPUs that can run C.  Specman licenses
    are limited.

    In previous experience, we used C/C++ and integrated it with Vera and
    were very pleased with the success of that endeavor.

        - [ An Anon Engineer ]


    Heavy usage of SystemC for verification.  Cadence Incisive.

        - Mark Dorland of Banderacom


    We designed our initial architecture in SystemC to assess size and power
    tradeoffs, then started RTL development.  As our RTL progressed, we
    would run both SystemC and RTL simulations in parallel and compare
    interesting points to determine if the RTL/SystemC were behaving
    correctly.  Being a processor, we were able to test at the instruction
    level.

    We also used the SystemC verification library (SCV) to randomly generate
    many instructions.  It's easy to do this.  The key is to use the
    constraint facilities provided in SCV to keep those instructions
    meaningful and reduce the debug time of bad tests.

    One area that I would like to see improved is visibility into the SystemC
    model by the simulator companies.  Ideally it should be as easy to probe
    SystemC signals as it is in RTL and all SystemC constructs should be
    supported.

    Overall, it was much more efficient to use SystemC as part of the design
    and verification process than designing in RTL and writing self checking
    testbenches.  Testing and debug was much faster with a "golden" model to
    compare against, so we were able to create many more test cases and
    identify more bugs in a shorter time.

        - Greg Tumbush of Starkey Labs


    We use Perl (from a company called GreenLight) as our HVL.  We are
    investigating SystemC/Vera/System Verilog for the next generation
    of products.

        - [ An Anon Engineer ]


    Yes, we'll be using SystemC for all 3: high level modeling, verification,
    and design.  We'll be using Cadence/CoWare.

        - Umberto Rossi of STMicroelectronics


    We use SystemC for all these items and intensively.  OSCI, Cadence
    NC-Sim, CoWare ConvergenSC

        - Benoit Clement of STMicroelectronics


    Yes.  Primarily for verification, but will also use for high-level
    modeling.  Both Synopsys and Cadence tools.  If a customer uses MTI,
    then will use that tool as well.

        - Ambar Sarkar of Paradigm Works


    We've been using SystemC for the last 3 years.  We used it originally
    for high level modeling and continue to use it for detailed performance
    modeling.  We're using the open source SystemC simulator.

        - [ An Anon Engineer ]


    No SystemC usage.

        - Tomoo Taguchi of Hewlett-Packard


    Yes, we are in a process of moving from C/FLI to SystemC.  We plan to
    use SystemC for verification of HDL as well as early development of
    software/firmware/drivers.  Since we are MTI users, we'll simply use it.

        - Alex Chao of Topspin Communications


    No.  We were using SystemC experimentally, but with ModelTech 5.8 we
    need to pay extra for it, so we stopped playing with it.

        - [ Kenny from Southpark ]


    Yes.  High level modeling and verification.  Modelsim SystemC.
    Modelsim has an integrated kernel for SystemC.  I've used other 
    simulators for SystemC, Modelsim treats SystemC just like VHDL or
    Verilog.  No restrictions on the code.

        - Shreyas Shah of Aasan Networks


    We have already used SystemC for high level modeling, and will use
    again in the next 6 months.  We are using the reference simulator and
    NC-SystemC (coupled with a Verilog TB)

        - [ An Anon Engineer ]


    I may use SystemC in the near future for high level modeling if I can
    convince mgmt to foot the bill for the Modelsim license.  But the 
    odds are less than 50%.

        - [ An Anon Engineer ]


    No.  We probably will in 1 year.

        - Carl Harvey of Cirrus Logic


    No SystemC in next 6 months.  Still the old way of Verilog + PLI.

        - Ajit Madhekar of ControlNet India Pvt Ltd.


    No.  Maybe within the next year will be using SystemC.

        - Reza Shirali of Orbital Sciences Corp.


    No.

        - Javier Jimenez of DS2 Spain


    Not yet.  We are evaluating.

        - Sachin Mohan of Cypress Semiconductor


    No SystemC in actual use but planned for simulation.  We use Axys tools
    for high level modeling this means models are written in Lisa/C/C++.

        - Thomas Langschwert of Infineon


    Yes.  SystemC for HL modeling, verification.

        - Ross Smith of Theseus Research


    We use C++ with a propriatory SystemC-like library for a while and have
    started to develop all new code in SystemC.  We use Cadence NC-SystemC
    as simulator.

        - Karl Kaiser of EcoLogic GmbH


    Yes.  We use SystemC for system level modeling.  We use Summit Design's
    Visual Elite though I don't use the graphical entry part.

        - Terry Doherty of Emulex Corporation


    I am not using SystemC and have never used it.  I am a C programmer so I
    know what it's all about.  But the simple fact is that I do not have a
    need nor see a need for SystemC (nor Handel-C) in the next six months.
    When I do get ready to use C as an HDL, I know of a company in Mexico
    that is going to blow away the competition.

        - Simon Ramirez of Synchronous Design, Inc.


    No usage, went to the class, you need to be a good C++ developer (not
    fair, but good -- really into templates and stuff.)  Ny neighbour works
    as a developer in Microsoft, and developes in C++ and did not know a
    lot of the aspects covered in SystemC classes.  Cadence Incisive looks
    the best, but also lacks capabilities.

        - [ An Anon Engineer ]


    We are using SystemC now.  This past year we replaced our PLIs with
    SystemC.  We use it to drive and control our simulations.  We have
    a SystemC stub that mimics our processors bus.  We are using the
    NC-Sim but are also making sure our SystemC will run under VCS-MX.

        - Maynard Hammond of Scientific Atlanta


    We do not use SystemC at all at present.  There is some level of interest
    in moving over to a design flow that uses SystemC, but I can't see it
    happening in the next 6 months due to the amount of work that would be
    involved in changing mid-project.  Hopefully asking the same question in
    6 months time will lead to a different answer.

        - [ An Anon Engineer ]


    We don't currently use SystemC and don't plan to within the
    next 6 months.

        - Michael Condon of the Naval Research Lab


    We are already using SystemC in a design.  We use it for high level
    modeling and processor modeling and for pre-RTL FW development.  We
    also use the models as part of the verification environment.  We use
    the free SystemC simulator but we plan to take a look at the Modelsim
    SystemC interface.

        - [ An Anon Engineer ]


    We don't expect to be using SystemC in the next 6 months, except possible
    to develop test-benches, replacing are current C test-benches.  We are
    experimenting with the Modelsim SystemC integration.

        - [ An Anon Engineer ]


    We are not seriously consider using SystemC.  Aldec's Active-HDL will
    be our first choice tool if when we start to use SystemC. 

        - Peter Tan of Transcore


    No plans.

        - [ An Anon Engineer ]


    We are planning to serious use SystemC for modeling our 802.11 MAC.  We
    will probably use Synopsys version of SystemC.

        - Subbu Muddappa of Woodside Networks


    We are using SystemC for micro-architectural (eg. behavioral) modeling
    as well as performance modeling for customers.  We haven't bought any
    commercial SystemC tools yet as we feel they are too immature.  We rely
    solely on gdb. 

        - [ An Anon Engineer ]


    Yes, for modeling and verification.  Based on Cadence libraries.

        - [ An Anon Engineer ]


    No SystemC.

        - Boaz Ben-Nun of Starcore DSP


    No.

        - Mike Murphy of Syracuse Research Corp.


    We are starting to use SystemC for system level modeling and we are 
    currently evaluating tools for that.
 
        - Laurent Claudel of Wavecom


    No.

        - Lutz Naethke of Atmel


    Some SystemC reference models only.  No verification or design with
    SystemC.  System Studio for capture.  NC-Sim to encapsulate reference
    models for simulation.

        - [ An Anon Engineer ]


    We have a project now on multimedia which uses SystemC for design.  The
    starting point for this project was a few thousand lines of reference
    code in C, so SystemC was an obvious choice.

    Actual design flow: Synopsys dc_shell / compile_SystemC (SystemC-to-VHDL)
    + Altera QuartusII (synthesis + P&R).  The VHDL from Design Compiler
    sometimes requires some manual editing.  This has improved a lot however
    when we switched to a newer release (U-2003.06).

        - Wim Meeus of Universiteit Gent, Belgium


    No

        - Inder Singh of iVivity, Inc. 


    No current plans for SystemC.

        - Mark Curry of Texas Instruments


    No, so far I have not seen any benefit to using SystemC.

        - Brian Kahlig of DRS Signal Technologies


    Not using SystemC, not planning to.

        - Rainer Mueller of Oasis Silicon Systems


    No plans to use.

        - Nathan Dohm of StarGen, Inc.


    Not using it.

        - [ An Anon Engineer ]


    We started experimenting with Cadence TestBuilder-SC about a year ago,
    then we switched to using SCV and SystemC for verification.  We are also
    considering use of SystemC for high level modeling, but have not started
    doing that yet.

        - [ An Anon Engineer ]


    No.  Tried both with C-Level and SystemC, didn't like it.  Results were
    crap for C-Level-to-Verilog to gates synthesis, at the cost of lower
    productivity.  SystemC verification provided no clear advantage over
    other methods, e.g. Verilog/Perl/C mix and match.

        - Michiel Vandenbroek of China Core Technology Ltd.


    We decided to use SystemC in our next project; we want to use it for high
    level modeling and verfication.  We use VC and CoWare's ConvergenSC.

        - Gao Peng of Tongji University, China


    No use expected.

        - [ An Anon Engineer ]


    In another project, we use SystemC for verification.  Synopsys SystemC.

        - Stone Shi of STmicroelectronics


    We are using SystemC for reference modeling for our ASIC verification
    and also for the testbench for all checkers and monitors along with the
    ASIC wrapper that co-sims to the RTL in Verilog.  We are using the
    public release of the SystemC with in-house co-sim PLI interface
    between the two simulators.

        - Chandresh Patel of Ciena Corp.


    Yes, for architecture performance, we are using SystemC.

        - Fred Liao of S3 Graphics


    We're using Verilog for RTL, regular C for testing.  We have some really
    cool stuff we're doing with C, but I can't say more than that.  It's
    free, and it's saving us man-months that the EDA vendor's tools
    couldn't do.

        - [ An Anon Engineer ]


    I am not going in the direction of SystemC, simple reason, our company
    develops Java based hardware tools. 

        - Mohammad Bhaiji of Ontic Technologies, Inc.


    We may be using SystemC within the next 6 months for verification;
    specifically the Cmodel to generate golden results and compare it
    against Verilog.

        - [ An Anon Engineer ]


    No

        - Mark Andrews of EFI, Inc.


    Not using SystemC.

        - Don Monroe of Enterasys Networks


    No.  I like SystemC and would consider adopting it, but right now I think
    our best bet is to go with System Verilog, even though there is not
    enough tool support yet, we can start with a Vera based verification
    strategy and then migrate (and port the environment) onto System Verilog.

        - Sandro Pintz of Precision IO, Inc.


    No SystemC, period.

        - Edmond Tam of Global Locate, Inc.


    No.

        - Jerry Roletter of ATI


    No, we are not doing high level SystemC modeling or verification for our
    design.  SystemC is definitely worth considering for high level modeling.

        - Hsing Hsieh of Hitachi


    No!

        - James Lee of the ASIC Group


    We will not use SystemC.

    A lot of companies are using SystemC right now.  It's fast and it's
    cheap, according to some of the presenters I talked with.  Also,
    Modelsim 5.8 now has support for SystemC.  Previously, a lot of these
    companies encountered big headaches in creating the FLI/PLI interface
    to SystemC code.  That's automatically handled by 5.8c now.

    However, most of the companies using SystemC have extensive software
    they must co-develop on their systems.  So, wireless phone companies
    that have hundreds of thousands of lines of software for their handsets
    would be typical adopters.  I don't recommend SystemC for us
    at this time.

        - Jim Lear of Legerity


    No, No

        - George Gorman of LSI Logic


    No.

        - [ An Anon Engineer ]

    We presented a SystemC paper as such at DVcon.  Our partner uses SystemC
    as well.  We used the SystemC library, as well as SCV for random
    verification support.

        - Bill Dittenhofer of Starkey


    No plans.

        - [ An Anon Engineer ]


    We are using SystemC for verification (SCV) purpose.  All of our tests
    (assembly/C programs) are generated through SCV.  Also for testbench we
    have transactors in SystemC.  Currently we have few licenses of Cadence
    Incisive but most of our verification we just use SCV and all
    transactors communicate to Verilog thorugh PLI (Cadence tbscScHdlSdi
    which is also free).

        - Jithendra Madala of QuickSilver Technology



 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)