Altera SDC and TimeQuest API User Manual
Page 116

2–106
Chapter 2: SDC and TimeQuest API Package and Commands
sta
SDC and TimeQuest API Reference Manual
© December 2009
Altera Corporation
}
}
return $clk_str
}
proc print_point { point } {
set total [ get_point_info $point -total ]
set incr [ get_point_info $point -incr ]
set node_id [ get_point_info $point -node ]
set type [ get_point_info $point -type ]
set rf [ get_point_info $point -rise_fall]
set node_name ""
if { $node_id ne "" } {
set node_name [ get_node_info $node_id -name ]
}
puts \
[format "%10s %8s %2s %-6s %s" $total $incr $rf $type $node_name ]
}
proc print_path { path } {
puts "Slack : [ get_path_info $path -slack]"
puts "To Clock : [ get_clock_string $path to ]"
puts "From Clock : [ get_clock_string $path from]"
puts ""
puts \
[format "%10s %8s %-2s %-6s %s" "Total" "Incr" "RF" "Type" "Name"]
puts \
"=================================================================="
foreach_in_collection pt [ get_path_info $path -arrival_points ] {
print_point $pt
}
}
project_open my_project
# Always create the netlist first
create_timing_netlist
read_sdc my_project.sdc
update_timing_netlist
# And now simply iterate over the 10 worst setup paths, printing each
# path
foreach_in_collection path [ get_timing_paths -npaths 10 -setup ] {
print_path $path
puts ""
}
delete_timing_netlist
project_close