( DAC'19 Item 2a ) ------------------------------------------------ [02/05/20]
Subject: Mentor BDA AFS speed/accuracy/convergence wins Best of 2019 #2a
SPEED PLUS ACCURACY WINS: In the SPICE wars, Mentor BDA AFS users came out
in force this year to report that Mentor nailed having AFS run faster than
Synopsys HSPICE/FineSim and Cadence Spectre APS -- while still maintaining
its high accuracy. Some user comments:
"Before AFS, I didn't think a true SPICE simulation could match
or exceed a fast SPICE simulation like FineSim."
"AFS gets accurate results on par with HSPICE and FineSim, but it
runs faster for functional simulations."
"In general, AFS runs up to 5X faster than Cadence Spectre APS,
depending on the circuit."
PLUS CONVERGENCE: The added reputation that BDA AFS converges on simulations
that causes other SPICEs to choke was a strong bragging point, too.
"I like AFS because Spectre APS just can't handle some circuits,
while AFS can. There is no choice there."
"Since AFS can converge, at least you know where to start.
Spectre APS chokes at a certain size."
"Running IP IR drop simulation with 4 cores on a ~2 million
element design only took 2 hours with AFS. I don't think
Spectre APS could have even converged it."
"BDA AFS is faster than Synopsys FineSim, converges much
better, and its accuracy is within 0.5% of FineSim."
PLUS KILLER SUPPORT: That AFS technical support *after* the Purchase Order
has been signed dwarfs these 3 other big traits. Why? Because what good
is fast speed + sharp accuracy + amazing convergence if you can't get the
bloody SPICE run started? (There's an interesting write-up of Mentor
BDA AFS support vs. Cadence Spectre support in the user comments. Find it
if you want a good laugh!)
And I have to tip my hat to Ravi for keeping BDA AFS support exceptionally
strong even after two mergers!
This balance of speed + accuracy + convergence + killer support easily made
BDA AFS the favorite #1 SPICE simulator with the users for their top-level,
pre/post-layout, and transient simulations.
---- ---- ---- ---- ---- ---- ----
OLD INTRIGUE RETURNS: In 2013, Cadence kicked the BDA AFS simulator out of
the Virtuoso ADE cockpit. (ESNUG 521 #5) Being clever, BDA R&D wrote their
own backdoor entrance to the Cadence OASIS interface that Virtuoso used.
In response, Cadence sued BDA and in a colossal public relations blunder,
threatened to sue the BDA customer base, too!
Does Cadence-Berkeley lawsuit mean some ADE users will be sued?
Berkeley's lawyer answers Cadence charges in U.S. District Court
So far public opinion is strongly anti-Cadence on CDNS vs. BDA
And a year later
SCOOP -- Judge dismisses CDNS vs. BDA lawsuit "with prejudice"
The upshot was Cadence was forced to give BDA AFS open and unfettered access
to Virtuoso ADE for a number of years.
But it appears that this 2014 settlement has now -- 6 years later -- timed
out because Cadence has recently started charging a "corkage fee" (i.e. an
extra license fee) to all users if they want to use BDA AFS integrated
within Virtuoso ADE. (And, like a persistant cough that won't go away,
it's making the users pissed off against Cadence! See the user comments
yellow highlighted below.)
---- ---- ---- ---- ---- ---- ----
---- ---- ---- ---- ---- ---- ----
---- ---- ---- ---- ---- ---- ----
QUESTION ASKED:
Q: "What were the 3 or 4 most INTERESTING specific EDA tools
you've seen this year? WHY did they interest you?"
---- ---- ---- ---- ---- ---- ----
We currently use the Mentor AFS circuit simulator for pre- and post-
layout simulation of our ADCs. We've also used it for our PLLs.
In general, AFS runs up to 5X faster than Cadence Spectre APS, depending
on the circuit.
BENCHMARK: Mentor BDA AFS vs Cadence Spectre APS ++aps
Performance
Post-layout simulation (RC Coupled +Supply) of a ~2 million nodes
design, running each simulator on ~20 cores.
SPICE simulator Runtime
-------------------------- --------
Spectre APS, ++aps option ~7 days
AFS ~4 days
It is difficult to make a perfect 1:1 performance comparison, because
we had different servers being used, with different loading conditions.
Accuracy
- BDA AFS's default accuracy option (level 4) had similar accuracy
to the Spectre APS (++aps option)
Convergence
- Both tools can converge for transient simulation for clocks up
to 1.0 GHz, with time steps as low as 1/2 pico second.
- AFS converges slightly better than Spectre APS for very large
circuits (e.g. 2 million nodes)
Virtuoso ADE-XL integration
- We use Cadence Virtuoso ADE XL and Assembler. AFS works fine
with it -- it's straightforward to use it.
I'd recommend Mentor BDA AFS simulator: it's a good tradeoff between
speed and accuracy -- better simulation times than Spectre APS,
with basically the same accuracy.
Also, Mentor has very good customer support. If we are stuck or have
an issue, we get a quick feedback and usually solution to our issues.
---- ---- ---- ---- ---- ---- ----
Mentor AFS is similar to Cadence Spectre APS, but faster. Time is
most important to us.
We use both Mentor AFS and Cadence Spectre APS, as we have licenses
for both. Below are some comparisons.
CAPACITY & PEFORMANCE
- We use BDA AFS at the top level and the block level.
- We usually run both AFS and Spectre on 12 threads.
I like AFS because Spectre APS just can't handle some circuits, while
AFS can. There is no choice there.
- For our typical transient simulation, BDA AFS is 2X faster.
- If the design size is big, or it's a post-layout simulation
with a lot of RC parasitics, the AFS speedup vs Spectre APS
is more noticeable.
AFS has better DC convergence. For transient analysis, you run DC
convergence first. Since AFS can converge, at least you know where
to start.
Spectre APS chokes at a certain size.
But even with AFS, we must adjust the accuracy mode if our design is
more than about 2M elements -- and then do our post-layout reduction.
AFS has multiple accuracy modes, with level 5 being the highest. We
never use it at accuracy level 5 -- it's not needed.
For some large designs we use AFS level 3, and even then, it can
take weeks.
ACCURACY
For similar accuracy settings, BDA AFS and Spectre APS are very close
in accuracy -- within 0.5% to 1.0%.
Both are our golden simulators; you just must know the right settings
for your design.
It's difficult to match the two simulators exactly because the setups
are different. You must play around with each of them.
- Our Mentor AE is very good at helping us to improve AFS accuracy
without speed trade-off.
- You can relax Spectre's settings, but then it takes a long time
to run.
CONVERGENCE
BDA AFS converges easily. Much better than Spectre APS. Plus, we get
lots of script support from MENT AE that we can use on our own.
OTOH, Cadence Spectre has "hidden" options, and it's not convenient for
us, as only Cadence AEs and R&D can tweak those options. And only the
Cadnce AE can use them; which takes a long time to get to happen
(compared with doing it on our own with Mentor AFS). Our Cadence AE
is not approachable immediately.
AFS CADENCE VIRTUOSO ADE XL & ASSEMBLER INTEGRATION
We use AFS with Virtuoso ADE XL and Assembler.
- It's gotten tougher to do this lately, as Cadence is now
trying to block AFS usage by making us users pay Cadence
a license fee to use Cadence Virtuoso with Mentor AFS.
- We can only run older Virtuoso versions without paying the
extra license fee -- Cadence's newer Virtuoso version will
not allow it.
Why should we pay extra to use a 3rd party SPICE simulator?
The other option we have is to look into their all-Mentor ACE flow
and just move away from Cadence. (See ESNUG 524 #2)
TRANSIENT NOISE ANALYSIS
AFS biggest strength is speed while maintaining accuracy. Especially
for transient analysis -- it is way better there. When you do
transient noise simulation with AFS, it includes harmonics. With AFS,
we don't have to be specific about it as you do with Spectre APS.
But our circuits are getting bigger and bigger, so we have more
parasitics, especially with smaller process nodes. This makes it harder
for CAD tools to handle, even with multi-threading.
So even AFS takes longer now and chokes sometimes, where we must break
up our design. We'd like AFS speeded up again.
SUPPORT
One very important feature that makes AFS more desirable for us than
Spectre is Mentor's AE and R&D support. The Mentor AFS AE is knowledge
and helpful.
Cadence does not have good service -- from our experience their Spectre
AE/R&D support is bad. Maybe this is because we're not Apple nor Intel,
but even smaller customers should get treated well, no?
Here is a comparison of what happens when we have a technical issue
come up.
- Cadence Spectre Support
Our Cadence AE serves as dispatcher rather than a technical
expert. When we ask for Cadence AE support, the AE files a
ticket to the right R&D team (RF or transient), then schedule
a WebEx with us.
Cadence's R&D team is remotely located in India, so one
session is usually not enough. So, after giving us a couple
of ideas, we must schedule a new WebEx -- but then it's with
a different Cadence R&D person in India. So, there is no
continuity or clear ownership.
- Mentor BDA AFS Support
With Mentor it's easy. The AFS AE comes to our office 3 days
a week. They sit here and work on it first. If they can't
solve it themselves, they then press Mentor R&D to help.
We pack our stuff for them so that MENT R&D can duplicate the
problem, and either get suggested workarounds from MENT R&D,
or have BDA AFS R&D add a fix to a new release. The MENT AE
comes back to continue to work with us on it.
Sometimes we run into a problem over the weekend, and our
Mentor AE will still reply to us. Good AE with engineering
talent -- they help us get to tape-out.
Support matters a lot because you will always have CAD tool issues.
---- ---- ---- ---- ---- ---- ----
Mentor AFS (Analog Fast SPICE) is our golden SPICE simulator for our
EDA flow for silicon. We use it on our SRAMs, ADCs, PLLs, and DACs.
AFS inputs:
- A netlist consisting of transistor and passive models
(capacitor resister diodes), plus various stimuli such as
V-source and I-source devices, or VCD files. It supports
SPICE, Spectre, and Verilog-A languages.
- Parasitic formats (e.g. if you are running a simulation
on extracted designs, such as DSPF, SPF, SPEF)
AFS outputs:
- Primarily waveforms. AFS supports multiple formats, but we
only use PSFbin.
The largest post-layout design we ran AFS on was 30+ million elements
and 300K active elements. We've used it for both pre-layout and post-
layout simulation.
Our custom design environment is primarily Cadence Virtuoso ADE.
- AFS integration used to be *very easy* plug-and-play in
Virtuoso.
- AFS is still plug-and-play, but it's not as easy. Cadence has
gotten stricter about how 3rd party simulators can connect to
ADE.
We're not happy that Cadence has enforced a "corkage fee" for us to
use third party simulators like BDA AFS.
It's worth commenting that while usually vendors have great pre-sales
support, which continues shortly after the sale, and then tapers off,
Mentor has had great AE support even way after they sold us AFS.
Their great support that started at BDA and has continued following
both the Mentor and Siemens acquisitions.
AFS is a great tool, with great support.
---- ---- ---- ---- ---- ---- ----
Siemens BDA AFS
---- ---- ---- ---- ---- ---- ----
For SRAM circuits, BDA AFS is still king.
---- ---- ---- ---- ---- ---- ----
We REALLY do not like the "guest fee" that Cadence is requiring
for us to use Mentor AFS in the Virtuoso environment
---- ---- ---- ---- ---- ---- ----
Mentor AFS. I run it for simulation of out analog cells and systems.
The most common designs I run it on are data converters (ADCs, DACs).
I also use it to simulate general analog apps using op-amps, etc.
The largest design I've run AFS on would probably be a pipelined ADC.
It was probably 100+ K nodes.
We use AFS for transient noise analysis and it performs well.
It's very fast -- we've run it on 16 cores, and I have not seen any
convergence issues.
I also used it for periodic noise analysis. AFS was faster than
Cadence Spectre-APS, though I don't have exact numbers for comparison.
We use AFS in the Cadence Virtuoso environment. I have not seen any
significant problems using AFS within Virtuoso.
The biggest benefit we see with AFS is the reduced SPICE simulation
time.
---- ---- ---- ---- ---- ---- ----
That Cadence 3rd party license fee to run AFS in ADE is bullshit.
---- ---- ---- ---- ---- ---- ----
Mentor BDA AFS is a very accurate analog SPICE simulator.
I've used it on an LNA (low noise amplifier), an ADC, and for analog
top-level simulation -- both for pre-layout and post-layout designs.
I especially like it for transient long run simulations and analog
top-level simulations.
Running AFS on 8 cores for a design with ~100,000 total elements
took 3 days.
BDA AFS gives us:
- 2X speedup over Spectre APS for our top-level analog
simulations
- The same level of accuracy.
It's top-level analog simulation speed is AFS' biggest strength.
---- ---- ---- ---- ---- ---- ----
I'd rank AFS in the top 3. It easily beat Spectre-APS in our tests.
---- ---- ---- ---- ---- ---- ----
Don't like this extra license fee to run AFS inside of Virtuoso.
---- ---- ---- ---- ---- ---- ----
I'd recommend Mentor AFS. It rescues us from very long simulations
when we are limited in time.
In some cases, AFS is faster by more than 10x to Spectre APS due
to faster conversion, with the necessary accuracy.
We've used it to simulate our SerDes and PLLs, including
- Very top-level simulations like test chips which contain
our complete IP solution.
- Pre- and post-layout simulations.
Running IP IR drop simulation with 4 cores on a ~2 million element
design only took 2 hours with AFS. I don't think Spectre APS
could have even converged it.
AFS' biggest strength is its fast speed with good accuracy. Also,
so far AFS has always converged for us on the first run.
---- ---- ---- ---- ---- ---- ----
Mentor's AFS SPICE Simulator.
We use it for pre- and post-layout simulation of our big designs, such
as the whole IP top-level (SerDes and PLL). We only use AFS on large
designs because we have limited licenses.
We use it for top level verification, and it is more accurate than our
normal simulator, which is Mentor Eldo.
I've run AFS on designs with up to 2 to 3 million elements.
MENT BDA AFS vs. MENT Eldo
- Running AFS on 5 cores for a 2 million element design took
around 2 days
- For normal simulations, AFS is 2x faster than Eldo
- For some LPE cases AFS is 3x to 4x faster than Eldo due
to its parasitic reduction option
- For some specific test cases:
- Eldo typically takes 3 days
- AFS takes only ~3-4 hours <-- the speed up in this
test is the result of the convergence time
I've used AFS for around a year now and all the SPICE simulations
converge from the 1st time. However, I've had some problems
with convergence while simulating Verilog and Verilog-A models.
We have our own in-house custom design platform, so it wasn't
hard to integrate AFS inside.
One of the best options in AFS that it can take both Synopsys HSPICE
and Cadence Spectre-APS input files and that we can mix between
commands from each language.
I recommend BDA AFS for sure. It's really fast.
---- ---- ---- ---- ---- ---- ----
Paying extra for permission to run AFS inside the Cadence environment
pisses off my mgmt to no end.
---- ---- ---- ---- ---- ---- ----
We use Mentor AFS for pre-layout and post-layout SPICE simulation of
our PLLs, regulators, and bias circuits
BDA AFS is faster than Synopsys FineSim, converges much better, and
its accuracy is within 0.5% of FineSim.
AFS is easy to use in our environment -- we use it both with Cadence
Virtuoso ADE and with a command-line interface.
It is also good for mixed-signal co-sim simulation of small blocks.
AFS is not as fast as Synopsys CustomSim fast-SPICE, and Mentor's
Symphony mixed signal simulator (ESNUG 584 #10 and DAC'19 #2d) did
NOT support a sandwich structure for us to use Fast-SPICE instead
of AFS.
But overall, AFS has a very good balance of speed and accuracy, with
excellent field and R&D support by Mentor.
---- ---- ---- ---- ---- ---- ----
Mentor AFS SPICE Simulator
We use Mentor AFS, Synopsys FineSim and Synopsys HSPICE, but in the last
year we've been using BDA AFS more than FineSim.
AFS gets accurate results on par with HSPICE and FineSim but runs faster
for functional simulations.
In 2019, I did a deep dive into comparing BDA AFS and Synopsys FineSim.
- Beginning in its mid-2019 version, AFS had significant speedup
versus FineSim.
- In a mixed-mode or semi-top level, AFS is now ~30% faster due
to parallelism. (8 cores).
We use AFS liberally for block level and top-level simulation and for
transient analysis.
My approach, when designing a circuit:
1. I run my building blocks in HSPICE first. I then run them on
BDA AFS to see if the results pass in accuracy (vs HSPICE).
So far, AFS has passed every time.
2. I then use AFS in level #4 accuracy mode for the rest of my
SPICE simulations. (Although I haven't directly compared
performance of HSPICE and AFS, I assume HSPICE would be slower.)
3. For our top-level simulations, we use only FineSim and AFS,
(and not HSPICE)
Observations:
- I've had no problems with convergence for AFS, HSPICE or
FineSim.
- We use Cadence Virtuoso as our schematic and symbol editor.
We mostly run AFS, FineSim and HSPICE through a command line
script, so they work fine.
- FineSim has a feature that I'd like Mentor add to AFS: When
I save a simulation file with FineSim to the FSDB format,
FineSim will hierarchically save every node. AFS can't do
this.
- Accuracy options
AFS has 5 accuracy levels and we usually set it to level 4 for
our blocks and our top-level designs.
FineSim has 5 accuracy settings for faster results, which you
need when you have more than 30,000 elements.
- Level 5 is the most accurate <-- level 5 is still lower accuracy
than true SPICE, so we sometimes use 4 at block level. I use
setting 3, or the equivalent. (The latest release has been
modified but I use something similar.)
- Level 1 is a functional mode simulator (pseudo Fast-SPICE).
I do not use this mode, as I don't find it necessary as using
setting of level 3 is usually fast enough.
Another way we've been using AFS more is as our primary SPICE simulator
is through Mentor Symphony (with AFS) as our mixed signal simulator.
Whenever we engage with new tool like Symphony, we hope that options we
had with our prior tool (Cadence AMS Designer) will still apply. That
happened here. Translating our SPICE decks into Symphony was pretty
seamless, so we could easily swap simulators (SNPS FineSim to BDA AFS).
I would absolutely recommend AFS. What most impressed me was the speed
up improvement at the top level.
Before AFS, I didn't think a true SPICE simulation could match or
exceed a fast SPICE simulation like FineSim.
---- ---- ---- ---- ---- ---- ----
Mentor AFS. It's a fast simulation engine that we use for block level
and top-level post layout simulation.
Overall, AFS converges well for PSS (periodic steady state) analysis;
occasionally, the designer must change the settings.
AFS is usually faster than Spectre APS.
Transient noise analysis occasionally still has bugs in AFS; however,
the Mentor support team is very responsive. They gather more data if
needed and come back with a solution or workaround fairly quickly.
Overall, I'd recommend AFS -- it's a good simulator.
---- ---- ---- ---- ---- ---- ----
Mentor AFS is part of our design and verification at the IP/block
level for custom memory, analog front-end circuitry & data converters.
It has a good balance of accuracy and runtime for both pre- and post-
layout designs. We can run a ~1 million active element design on up to
16 cores within 12 hours.
AFS has advantage in terms of runtime on most analog IPs. For single
device characterization or very large designs of 1+ million transistors,
there are few other commercial SPICE simulators running faster than AFS
with similar accuracy.
Before releasing AFS as a golden simulator for our projects, some option
tuning and characterization are needed.
AFS performs well for transient noise analysis and exhibits good
reliability across process. AFS converges pretty well with the tool's
default option settings.
In general, AFS is a good SPICE simulator at the analog IP block level.
It can achieve a good balance between runtime and performance for
different design needs with easy option tuning. I would recommend it.
---- ---- ---- ---- ---- ---- ----
Spectre-AFS flopped in our benches against AFS.
Why should we try Spectre-X?
---- ---- ---- ---- ---- ---- ----
Mentor AFS. (Cadence Spectre failed the simulation for a large mixed
signal design, while Mentor AFS simulated our circuits successfully).
---- ---- ---- ---- ---- ---- ----
We're an AFS house.
---- ---- ---- ---- ---- ---- ----
We've been all AFS since before the Mentor BDA acquisition.
---- ---- ---- ---- ---- ---- ----
Ravi has been visting us since the early days of Berkeley DA.
---- ---- ---- ---- ---- ---- ----
in our (MENT) AFS v (CDNS) AFS comparison, AFS won by a lot.
unsure how Spectre-X will fare.
---- ---- ---- ---- ---- ---- ----
Since APS couldn't beat AFS, we suspect X won't beat AFS either.
---- ---- ---- ---- ---- ---- ----
After watching AFS vs. Spectre-APS, we don't think Ravi will be
out of a job with the advent of Spectre-X.
---- ---- ---- ---- ---- ---- ----
The AFS guys give the best support I've ever seen in all of EDA.
---- ---- ---- ---- ---- ---- ----
We buy AFS and FineSim licenses in bulk. Same as last year.
---- ---- ---- ---- ---- ---- ----
Cadence XPS, Mentor AFS, HSIM.
---- ---- ---- ---- ---- ---- ----
Synopsys HSIM. We're the last Nassda customer remaining.
---- ---- ---- ---- ---- ---- ----
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
|
|