( DAC'19 Item 2d ) ------------------------------------------------ [02/05/20]
Subject: Mentor Symphony takes on Cadence AMS Designer is Best of 2019 #2d
AMS WAR CONTINUES: Three years ago, a DeepChip survey showed Mentor AMS
had moved up slightly in perceived technology leadership. Mentor AMS had
shifted to 2nd place, while Cadence AMS was still the dominate player by
a wide margin.
What caught my attention from this year's user comments is that 3 years
later, it looks Mentor has been making progress to narrow that gap in
3 ways with their Symphony mixed signal simulator.
1. Mentor Symphony taps into AFS' fast speed + accuracy + convergence
strengths for SPICE simulation [See DAC'19 #2a]
2. Yet Mentor Symphony also cleverly cleared a barrier to entry by
letting customers choose which digital sim (Questa/VCS/Incisive)
they want to use. In contrast, Cadence AMS Designer locks the
users into only Spectre and only Incisive or Xcelium.
As one user who moved from Cadence AMS Designer to Mentor Symphony
commented:
"We were also able to continue to use our same digital
simulator, Cadence Xcelium, with Symphony. Otherwise,
the overhead to change to Questa for our digital
simulation flow would have been substantial."
3. Mentor automated away most of the pain involved to set-up the
boundary conditions. One user's comment:
"Symphony only takes 10s of minutes... AMS Designer
might take 5 hours to set up..."
---- ---- ---- ---- ---- ---- ----
---- ---- ---- ---- ---- ---- ----
---- ---- ---- ---- ---- ---- ----
QUESTION ASKED:
Q: "What were the 3 or 4 most INTERESTING specific EDA tools
you've seen this year? WHY did they interest you?"
---- ---- ---- ---- ---- ---- ----
Our company has been using Cadence AMS for mixed signal simulation.
However, some of our engineers have now started using Mentor Symphony
with AFS.
---- ---- ---- ---- ---- ---- ----
Symphony is Mentor's mixed-signal simulator environment. It builds on
their AFS fast SPICE simulator coupling in a Verilog digital simulator
(VCS/Questa/Incisive/Xcelium) for top-level mixed-signal simulation.
Before we adopted Mentor Symphony, we used Cadence AMS Designer.
(i.e. we've used both tools.)
We switched to Symphony because of these factors:
- Symphony's ease of setup
- A big plus for Symphony is the amount of effort required
to properly set up the boundary elements.
Symphony only takes 10's of minutes.
- For CDNS AMS Designer, we would need multiple pages of
instructions on how to configure the boundary conditions.
CDNS AMS Designer might take 5 hours due to unique issues
presented in each mixed-signal testbench.
- Symphony's runtime savings
- We get a big runtime savings with Symphony because it uses
BDA AFS, while Cadence AMS uses Spectre / Spectre APS.
- Symphony's digital simulator flexibilty
We were also able to continue to use our same digital
simulator, Cadence Xcelium, with Symphony. (Otherwise,
the overhead to change to Questa for our digital
simulation flow would have been substantial.) Symphony
allows VCS/Questa/Incisive/Xcelium for Verilog simulators.
- Symphony's ease of debug
- Mentor Symphony continues to work with a standard Spectre
format. This makes debugging of any netlisting errors on
the analog side easier due to designer/CAD familiarity
with the format.
- Cadence AMS Designer has transitioned to netlisting as
schematic/analog devices as Verilog-AMS.
We are a Big "A" / Little "d" company, so our long pole is always in
the analog portion.
For us, running mixed signal testbenches in Symphony takes 3 days in
real life on average. The reason it takes us longer to run Symphony
than only running complex analog is that our digital code needs
additional time to go through a processing cycle.
For an analog simulation, you might have only minor performance issues.
For us the entire chip is running mixed signal, so the way we determine
if it is running properly requires a long functional simulation.
These are our steps:
1. Typically, we've already individually qualified the analog
and digital portions before we run our mixed-signal simulation.
2. Then, after we've stitched the A/D boundary elements together
and verified no issues with parsing the digital code, we run
it in functional mode.
3. Usually, boundary elements cause us some problems -- because
Analog and Digital simulators aren't communicating well.
4. To fix this, we run a short simulation to ensure the
boundary elements are properly configured in Symphony -- and
then we run the full long simulation.
5. Symphony outputs the waveforms; we diagnose the design based
on the waveform data, using computerized checks based on what
functional mode we ran it in. The timing between digital
outputs is of critical importance.
Both Cadence and Mentor's mixed-signal simulators only work with their
own SPICE simulator
- Mentor Symphony uses BDA AFS
- Cadence AMS Designer uses Spectre/Spectre-APS/Spectre-X
However, for digital simulation
- Mentor Symphony can work with Questa or Xcelium or VCS.
- Cadence AMS only works with Cadence's own Xcelium digital
simulator
As I mentioned, Symphony's flexibility here was important for us because
we use both BDA AFS and Cadence Xcelium.
- Symphony pre-processes your digital code to take some of the
work out of configuring the boundary elements -- this is a big
benefit.
- Note: Symphony uses Mentor Questa for the pre-processing even
when you are using a CDNS/SNPS 3rd party digital simulator.
So, there can be a chance of error if your digital code is
written such that Questa doesn't understand the syntax.
Even with this caveat, Symphony's setup is still much easier as these
errors are quickly diagnosed and corrected.
- And, fortunately for us, our syntax for Xcelium is very close to/
compatible with Questa. FYI, we use Verilog, and make only
light usage of SystemVerilog. (Some engineers may see more
differences in syntax between the SV digital simulators.)
When you run Cadence AMS designer,
- It has 3 netlisting flows: Cell-based, OSS and UNL
- Of the three AMS designer flows, there is not one best flow;
they all have quirks. Sometimes, the error messages for
one flow we picked wouldn't even make sense, so, we'd have to
jump to another flow and debug.
After jumping a few times and debugging, one of the flows
would work.
Once the CDNS simulation is properly configured and the CDNS tool is
running, the ease of use for both (MENT/CDNS) AMS tools is comparable.
I highly recommend Mentor Symphony. We were a beta tester for it and
its value was clear to us immediately. We've been using it ever since.
I'm happy with Symphony. Mentor's support has been excellent; we get
the same level of support as with BDA AFS -- though we don't need it.
---- ---- ---- ---- ---- ---- ----
A couple of our designers are using Mentor Symphony for mixed signal
simulation.
---- ---- ---- ---- ---- ---- ----
Mentor Symphony
I used to do my mixed signal co-simulation with Magma FineSim and
Questa (System Verilog). Although FineSim was not an official mixed-
signal simulator, it had a child process to allow us to run
System Verilog on Questa.
We've used our in-house method for many years, but it got harder and
harder to build. I was looking for something that would work better.
We evaluated Mentor Symphony and have been using it. It has been great
for running our mixed mode simulations. It provides an easy transition
between our logic simulation in conjunction with our SPICE simulation.
Symphony uses Mentor BDA AFS as its SPICE simulator, plus we use it with
Questa for digital logic simulation. (The Mentor guys tell us Symphony
also supports VCS and Xcelium, but I have only used it with Questa.)
It only took us several days to get a design up and running on Symphony,
versus a month with our in-house tool.
With mixed-signal simulation, you can have two outputs -- digital or
analog -- and you must compare where one ends and the other begins.
- Symphony has been able to stitch these two together so you
can see them both at once.
- Questa's waveform viewer is integrated into Symphony.
We also use Cadence AMS models as part of our company's verification
flow.
From what I've seen, with Cadence AMS Designer you must represent your
analog model in your Cadence digital simulator (Incisive or Xcellium.)
So, it's only as good as how you model in Cadence terms.
With Symphony, the analog circuits are simulated as they are -- without
modeling. You just model the boundary conditions; in one configuration
file.
Symphony's biggest strength is having pre-defined boundary elements.
They eliminate the grunt work, as delineating them manually can be
finicky. I haven't explored corner cases yet, but it does the job.
Symphony's boundary browser is nice.
- After you run the simulations in either digital or analog,
you can run the boundary element browser and get the mapping
of each subblock -- to see whether it was simulated in
analog or digital.
- Note: there is a cost factor, as the Symphony boundary browser
is run separately, so it takes more licenses.
What Mentor could improve: inherently if you transition from digital
to analog, the digital goes from "0" or "1", or 0.0 to 1.5. I'd like
to have more choices here, as there is presently not a way to do this.
Minor nit aside, I'd recommend Symphony.
---- ---- ---- ---- ---- ---- ----
Related Articles
Mentor BDA AFS speed/accuracy/convergence wins Best of 2019 #2a
Cadence Spectre-X skeptics & early sightings is Best of 2019 #2b
Empyrean ALPS GPU crushing Cadence Spectre-APS is Best of 2019 #2c
Mentor Symphony takes on Cadence AMS Designer is Best of 2019 #2d
Join
Index
Next->Item
|
|