( DAC'20 Item 1e ) ------------------------------------------------ [02/12/21]

Subject: Siemens Symphony nips at Cadence AMS Designer is Best of 2020 #1e

RAVI'S NO LOCK-IN STRATEGY: In last year's Best of 2019 survey report, two
users gave detailed reviews on MENT's Symphony mixed-signal simulator after
it was leaked a year earlier in 2018 as Mentor's way to parlay their AFS
popularity into the Cadence AMS Designer niche.
                      
With five Symphony users stepping up this year, it's clear it's been gaining
inroads against Tom Beckley's AMS Designer.  Ravi Subramanian's strategy is
clever: as long as the customer is using BDA AFS or AFS-XT for the analog
simulations, let them use *whatever* for the digital simulations.  That is,
do NOT lock them into only MENT Questa -- they can use Questa or VCS or
Incisive or Xcelium or *whatever* they want to use!

   "Prior to BDA Symphony, we used Cadence AMS Designer, along with the
    rest of the Cadence environment.  Then our analog guys moved from
    Spectre SPICE to AFS -- primarily because AFS runs faster and their
    accuracies matched.  So, the natural thing was for us to use
    Symphony for our mixed signal simulation also."

   "With Symphony, you can use ANY digital simulator, such as Questa,
    Xcelium or VCS.  Essentially you just choose your Verilog file.
    This is important to us. ... We didn't like that Cadence locks us
    into their Xcelium simulator with AMS Designer."

Add in serious speed and an easy set-up:
   
   "To me, Symphony's greatest advantage is that the setup is really
    simple.  It's so simple that I initially had difficulties
    understanding the documentation, because so little was required.
    Once a Mentor support walked me through an example, I realized
    how convenient it is."

   "For our use case, Symphony with AFS/Questa was 2X to 2.5X faster
    than the Synopsys FineSim/Questa co-simulation."

And suddenly you have BDA AFS SPICE speedy runtimes unexpectedly selling
more Mentor Questa digital simulation licenses!

   "Even though our digital teams typically use Xcelium, I usually
    use Symphony with Questa.  It's cheaper, plus Mentor is more
    generous with licenses.  We haven't seen any discrepancies
    when we use Symphony with Questa.  i.e., during our functional
    verification, for a certain stimulus, we get a comparable output."

        ----    ----    ----    ----    ----    ----    ----
        ----    ----    ----    ----    ----    ----    ----
        ----    ----    ----    ----    ----    ----    ----

      QUESTION ASKED:

        Q: "What were the 3 or 4 most INTERESTING specific EDA tools
            you've seen in 2020?  WHY did they interest you?"

        ----    ----    ----    ----    ----    ----    ----

    We run the Symphony mixed-signal simulator toward the end of our M/S
    projects when we want to co-simulate our analog circuit with our 
    gate-level logic and verify that the connectivity and functionality
    are correct.

    Our tapeout last month was too large to simulate at transistor-level,
    so we back-annotated our Verilog gate-level with SDF parasitics in
    Symphony.  Our three main sections were: IO ring/pads, the top-level
    analog schematics, and the digital Verilog gate-level netlist.  

    We used Symphony to check:

        - All the external communication interfaces into the device.

        - Between digital and analog sections, such as making sure the 
          enables and power downs were connected correctly.

    Moving to MENT Symphony from CDNS AMS Designer

    Prior to BDA Symphony, we used Cadence AMS Designer, along with the rest
    of the Cadence environment.  

    Then our analog guys moved from Spectre SPICE to AFS -- primarily 
    because AFS runs faster and their accuracies matched.  So, the natural
    thing was for us to use Symphony for our mixed signal simulation also.

    We still use other Cadence tools in our flow, including Xcelium, since
    Symphony works with Xcelium.  (Details below)

    Setting Up

    Setting up the AFS simulator with Symphony was quick.  It took me only 
    one day to figure out the licensing, install it, look at Mentor's simple
    inverter example, and then substitute our full digital backend.

    The fact that it only requires a single configuration file is handy.
    I can specify that I want one block to be simulated as digital, and
    another block as analog schematic in the one file.

    (Cadence AMS Designer is also pretty easy to use.  Because AMS Designer
    has multiple configuration files, Symphony was a little easier there, 
    since it's all in one file.)

        - As part of our transition to Symphony, Mentor gave me a 
          1.5-hour training course.  The training was useful to get
          my bearings -- after that I didn't need support.  The tool 
          documentation is fairly good, also.

    I like Symphony's waveform viewer -- it displays both digital and analog
    traces in one window.

    Symphony + AFS + Xcelium

    We use Symphony with BDA AFS as our analog simulator and Xcelium as
    our Verilog digital simulator.  

    Mentor lets you choose your digital simulator.  That is valuable to us 
    as our current project has a lot of prior IP and toolsets that we've 
    built up over a decade that used a mix of different Verilog simulators.

    If Mentor locked Symphony to be only Questa, it would take us a bit of
    effort to convert all our VCS/Incisive/etc. scripts and testbenches
    over to Questa.

    It was nice to instead be able to just plug in Xcelium into Symphony
    and have it work from the get-go.

    Convergence

    I haven't come across convergence issues with Symphony/AFS.  Convergence
    can be frustrating when you know it's not a circuit problem, instead 
    it's either the netlist being too big, or the settings are wrong.
    With Symphony, I can find the right setting without fighting the 
    simulator.   

    Performance & Accuracy

    Symphony's speed is tied to AFS -- and MENT BDA AFS is fast.  AFS also
    works well for running netlists on multi-core machines.  We run it on
    8 cores, and it scaled well for us.

        - We try to keep our simulation runtimes to only 6-8 hours (by 
          using configuration views, black boxes...)  That way we can 
          keep the simulators running around the clock -- by checking 
          and running them in the morning & evening.

        - We do have long transistor-level simulations, such as where we 
          ramp up the supply voltage to make sure currents are correct.  

        - Those simulations can take 3 days to a week.  For our smaller 
          simulations, we often have 4-5 running at a time.  We don't 
          want to find out 2 days later that we set a register bit 
          incorrectly.

    Symphony meets our accuracy requirements.

    Our analog team already does high accuracy SPICE simulations on the
    analog elements before I used Symphony.  So, for my mixed-signal
    simulations, I'm checking for things such as whether the clock timing
    from analog is captured correctly by the digital elements, e.g. does
    the captured data have enough timing margin? 

    I've been happy with Symphony and would recommend it.  It runs fast, so
    you can get through a lot of simulations for a high level of confidence.
    We can do a full boot up sequence with it.

    We get great use out of it.

        ----    ----    ----    ----    ----    ----    ----

    On our ADCs, we use Siemen Symphony mixed signal with AFS for our 
    SPICE/analog simulations and Questa for digital simulations.
    It's runtime for our high-speed ADC.

        - 2.8M transistors, 80 clock cycles at 60 GHz.  

        - Symphony's simulation time: 3 hours 40 minutes
 
        - I used the 2nd least accurate mode, out of 6 options.  

            - This setting was fine for functional simulation,
              not the settling behavior

            - This was the most time-consuming run.  
 
    For high-speed ADCs you can't just clock the data out.  So, we verified
    that the right data was sampled at the input and checked what was
    transmitted out.

    It took 25 total simulations to verify it, with each simulation about
    1 hour.  Each of the 25 testbenches had a specific purpose, such as 
    checking different operating modes, clock skew of signals, checking
    input/output behavior, and so on.  

    For us, each simulation took about 1 hour (maybe 1.5 hours) with 
    3 hours 40 min the maximum simulation time.  
 
    ACCURACY
 
    Symphony's accuracy is good.  It's tied to the AFS accuracy level 
    setting.  We use the AFS golden mode for performance simulation,
    e.g. to assess our ADC core settling behavior.  

    The tool was flexible for us to find the right tradeoff between
    accurate and time -- that can vary, depending on what we want to
    get out of a particular simulation.

    SETUP
 
    When you begin doing mixed signal simulation, you must pick one of
    two main approaches:

        - Digital on top <-- this makes sense for some designs, e.g., 
          when a transceiver has huge digital firmware on the chip,
          so the project lead is a digital designer.  
 
        - Analog on top <-- our focus is ADCs, so this is our approach.

    When you do analog on top, you must determine the number of digital 
    elements you have and your inputs.  There are reasons for doing two 
    digital parts -- such as when you have a serial peripheral interface 
    (SPI) on one edge of chip and another digital part is integrated in
    analog domain to do calculations.  

    The only other mixed signal simulator I've used that I to compare to 
    Symphony is from Tanner.  (Acquired by Mentor, so now it's Siemens.)

    Symphony's initial set up is simpler than Tanner's.  

        - Symphony has one configuration file that can be very easy to 
          set up.  Once your analog top-level and digital top-level 
          designer are finished, you can just enter the instance names,
          and click on execute on the command line.
 
        - I recently did a mixed-signal setup for my current project and
          it only took me 3 to 4 hours.  (I made some errors in naming due
          to template-based approach).  

    Tanner's time-to-change situations is easier than with Symphony.

        - For one design, we had initially targeted simulating the entire 
          chip, but our digital designer wasn't finished.  Since we didn't 
          have a Verilog netlist yet, we wanted to quickly run our top-level
          simulations using VHDL behavior models and then progress them over
          time.  

        - Symphony can do this.  However, it has a longer set up than 
          Tanner.  It would be easier if Mentor improve the setup UI for 
          setting up different situations versus just offering templates.  
 
    BOUNDARY ELEMENT BROWSER

    Symphony has a boundary element browser.  (The boundary elements are the
    interfaces between the analog and digital elements.)  The boundary 
    element information includes property supply voltages and the rise and 
    fall time of the data signal.

    It's easy for us to find the signals in Symphony's EZwave waveform 
    viewer because the analog signal and digital signal are different colors
    (on different sides of the boundary elements).  

    The last time I checked, Tanner's mixed-signal viewer didn't have this
    feature.

    CONCLUSION

    I'd recommend Symphony to others.  Its performance is good.  It is also
    very flexible and has an extraordinary number of features.  For example,
    Symphony's display will show changes, with the value printed inside the 
    digital circuit.  E.g. a bus with 4 bits would be marked "1011".

    Mentor says they are looking at adding a user/community forum with an 
    online Q&A, including for AFS & Symphony users.  The idea is that 
    customers could search online for more useful information beyond the 
    user manual.  

    And it would be more efficient than contacting support.  Perhaps not 
    directly, but it could provide a good knowledge base where we can find 
    solutions to common issues.  I'd like to see this happen.

        ----    ----    ----    ----    ----    ----    ----

    MENTOR SYMPHONY

    Symphony is Mentor's mixed-signal top-level chip simulator.  We use it
    for top-level functional verification of our analog and digital blocks.

    Our goal with Symphony is to verify that our analog and digital blocks
    are connected property and we get the expected output for the stimulus.
    I have one example below.
 
    Design: 500,000+ elements, and a 120-microsecond simulation time for 
    each circuit run

    Symphony's total runtime: 2 days
 
    AMS Designer is Cadence's equivalent to Mentor Symphony.  We've used 
    both tools, so below I can make a few comparisons.

    Mentor Symphony vs. Cadence AMS Designer
 
    1. Setup
 
        Symphony
 
            - We like Symphony because of its ease of use and setup.

            - With Symphony's set up, we only need one configuration 
              file.  That's an advantage over Cadence, it's neat and 
              easy to use.
 
        AMS Designer

            - It's more challenging for us to use due to problems
              during set up.  

            - We will have an Xcelium-based testbench that works in 
              Symphony, but not in Cadence AMS Designer.  There is
              something fundamentally wrong, and the netlists errors
              don't make sense.

            - We haven't been able to make it work, even after we talk
              with the Cadence AE.

            - We actually stopped using AMS Designer due to the setup 
              issues.  The two mixed-signal simulators (Mentor and 
              Cadence) were similar in terms of the GUIs, but Cadence
              had too many netlisting issues.  
 
    2. Digital Simulator Flexibility

    Both Mentor and Cadence require that you use their own analog/SPICE
    simulator with their mixed-signal simulator, i.e., AFS or AFS-XT with
    Symphony, and Spectre or Spectre-X with Cadence AMS Designer.
 
    Beyond this:

        - With Symphony, you can choose/use ANY digital simulator,
          such as Mentor Questa, Cadence Xcelium or Synopsys VCS.
          Essentially you just choose your Verilog file.
 
    This is important to us.  Our digital designers use Cadence Xcelium,
    and it helps to do our top-level verification using the same tools.

    Even though our digital teams typically use Xcelium, I usually use 
    Symphony with Questa.  We often have a restriction on total Xcelium 
    licenses, and the digital verification team complains when we use the 
    Xcelium licenses.  Our options are to wait for Xcelium, or use Mentor's 
    Questa simulator digital tool.

    So, we take advantage of using Questa.  It's cheaper, plus Mentor is 
    more generous with licenses.  We haven't seen any discrepancies when we
    use Symphony with Questa.  i.e., during our functional verification, for
    a certain stimulus, we get a comparable output to Xcelium.

    That is, we didn't like that Cadence locks us into their Xcelium digital
    simulator with AMS Designer.
 
    3. Waveform visualizers, GUIs, Configuring voltage

        - Both Symphony and AMS Designer have waveform visualizers, but
          Mentor's is much faster than AMS Designer.

        - Both tools have nice GUIs to help you configure your 
          analog/digital boundary elements.

        - Both Symphony and AMS Designer give you flexibility in 
          choosing/configuring the voltage, and the rise and fall time 
          on waveforms.  The digital block outputs are a 0 or 1.
          Since analog takes voltage, you must be very specific that
          1.2 volts = high and 0 volts = low
 
    4. Support

        - My experience, based on using both BDA AFS and Symphony, is
          Mentor's support is an order of magnitude better than Cadence.

    Mentor AEs understand your problems better, and they are faster to file
    a bug fix or solutions request.  

        - With Cadence, support is slow.
 

    Conclusion
 
    Symphony's biggest strength is it's easy to use and flexible in terms
    of which digital simulator you use, and great customer support.

    The need for Symphony depends on your company's verification flow.

    However, most companies doing mixed-signal design also do top-level 
    verification at some point.  So, I see value in buying Symphony versus
    doing the top-level verification semi-manually and risking overlooking 
    edge cases.
 
    Plus, we've seen Symphony shortens our time-to-market.

        ----    ----    ----    ----    ----    ----    ----

    We use the BDA Symphony mixed-signal simulator.  

    Running mixed-signal simulation has been part of our verification flow
    since I first started working as a design engineer.  (We use multiple 
    mixed-signal simulators tools across our company.)

    Symphony's most appealing aspect for me is its setup simplicity.  
    Depending on the process node, Symphony also has a speed advantage.
    But that is not always the most relevant factor, depending on the
    design or block size.  

    Symphony uses Mentor AFS as its analog simulator, but it lets you choose
    your digital simulator.  I run it with Questa as that is the tool that
    our digital designers use, and they are the ones I work with if and when
    I find issues/bugs.

    I've used Symphony for full-chip simulations, including a complex DC-DC
    controller with substantial digital circuitry.  I simulated test modes
    and communication over I2C with Symphony.

    It took roughly 3 to 6 hours, depending on the simulation.

        - For our use case, Symphony with AFS/Questa was 2X to 2.5X 
          faster than the Synopsys FineSim/Questa co-simulation.  We got
          this speedup using the AFS fast afsmode=1 setting.

        - Symphony/AFS/Questa was already our toolset of choice for this
          use case anyway due to the flexibility to run multiple threads.  

    Our FineSim/Questa co-simulation had a bug that prevented us from using
    multiple processors for our use case.  

    As for learning curve,

        - The primary unknown for me was AFS, but since it's mostly 
          HSPICE netlist-compatible, this was not too big of an issue.  
          (There are still a few peculiarities in HSPICE-compatibility 
          mode to iron out.)

        - I haven't even needed to use Symphony's GUI; which is a plus
          for me.

    I was not looking for accuracy in this design, as I was doing functional
    verification.  So, I was able to use AFS' less accurate afsmode=1.  In 
    a new design I will need accuracy.  

    The support by our local Mentor AE is excellent.  It can sometimes take
    time to resolve our issues, but their communication is very good.  E.g.  
    I've had some convergence issues, but it's a lot better than with ELDO.
    (This is of course technology dependent.)

    So far, I can recommend Symphony based on its ease-of-use.  I can't yet
    comment much on its accuracy or speed based on my direct experience, but
    from what I heard from other colleagues, Symphony is strong there also.  

    To me, Symphony's greatest advantage is that the setup is really simple.
    It's so simple that I initially had difficulties understanding the 
    documentation, because so little was required.  Once a Mentor support 
    walked me through an example, I realized how convenient it is.  

    Also, Symphony's waveform viewer is very convenient.  It can display
    both digital and analog in single window.  I'm still new to it, but so 
    far, it's working fine.

        ----    ----    ----    ----    ----    ----    ----

    We use the Siemens Symphony as our mixed signal verification platform.
    It is easy to set up and has good performance.  Setting up boundary
    elements between the analog and digital boundaries was very easy.

    We use it with Mentor's AFS SPICE simulator.  We also run it with the
    Cadence Incisive digital Verilog simulator because that is what our
    digital team uses.  

    We ran Symphony on our ADC design with 10's of 1,000's of analog 
    transistors; the digital parts were not too large.  The waveform viewer
    is convenient; we can see both the digital and analog waves together.  

    We also use another mixed signal simulator (sorry, I can't name what
    it is.)  We use the tools on a project basis, depending on the project.

        - Both simulators performances were fairly similar.  
 
        - Both met our accuracy requirements.

    Symphony is somewhat easier to set up than the "other" mixed signal
    simulator.

        ----    ----    ----    ----    ----    ----    ----

Related Articles

    Users choose Joe Sawicki's AFS-XT SPICE gambit as Best of 2020 #1a
    Cadence Spectre-X users say 2x speed-up real is Best of 2020 #1b
    Empyrean ALPS-GT crushes Spectre-X and AFS-XT is Best of 2020 #1c
    EMX/Spectre-RF/Virtuoso-RF combo 75% easier use is Best of 2020 #1d
    Siemens Symphony nips at Cadence AMS Designer is Best of 2020 #1e

Join    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)