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

## Email

Recipients email * (separate multiple addresses with commas)

Message *

 Send yourself a copy

## Subscribe

Intro copy of the newsletter section here, some intro copy of the newsletter. Instruction of how to subscribe to this newsletter.

First Name *

Last Name *

Email *

Company / Institution *

 Send Yourself A Copy

# 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 3093 views
• #### Wed, Apr 11 2012 5:29 AM

• Maso
• Joined on Mon, Mar 26 2012
• Posts 8
• Points 115
How to calculate speed for each path_group in RTL Compiler
 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
• Joined on Fri, Jul 18 2008
• Chelmsford, MA
• Posts 233
• Points 3,130
Re: How to calculate speed for each path_group in RTL Compiler
 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_repportgenerate_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
• Joined on Mon, Mar 26 2012
• Posts 8
• Points 115
Re: How to calculate speed for each path_group in RTL Compiler
 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
###### Sort Posts: Oldest to newest Newest to oldest
 Started by Maso at 11 Apr 2012 05:29 AM. Topic has 2 replies.