• 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. Regarding advance TCL scripts

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 92
  • Views 13791
  • 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

Regarding advance TCL scripts

abhingp01
abhingp01 over 13 years ago

Hi,

Objective : Want to get all the endpoints for a given startpoint with positive slack only.

I am bit new to ets :)

##--------------------------------- Generic Procedure defination -----------------------------------------

proc user_get_object_names {collection} {
   set objectList {}
   foreach_in_collection item $collection {
    lappend objectList [get_object_name $item]
   }
   return $objectList
}

proc user_print_object_names {collection} {
  set objectListPrint {}
  foreach_in_collection item $collection {
    set name [get_object_name $item]
    puts "Path : $name\n"
  }
  return $objectListPrint
}

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

set start_point aa/bb/some_D

set paths_list_fanout {}
set paths_fanout_list [user_get_object_names $paths_fanout]

set sz 0
set rpt_fanout 0
foreach currpath $paths_fanout_list {
    set rpt_curr_data [report_timing -collection -to $currpath]
    append_to_collection rpt_fanout $rpt_curr_data
}

set sz [sizeof_collection $rpt]
puts "Total fanout paths are $sz"

set szpos 0; set pos_fanout 0
set pos_fanout [filter_collection $rpt_fanout {(slack > 0.0)}]
set szpos [sizeof_collection $pos_fanout]
puts "Total fanout paths with positive slack are $szpos" ## This prints number of paths with positive slack

 user_print_object_names $pos_fanout  

I am expecting now after this proc call it should print all the path names with positive slack in collection $pos_fanout but its not happening.


Can anyone point out where I am going wrong please.

 Also can some one point me to a good starting source to understand collection better. 

Regards,
Abhi

  • Cancel
  • diablo
    diablo over 13 years ago
    There might be alternative to using this tcl script. Take a look at 'report_timing' command reference. You can probably do something like report_timing -from start_point -min_slack 0.0 -view 'your analysis view'
    • 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