• 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. RC: clock gating

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 63
  • Views 15690
  • 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

RC: clock gating

Yemelya
Yemelya over 14 years ago

Hello,

What is the right way to insert clock gating in RC script?


I found the following flag:
               set_attribute lp_insert_clock_gating true

Is it enough or there is something else needed?

How should I translate the following instructions from DC for RC:

 set_clock_gating_style -sequential_cell latch \
 -control_point after \
 -control_signal scan_enable \
 -minimum_bitwidth 8 \
 -observation_logic_depth 6

 compile_ultra -gate_clock


Thank you very much!!!
Boris

 

  • Cancel
  • grasshopper
    grasshopper over 14 years ago

     Hi Boris,

     set_attribute lp_insert_clock_gating true  /  (notice the '/' for the objec; do not forget those or you can infer the wrong thing)

     is the minimal.There are a fair number of option associated with clock gating that you enable in addition to that. A typical flow usually has

    define_dft shift_enable -name <SCAN ENABLE OBJECT NAME> -active high<SCAN ENABLE PORT>

    set_attr lp_insert_clock_gating true /

    set_attr lp_clock_gating_min_flops 3 [find /designs -design <DESIGN NAME>]

    set_attr lp_clock_gating_test_signal <SCAN ENABLE OBJECT NAME> <DESIGN NAME>

     

    As per your migration question

     set_clock_gating_style -sequential_cell latch \
     -control_point after \
     -control_signal scan_enable \
     -minimum_bitwidth 8 \
     -observation_logic_depth 6

     compile_ultra -gate_clock

     would translate to 

    define_dft shift_enable -name scan_enable -active high<SCAN ENABLE PORT>

    set_attr lp_insert_clock_gating true /  (default is false)

    set_attr lp_clock_gating_min_flops 8 [find /designs -design <DESIGN NAME>]

    set_attr lp_clock_gating_style latch [find /designs -design <DESIGN NAME>]     (default is latch)

    set_attr lp_clock_gating_control_point postcontrol [find /designs -design <DESIGN NAME>]     (default is precontrol)

    set_attr lp_clock_gating_test_signal scan_enable <DESIGN NAME>  (default is to tie CG test signal de-asserted)

     There is n equivalent for  -observation_logic_depth but you can do

     set_attr lp_clock_gating_add_obs_port true <DESIGN NAME>    (default is false)

     

    hope this helps,

    Diego-

     

     

     

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Yemelya
    Yemelya over 14 years ago
    Diego thank you very much for so fast and detailed answer!!!
    • 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