Skip to content

Commit

Permalink
2.0.15
Browse files Browse the repository at this point in the history
  • Loading branch information
jjcherry56 committed Apr 29, 2019
1 parent 30974b0 commit d1a602c
Show file tree
Hide file tree
Showing 14 changed files with 696 additions and 134 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

cmake_minimum_required (VERSION 3.9)

project(STA VERSION 2.0.14)
project(STA VERSION 2.0.15)

set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_STANDARD 11)
Expand Down
32 changes: 27 additions & 5 deletions doc/ChangeLog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,36 @@ Release 2.0.0 2018/09/28
Builds using Autotools/configure are no longer supported.
Use CMake as documented in README.mb.

....

The check_timing command -no_output_delay checks output ports for
set_output_delay.

....

The report_power command reports the power consumption of the design
or a specific instance.

report_power [-instance inst] [-digits digits] [> filename] [>> filename]
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.

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.

Report power used by the design or a specific instance. The internal,
switching, leakage and total power are reported. Design power is
reported separately for combinational, sequential, macro and pad
groups.
set_power_activity [-global]
[-input]
[-input_ports ports]
[-pins pins]
[-activiity activity]
[-duty duty]

....

The write_path_spice command writes a spice netlist for a timing path.

Expand All @@ -46,6 +64,8 @@ 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.

....

The report_checks, find_timing_paths commands now support an
-unconstrained flag.

Expand All @@ -55,6 +75,8 @@ The report_checks, find_timing_paths commands now support an
The sta_report_unconstrained_paths variable will be supported for
for compatibility in this current release.

....

The read_parasitics command has been renamed read_spef and no longer
supports the SPF format.

Expand Down
Binary file modified doc/OpenSTA.odt
Binary file not shown.
Binary file modified doc/OpenSTA.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion graph/Delay.hh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#define STA_DELAY_H

#if (SSTA == 1)
// Delays are Normal PDFs with early/late sigma.
// Delays are Normal PDFs.
#include "DelayNormal1.hh"
#elif (SSTA == 2)
// Delays are Normal PDFs with early/late sigma.
Expand Down
15 changes: 7 additions & 8 deletions graph/DelayNormal1.cc
Original file line number Diff line number Diff line change
Expand Up @@ -52,20 +52,20 @@ delayInitValue(const MinMax *min_max)

Delay::Delay() :
mean_(0.0),
sigma2_{0.0}
sigma2_(0.0)
{
}

Delay::Delay(float mean) :
mean_(mean),
sigma2_{0.0}
sigma2_(0.0)
{
}

Delay::Delay(float mean,
float sigma2) :
mean_(mean),
sigma2_{sigma2}
sigma2_(sigma2)
{
}

Expand Down Expand Up @@ -155,7 +155,7 @@ void
Delay::operator-=(const Delay &delay)
{
mean_ -= delay.mean_;
sigma2_ -= delay.sigma2_;
sigma2_ += delay.sigma2_;
}

bool
Expand Down Expand Up @@ -348,11 +348,10 @@ operator/(float delay1,

Delay
operator*(const Delay &delay1,
float scale)
float delay2)
{
float scale2 = square(scale);
return Delay(delay1.mean() * scale,
delay1.sigma2() * scale2);
return Delay(delay1.mean() * delay2,
delay1.sigma2() * delay2);
}

float
Expand Down
13 changes: 6 additions & 7 deletions graph/DelayNormal2.cc
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,8 @@ void
Delay::operator-=(const Delay &delay)
{
mean_ -= delay.mean_;
sigma2_[early_index] -= delay.sigma2_[early_index];
sigma2_[late_index] -= delay.sigma2_[late_index];
sigma2_[early_index] += delay.sigma2_[early_index];
sigma2_[late_index] += delay.sigma2_[late_index];
}

bool
Expand Down Expand Up @@ -374,12 +374,11 @@ operator/(float delay1,

Delay
operator*(const Delay &delay1,
float scale)
float delay2)
{
float scale2 = square(scale);
return Delay(delay1.mean() * scale,
delay1.sigma2Early() * scale2,
delay1.sigma2Late() * scale2);
return Delay(delay1.mean() * delay2,
delay1.sigma2()Early * delay2,
delay1.sigma2Late() * delay2);
}

float
Expand Down
4 changes: 1 addition & 3 deletions liberty/Liberty.cc
Original file line number Diff line number Diff line change
Expand Up @@ -878,9 +878,6 @@ LibertyCell::~LibertyCell()
pg_port_map_.deleteContents();
}

// Multiple timing arc sets (buses bits or a related_ports list)
// can share the same TimingAttrs values (model, cond, and sdf_conds),
// so collect them into a set so they are only deleted once.
void
LibertyCell::deleteTimingArcAttrs()
{
Expand Down Expand Up @@ -1176,6 +1173,7 @@ LibertyCell::makeTimingArcMap(Report *)
// match->from()->name(),
// match->to()->name(),
// match->role()->asString());
delete arc_set;
}
else
// Shift arc sets down to fill holes left by removed duplicates.
Expand Down
Loading

0 comments on commit d1a602c

Please sign in to comment.