• 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. Max tran violations

Stats

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

Max tran violations

diablo
diablo over 16 years ago

Pls suggest on improving max tran violations in SocEncounterafter after routing. After postCTS, there are no violations on setup, hold, max_tran, max_fanout. However, after post route, I can see around 100 of max_tran violations but there is still no setup and hold violations. After iteratively running  optDesign -postRoute -drv, i still get those violations. I was wondering why the tool is not using buffers to fix it. 

  • Cancel
  • Scrivner
    Scrivner over 16 years ago

    When Encounter does not fix violations, it is usually due to the fact that fixing the violation would either violate some other higher priority constraint or the design is overconstrained. For example, if the violating transition is on an output port, check the load on the output port in the constraints file. It may be that the load is so high that the design is incapable of driving the load to the desired transition time.

    • Check your constraints file to see if you are overconstraining the design.
    • Use "setOptMode -verbose true". This tells Encounter to give a more detailed report during optimization.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • diablo
    diablo over 16 years ago

    Thanks Scrivner. I used the -verbose true options and it is excluding clock nets from optimizing. *info: Start fixing DRV iteration 1 ...
    *** Starting dpFixDRCViolation (383.5M)
    *info: 4 don't touch nets excluded
    *info: 17 io nets excluded
    *info: 264 clock nets excluded
    *info: 490 violations may not be fixable:
    *info:     490 violations on clock net (remark C).

    Why is the tool ignoring clock net from optimizing? Thanks again for your quick and helpful response. 

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

    The tool assumes that you are happy with the performance of your clock tree and that it is optimized for skew. If it were to try to change the clock tree, it will change the skews and possibly create new timing violations. If you want to repair transitions in the clock tree, you can try using the ckECO command. But fixing transitions in the clock tree may make skew worse.

    I usually let the clock tree violate transition constraints in favor of better skew results. Unless the clock tree transitions are outrageously slow (which they shouldn't be since CTS should not let them), I leave them alone.

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

    I just wanted to add that it's common practice to have a tighter transition constraint on the clock trees than the rest of the design. For example, maybe the max tran for the design is 900 ps, but for my clocks I want 400 ps. This is specified in the clock spec file:

    SinkMaxTran     400ps
    BufMaxTran      400ps

    The report generated after CTS will show if these transition limits were met. Even if they violate slightly, we usually move on because we know the transition is tight in the first place. I don't think violations of the 400ps clock spec would show up in the general transition violation report, so you wouldn't have to filter them out.

    - Kari

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

     Pay attention to the mark behind the transition violations in the report.

    The one marked as dont_touch_net and clock_net will be ignored by the opt enginee.

     You need to double check with your logical design engineer .

    Some non clock tree instance will be marked as clock tree so that the transition violation wont be fixed.

    I usually manually fix this kind of transition violation. 

    • 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