• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Logic Design
  3. CDC Methodology

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 64
  • Views 15002
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CDC Methodology

sureshm
sureshm over 14 years ago

Hi All,

I am using the CCD tool for my CDC methodology. But the information about the commands & the explanations given in the documentation is very limited with respect to the explanation.

I  would like to explain the problem/requirement to see the issues from my deisgn

1) How to mention/get all the signal cross overs in a report which are not passing  through the specified user sync modules?

2) how to specify multiple sync modules to the design/ cdc rule set ?

3) How to generate waiver file and how to feed  the waiver file to the CDC tool?

Any inputs on the CDC methodology is highly appreciated. !!!

 

Thanks

suresh

 

  • Cancel
  • Jack Ho
    Jack Ho over 14 years ago
    Suresh

    - To get the paths that failed a crossing, you can use

    &quot;report rule check <specific> -status fail&quot;

    - To specify multiple sync modules, you have to go into tcl mode and then use

    &quot;set_attribute user_sync_modules [find -design user_sync_module*]&quot;

    The command above will find all designs (modules) with names starting with user_sync_module.

    - To generate a waiver file and use that file during CDC, you can use

    &quot;add rule filter&quot;.

    Once the rule filter is added, the file is used automatically.

    For details about the capabilities and options of these commands, please consult the reference manual. Please make sure you downloaded the latest version of the user guide/reference manual, as the docs have been improved in the latest release.

    Hope this helps!

    Thanks
    Jack</specific>
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sureshm
    sureshm over 14 years ago

    Hi   Jack, 

    Thanks for the reply. However, i wasn't clear on the filter & waivers.

    Can you elaborate little more on

    add rule filter & add rule waiver ? 

    Also, I have a module cdc_m1 ( which may not be sync module,) and i want all the signal cross overs through cdc_m1 said to be waiver and i want that report for my design team review ? what is the way to enable this in CCD tool ??

    Further,  

        Below is the sample report that we had seen from one of the reports

    my understanding of user sync module is that any sync module seen in the signal cross over path, it is a PASS. However below report shows Fail, because of the atomic checks ?  what are these atomic checks to do with when user specifying the sync module. ?

     

    please explain the above based on the below report.

     

     

      30:     Fail   : Crossing <inst1>/<inst2>/a_reg ->  <inst1>/<inst3>../<ins5>/b_reg
    |        path_type           : cdc_dff
    |        from_instance       :|  <inst1>/<inst2>/a_reg       to_instance         : <inst1>/<inst3>../<ins5>/b_reg
    |        atomic_checks       : Total 3
    |          structural : cdc_path_logic_type_check            : LOGIC          : Fail
    |          structural : cdc_path_destination_check           : MULTIPLE       : Fail
    |          structural : cdc_user_sync_module_check           : CDC_PULSE_SRC_LOGIC: Pass
     

    Thanks

    suresh

     

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Jack Ho
    Jack Ho over 14 years ago
    Suresh
     
    Add rule filter is the recommended way over "add rule waiver" going forward to perform what you would need based on your descriptions below. It supports a lot more different options which allows users to filter out certain violations in the reports.
     
    Add rule filter supports
     
           ADD RUle Filter
           <filter_name> [<condition ...>]
           [-DESCription <description>]
           [-RULe <rule_name*>] ...
           [-REPlace]

    <condition> -SEVerity <name> -MESsage <pattern*> -OBJect [-Hierarchical] [-Recursive] <name*> -SDCMatch <pattern*> -AND -OR -OCCurrence < "[occurrence#] [ ' .. ' ] [occurrence#]" > -SDC_MODE <mode_name> -SDC_DESIGN <design_name>

    This is just an excerpt from the man pages and you can find detailed descriiptions + examples from the reference manual.

    Based on what you mentioned below, you should be able to filter out the violations using -sdc_design and -rule.  If you need further assistance with using this command for your design, please contact your local AE.

    As for the excerpt for the report you attached in your email,

    structural : cdc_path_logic_type_check            : LOGIC          : Fail  <--- This means that CCD found logic instances on your CDC path, which is a failure, because you specified either wire or buffer in the settings. By default, CCD allows only wire on the CDC path. You can control this using the attribute cdc_path_logic
    structural : cdc_path_destination_check           : MULTIPLE       : Fail <---- This means that CCD detacted multiple destinations on your CDC path, whereas only single destination is allowed per your specification. Single destination is the default. You can control this using the attribute cdc_path_fanout.

    Again there is more info about the atomic checks and the attributes I mentioned above in the reference manual. Please take a look.

    Thanks, Jack
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information