2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-01 12:26:11 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-16 15:37:31 -08:00
2019-01-17 17:21:33 -05:00
2019-01-01 12:25:25 -08:00
2018-09-28 08:54:21 -07:00
2018-09-28 08:54:21 -07:00
2018-09-28 08:54:21 -07:00
2019-01-16 15:37:31 -08:00
2019-01-05 16:09:27 -08:00
2019-01-16 15:37:31 -08:00
2019-01-01 12:26:11 -08:00
2019-01-17 17:21:33 -05:00
2019-01-16 15:37:31 -08:00
2019-01-01 12:26:11 -08:00
2018-09-28 08:54:21 -07:00
2019-01-17 17:21:33 -05:00

# OpenSTA, Static Timing Analyzer
Copyright (c) 2019, Parallax Software, Inc.

> This program is free software: you can redistribute it and/or modify
> it under the terms of the GNU General Public License as published by
> the Free Software Foundation, either version 3 of the License, or
> (at your option) any later version.

> This program is distributed in the hope that it will be useful,
> but WITHOUT ANY WARRANTY; without even the implied warranty of
> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> GNU General Public License for more details.

> You should have received a copy of the GNU General Public License
> along with this program.  If not, see <https://www.gnu.org/licenses/>.

Parallax Gate Level Static Timing Analyzer

## Install

See INSTALL for installation and build instructions. Alternatively, run using Docker as described in the next section

## Run using Docker
1. Install Docker on [Windows](https://docs.docker.com/docker-for-windows/), [Mac](https://docs.docker.com/docker-for-mac/) or [Linux](https://docs.docker.com/install/).
2. Navigate to the directory where you have the input files.
3. Run OpenSTA as a binary using `docker run -it -v $(pwd):/data openroad/opensta`
4. From the interactive terminal, use OpenSTA commands. You can read input files from `/data` directory inside the docker container (e.g. `read_liberty /data/liberty.lib`). You can use OpenSTA in non-interactive mode by passing a command file using `-f` flag as follows `docker run -it -v $(pwd):/data openroad/opensta -f /data/cmd_file`. Note that the path after `-f` is the path inside container, not on the guest machine. 

## Standard file formats

* Verilog
* Liberty
* SDC
* SDF
* RSPF/DSPF/SPEF

## Exception path support
* False path
* Multicycle path
* Min/Max delay
* Exception points
*  -from clock/pin/instance -through pin/net -to clock/pin/instance
*  Edge specific exception points
*   -rise_from/-fall_from, -rise_through/-fall_through, -rise_to/-fall_to

## Clocks
* Generated
* Latency
* Source latency (insertion delay)
* Uncertainty
* Propagated/Ideal
* Gated clock checks
* Multiple frequency clocks

## Delay calculation
* Integrated Dartu/Menezes/Pileggi RC effective capacitance algorithm
* External delay calculator API

## Analysis
* Report timing checks -from, -through, -to, multiple paths to endpoint
* Report delay calculation
* Check timing setup

## Search Engine
* Query based incremental update of delays, arrival and required times
* Simulator to propagate constants from constraints and netlist tie high/low

## Timing engine library
* Network adapter uses external netlist database without duplicating any data
S
Description
OpenSTA engine
Readme GPL-3.0
230 MiB
Languages
C++ 66%
Tcl 19.8%
Verilog 11.2%
SWIG 2.1%
CMake 0.4%
Other 0.5%