You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.7 KiB
Tcl
46 lines
1.7 KiB
Tcl
# min paths: hold
|
|
# max paths: setup
|
|
|
|
#{report_checks -path_delay min -fields {slew cap input nets fanout} -format full_clock_expanded}
|
|
#{report_checks -to [all_registers] -digits 3 -unique -path_delay max -group_count 10 -slack_max 0 -fields {slew cap input nets fanout} -format full_clock_expanded -no_line_splits}
|
|
|
|
|
|
if {[info exist ::env(REPORT_SLACK_MAX_PATHS)]} {
|
|
set slack_paths $::env(REPORT_SLACK_MAX_PATHS)
|
|
} else {
|
|
set slack_paths 10
|
|
}
|
|
|
|
# sta commands
|
|
#wtf how to get var sub to work in this???
|
|
set commands {
|
|
{report_units}
|
|
{check_setup}
|
|
{report_clock_properties}
|
|
{report_disabled_edges}
|
|
{report_annotated_check -setup -hold -recovery -removal -nochange -width -period -max_skew -constant_arcs}
|
|
{report_checks -unconstrained -digits 3 -unique -path_delay max -group_count 100 -fields {input nets} -format end -no_line_splits}
|
|
{report_checks -path_group clk -digits 3 -unique -path_delay max -group_count 10 -slack_max 0 -fields {slew cap input nets fanout} -format full_clock_expanded -no_line_splits}
|
|
{report_tns -digits 3}
|
|
{report_wns -digits 3}
|
|
{report_worst_slack -digits 3}
|
|
{report_design_area}
|
|
}
|
|
|
|
proc run {cmd} {
|
|
puts "\n=========================================================================="
|
|
puts "$cmd"
|
|
puts "--------------------------------------------------------------------------"
|
|
[{*}$cmd]
|
|
}
|
|
|
|
foreach {cmd} $commands {
|
|
run $cmd
|
|
}
|
|
|
|
#wtf not writing file@!?@?@?
|
|
#set report $::env(REPORTS_DIR)/slacks_${slack_paths}.rpt
|
|
#report_checks -digits 3 -unique -path_delay max -group_count $slack_paths -fields {slew cap input nets fanout} -format full_clock_expanded -no_line_splits > $report
|
|
#puts "Wrote $report..."
|
|
|