Altera Quartus II Scripting User Manual

Page 545

Advertising
background image

Chapter 3: Tcl Packages & Commands

3–415

sta

© July 2013

Altera Corporation

Quartus II Scripting Reference Manual

}
}

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

Advertising