• 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. Digital Implementation
  3. query on improving clock latency

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 92
  • Views 24559
  • 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

query on improving clock latency

abhaska
abhaska over 16 years ago

Hi all

Can anyone of you please share your views on improving clock latency in the CTS phase of the physical design flow.

Thanks

-Arun

  • Cancel
  • maven7783
    maven7783 over 16 years ago

     Hi Arun,

    A good placement of flip flops will reduce latency i,e., sink pins of  a clock are not placed far away, so that latency is reduced. 

    If ffs are falling far away group them and place them relatively closer.

    thanks,

    maven.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Kari
    Kari over 16 years ago

     Another thing you can do is use a nondefault rule for your clocks - most folks use double-wide, double-space. This may not help as much as a really good placement, as suggested above, but it's another trick in the bag.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Kari
    Kari over 16 years ago

     I just came across a couple of other things you could try: look in the docs at the setCTSMode options -optLatency and -optLatencyMoveGate. These are new in 8.1 - let us know how they work for you!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BobD
    BobD over 16 years ago

    Great question! Reducing insertion delay is of course particularly important because it reduces the impact of timing derating on achieving timing closure.  Less insertion delay equals less effective derated clock skew, which makes it easier to achieve timign closure.

    I asked around to some of my colleagues and have some additional suggestions to consider:

    • Set a MaxDelay constraint of "0" in your clock tree spec file. This tends to task each stage of the clock tree building to focus more on insertion delay.  Note: I haven't tested this with the 8.1 setCTSMode -optLatency/-optLatencyMoveGate options Kari mentioned.
    • Constraint the clock net routing to be on upper metal layers that are less resistive using the TopPreferredLayer and BottomPreferredLayer constructs.
    • Check for the presence of FIXED, dont_touch or dont_use markings on instances and library cells (for example, clock gating cells) that exist in the clock network prior to calling CTS.
    • Try to provide at least one strong driving cell candidate that CTS can use to drive a large fanout.
    • Supply inverters to CTS rather than buffers.
    • Use the MaxCap construct to help heavily loaded and therefore slower clock buffers.
    Of course these suggestions aren't 100% effective- rather they're things that we've tried with some degree of success that we thought to share for your consideration.

    Any other ideas out there?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • abhaska
    abhaska over 16 years ago

    Hi Bob,

    Thank you for your response...

    But if the max_delay constraint was kept as zero the buffers addition will be huge in number..

    Thanks

    -Arun 

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BobD
    BobD over 16 years ago

    Hi Arun,

    Is that what you've observed? Or is that what you suspect would happen if you tried setting a MaxDelay of 0?

    Thanks,
    Bob

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dlferrao
    dlferrao over 16 years ago

     A good selection of your fast inverters & buffers in the conf file also help.

    • 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