( 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







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