( DAC'20 Item 03c ) ----------------------------------------------- [05/21/21]
Subject: Real Intent Verix CDC true multimode analysis is Best of 2020 #3c
MULTIMODE BEATS ONE-RUN-AT-A-TIME: While single mode CDC analysis is still
going strong (see Best2020 #3b), and as Prakash spoke about on my DeepChip
panel (see ESNUG 589 #3) his Real Intent drives true multimode CDC.
That is, Verix Multimode CDC has one set-up -- you specify the exclusive
relationships between the different asynchronously arriving clocks (something
neither SpyGlass CDC nor Questa CDC can do) allowing one analysis, and one
de-duplicated report covering what would normally take you 57 single analyses
to do!
For example, if your design has clock MUXes or multi-mode constraints,
depending on the mode, different clocks might be selected. Instead of
running CDC checks on each clock mode one-by-one serially, Verix CDC lets
designers do one set up and then run Verix CDC one time -- then Verix
simultaneously considers all 57 different clock modes at once.
Users like Verix CDC's set up, runtime, and debug time savings. It adds up.
"With Verix multi-mode CDC, we only need to do one set-up for all
of our CDC cases."
"Verix CDC reduces our analysis runtime by a big factor. If we
run Verix CDC just for 3 clock modes simultaneously, we easily
save at least 1/2 the time."
"We save a ton of debug time because all our CDC violations are
deduped across all clock modes and in just one place."
"Because Verix presents everything together, it cuts a lot of
noise (false violations) across our different boundaries."
The upsides to running multimode CDC go up as the number of multimode CDC
constraints go up.
"If our design has 2 multi-mode constraints, with each one
supporting 4 clocking modes (in 2 groups of 4 clocks) then we
must run 16 single runs to cover every scenario."
"It's advantages go up with the number of multimode constraints.
If you have 3 multimode constraints and each one has 4 clock modes
(in 3 groups of 4 clocks) then you must run Meridian for 64 times
to cover every scenario; vs. just *one* single run with Verix CDC."
"Instead of going through our design and getting it clean at one
corner, then running it again and finding a whole bunch of new
failures at another corner -- we like that Verix gives us all the
CDC violations all at once. We like a one-stop shop."
---- ---- ---- ---- ---- ---- ----
---- ---- ---- ---- ---- ---- ----
---- ---- ---- ---- ---- ---- ----
QUESTION ASKED:
Q: "What were the 3 or 4 most INTERESTING specific EDA tools
you've seen in 2020? WHY did they interest you?"
---- ---- ---- ---- ---- ---- ----
Real Intent Verix Multimode CDC is good. It has serious upsides over
running a boatload of *single* mode CDC runs.
If my design has clock muxes or multi-mode constraints, depending on the
clock mode, different specific clocks can be selected. So, for us to do
exhaustive CDC verification to make sure that we don't miss any issues,
we manually set our Meridian CDC (single mode CDC) for every clock mode
independently and serially to make sure all the clock modes are correct
and there are no serious design issues.
- If our design has 4 clock modes, then we must run 4 different
Meridian CDC verification runs to cover every scenario.
- If our design has 2 multi-mode constraints, with each one
supporting 4 clocking modes (in 2 groups of 4 clocks) then we
must run 16 single runs to cover every scenario.
- We would also need to do individual scenario set-ups, one for
each clock mode, run the tool for each different clock mode,
review the CDC issues in each mode separately, and then do
several iterations to make sure that all the modes are clean.
Since this is clearly not feasible when there are too many clock modes;
instead, we would randomly pick some clock modes, run them, and pray
that we didn't miss any CDC issues.
Verix CDC has changed all that for us.
With it only have to do one set-up for all of our CDC modes and it does
a full CDC analysis on everything in one run. Everything is taken care
of! Even its violation reports are clean. Violations only come up
*once* in the report instead of repeatedly.
We use Verix for *some* of our CDC work. It's advantages go up with
the number of multimode constraints. If you have 3 multimode
constraints and each one has 4 clock modes (in 3 groups of 4 clocks)
then you must run Meridian CDC for 64 times to cover every scenario;
versus only *one* single run with Verix CDC.
If it were not for the pricing difference, we would switch 100% to
Verix multimode CDC for all our CDC static signoff runs, as Verix
works for the same as Meridian single mode CDC runs.
---- ---- ---- ---- ---- ---- ----
I'd say Verix CDC as our "Best of 2020" suggestion.
Instead of having to run CDC checks on each different clock mode
one-by-one in serial, Verix CDC needs only one set-up, and then it
needs only one run where it examines all the different clock modes
to make sure there are no issues with any of them.
This is big-time savings for us.
- Verix CDC reduces our runtime massively. When we run Verix CDC
on 3 clock modes simultaneously, we save 1/2 the runtime.
- We only need one set-up for multimode/multi-scenario for all
of our CDC cases.
- We save a ton of debug time because all our CDC violations are
deduped across all clock modes and in just one place.
We also prefer Verix for our CDC work because it does a *hierarchical*
flow, in the same way Meridian CDC does -- so, our top-level CDC
runtimes/capacity are damn good, too.
Our only complaint: Even though they are both Real Intent tools, we
cannot mix Verix CDC and Meridian CDC on the top-level of our
hierarchical flow.
We've told Prakash that we'd like to be able to do this.
---- ---- ---- ---- ---- ---- ----
Verix CDC because it does multi-scenario analysis in one run.
We have a lot of complicated clock configs plus a lot of different
clock scenarios that we must deal with. What our team is really
looking for is to be able to do it all in one shot. We want it as
painless as possible.
Instead of going through our design and getting it clean at one
corner, then running it again and finding a whole bunch of new
failures at another corner -- we like that Verix gives us all the
CDC violations all at once. Like a one-stop shop.
Verix CDC presents everything together, it cuts a lot of noise
(false violations) across the different hierarachical boundaries.
- Noise is a real pain for us in our more complicated scenarios.
Showing the same failure again and again goes beyond not
interesting and is just annoying (and wastes our time).
- We like that when we know in advance that for a particular
property in a particular mode, that the clocks will always
have a specific relationship; it's neat that Verix uses that
knowledge to severely prune noise in its CDC violations reports.
- Our CDC iterations also decrease with Verix CDC. But what we're
most sensitive to is user time and experience.
WARNING: we do NOT use Verix Multimode CDC as a sign-off tool!
For us, it's important for our designers to run CDC while our design
is in a more malleable stage. It's much cheaper to fix RTL before
our design gets into a freeze state.
- Sign-off is too late! We don't want to find clock domain
crossing errors in a late stage frozen design.
- Again, if we wait until our code is complete to run CDC
checks, we are too late - it is just incredibly expensive
to fix the issues then.
Our design and verification guys really do believe in this. When we
explained the concept, everybody said, "Let's go do it."
---- ---- ---- ---- ---- ---- ----
Since our clocking is getting complex, we're giving Verix CDC a
closer look this year.
---- ---- ---- ---- ---- ---- ----
Real Intent Verix is more interesting than their Meridian.
---- ---- ---- ---- ---- ---- ----
We like Verix for our CDC verification. It takes two types of inputs
that work well for us. We use 3 out of 8 clks that from MUXing makes
18 possible combinations.
1. We can enumerate 5 known bad combinations of clocks out of
those 18 possible. Verix eliminates those and in a single
run figures out all CDC violations for the remaining 13.
Or
2. We can give Verix rules for combinations that will never
occur like:
"PLL_clk never with Low_VT_clk nor OverDrv_clk"
"Low_temp_clk never with High_temp_clk"
"High_speed_clk never with Low_PWR_clk"
and Verix solves for the "good" combination and in a single
run figures out all CDC violations for those "good" combos.
Solving everything in one single run was a main buying point for us.
---- ---- ---- ---- ---- ---- ----
We're still trying to figure out how Verix, Spyglass, and Questa
handle derived clocks for CDC. Does one tool handle them better
than the other two?
---- ---- ---- ---- ---- ---- ----
We use Meridian CDC and have not yet evaluated Verix CDC.
We like that Verix CDC runs only one CDC check whenever there are
multiplexed clocks. It appears similar to running one Verilog
synthesis using "case" analysis.
In single clock mode you can run only a specific selection for
a clock multiplex -- so if a designer has multiple clock muxes,
they need to run and analyze multiple CDC sessions.
---- ---- ---- ---- ---- ---- ----
Related Articles
Real Intent low noise/multimode Meridian RDC gets the Best of 2020 #3a
Users choosing Meridian CDC over Spyglass CDC gets the Best of 2020 #3b
Real Intent Verix CDC true multimode analysis gets the Best of 2020 #3c
Ascent Lint "designer intent" and pre-submit gets the Best of EDA #3d
Join
Index
Next->Item
|
|