• 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. Need guidance to develop a script to get the number of logic...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 94
  • Views 18001
  • 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

Need guidance to develop a script to get the number of logic levels from an encounter timing report..!

NAADHAN
NAADHAN over 16 years ago

Hi all,

                   I need to develop a script for finding the number of logic levels in a timing report from encounter.I should give a timing report as an input and i need to get the number of logic levels(Combinational) as an output.Can anyone Pls guide me in developing  it?

Thanks and Regards,
NAADHAN

 

  • Cancel
Parents
  • BobD
    BobD over 16 years ago

    On thing that may also be useful here is the ability for the report_timing command to return a *collection* instead of a textual report.  The collection can then be programmatically queried for all sorts of information, including the number of timing points.  Here's how that would work:

    1. First, add the "-collection" switch to the report_timing command, and capture it as a variable called "c":
      encounter 39> set c [report_timing -collection]                
      0xdd
    2. Next, you can query which properties are present for the collection. You should see all kinds of fields present, but "timing_points" is the one we can use to determine the number of levels of logic:
      required_time                       | 4.646
      setup                               | 1.104
      slack                               | -0.503
      slackPercentile                     |
      slackSensitivity                    |
      slackStdDeviation                   |
      timing_points                       |  <--
    3. We can get the timing_points field with the "get_property" command:
      encounter 41> get_property $c timing_points                    
      0xe5
    4. Each of the instances in the timing path has 2 "points".  These can be iterated through and queried, but if you wanted to get the number of logic levels rather than the number of timing points, you could roughly divide by 2. This path has 10 instances:
      encounter 42> sizeof_collection [get_property $c timing_points]
      20

    Hope this is helpful,
    Bob

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

    On thing that may also be useful here is the ability for the report_timing command to return a *collection* instead of a textual report.  The collection can then be programmatically queried for all sorts of information, including the number of timing points.  Here's how that would work:

    1. First, add the "-collection" switch to the report_timing command, and capture it as a variable called "c":
      encounter 39> set c [report_timing -collection]                
      0xdd
    2. Next, you can query which properties are present for the collection. You should see all kinds of fields present, but "timing_points" is the one we can use to determine the number of levels of logic:
      required_time                       | 4.646
      setup                               | 1.104
      slack                               | -0.503
      slackPercentile                     |
      slackSensitivity                    |
      slackStdDeviation                   |
      timing_points                       |  <--
    3. We can get the timing_points field with the "get_property" command:
      encounter 41> get_property $c timing_points                    
      0xe5
    4. Each of the instances in the timing path has 2 "points".  These can be iterated through and queried, but if you wanted to get the number of logic levels rather than the number of timing points, you could roughly divide by 2. This path has 10 instances:
      encounter 42> sizeof_collection [get_property $c timing_points]
      20

    Hope this is helpful,
    Bob

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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