parent
333b91e72d
commit
314bc1a4d0
BIN
doc/OpenSTA.odt
BIN
doc/OpenSTA.odt
Binary file not shown.
|
|
@ -24,7 +24,7 @@ namespace eval sta {
|
|||
|
||||
define_cmd_args "report_power" \
|
||||
{ [-instances instances]\
|
||||
[-corner corner_name]\
|
||||
[-corner corner]\
|
||||
[-digits digits]\
|
||||
[> filename] [>> filename] }
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
namespace eval sta {
|
||||
|
||||
define_cmd_args "read_sdf" \
|
||||
{[-path path] [-corner corner_name]\
|
||||
{[-path path] [-corner corner]\
|
||||
[-cond_use min|max|min_max]\
|
||||
[-unescaped_dividers] filename}
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ proc_redirect report_annotated_check {
|
|||
}
|
||||
|
||||
define_cmd_args "write_sdf" \
|
||||
{[-corner corner_name] [-divider /|.] [-include_typ]\
|
||||
{[-corner corner] [-divider /|.] [-include_typ]\
|
||||
[-digits digits] [-gzip] [-no_timestamp] [-no_version] filename}
|
||||
|
||||
proc_redirect write_sdf {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
namespace eval sta {
|
||||
|
||||
define_cmd_args "read_liberty" \
|
||||
{[-corner corner_name] [-min] [-max] [-no_latch_infer] filename}
|
||||
{[-corner corner] [-min] [-max] [-no_latch_infer] filename}
|
||||
|
||||
proc_redirect read_liberty {
|
||||
parse_key_args "read_liberty" args keys {-corner} \
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ define_cmd_args "find_timing_paths" \
|
|||
[-to to_list|-rise_to to_list|-fall_to to_list]\
|
||||
[-path_delay min|min_rise|min_fall|max|max_rise|max_fall|min_max]\
|
||||
[-unconstrained]
|
||||
[-corner corner_name]\
|
||||
[-corner corner]\
|
||||
[-group_count path_count] \
|
||||
[-endpoint_count path_count]\
|
||||
[-unique_paths_to_endpoint]\
|
||||
|
|
@ -328,7 +328,7 @@ proc delays_are_inf { delays } {
|
|||
|
||||
define_cmd_args "report_clock_skew" {[-setup|-hold]\
|
||||
[-clock clocks]\
|
||||
[-corner corner_name]]\
|
||||
[-corner corner]]\
|
||||
[-digits digits]}
|
||||
|
||||
proc_redirect report_clock_skew {
|
||||
|
|
@ -373,7 +373,7 @@ define_cmd_args "report_checks" \
|
|||
[-to to_list|-rise_to to_list|-fall_to to_list]\
|
||||
[-unconstrained]\
|
||||
[-path_delay min|min_rise|min_fall|max|max_rise|max_fall|min_max]\
|
||||
[-corner corner_name]\
|
||||
[-corner corner]\
|
||||
[-group_count path_count] \
|
||||
[-endpoint_count path_count]\
|
||||
[-unique_paths_to_endpoint]\
|
||||
|
|
@ -403,7 +403,7 @@ proc_redirect report_checks {
|
|||
|
||||
define_cmd_args "report_check_types" \
|
||||
{[-violators] [-verbose]\
|
||||
[-corner corner_name]\
|
||||
[-corner corner]\
|
||||
[-format slack_only|end]\
|
||||
[-max_delay] [-min_delay]\
|
||||
[-recovery] [-removal]\
|
||||
|
|
@ -679,7 +679,7 @@ proc report_capacitance_limits { net corner min_max violators verbose nosplit }
|
|||
################################################################
|
||||
|
||||
define_cmd_args "report_dcalc" \
|
||||
{[-from from_pin] [-to to_pin] [-corner corner_name] [-min] [-max] [-digits digits]}
|
||||
{[-from from_pin] [-to to_pin] [-corner corner] [-min] [-max] [-digits digits]}
|
||||
|
||||
proc_redirect report_dcalc {
|
||||
report_dcalc_cmd "report_dcalc" $args "-digits"
|
||||
|
|
@ -751,7 +751,7 @@ proc_redirect report_worst_slack {
|
|||
################################################################
|
||||
|
||||
define_cmd_args "report_pulse_width_checks" \
|
||||
{[-verbose] [-corner corner_name] [-digits digits] [-no_line_splits] [pins]\
|
||||
{[-verbose] [-corner corner] [-digits digits] [-no_line_splits] [pins]\
|
||||
[> filename] [>> filename]}
|
||||
|
||||
proc_redirect report_pulse_width_checks {
|
||||
|
|
|
|||
32
tcl/Sta.tcl
32
tcl/Sta.tcl
|
|
@ -634,7 +634,7 @@ define_cmd_args "insert_buffer" {buffer_name buffer_cell net load_pins\
|
|||
################################################################
|
||||
|
||||
define_cmd_args "set_assigned_delay" \
|
||||
{-cell|-net [-rise] [-fall] [-corner corner_name] [-min] [-max]\
|
||||
{-cell|-net [-rise] [-fall] [-corner corner] [-min] [-max]\
|
||||
[-from from_pins] [-to to_pins] delay}
|
||||
|
||||
# Change the delay for timing arcs between from_pins and to_pins matching
|
||||
|
|
@ -732,20 +732,18 @@ proc set_assigned_delay2 {from_vertex to_vertex to_rf corner min_max delay} {
|
|||
|
||||
define_cmd_args "set_assigned_check" \
|
||||
{-setup|-hold|-recovery|-removal [-rise] [-fall]\
|
||||
[-corner corner_name] [-min] [-max]\
|
||||
[-corner corner] [-min] [-max]\
|
||||
[-from from_pins] [-to to_pins] [-clock rise|fall]\
|
||||
[-cond sdf_cond] [-worst] check_value}
|
||||
[-cond sdf_cond] check_value}
|
||||
|
||||
# -worst is ignored.
|
||||
proc set_assigned_check { args } {
|
||||
set_assigned_check_cmd "set_assigned_check" $args
|
||||
}
|
||||
|
||||
# -worst is ignored.
|
||||
proc set_assigned_check_cmd { cmd cmd_args } {
|
||||
parse_key_args $cmd cmd_args \
|
||||
keys {-from -to -corner -clock -cond} \
|
||||
flags {-setup -hold -recovery -removal -rise -fall -max -min -worst}
|
||||
flags {-setup -hold -recovery -removal -rise -fall -max -min}
|
||||
check_argc_eq1 $cmd $cmd_args
|
||||
|
||||
if { [info exists keys(-from)] } {
|
||||
|
|
@ -844,7 +842,7 @@ proc set_assigned_check2 { from_vertex from_rf to_vertex to_rf \
|
|||
################################################################a
|
||||
|
||||
define_cmd_args "set_assigned_transition" \
|
||||
{[-rise] [-fall] [-corner corner_name] [-min] [-max] slew pins}
|
||||
{[-rise] [-fall] [-corner corner] [-min] [-max] slew pins}
|
||||
|
||||
# Change the slew on a list of ports.
|
||||
proc set_assigned_transition { args } {
|
||||
|
|
@ -1136,7 +1134,8 @@ proc get_object_property { object prop } {
|
|||
|
||||
proc get_property_object_type { object_type object_name quiet } {
|
||||
set object "NULL"
|
||||
if { $object_type == "cell" } {
|
||||
if { $object_type == "instance" \
|
||||
|| $object_type == "cell"} {
|
||||
set object [get_cells -quiet $object_name]
|
||||
} elseif { $object_type == "pin" } {
|
||||
set object [get_pins -quiet $object_name]
|
||||
|
|
@ -1146,11 +1145,14 @@ proc get_property_object_type { object_type object_name quiet } {
|
|||
set object [get_ports -quiet $object_name]
|
||||
} elseif { $object_type == "clock" } {
|
||||
set object [get_clocks -quiet $object_name]
|
||||
} elseif { $object_type == "lib_cell" } {
|
||||
} elseif { $object_type == "liberty_cell" \
|
||||
|| $object_type == "lib_cell"} {
|
||||
set object [get_lib_cells -quiet $object_name]
|
||||
} elseif { $object_type == "lib_pin" } {
|
||||
} elseif { $object_type == "liberty_port" \
|
||||
|| $object_type == "lib_pin" } {
|
||||
set object [get_lib_pins -quiet $object_name]
|
||||
} elseif { $object_type == "lib" } {
|
||||
} elseif { $object_type == "library" \
|
||||
|| $object_type == "lib"} {
|
||||
set object [get_libs -quiet $object_name]
|
||||
} else {
|
||||
sta_error 494 "$object_type not supported."
|
||||
|
|
@ -1166,13 +1168,13 @@ proc get_object_type { obj } {
|
|||
if { $object_type == "Clock" } {
|
||||
return "clock"
|
||||
} elseif { $object_type == "LibertyCell" } {
|
||||
return "libcell"
|
||||
return "lib_cell"
|
||||
} elseif { $object_type == "LibertyPort" } {
|
||||
return "libpin"
|
||||
return "lib_pin"
|
||||
} elseif { $object_type == "Cell" } {
|
||||
return "design"
|
||||
} elseif { $object_type == "Instance" } {
|
||||
return "cell"
|
||||
} elseif { $object_type == "Instance" } {
|
||||
return "instance"
|
||||
} elseif { $object_type == "Port" } {
|
||||
return "port"
|
||||
} elseif { $object_type == "Pin" } {
|
||||
|
|
|
|||
Loading…
Reference in New Issue