Home > Community > Forums > Logic Design > How to calculate speed for each path_group in RTL Compiler

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 How to calculate speed for each path_group in RTL Compiler 

Last post Thu, Apr 12 2012 7:12 PM by Maso. 2 replies.
Started by Maso 11 Apr 2012 05:29 AM. Topic has 2 replies and 3176 views
Page 1 of 1 (3 items)
Sort Posts:
  • Wed, Apr 11 2012 5:29 AM

    • Maso
    • Not Ranked
    • Joined on Mon, Mar 26 2012
    • Posts 8
    • Points 115
    How to calculate speed for each path_group in RTL Compiler Reply

    Hi,

     I want to write script to calculate speed for each path_group defined in advance.

    Does any body can give me some ideas to do this?

     Thanks a lot.

    • Post Points: 20
  • Wed, Apr 11 2012 5:41 AM

    • grasshopper
    • Top 25 Contributor
    • Joined on Fri, Jul 18 2008
    • Chelmsford, MA
    • Posts 242
    • Points 3,205
    Re: How to calculate speed for each path_group in RTL Compiler Reply

    Hi Maso,

     you probably want something along lines of

      

    proc GetCgCritPeriod { args } {

    # Parse command line switches

    # return an error if incorrect arguments are given

    switch -- [parse_options [calling_proc] {} $args \

          "-mode dos(mode) specify which mode to report for when mutli-mode design (default is worst slack mode)" modeName \

          "srm cost group to provide critical period information for" obj ] {

      -2 { return }

      0 { return -code error }

    }

    if {[regexp {no_value} [get_attr slack $obj]]} { return "N/A" }

    array set endInfo [lindex [get_attr timing_info [get_attr critical_endpoint $obj]] 0]

    if {[string match "unclocked" [lindex $endInfo(capture) 0]]} { return "Unclocked" }

    return [format "%.2f" [expr {[get_attr period [lindex $endInfo(capture) 0]] / [get_attr divide_period [lindex $endInfo(capture) 0]]}]]

        }

     

        #------------------------------------------------------

        # 

        # 

        # 

        # 

        # 

        # 

        #------------------------------------------------------

        proc GetCgCritFreq { args } {

    # Parse command line switches

    # return an error if incorrect arguments are given

    switch -- [parse_options [calling_proc] {} $args \

          "-mode dos(mode) specify which mode to report for when mutli-mode design (default is worst slack mode)" modeName \

          "srm cost group to provide critical period information for" obj ] {

      -2 { return }

      0 { return -code error }

    }

    if {[regexp {no_value} [get_attr slack $obj]]} { return "N/A" }

    if {[regexp {Unclocked} [eval GetCgCritPeriod ${obj}]]} { return "Unclocked" }

    set cgSlack [get_attr slack $obj]

    return [format "%.1f" [expr {1000000 / ([eval GetCgCritPeriod ${obj}] - ${cgSlack})}]]

        }

     

    Furthermore, you there is a nice applet for it that you can use

     

    applet load generate_repport

    generate_report.... 

     

    which will generate a nice HTML report for you including this information. Don't confuse generate_report with generate_reports which is text based

     

    gh- 

    • Post Points: 20
  • Thu, Apr 12 2012 7:12 PM

    • Maso
    • Not Ranked
    • Joined on Mon, Mar 26 2012
    • Posts 8
    • Points 115
    Re: How to calculate speed for each path_group in RTL Compiler Reply

    Hi grasshopper,

     I have got what I want from your script.

    It's very useful for me.

     Thanks a lot for your help.

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by Maso at 11 Apr 2012 05:29 AM. Topic has 2 replies.