( DAC 04 Item 8 ) ---------------------------------------------- [ 02/09/05 ]

Subject: Synplicity Certify vs. Synopsys DC-FPGA

BIG BROTHER -- Synopsys is now trying to break into Synplicity's home turf
of the FPGAs-to-prototype-ASICs tool biz, but Certify seems to be holding
its ground here (for now).  I wonder how this fight will look a year from
now.  Both companies have strong vested interests in this space.


    Synplicity Certify

    The main problem for FPGA prototyping is the design partitioning,
    because unfortunately your design will not fit in one device.
    We use Certify since the late 1998's in all our FPGA prototyping
    projects.  FPGA prototyping is not a simple task, because you have
    to take into account your HW resources:

         - FPGA Board resources (# of FPGA's, traces etc..)
         - FPGA resources
         - ...

    This is the point where Certify comes into the game.  Certify helps
    you to spilt up your design on your FPGA board.  You can import a
    Verilog description of your board into the tool and with the build
    in "area estimation" you have all important information necessary
    for partitoning.  There are other features which helps you to save
    board or FPGA resources (e.g module replication, zippering ..).
    In the case of design partition, so that we could succesfully setup
    protoptying systems with up to 10 FPGA's.

    In my point of view Certify is a must in case you have large designs
    to prototype.

        - Gerhard Pletz-Kirsch of Philips Semiconductors GmbH


    Some exposure to Certify and DC-FPGA.  IMHO, Certify is the industry
    leader.  It supports multiple FPGA solutions and has decent synthesis
    results.

        - [ An Anon Engineer ]


    We have used Synopsys FPGA Compiler and Leonardo from Mentor before.
    For 2 years now we are using Synplify Pro and Certify from Synplicity
    and we are very happy about them.  They work several times faster than
    Synopsys and Mentor and you get better results (higher frequency) after
    FPGA synthesis.  We have shorter turn-around times and better results
    with Synplicity.  And it is very comfortable for ASIC prototyping.
    Leonardo always crashed with our big designs, and Synopsys didn't make
    any efforts for FPGA in the last years.

        - Christian Nuk of Micronas Semiconductor


    What I have seen when Synopsys people present us DC-FPGA, they are far
    behind Synplicity.

    About Certify strengths/weaknesses, notice that we use Certify in
    limited way (we don't stress tool to much, because when we did this,
    we run into many tool problems.  Due to small number of customer,
    Synplicity doesn't have to many people working on this tool, so fixing
    of problems we found wasn't that fast.

    We mainly use Certify for partition on predefined boards.

    - Impact Analysis is one of the biggest strength in Certify.  Area
      estimation is sometimes far away from reality.  The rest of this
      feature implementation is perfect.

    - Pin multiplexing (CPM) is second great feature in Certify.  It isn't
      perfect (for example, deal with combinational feedbacks and snakes is
      something about Certify doesn't give you any support - Certify people
      promise some improvement there before 1.5-2 years, but I have not
      seen anything what could be used).  Also, concept of synchronous and
      asynchronous CPM isn't implemented well at all.  But Certify is open
      enough (enable you to make custom CPM cells) and we found a way to
      get tool support for what we need.

    Overall concept of Certify is good.  As usual, problems are in details:

    - Using of Partitioning tool separately of synthesis tool is the
      preferable way for us, but Synplicity people don't like this too much
      (probably because you could use any FPGA synthesis tool afterwards).
      When you use Certify in this way, there are lot of problems related
      to Assigning of Logical Nets to Physical Traces, luck of any top-level
      design budgeting (approximation could be good enough), project options
      and constraints for separate projects for each FPGA.

      Nothing of this problem exist when you use tool in push-button way
      (partitioning + synthesis for all FPGAs at once), but everything
      is 2+ times slower (probably because of top-level design budgeting)
      and sequential (you could not synthesize all FPGAs in parallel
      with multiple Simplify licenses for example).

    - When you run into some Certify problem (and it is not rare at all),
      you don't have absolutely any information why problems appears.
      You get Error Message like: "Call Syplicity Support" and Syplicity
      guys always ask you for your design to reproduce the problem.
      Then you are trying to reproduce problem with some dummy design.
      Tool development isn't our job, some meaningful Error Message would
      be nice.

    - Assigning of Logical Nets to Physical Traces is implemented in a way
      that you hardly could avoid using of GUI in this process (when
      connection changes).

    - There are lot of small problems when Certify deals with bidirectional
      pins, with tied_to_1/0 propagation through partitioning boundary.
      You could compare connection requirements when you replace some
      module with dummy version - all outputs tied to constants and few
      inputs routed to outputs - with version when you really remove module
      from RTL code.

    - Forward propagation of timing constraints and other things to FPGA P&R
      tools is poor and with lot of bugs (it is both Synplify Pro and a
      Certify problem.)

    Our overall impression about Certify is more than good.  Whenever
    we look into competitive tools, conclusion was that Synplicity
    is far ahead.

        - Vladan Andrijanic of ATI
    Synplify Pro - Only complaint we have is that it doesn't always
    create an EDIF that will time in the backend but, rerunning it
    always creates an EDIF that times.  Go figure. 

    DC-FPGA - Synopsys did an eval for us on an existing design
    (133 MHz Virtex II Pro) and couldn't do better than Synplify Pro.
    They wouldn't give me the backend timing report (only the DC-FPGA
    report) so I'm not sure how well the tool really did.

    Exemplar - Never used.

        - Don Monroe of Enterasys Networks


    We have tried Synopsys DC-FPGA, Mentor Precision, and Synplify Pro.

    DC-FPGA was a joke.  The tool fell over at every stage with our
    test designs.  A Synopsys support engineer even commented "Why are
    you using that?"

    Precision seemed OK but with some bugs.  Again Mentor seemed very
    good at providing support on these issues, providing workarounds in
    a timely  manner.

    Synplify Pro was the easiest tool to use, ran faster and produced
    marginally better results (~2% smaller except in one case where
    Synplify produced a design with ~20% more gates than Precision.)

        - [ An Anon Engineer ]


    I've been using DC-FPGA for two designs.  The first was a pure FPGA
    design, the second is a FPGA prototype.

    I really like the ability to control the FPGA synthesis in the same
    manner as I do with Design Compiler, i.e. that the scripts are almost
    identical.  You can even do something like:

        set gIsFPGA 0

        if {[info vars Synopsys_program_name] != "Synopsys_program_name"}
           {
           puts stderr "WARNING: Run this script using a Synopsys shell"
           } else {
           set gIsFPGA  [expr {"$Synopsys_program_name"=="fpga_shell"}]
           }

    Then you can do stuff like:

        if $gIsFPGA {
           report_fpga
           }

    within your scripts and use common scripts for your FPGA and ASIC flow.
    DC-FPGA is also very fast.  We observe more than an order of magnitude
    speed increase on DC-FPGA on our Opteron systems compared to our old
    hardware running FPGA Compiler II.

        - Petter Gustad of Dolphin Solutions


    For FPGA prototyping DC-FPGA is propably the best bet.  For
    developments targeting FPGAs, I'd go with Synplicity.

        - [ An Anon Engineer ]


    We use only Synplicity Synplify Pro and Altera Synthesis for FPGA
    designs.  For us, Synopsys DC-FPGA is not accurate for FPGA design
    and we don't use it.

        - Gerard Chartie of Alcatel

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)