( 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
|
|