• 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. Bob, How can I constrain optDesign -hold to add buffers...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 91
  • Views 2105
  • 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

Bob, How can I constrain optDesign -hold to add buffers on end points only?

eminemshow
eminemshow over 15 years ago

Bob,

Things are like this, I am now at the final stage of timing closure, since functional timing is clean and test timing is ongoing. There is not enough time to config a MMMC environment. After investigation, I found that if I can add all the hold buffers at SI pin of DFF at scan shift mode, then functional timing would be un-touched (as you know, at Q pin of DFF, things would be dangerous......). So I want to ask whether I can control optDesign to make end-point only buffer insertion when fixing hold.

Thanks.

  • Cancel
  • eminemshow
    eminemshow over 15 years ago

    Bob,

    Yet another weird problem, I remember that since SOCE 52, the drouteUseMinSpacingForBlockage false is effective in NanoRoute......it tells NR that blockages in cells must be treated as 'wide metal', then more spacing is needed. But in this SOC81, after the design is wired, I found a lot of spacing errors between certain wire and cell blockages in hard macros in Calibre. But SOCE itself using verifyGeometry report nothing.....please help on this.

    Thanks.

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

    For the optDesign -hold issue, I believe our hold fixing algorithm tends to insert buffers at endpoints, but I'm not aware of an option that would force this exclusively but I'll check.

    I was thinking of suggesting a script that dont_touched all nets other than those connected to SI pins on sequentials but I don't think that would guarantee the insertion occur only on SI pins (since the dont_touching would be done on a net basis and the net could connect to things other than SI pins).

    I don't think an MMMC configuration is required to get hold fixing to be setup-aware.  That is to say- even with min/max specified via a .conf file the tool should have the information it needs to do setup-aware hold fixing.

    -Bob

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

    For the min spacing to blockage issue, would you check whether there's a "USEMINSPACING OBS" parameter in your LEF file?  It's hard to say without seeing a testcase what might be causing the behavior you're seeing, but since verifyGeometry isn't seeing it, I have a hunch that something LEF-based is causing the tool to think it's OK to go minimum next to obstructions.

    Thanks,
    Bob

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • eminemshow
    eminemshow over 15 years ago

    Bob,

    Thank yor for you reply. For the hold optimization problem, SOCE is clever enough. For the obs spacing one, I have added USEMINSPACING OBS OFF to the tech LEF(1st) file, I am testing the result. Is it necessary to add USEMINSAPCING to all the LEF files? Or just the tech LEF?

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

    I should have been clear with the "USEMINSPACING OBS" parameter suggestion.  I was thinking that there might be a "USEMINSPACING OBS" statement present in your tech.lef which was instructing the tool to use min spacing next to obstructions.  Since it wasn't present previously, this is not what's causing the tool to think it's safe to go in spacing next to obstractions.  It must be something else, but I can't think of anything else to ask you to look for.

    If possible I'd suggest you file a service request so you can submit a testcase for us to look at.

    Thanks,
    Bob

    • 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