2019-02-16 21:07:59 +01:00
|
|
|
Parallax Static Timing Analyzer Release Notes
|
|
|
|
|
---------------------------------------------
|
|
|
|
|
|
|
|
|
|
This file summarizes user visible changes for each release.
|
|
|
|
|
|
|
|
|
|
Release 2.0.0 2018/09/28
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
Builds using Autotools/configure are no longer supported.
|
|
|
|
|
Use CMake as documented in README.mb.
|
|
|
|
|
|
2019-04-29 17:39:05 +02:00
|
|
|
....
|
|
|
|
|
|
2019-02-16 21:07:59 +01:00
|
|
|
The check_timing command -no_output_delay checks output ports for
|
|
|
|
|
set_output_delay.
|
|
|
|
|
|
2019-04-29 17:39:05 +02:00
|
|
|
....
|
|
|
|
|
|
2019-02-16 21:07:59 +01:00
|
|
|
The report_power command reports the power consumption of the design
|
|
|
|
|
or a specific instance.
|
|
|
|
|
|
2019-04-29 17:39:05 +02:00
|
|
|
report_power [-instances inst] [-digits digits] [> filename] [>> filename]
|
|
|
|
|
|
|
|
|
|
The internal, switching, leakage and total power are reported. Design
|
|
|
|
|
power is reported separately for combinational, sequential, macro and
|
|
|
|
|
pad groups.
|
|
|
|
|
|
|
|
|
|
Use -instances to report power for a specific instance.
|
2019-02-16 21:07:59 +01:00
|
|
|
|
2019-04-29 17:39:05 +02:00
|
|
|
Use the set_power_activity command to specify activity/duty
|
|
|
|
|
globally using -global, the input port default using -input,
|
|
|
|
|
or for input ports using -input_ports, or pins using -pins.
|
|
|
|
|
|
|
|
|
|
set_power_activity [-global]
|
|
|
|
|
[-input]
|
|
|
|
|
[-input_ports ports]
|
|
|
|
|
[-pins pins]
|
|
|
|
|
[-activiity activity]
|
|
|
|
|
[-duty duty]
|
|
|
|
|
|
|
|
|
|
....
|
2019-02-16 21:07:59 +01:00
|
|
|
|
|
|
|
|
The write_path_spice command writes a spice netlist for a timing path.
|
|
|
|
|
|
|
|
|
|
write_path_spice -path_args path_args
|
|
|
|
|
-spice_directory spice_directory
|
|
|
|
|
-subckt_file subckt_file
|
|
|
|
|
-lib_subckt_file lib_subckts_file\
|
|
|
|
|
-model_file model_file
|
|
|
|
|
-power power
|
|
|
|
|
-ground ground
|
|
|
|
|
|
|
|
|
|
Use path_args to specify -from/-through/-to as arguments to the
|
|
|
|
|
find_timing_paths command. For each path, a spice netlist and the
|
|
|
|
|
subckts referenced by the path are written in spice_directory. The
|
|
|
|
|
spice netlist is written in path_<id>.sp and subckt file is
|
|
|
|
|
path_<id>.subckt.
|
|
|
|
|
|
|
|
|
|
Spice netlists for liberty library cells are read from
|
|
|
|
|
lib_subckts_file. The spice netlists used by the path are written to
|
|
|
|
|
subckt_file, which spice_file .includes. The device models used by the
|
|
|
|
|
spice subckt netlists in model_file are .included in spice_file. Power
|
|
|
|
|
and ground names are specified with the -power and -ground arguments.
|
|
|
|
|
The spice netlist includes a piecewise linear voltage source at the
|
|
|
|
|
input and .measure statement for each gate delay and pin slew.
|
|
|
|
|
|
2019-04-29 17:39:05 +02:00
|
|
|
....
|
|
|
|
|
|
2019-02-16 21:07:59 +01:00
|
|
|
The report_checks, find_timing_paths commands now support an
|
|
|
|
|
-unconstrained flag.
|
|
|
|
|
|
|
|
|
|
report_checks -unconstrained
|
|
|
|
|
find_timing_paths -unconstrained
|
|
|
|
|
|
|
|
|
|
The sta_report_unconstrained_paths variable will be supported for
|
|
|
|
|
for compatibility in this current release.
|
|
|
|
|
|
2019-04-29 17:39:05 +02:00
|
|
|
....
|
|
|
|
|
|
2019-02-16 21:07:59 +01:00
|
|
|
The read_parasitics command has been renamed read_spef and no longer
|
|
|
|
|
supports the SPF format.
|
|
|
|
|
|
|
|
|
|
Release 1.11.0 2017/08/18
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
Use the define_corners command to define the names of multiple
|
|
|
|
|
process/temperature/voltage corners.
|
|
|
|
|
|
|
|
|
|
define_corners corner_name1 [orner_name2]...
|
|
|
|
|
|
|
|
|
|
The define_corners command must follow set_operating_conditions
|
|
|
|
|
-analysis_type precede any reference to the corner names and can only
|
|
|
|
|
appear once in a command file. There is no support for re-defining
|
|
|
|
|
corners.
|
|
|
|
|
|
|
|
|
|
For analysis type single each corner has one delay calculation result
|
|
|
|
|
and early/late path arrivals. For analysis type best_case/worst_case
|
|
|
|
|
and on_chip_varition each corner has min/max delay calculation results
|
|
|
|
|
and early/late path arrivals.
|
|
|
|
|
|
|
|
|
|
Use the report_timing -corner keyword to report timing for one corner.
|
|
|
|
|
With no corner keyword report timing reports the corner with the
|
|
|
|
|
smallest slack for each timing check.
|
|
|
|
|
|
|
|
|
|
report_timing [-corner corner_name]
|
|
|
|
|
|
|
|
|
|
The following commands do not require the -corner keyword if there
|
|
|
|
|
is only one corner. Otherwise, it is required.
|
|
|
|
|
|
|
|
|
|
read_liberty [-corner corner_name] [-min] [-max]
|
|
|
|
|
read_parasitics [-min] [-max]
|
|
|
|
|
report_delay_calculation [-corner corner_name]
|
|
|
|
|
set_annotated_transition [-corner corner_name]
|
|
|
|
|
set_annotated_delay [-corner corner_name]
|
|
|
|
|
set_annotated_check [-corner corner_name]
|
|
|
|
|
read_sdf [-corner corner_name]
|
|
|
|
|
write_sdf [-corner corner_name]
|
|
|
|
|
|
|
|
|
|
An example command script using multiple corners is shown below.
|
|
|
|
|
|
|
|
|
|
read_liberty liberty1.lib
|
|
|
|
|
read_verilog reg1.v
|
|
|
|
|
link_design top
|
|
|
|
|
define_corners ff ss
|
|
|
|
|
read_sdf -corner ff reg1.sdf
|
|
|
|
|
read_sdf -corner ss reg1_ss.sdf
|
|
|
|
|
create_clock -name clk -period 10 {clk1 clk2 clk3}
|
|
|
|
|
set_input_delay -clock clk 0 {in1 in2}
|
|
|
|
|
report_timing -delay_type min_max
|
|
|
|
|
report_timing -delay_type min_max -corner ss
|
|
|
|
|
report_timing -delay_type min_max -corner ff
|
|
|
|
|
|
|
|
|
|
Note that the following use of the set_min_library command show below
|
|
|
|
|
|
|
|
|
|
read_liberty liberty1.lib
|
|
|
|
|
set_min_library -min_version liberty1_min.lib liberty1.lib
|
|
|
|
|
|
|
|
|
|
can be replaced with the following commands using min/max flags:
|
|
|
|
|
|
|
|
|
|
read_liberty -max liberty1.lib
|
|
|
|
|
read_liberty -min liberty1_min.lib
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The report_timing -unique_pins flag is used in conjuntion with -nworst
|
|
|
|
|
to report multiple paths to an endpoint that traverse different pins
|
|
|
|
|
without showing multiple paths with different rise/fall transitions.
|
|
|
|
|
|
|
|
|
|
report_timing [-unique_pins]
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The set_max_delay/set_min_delay commands now support the -ignore_clock_latency
|
|
|
|
|
option.
|
|
|
|
|
|
|
|
|
|
set_max_delay -ignore_clock_latency
|
|
|
|
|
set_min_delay -ignore_clock_latency
|
|
|
|
|
|
|
|
|
|
Clock latency at the source and destination of the path delay is
|
|
|
|
|
ignored. The constraint is reported in the default path group
|
|
|
|
|
(**default**) rather than the clock path group when the path ends at a
|
|
|
|
|
timing check.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The write_sdf command writes an Standard Delay Format (SDF) file for
|
|
|
|
|
the design.
|
|
|
|
|
|
|
|
|
|
write_sdf [-divider /|.] [-significant_digits digits] [-gzip]
|
|
|
|
|
[-no_timestamp] [-no_version] filename
|
|
|
|
|
|
|
|
|
|
-divider separates hierarchy levels in name. It must be '/' or '.'.
|
|
|
|
|
-significant_digits specifies the number of digits after the decimal point
|
|
|
|
|
for delays
|
|
|
|
|
-gzip flag writes the file in gzip compressed format
|
|
|
|
|
-no_timestamp flag excludes the DATE statement in the header
|
|
|
|
|
-no_version flags excludes the VERSION statement in the header
|
|
|
|
|
filename is the name of the SDF file
|
|
|
|
|
|
|
|
|
|
The SDF TIMESCALE is same as the time_unit in the first liberty file read.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The group_path command now supports the -default flag.
|
|
|
|
|
|
|
|
|
|
group_path -default
|
|
|
|
|
|
|
|
|
|
When the -default flag is specified paths matching the from/through/to
|
|
|
|
|
criteria are added to the path group named **default**. Either the
|
|
|
|
|
-default or -name arguments must be specified.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
Common clock pessimism is now enabled by default
|
|
|
|
|
(timing_remove_clock_reconvergence_pessimism true).
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The report_clock_timing command is used to report the worst clock
|
|
|
|
|
skew.
|
|
|
|
|
|
|
|
|
|
report_clock_timing [-type skew] [-setup|-hold] [-clock clocks]
|
|
|
|
|
[-significant_digits digits]
|
|
|
|
|
|
|
|
|
|
Only -type skew is supported. -setup and -hold are mutually exclusive.
|
|
|
|
|
|
|
|
|
|
Release 1.10.1 2014/12/23
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The set_annotated_check command now supports a -clock argument to
|
|
|
|
|
specify a clock rise/fall edge to annotate.
|
|
|
|
|
|
|
|
|
|
set_annotated_check -setup|-hold|-recovery|-removal [-rise] [-fall] [-min] [-max]
|
|
|
|
|
[-from from_pins] [-to to_pins] [-clock rise|fall]
|
|
|
|
|
[-cond sdf_cond] [-worst] check_value}
|
|
|
|
|
|
|
|
|
|
The set_max_transition command now supports pin objects.
|
|
|
|
|
|
|
|
|
|
set_max_transition [-clock_path] [-data_path] [-rise] [-fall] slew objects
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Release 1.10.0 2013/06/23
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The default analysis type has changed from single to
|
|
|
|
|
on_chip_variation. For designs that do not explicitly set the
|
|
|
|
|
analysis type this may make the STA run longer because it is
|
|
|
|
|
determining both minimum and maximum arrival times.
|
|
|
|
|
|
|
|
|
|
Use the following command to explicitly set the analysis type to single.
|
|
|
|
|
|
|
|
|
|
set_operation_conditions -analysis_type single
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The read_liberty -min|-max option is no longers supported. Use the
|
|
|
|
|
set_min_library command after the the design has been linked instead.
|
|
|
|
|
|
|
|
|
|
set_min_library -min_version min_library max_library
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The default value of timing_input_port_default_clock has changed to false.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
An Arnoldi reducer and delay calculator for use with detailed
|
|
|
|
|
parasitics is now supported. Use the set_delay_calculator command to
|
|
|
|
|
change the delay calculator.
|
|
|
|
|
|
|
|
|
|
set_delay_calculator arnoldi
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The get_timing_arcs -filter option is now supported.
|
|
|
|
|
|
|
|
|
|
get_timing_arcs [-filter expr]
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The set_clock_uncertainty -from_edge -to_edge options are no longer supported.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The allocate_budgets and write_sdc commands now have a
|
|
|
|
|
-significant_digits option for to control the number of digits in the
|
|
|
|
|
SDC file.
|
|
|
|
|
|
|
|
|
|
write_sdc [-no_timestamp] [-significant_digits digits] filename
|
|
|
|
|
|
|
|
|
|
allocate_budgets [-levels all|level] [-format ptsh|dctcl|dcsh]
|
|
|
|
|
[-file_format_spec format_spec] [-write_context] [-no_driving_cells]
|
|
|
|
|
[-no_timestamp] [-significant_digits digits] [instance_list]
|
|
|
|
|
|
|
|
|
|
Release 1.9.1 2011/03/02
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The following commands are now supported.
|
|
|
|
|
|
|
|
|
|
set_annotated_check -setup|-hold|-recovery|-removal
|
|
|
|
|
[-rise] [-fall] [-min] [-max]
|
|
|
|
|
[-from from_pins] [-to to_pins] [-clock rise|fall]
|
|
|
|
|
[-cond sdf_cond] [-worst] check_value
|
|
|
|
|
|
|
|
|
|
all_fanin -to sink_list [-flat] [-only_cells] [-startpoints_only]
|
|
|
|
|
[-levels level_count] [-pin_levels pin_count]
|
|
|
|
|
[-trace_arcs timing|enabled|all]
|
|
|
|
|
|
|
|
|
|
all_fanout -from source_list [-flat] [-only_cells] [-endpoints_only]
|
|
|
|
|
[-levels level_count] [-pin_levels pin_count]
|
|
|
|
|
[-trace_arcs timing|enabled|all]
|
|
|
|
|
|
|
|
|
|
remove_propagated_clock objects
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The create_generated_clock command now supports the phase locked loop
|
|
|
|
|
options -pll_out and -pll_feedback.
|
|
|
|
|
|
|
|
|
|
create_generated_clock [-pll_out pll_out_pin] [-pll_feedback pll_fdbk_pin]
|
|
|
|
|
|
|
|
|
|
The -source, -pll_out and -pll_feedback must all be pins on the same
|
|
|
|
|
PLL instance. The delay between the PLL out and feedback pins is
|
|
|
|
|
removed from the source latency of the generated clock.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The set_timing_derate command now supports -rise and -fall flags.
|
|
|
|
|
|
|
|
|
|
set_timing_derate [-rise] [-fall] [-early] [-late] [-clock] [-data]
|
|
|
|
|
[-net_delay] [-cell_delay] [-cell_check]
|
|
|
|
|
factor [object_list]
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The update_timing command now supports the -full flag.
|
|
|
|
|
|
|
|
|
|
update_timing [-full]
|
|
|
|
|
|
|
|
|
|
Without -full arrivals are updated incrementally.
|
|
|
|
|
With -full all arrivals are updated from scratch.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The following commands return the total and worst negative slack in
|
|
|
|
|
the design.
|
|
|
|
|
|
|
|
|
|
total_negative_slack [-min] [-max]
|
|
|
|
|
worst_negative_slack [-min] [-max]
|
|
|
|
|
|
|
|
|
|
Release 1.9.0 2010/07/01
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The set_disable_timing and remove_disable_timing commands now support
|
|
|
|
|
get_timing_arcs results as arguments.
|
|
|
|
|
|
|
|
|
|
set_disable_timing [get_timing_arcs -from u2/B -to u2/Z]
|
|
|
|
|
set_disable_timing [get_timing_arcs -of_objects [get_lib_cells liberty1/snl_invx1]]
|
|
|
|
|
remove_disable_timing [get_timing_arcs -from u2/B -to u2/Z]
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The get_timing_arcs command now supports the -of_objects argument.
|
|
|
|
|
|
|
|
|
|
get_timing_arcs [-from from_pin] [-to to_pin] [-of_objects objects]
|
|
|
|
|
|
|
|
|
|
The keyword arguments -from and -to cannot be used with -of_objects.
|
|
|
|
|
Objects must be a collection of instances or library cells.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The redirect command redirects the output from a group of commands to
|
|
|
|
|
a TCL variable.
|
|
|
|
|
|
|
|
|
|
redirect -variable var { cmds }
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The query_objects command is now supported.
|
|
|
|
|
|
|
|
|
|
query_objects [-verbose] collection
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
OpenAccess databases are no longer supported.
|
|
|
|
|
|
|
|
|
|
Release 1.8.2 2009/11/18
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The rise/fall from/through/to arguments of the group_path command are
|
|
|
|
|
now supported.
|
|
|
|
|
|
|
|
|
|
group_path [-from from_list] [-rise_from from_list] [-fall_from from_list]
|
|
|
|
|
[-through through_list] [-rise_through through_list] [-fall_through through_list]
|
|
|
|
|
[-to to_list] [-rise_to to_list] [-fall_to to_list]
|
|
|
|
|
|
|
|
|
|
The create_generated_clock -combinational flag is now supported.
|
|
|
|
|
|
|
|
|
|
The set_clock_groups command is now supported. The -allow_paths flag
|
|
|
|
|
is ignored.
|
|
|
|
|
|
|
|
|
|
set_clock_groups [-name name] [-logically_exclusive] [-physically_exclusive]
|
|
|
|
|
[-asynchronous] [-allow_paths] -group clock_list
|
|
|
|
|
|
|
|
|
|
The set_clock_sense command is now supported. The -pulse flag is
|
|
|
|
|
ignored.
|
|
|
|
|
|
|
|
|
|
set_clock_sense [-positive] [-negative] [-pulse pulse] [-stop_propagation]
|
|
|
|
|
[clock clock_list]
|
|
|
|
|
|
|
|
|
|
If there were non-unate timing arcs in the clock network previous
|
|
|
|
|
releases would issue a warning and only propagate the positive unate
|
|
|
|
|
clock edges. In this release both edges of the clock are propagated
|
|
|
|
|
and no warning is issued. Use the set_clock_sense command to control
|
|
|
|
|
the unateness of the non-unate clock edge if necessary.
|
|
|
|
|
|
|
|
|
|
In previous releases the set_input_delay command on a clock source pin
|
|
|
|
|
would set the clock source delay (insertion delay) of the clock pin.
|
|
|
|
|
With this release the set_input_delay is ignored.
|
|
|
|
|
|
|
|
|
|
The remove_disable_timing command is now supported. The
|
|
|
|
|
remove_disable_timing removes disables from a corresponding
|
|
|
|
|
set_disable_timing command.
|
|
|
|
|
|
|
|
|
|
remove_disable_timing [-from from_port] [-to to_port] objects
|
|
|
|
|
|
|
|
|
|
The following SDC commands are parsed and ignored:
|
|
|
|
|
|
|
|
|
|
set_ideal_latency [-rise] [-fall] [-min] [-max] delay objects
|
|
|
|
|
set_ideal_network [-no_propagation] object_list
|
|
|
|
|
set_ideal_transition [-rise] [-fall] [-min] [-max] transition_time objects
|
|
|
|
|
|
|
|
|
|
The linker now creates empty "block box" cells for instances that
|
|
|
|
|
reference undefined cells when the variable link_create_black_boxes is
|
|
|
|
|
"true". When link_create_black_boxes is false an error is reported
|
|
|
|
|
and the link fails.
|
|
|
|
|
|
|
|
|
|
Release 1.8.1 2009/05/01
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The STA now supports threading on multi-processor systems.
|
|
|
|
|
The STA executable -threads argument specifies the number of threads
|
|
|
|
|
to use.
|
|
|
|
|
|
|
|
|
|
app/sta -threads max|integer
|
|
|
|
|
|
|
|
|
|
The default value is one. If -threads is "max" the thread count is
|
|
|
|
|
set to the processor count. Using multiple threads on multi-processor
|
|
|
|
|
hosts reduces the wall run time by running multiple computations in
|
|
|
|
|
parallel on each processor.
|
|
|
|
|
|
|
|
|
|
The TCL variable timing_report_unconstrained_path is deprecated.
|
|
|
|
|
Use timing_report_unconstrained_paths instead.
|
|
|
|
|
|
|
|
|
|
The liberty library default values for the default_input_pin_cap and
|
|
|
|
|
default_inout_pin_cap attributes has been changed from 1.0 to 0.0.
|
|
|
|
|
|
|
|
|
|
Problems found by read_parasitics are now reported as warnings rather
|
|
|
|
|
than errors.
|
|
|
|
|
|
|
|
|
|
The create_generated_clock -edge_shift option is now supported.
|
|
|
|
|
|
|
|
|
|
The timing_input_port_default_clock variable is now supported.
|
|
|
|
|
|
|
|
|
|
timing_input_port_default_clock true|false
|
|
|
|
|
|
|
|
|
|
The timing_all_clocks_propagated variable is now supported.
|
|
|
|
|
When true, all clocks are propagated.
|
|
|
|
|
|
|
|
|
|
timing_all_clocks_propagated true|false
|
|
|
|
|
|
|
|
|
|
Release 1.8.0 2008/10/01
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The memory used by the STA has been signficantly reduced.
|
|
|
|
|
|
|
|
|
|
The effective capacitance calculated by the Dartu/Menezes/Pileggi
|
|
|
|
|
delay calculation algorithm has improved accuracy. This will change
|
|
|
|
|
delay calculation results when SPEF/SPF RSPF/DSPF parasitics are used.
|
|
|
|
|
|
|
|
|
|
Release 1.7.2 Patches
|
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
|
|
The common reconvergent pressimism removal (crpr) for clocks with
|
|
|
|
|
combinational reconvergence is controlled by the
|
|
|
|
|
timing_clock_combinational_reconvergence_pessimism variable.
|
|
|
|
|
The valid values are:
|
|
|
|
|
converge - use the crpr at the pin that the paths converge
|
|
|
|
|
diverge - use the crpr at the pin that the paths diverge
|
|
|
|
|
none - use zero for the crpr
|
|
|
|
|
|
|
|
|
|
Release 1.7.2 2008/01/28
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
Verilog 2001 port declaratation support has been added. An example is
|
|
|
|
|
shown below.
|
|
|
|
|
|
|
|
|
|
module top (input in1, in2, clk1, clk2, clk3,
|
|
|
|
|
output out);
|
|
|
|
|
|
|
|
|
|
Release 1.7.1 patches
|
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
|
|
The set_disable_clock_gating_check command disables clock gating
|
|
|
|
|
checks. The remove_disable_clock_gating_check command removes a
|
|
|
|
|
previous disable. The objects are clock gating cells (instances) or
|
|
|
|
|
the clock or enable pin on the clock gating instance.
|
|
|
|
|
|
|
|
|
|
set_disable_clock_gating_check objects
|
|
|
|
|
remove_disable_clock_gating_check objects
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The set_units command is now supported.
|
|
|
|
|
|
|
|
|
|
set_units [-capacitance cap_unit] [-resistance res_unit] [-time time_unit]
|
|
|
|
|
[-voltage voltage_unit] [-current current_unit] [-power power_unit]
|
|
|
|
|
|
|
|
|
|
The units are specified as a scale factor followed by a unit name.
|
|
|
|
|
The unit names are shown below.
|
|
|
|
|
|
|
|
|
|
capacitance f
|
|
|
|
|
time s
|
|
|
|
|
current A
|
|
|
|
|
resistance ohm
|
|
|
|
|
voltage v
|
|
|
|
|
power w
|
|
|
|
|
|
|
|
|
|
The scale factors are as follows.
|
|
|
|
|
|
|
|
|
|
M 1E+6
|
|
|
|
|
k 1E+3
|
|
|
|
|
m 1E-3
|
|
|
|
|
u 1E-6
|
|
|
|
|
n 1E-9
|
|
|
|
|
p 1E-12
|
|
|
|
|
f 1E-15
|
|
|
|
|
|
|
|
|
|
An example of the set_units command is shown below.
|
|
|
|
|
|
|
|
|
|
set_units -time ns -capacitance pF -current mA -voltage V -resistance kOhm
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The following SDC commands are parsed but have no effect on timing results.
|
|
|
|
|
|
|
|
|
|
create_voltage_area [-name name] [-coordinate coordinates]
|
|
|
|
|
[-guard_band_x guard_x] [-guard_band_y guard_y] cells
|
|
|
|
|
set_level_shifter_strategy [-rule rule_type]
|
|
|
|
|
set_level_shifter_threshold [-voltage volt]
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The first liberty library that is read sets the default units used for
|
|
|
|
|
tcl commands and reporting. In previous releases they came from the
|
|
|
|
|
last library read.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Release 1.7.1 2007/08/13
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The report_annotated_delay and report_annotated_check commands are now
|
|
|
|
|
supported.
|
|
|
|
|
|
|
|
|
|
report_annotated_delay [-cell] [-net] [-from_in_ports] [-to_out_ports]
|
|
|
|
|
[-max_line lines] [-list_annotated] [-list_not_annotated] [-constant_arcs]
|
|
|
|
|
|
|
|
|
|
report_annotated_check [-setup] [-hold] [-recovery] [-removal] [-nochange]
|
|
|
|
|
[-width] [-period] [-max_skew]
|
|
|
|
|
[-max_line lines] [-list_annotated] [-list_not_annotated] [-constant_arcs]
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The report_timing -group option is now supported.
|
|
|
|
|
|
|
|
|
|
report_timing [-group group_names]
|
|
|
|
|
|
|
|
|
|
Only path groups in group_names are reported.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The set_max_transition command now supports clock objects.
|
|
|
|
|
|
|
|
|
|
set_max_transition [-clock_path] [-data_path] [-rise] [-fall] slew objects
|
|
|
|
|
|
|
|
|
|
The object list is a list of ports, clocks or designs.
|
|
|
|
|
|
|
|
|
|
If specified for a design, the default maximum transition is set for
|
|
|
|
|
the design.
|
|
|
|
|
|
|
|
|
|
If specified for a clock, the maximum transition is applied to all
|
|
|
|
|
pins in the specified clock domain. The -clock_path option restricts
|
|
|
|
|
the maximum transition to clocks in clock paths. The -data_path
|
|
|
|
|
option restricts the maximum transition to clocks in data paths. The
|
|
|
|
|
-clock_path, -data_path, -rise, and -fall flags only apply to clock
|
|
|
|
|
objects.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
Support for pulse clocks has been added. The liberty pin pulse_clock
|
|
|
|
|
attribute specifies the triggering edge and clock sense for a pulse
|
|
|
|
|
generator.
|
|
|
|
|
|
|
|
|
|
pulse_clock rise_triggered_high_pulse|rise_triggered_low_pulse
|
|
|
|
|
fall_triggered_high_pulse|fall_triggered_low_pulse
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The timing_report_unconstrained_path variable is now supported.
|
|
|
|
|
|
|
|
|
|
timing_report_unconstrained_path true|false
|
|
|
|
|
|
|
|
|
|
When timing_report_unconstrained_path is true, report_timing reports
|
|
|
|
|
unconstrained paths if no constrained paths are found. The default
|
|
|
|
|
value is "false".
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The timing_disable_clock_gating_checks variable is now supported.
|
|
|
|
|
|
|
|
|
|
timing_disable_clock_gating_checks true|false
|
|
|
|
|
|
|
|
|
|
When timing_disable_clock_gating_checks is true, clock gating setup
|
|
|
|
|
and hold timing checks are disabled. The default value is "false".
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The timing_disable_recovery_removal_checks variable is now supported.
|
|
|
|
|
|
|
|
|
|
timing_disable_recovery_removal_checks true|false
|
|
|
|
|
|
|
|
|
|
When timing_disable_recovery_removal_checks is true, recovery and
|
|
|
|
|
removal timing checks are disabled. The default value is "false".
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The read_sdf command now supports the -path and -cond_use options.
|
|
|
|
|
|
|
|
|
|
read_sdf [-path path] [-cond_use min|max|min_max]
|
|
|
|
|
|
|
|
|
|
The path specifies a path to a hierarchical instance in the design to
|
|
|
|
|
annotate delays on.
|
|
|
|
|
|
|
|
|
|
The cond_use option is used when the SDF file contains conditional
|
|
|
|
|
delays and the library does not have conditional delay arcs. If
|
|
|
|
|
cond_use is min, the minimum of all conditional delays is used. If
|
|
|
|
|
cond_use is max, the maximum of all conditional delays is used. If
|
|
|
|
|
cond_use is min_max and min_max operating conditions are in use, the
|
|
|
|
|
minimum of the conditional delay values is used for minimum operating
|
|
|
|
|
conditions and the maximum of the conditional delay values is used for
|
|
|
|
|
maximum operating conditions.
|
|
|
|
|
|
|
|
|
|
The sdf reader now supports the PORT, DEVICE, CONDELSE and PERIOD
|
|
|
|
|
statements.
|
|
|
|
|
|
|
|
|
|
....
|
|
|
|
|
|
|
|
|
|
The report_constraint command now supports minimum period and max skew
|
|
|
|
|
checks.
|
|
|
|
|
|
|
|
|
|
report_constraint [-min_period] [-max_skew]
|
|
|
|
|
|
|
|
|
|
The report_constraint -min_pulse_width command now only reports the
|
|
|
|
|
constraint with the least slack rather than all min pulse width
|
|
|
|
|
checks.
|
|
|
|
|
|
|
|
|
|
Release 1.7.0 2007/03/16
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The set_clock_latency -clock option is now supported.
|
|
|
|
|
|
|
|
|
|
set_clock_latency [-source] [-clock clock] [-rise] [-fall] [-min] [-max]
|
|
|
|
|
[-early] [-late] delay object_list
|
|
|
|
|
remove_clock_latency [-source] [-clock clock] object_list
|
|
|
|
|
|
|
|
|
|
The set_timing_derate command now supports the optional object_list argument.
|
|
|
|
|
|
|
|
|
|
set_timing_derate [-early] [-late] [-clock] [-data]
|
|
|
|
|
[-net_delay] [-cell_delay] [-cell_check]
|
|
|
|
|
factor [object_list]
|
|
|
|
|
|
|
|
|
|
object_list is a list of nets, instances or library cells.
|
|
|
|
|
|
|
|
|
|
The following commands now support -regexp and -nocase flags:
|
|
|
|
|
|
|
|
|
|
get_cells
|
|
|
|
|
get_clocks
|
|
|
|
|
get_lib_cells
|
|
|
|
|
get_lib_pins
|
|
|
|
|
get_libs
|
|
|
|
|
get_nets
|
|
|
|
|
get_pins
|
|
|
|
|
get_ports
|
|
|
|
|
|
|
|
|
|
Without -regexp unix style file glob pattern matching is used.
|
|
|
|
|
With -regexp TCL regular expression matching is used.
|
|
|
|
|
When the -nocase is used regular expressions are case insensitive.
|
|
|
|
|
The -nocase flag can only be used with -regexp.
|
|
|
|
|
|
|
|
|
|
The timing_dynamic_loop_breaking variable is now supported.
|
|
|
|
|
|
|
|
|
|
timing_dynamic_loop_breaking true|false
|
|
|
|
|
|
|
|
|
|
When timing_dynamic_loop_breaking is "false" combinational logic loops
|
|
|
|
|
are disabled by disabling timing arcs in the loop. When
|
|
|
|
|
timing_dynamic_loop_breaking is "true" all paths around the loop are
|
|
|
|
|
reported. The default value is false.
|
|
|
|
|
|
|
|
|
|
Release 1.6.2 patches
|
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
|
|
The -rise_to and -fall_to arguments are now supported by all exceptions.
|
|
|
|
|
set_false_path [-rise_to to_list] [-fall_to to_list]
|
|
|
|
|
set_multicycle_path [-rise_to to_list] [-fall_to to_list]
|
|
|
|
|
set_min_delay [-rise_to to_list] [-fall_to to_list]
|
|
|
|
|
set_max_delay [-rise_to to_list] [-fall_to to_list]
|
|
|
|
|
reset_path [-rise_to to_list] [-fall_to to_list]
|
|
|
|
|
|
|
|
|
|
Release 1.6.2 2006/12/08
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The set_input_delay/set_output_delay -reference_pin option is now supported.
|
|
|
|
|
|
|
|
|
|
set_input_delay -reference_pin pin [-clock clock] [-clock_fall]
|
|
|
|
|
set_output_delay -reference_pin pin [-clock clock] [-clock_fall]
|
|
|
|
|
|
|
|
|
|
For propagated clocks, the input arrival time is relative to the clock
|
|
|
|
|
arrival time at the reference pin (the clock source latency and
|
|
|
|
|
network latency from the clock source to the reference pin). For ideal
|
|
|
|
|
clocks, input arrival time is relative to the reference pin clock
|
|
|
|
|
source latency. With the -clock_fall flag the arrival time is
|
|
|
|
|
relative to the falling transition at the reference pin. If no clocks
|
|
|
|
|
arrive at the reference pin the set_input_delay command is ignored.
|
|
|
|
|
If no -clock is specified the arrival time is with respect to all
|
|
|
|
|
clocks that arrive at the reference pin.
|
|
|
|
|
|
|
|
|
|
The set_input_delay/set_output_delay -source_latency_included and
|
|
|
|
|
-network_latency_included options are now supported.
|
|
|
|
|
|
|
|
|
|
set_input_delay [-source_latency_included] [-network_latency_included]
|
|
|
|
|
set_output_delay [-source_latency_included] [-network_latency_included]
|
|
|
|
|
|
|
|
|
|
If -source_latency_included is not specified the clock source latency
|
|
|
|
|
(insertion delay) is added to the delay value.
|
|
|
|
|
|
|
|
|
|
If -network_latency_included is not specified and the clock is ideal
|
|
|
|
|
the clock latency is added to the delay value.
|
|
|
|
|
|
|
|
|
|
The set_clock_uncertainty command now supports -rise_from, -fall_from,
|
|
|
|
|
-rise_to and -fall_to arguments.
|
|
|
|
|
|
|
|
|
|
set_clock_uncertainty [-from|-rise_from|-fall_from clocks]
|
|
|
|
|
[-to|-rise_to|-fall_to clocks]
|
|
|
|
|
|
|
|
|
|
The report_timing command now supports the -path_type
|
|
|
|
|
full_clock_expanded option. If the source or target clock is
|
|
|
|
|
generated and propagated, the path from the clock source pin is also
|
|
|
|
|
reported.
|
|
|
|
|
|
|
|
|
|
report_timing -path_type command|end|full|full_clock
|
|
|
|
|
|full_clock_expanded|short|summary
|
|
|
|
|
|
|
|
|
|
The report_timing command now supports the -rise_to and -fall_to
|
|
|
|
|
arguments as alternative to using
|
|
|
|
|
-delay_type max_rise|min_rise|max_fall|min_fall.
|
|
|
|
|
|
|
|
|
|
The report_timing command is now faster if only a -to argument is
|
|
|
|
|
used.
|
|
|
|
|
|
|
|
|
|
The report_min_pulse_width command is now supported.
|
|
|
|
|
|
|
|
|
|
report_min_pulse_width [-verbose] [-nosplit]
|
|
|
|
|
[-significant_digits digits] [pins]
|
|
|
|
|
|
|
|
|
|
If no pins are specified all pins in the clock network with min pulse
|
|
|
|
|
width checks are reported.
|
|
|
|
|
|
|
|
|
|
The report_constraint command now supports the -min_pulse_width option.
|
|
|
|
|
report_constraint [-min_pulse_width]
|
|
|
|
|
|
|
|
|
|
The set_min_pulse_width command is now supported.
|
|
|
|
|
|
|
|
|
|
set_min_pulse_width [-low] [-high] value objects
|
|
|
|
|
|
|
|
|
|
Objects can be pins, instances, or clocks. If -low and -high are not
|
|
|
|
|
specified the minimum width applies to both high and low pulses.
|
|
|
|
|
|
|
|
|
|
The report_clock command now takes a list of clock names to report.
|
|
|
|
|
|
|
|
|
|
report_clock [clock]
|
|
|
|
|
|
|
|
|
|
The get_ports function now supports the -filter arguement.
|
|
|
|
|
|
|
|
|
|
get_ports [-filter expr]
|
|
|
|
|
|
|
|
|
|
where "expr" is of the form
|
|
|
|
|
attribute ==|=~ value
|
|
|
|
|
|
|
|
|
|
The only supported attribute for ports is direction.
|
|
|
|
|
|
|
|
|
|
The timing_disable_internal_inout_cell_paths variable is now
|
|
|
|
|
supported.
|
|
|
|
|
|
|
|
|
|
timing_disable_internal_inout_cell_paths true|false
|
|
|
|
|
|
|
|
|
|
The default value is "true". When set to "true", paths from
|
|
|
|
|
bidirectional (inout) ports back into the instance are disabled. When
|
|
|
|
|
set to "false", paths from bidirectional (inout) ports back into the
|
|
|
|
|
instance are enabled.
|
|
|
|
|
|
|
|
|
|
The -compatibility command line option is no longer supported.
|
|
|
|
|
DC compatibility mode has been removed.
|
|
|
|
|
|
|
|
|
|
Release 1.6.1 2006/10/04
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The timing_disable_cond_default_arcs variable is now supported.
|
|
|
|
|
|
|
|
|
|
timing_disable_cond_default_arcs true|false
|
|
|
|
|
|
|
|
|
|
When set to true, default timing arcs with no condition ("when"
|
|
|
|
|
expression) are disabled if there are other conditional timing arcs
|
|
|
|
|
between the same pins. The default value is false.
|
|
|
|
|
|
|
|
|
|
The remove_clock_transition command removes the clock transition time
|
|
|
|
|
set with the set_clock_transition command.
|
|
|
|
|
|
|
|
|
|
remove_clock_transition clock_list
|
|
|
|
|
|
|
|
|
|
The remove_clock_latency command removes the clock latency
|
|
|
|
|
set with the set_clock_latency command.
|
|
|
|
|
|
|
|
|
|
remove_clock_latency [-source] object_list
|
|
|
|
|
object_list is a list of clocks, pins, or ports
|
|
|
|
|
|
|
|
|
|
The liberty mode_definition and mode statements are now supported for
|
|
|
|
|
case analysis.
|
|
|
|
|
|
|
|
|
|
Incremental SDF delay annotation is now supported. INCREMENT is
|
|
|
|
|
allowed as an alias for INCREMENTAL.
|
|
|
|
|
|
|
|
|
|
The get_pins "-of_object" argument has been renamed to "-of_objects"
|
|
|
|
|
to match the SDC definition.
|
|
|
|
|
|
|
|
|
|
Release 1.5.1 2006/05/16
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
No user visible or api changes.
|
|
|
|
|
|
|
|
|
|
Release 1.5.0 2006/03/05
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The read_min_max_lib command is no longer supported. The read_liberty
|
|
|
|
|
command now supports argument flags for min/max libraries.
|
|
|
|
|
|
|
|
|
|
read_liberty [-min] [-max] filename
|
|
|
|
|
|
|
|
|
|
Libraries read with the -min flag are used for min path delay
|
|
|
|
|
calculation and libraries read with the -max flag are used for max
|
|
|
|
|
path delay calculation.
|
|
|
|
|
|
|
|
|
|
Support for gcc 3.4.4 and swig 1.3.28 added.
|
|
|
|
|
|
|
|
|
|
Release 1.4.4 2005/12/08
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The current_instance command now supports non-null instance arguments.
|
|
|
|
|
|
|
|
|
|
The set_load command now supports -rise and -fall options for
|
|
|
|
|
transition specific loads. The -rise and -fall options can not be
|
|
|
|
|
used for net objects.
|
|
|
|
|
|
|
|
|
|
The report_timing command -delay option has been renamed to -delay_type.
|
|
|
|
|
|
|
|
|
|
The set_timing_derate command is now supported.
|
|
|
|
|
|
|
|
|
|
set_timing_derate [-early] [-late] [-clock] [-data]
|
|
|
|
|
[-net_delay] [-cell_delay] [-cell_check] derate
|
|
|
|
|
|
|
|
|
|
Use the reset_timing_derate command to remove all derating factors.
|
|
|
|
|
|
|
|
|
|
Paths that start at latches only report the path from the latch with a
|
|
|
|
|
"time given to startpoint" rather than the entire path through the D
|
|
|
|
|
to Q path of the latch.
|
|
|
|
|
|
|
|
|
|
Liberty rise/fall_capacitance and rise/fall_capacitance_range
|
|
|
|
|
attributes are now supported.
|
|
|
|
|
|
|
|
|
|
The default_significant_digits variable has been renamed to
|
|
|
|
|
report_default_significant_digits.
|
|
|
|
|
|
|
|
|
|
Release 1.4.1 2005/05/20
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The read_min_max_lib command is now supported.
|
|
|
|
|
|
|
|
|
|
read_min_max_lib -name name
|
|
|
|
|
-min liberty_min_file
|
|
|
|
|
[-min_operating_condition min_op_cond]
|
|
|
|
|
[-use_min_operating_condition min_op_cond_used]
|
|
|
|
|
-max liberty_max_file
|
|
|
|
|
[-max_operating_condition max_op_cond]
|
|
|
|
|
[-use_max_operating_condition min_op_cond_used]
|
|
|
|
|
|
|
|
|
|
The read_min_max_lib merges the timing values from two liberty files
|
|
|
|
|
together to create a new library used for multi-operating condition
|
|
|
|
|
analysis. The merged library is named with the -name argument. The
|
|
|
|
|
libraries named in liberty_min_file and liberty_max_file are not
|
|
|
|
|
accessible after they are merged.
|
|
|
|
|
|
|
|
|
|
The timing values in liberty_min_file are used at the operating
|
|
|
|
|
conditions named min_op_cond (default MIN). The min_op_cond operating
|
|
|
|
|
conditions are from the operating condition min_op_cond_used in
|
|
|
|
|
liberty_min_file.
|
|
|
|
|
|
|
|
|
|
The timing values in liberty_max_file are used at the operating
|
|
|
|
|
conditions named max_op_cond (default MAX). The max_op_cond operating
|
|
|
|
|
conditions are from the operating condition max_op_cond_used in
|
|
|
|
|
liberty_max_file.
|
|
|
|
|
|
|
|
|
|
Use the set_operating_conditions command to use the merged library
|
|
|
|
|
timing values.
|
|
|
|
|
|
|
|
|
|
set_operating_conditions -analysis_type bc_wc|on_chip_variation
|
|
|
|
|
-min min_op_cond -max max_op_cond
|
|
|
|
|
|
|
|
|
|
The read_parasitics command now supports multiple analysis points.
|
|
|
|
|
|
|
|
|
|
read_parasitics [-analysis_point ap]
|
|
|
|
|
|
|
|
|
|
If ap is min the parasitics are used for min delay calculation
|
|
|
|
|
If ap is max the parasitics are used for max delay calculation.
|
|
|
|
|
If ap is min_max the parasitics are used for both min and max
|
|
|
|
|
delay calculation. The default value of ap is min_max.
|
|
|
|
|
|
|
|
|
|
Along these same lines, if an OpenAccess has parasitics when it is
|
|
|
|
|
read using the read_oa_db command, the STA looks for analysis points
|
|
|
|
|
named "min" and "max". If it finds both, they are used for
|
|
|
|
|
corresponding min and max delay calculation. If not, the STA looks
|
|
|
|
|
for an analysis point named "min_max". If found, it is used for min
|
|
|
|
|
and max delay calculation.
|
|
|
|
|
|
|
|
|
|
Release 1.3.10 2005/04/04
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The read_parasitics command now supports a coupling capacitance
|
|
|
|
|
reduction factor, and an option to keep coupling capacitors.
|
|
|
|
|
|
|
|
|
|
read_parasitics [-keep_capacitive_coupling]
|
|
|
|
|
[-coupling_reduction_factor factor]
|
|
|
|
|
|
|
|
|
|
Coupling capacitances in parasitic networks are multiplied by the
|
|
|
|
|
coupling factor when the parasitic is reduced.
|
|
|
|
|
|
|
|
|
|
Release 1.3.6 2005/01/30
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
OpenAccess support for multiple parasitic analysis points. The STA
|
|
|
|
|
looks for an analysis point named "max" first, then "min". If it
|
|
|
|
|
finds both, they are used for corresponding min and max delay
|
|
|
|
|
calculation.
|
|
|
|
|
|
|
|
|
|
Release 1.3.2 2004/12/20
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
OpenAccess 2.2 verilog2oa is now supported. Include a file that
|
|
|
|
|
contains Verilog modules for each of the Liberty library cells that
|
|
|
|
|
defines the ports and their declarations.
|
|
|
|
|
|
|
|
|
|
verilog2oa -verilog "reg1.v liberty1.v" \
|
|
|
|
|
-top top -lib reg1 -view verilog -blackBox
|
|
|
|
|
|
|
|
|
|
This creates an EMH network for a module named "top" in the "verilog"
|
|
|
|
|
view of the "reg1" library. To read this database into the sta, use
|
|
|
|
|
the following commands.
|
|
|
|
|
|
|
|
|
|
read_oa_db reg1 top verilog
|
|
|
|
|
read_liberty liberty1.lib
|
|
|
|
|
|
|
|
|
|
Release 1.3.1 2004/12/15
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
Keyword arguments for commands can down be abreviated. For example
|
|
|
|
|
|
|
|
|
|
report_timing -sig 3
|
|
|
|
|
|
|
|
|
|
can be used instead of
|
|
|
|
|
|
|
|
|
|
report_timing -significant_digits 3
|
|
|
|
|
|
|
|
|
|
The report_timing command now supports the -slack_lesser_than and
|
|
|
|
|
-slack_greater_than arguments.
|
|
|
|
|
|
|
|
|
|
The find command is now supported for compatibility with
|
|
|
|
|
DesignCompiler(tm) scripts.
|
|
|
|
|
|
|
|
|
|
find [-hierarchy] [-flat] type patterns
|
|
|
|
|
|
|
|
|
|
Supported types are port, net, pin, clock, library, lib_cell and lib_pin.
|
|
|
|
|
|
|
|
|
|
Release 1.3.0 2004/12/03
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The report_constraint command is now supported.
|
|
|
|
|
|
|
|
|
|
report_constraint [-all_violators] [-verbose]
|
|
|
|
|
[-path_type slack_only|end]
|
|
|
|
|
[-max_delay] [-min_delay]
|
|
|
|
|
[-recovery] [-removal]
|
|
|
|
|
[-clock_gating_setup] [-clock_gating_hold]
|
|
|
|
|
[-max_transition] [-min_transition]
|
|
|
|
|
[-significant_digits digits] [-nosplit]
|
|
|
|
|
[> filename] [>> filename]
|
|
|
|
|
|
|
|
|
|
The reset_path command is now supported.
|
|
|
|
|
|
|
|
|
|
reset_path [-setup] [-hold] [-rise] [-fall] [-from from_list]
|
|
|
|
|
[-rise_from from_list] [-fall_from from_list]
|
|
|
|
|
[-through through_list] [-rise_through through_list]
|
|
|
|
|
[-fall_through through_list] [-to to_list]
|
|
|
|
|
|
|
|
|
|
The reset_path command removes any matching set_false_path,
|
|
|
|
|
set_multicycle_path, set_max_delay or set_min_delay commands.
|
|
|
|
|
|
|
|
|
|
The set_false_path, set_multicycle_path, set_max_delay and
|
|
|
|
|
set_min_delay commands now support the -reset_path option to delete
|
|
|
|
|
matching exceptions before adding the exception being defined.
|
|
|
|
|
|
|
|
|
|
The set_compatibilty command is no longer supported. Use the
|
|
|
|
|
compatibility command line option to set the compatibility mode.
|
|
|
|
|
|
|
|
|
|
sta -compatibility pt|dc
|
|
|
|
|
|
|
|
|
|
The default compatibilty mode has been changed to "pt".
|
|
|
|
|
|
|
|
|
|
Latch behavior is now controlled with the timing_latch_required_on_open
|
|
|
|
|
variable.
|
|
|
|
|
|
|
|
|
|
timing_latch_required_on_open true|false
|
|
|
|
|
|
|
|
|
|
The default value is true. When false the required time for latches
|
|
|
|
|
is the closing edge of the enable clock. This is a more accurate
|
|
|
|
|
choice for the required time because the setup check is also to the
|
|
|
|
|
closing edge of the latch enable.
|
|
|
|
|
|
|
|
|
|
The set_instance_pvt command is used to set the process, voltage and
|
|
|
|
|
temperature for an instance in the design.
|
|
|
|
|
|
|
|
|
|
set_instance_pvt insts [-min] [-max] [-process process]
|
|
|
|
|
[-voltage voltage] [-temperature temperature]
|
|
|
|
|
|
|
|
|
|
The process, voltage and temperature values default to the operating
|
|
|
|
|
condition if they are not supplied.
|
|
|
|
|
|
|
|
|
|
Release 1.2.17 2004/11/23
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The timing_clock_gating_propagate_enable variable is now supported.
|
|
|
|
|
|
|
|
|
|
timing_clock_gating_propagate_enable true|false
|
|
|
|
|
|
|
|
|
|
When set to true, paths of gated clock enables are propagated through
|
|
|
|
|
the clock gating instance. If the gated clock controls sequential
|
|
|
|
|
elements setting timing_clock_gating_propagate_enable to false
|
|
|
|
|
prevents spurious paths from the clock enable. The default value is
|
|
|
|
|
"true".
|
|
|
|
|
|
|
|
|
|
The timing_enable_preset_clear_arcs variable is now supported.
|
|
|
|
|
|
|
|
|
|
timing_enable_preset_clear_arcs true|false
|
|
|
|
|
|
|
|
|
|
When set to true, paths through asyncronous preset and clear timing
|
|
|
|
|
arcs are searched. The default value is "false".
|
|
|
|
|
|
|
|
|
|
Liberty three dimensional tables are now supported.
|
|
|
|
|
|
|
|
|
|
Release 1.2.14 2004/10/30
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The SDF reader now optionally supports pin and instances names that do
|
|
|
|
|
not quote dividers in escaped names.
|
|
|
|
|
|
|
|
|
|
read_sdf [-unescaped_dividers]
|
|
|
|
|
|
|
|
|
|
With the -unescaped_dividers flag, path names in the SDF do not have
|
|
|
|
|
to escape hierarchy dividers when the path name is escaped. For
|
|
|
|
|
example, the escaped Verilog name "\inst1/inst2 " can be referenced as
|
|
|
|
|
"inst1/inst2". The correct SDF name is "inst1\/inst2", since the
|
|
|
|
|
divider does not represent a change in hierarchy in this case.
|
|
|
|
|
|
|
|
|
|
Release 1.2.10 2004/08/25
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The all_registers command is now supported.
|
|
|
|
|
|
|
|
|
|
all_registers [-clock clocks] [-rise_clock clocks] [-fall_clock clocks]
|
|
|
|
|
[-cells] [-data_pins] [-clock_pins] [-async_pins]
|
|
|
|
|
[-output_pins] [-level_sensitive] [-edge_triggered]
|
|
|
|
|
|
|
|
|
|
Release 1.2.5 2004/04/17
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
Suse Linux 64 bit port complete.
|
|
|
|
|
|
|
|
|
|
Release 1.2.4 2004/04/01
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The set_max_time_borrow command is now supported.
|
|
|
|
|
|
|
|
|
|
set_max_time_borrow limit latch_instance|enable_pin|data_pin|clock
|
|
|
|
|
|
|
|
|
|
The create_generated_clock -master_clock option is now supported.
|
|
|
|
|
|
|
|
|
|
The set_data_check command is now supported.
|
|
|
|
|
|
|
|
|
|
set_data_check [-from from_object] [-rise_from from_object]
|
|
|
|
|
[-fall_from from_object] [-to to_object] [-rise_to to_object]
|
|
|
|
|
[-fall_to to_object] [-setup] [-hold] [-clock clock_object]
|
|
|
|
|
value
|
|
|
|
|
|
|
|
|
|
Release 1.2.2 2004/01/13
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The group_path command is now supported.
|
|
|
|
|
|
|
|
|
|
group_path -name group_name [-weight weight] [-critical_range range]
|
|
|
|
|
[-from from_list] [-through through_list] [-to to_list]}
|
|
|
|
|
|
|
|
|
|
The -weight and -critical_range arguements are ignored.
|
|
|
|
|
|
|
|
|
|
Differing driver and slew liberty library slew thresholds are now
|
|
|
|
|
supported.
|
|
|
|
|
|
|
|
|
|
The report_timing -path_type "end" and "summary" are now supported.
|
|
|
|
|
|
|
|
|
|
The set_driving_cell command -min and -max options are now supported.
|
|
|
|
|
|
|
|
|
|
The read_parasitics command now supports parasitic network reduction
|
|
|
|
|
after each net is read, substantially reducing the memory footprint
|
|
|
|
|
required to store the parasitics.
|
|
|
|
|
|
|
|
|
|
read_parasitics -reduce_to pi_elmore|pi_pole_residue2 -delete_after_reduce
|
|
|
|
|
|
|
|
|
|
The parasitics can be reduced to a pi/elmore (rspf) model or a second
|
|
|
|
|
order pi/pole/residue model.
|
|
|
|
|
|
|
|
|
|
Release 1.1.7 2003/10/19
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The echo command is similar to the tcl "put" command and supports
|
|
|
|
|
redirection.
|
|
|
|
|
|
|
|
|
|
echo [-n] args...
|
|
|
|
|
|
|
|
|
|
The set_annotated_delay and set_annotated_transition commands are now
|
|
|
|
|
supported.
|
|
|
|
|
|
|
|
|
|
set_annotated_delay -cell|-net [-rise] [-fall] [-min] [-max]
|
|
|
|
|
[-from from_pins] [-to to_pins] delay
|
|
|
|
|
|
|
|
|
|
set_annotated_transition [-rise] [-fall] [-min] [-max] slew pin_list
|
|
|
|
|
|
|
|
|
|
Liberty timing group conditional "when" expressions are now supported.
|
|
|
|
|
|
|
|
|
|
The create_clock -add option to define multiple clocks on a pin is now
|
|
|
|
|
supported.
|
|
|
|
|
|
|
|
|
|
The following SDC commands are parsed and ignored.
|
|
|
|
|
|
|
|
|
|
set_max_dynamic_power
|
|
|
|
|
set_max_leakage_power
|
|
|
|
|
set_min_porocity
|
|
|
|
|
|
|
|
|
|
Release 1.1.6 2003/08/02
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
Release 1.1.5 2003/07/11
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The source command now supports output redirection.
|
|
|
|
|
|
|
|
|
|
source [-echo] [-verbose] filename [> filename] [>> filename]
|
|
|
|
|
|
|
|
|
|
Release 1.1.4 2003/06/10
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The report_timing -path_type option is now supported.
|
|
|
|
|
|
|
|
|
|
report_timing [-path_type short|full|full_clock]
|
|
|
|
|
|
|
|
|
|
The following variable are now supported for analysis type
|
|
|
|
|
on_chip_variation:
|
|
|
|
|
|
|
|
|
|
timing_remove_clock_reconvergence_pessimism false|true
|
|
|
|
|
timing_clock_reconvergence_pessimism normal|same_transition
|
|
|
|
|
|
|
|
|
|
Release 1.1.3 2003/05/06
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The allocate_budgets command now has a -no_driving_cells option to
|
|
|
|
|
suppress the inclusion of set_driving_cell commands in the budget
|
|
|
|
|
constraint files. This is useful when the driving cell libraries are
|
|
|
|
|
not available in the tools that use the budget.
|
|
|
|
|
|
|
|
|
|
SDF COND support added.
|
|
|
|
|
|
|
|
|
|
The read_edif command has additional arguments to support the confused
|
|
|
|
|
world of fpgas.
|
|
|
|
|
|
|
|
|
|
read_edif [-cell_name cell_name] [-ignore_libraries]
|
|
|
|
|
[-group_bus_ports] filename
|
|
|
|
|
|
|
|
|
|
-cell_name overrides cell name for any cell that has a contents section.
|
|
|
|
|
-ignore_libraries ignores library names.
|
|
|
|
|
All cells that do not already have a definition are built in
|
|
|
|
|
the edif library. libraryRefs search all libraries for the cell
|
|
|
|
|
named in the cellRef.
|
|
|
|
|
-group_bus_ports groups bus ports that are individually defined
|
|
|
|
|
into a bus as if they were defined using an array.
|
|
|
|
|
|
|
|
|
|
Release 1.1.2 2003/03/07
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The report_timing -nets option is now supported.
|
|
|
|
|
|
|
|
|
|
The report_clock command reports the period and waveform for all of
|
|
|
|
|
the clocks.
|
|
|
|
|
|
|
|
|
|
A mode to control compatibility is now supported from the command line
|
|
|
|
|
or as a TCL command.
|
|
|
|
|
sta [-compatibility native|pt|dc]
|
|
|
|
|
set_compatibility native|pt|dc
|
|
|
|
|
|
|
|
|
|
The read_edif command reads an edif netlist.
|
|
|
|
|
|
|
|
|
|
Release 1.1.1 2003/01/20
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The read_spf command has been replaced by the read_parasitics command,
|
|
|
|
|
which reads rspf, dspf and spef format files.
|
|
|
|
|
|
|
|
|
|
The set_timing_disable command now supports library cell and port arguments.
|
|
|
|
|
|
|
|
|
|
The liberty reader now supports the following
|
|
|
|
|
bus_naming_style
|
|
|
|
|
variable = value;
|
|
|
|
|
|
|
|
|
|
The following network editing commands are now supported:
|
|
|
|
|
connect_net net pins_ports
|
|
|
|
|
create_cell cell_names lib_cell_name
|
|
|
|
|
create_net net_list
|
|
|
|
|
disconnect_net net pins_ports|-all
|
|
|
|
|
remove_cell cell_list
|
|
|
|
|
remove_net net_list
|
|
|
|
|
swap_cell cell_list swap_in
|
|
|
|
|
|
|
|
|
|
Release 1.1.0 2002/02/12
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
The report_timing command -nworst option reports more than one path
|
|
|
|
|
per endpoint. The default value of path_end_count is 1.
|
|
|
|
|
|
|
|
|
|
report_timing -nworst path_end_count
|
|
|
|
|
|
|
|
|
|
Gated clock timing checks are disabled unless a set_clock_gating_check
|
|
|
|
|
command has been executed.
|
|
|
|
|
|
|
|
|
|
The following SDC commands are now supported.
|
|
|
|
|
create_generated_clock
|
|
|
|
|
get_pins -hsc
|
|
|
|
|
get_nets -hsc
|
|
|
|
|
hierarchy_separator variable
|
|
|
|
|
set_case_analysis
|
|
|
|
|
set_drive
|
|
|
|
|
set_drive_resistance (alias for set_drive)
|
|
|
|
|
set_hierarchy_separator
|
|
|
|
|
set_max_area
|
|
|
|
|
set_max_capacitance
|
|
|
|
|
set_max_fanout
|
|
|
|
|
set_max_transition
|
|
|
|
|
set_min_capacitance
|
|
|
|
|
set_min_fanout
|
|
|
|
|
set_resistance
|
|
|
|
|
|
|
|
|
|
The check_timing command now has options to control which checks are
|
|
|
|
|
performed.
|
|
|
|
|
|
|
|
|
|
check_timing [-verbose] [-unconstrained_endpoints] [-multiple_clock]
|
|
|
|
|
[-no_clock] [-no_input_delay] [-loops] [-generated_clocks]
|
|
|
|
|
[> filename] [>> filename]
|
|
|
|
|
|
|
|
|
|
The allocate_budgets command now has a -no_timestamp option to
|
|
|
|
|
suppress insertiing the date and time into the context files.
|
|
|
|
|
|
|
|
|
|
The write_sdc command is now supported.
|
|
|
|
|
|
|
|
|
|
write_sdc [-no_timestamp] filename
|
|
|
|
|
|
|
|
|
|
Interface Logic Model (ILM) support has been added with the
|
|
|
|
|
identify_interface_logic and write_ilm_netlist commands.
|
|
|
|
|
|
|
|
|
|
identify_interface_logic [-ignore_ports ports_list] [-auto_ignore]
|
|
|
|
|
[-latch_level level] [-remove_disabled_logic]
|
|
|
|
|
|
|
|
|
|
write_ilm_netlist [-include_all_net_pins] [-verbose] filename
|
|
|
|
|
|
|
|
|
|
Release 1.0.19 2002/04/24
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
The help command finds commands matching a pattern and shows their arguments.
|
|
|
|
|
|
|
|
|
|
help pattern
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set_clock_gating_check -high -low arguments are now supported.
|
|
|
|
|
|
|
|
|
|
The following commands have been renamed:
|
|
|
|
|
show_cell report_lib_cell
|
|
|
|
|
show_pin report_pin
|
|
|
|
|
show_net report_net
|
|
|
|
|
show_instance report_instance or report_cell
|
|
|
|
|
show_path report_path
|
|
|
|
|
show_arrival report_arrival
|
|
|
|
|
show_edges report_edges
|
|
|
|
|
|
|
|
|
|
report_delay_calculation now has a -significant_digits argument.
|
|
|
|
|
|
|
|
|
|
All printing commands now support file redirection.
|
|
|
|
|
|
|
|
|
|
# Local Variables:
|
|
|
|
|
# mode:text
|
|
|
|
|
# End:
|