OpenSTA engine
Go to file
Abdelrahman 2cfbc4080b polishing OpenSTA Docker image 2019-01-17 17:21:33 -05:00
app sync 2019-01-16 15:37:31 -08:00
dcalc sync 2019-01-16 15:37:31 -08:00
doc sync 2019-01-16 15:37:31 -08:00
etc update copyright 2019-01-01 12:26:11 -08:00
graph sync 2019-01-16 15:37:31 -08:00
liberty sync 2019-01-16 15:37:31 -08:00
network sync 2019-01-16 15:37:31 -08:00
parasitics sync 2019-01-16 15:37:31 -08:00
sdc sync 2019-01-16 15:37:31 -08:00
sdf sync 2019-01-16 15:37:31 -08:00
search sync 2019-01-16 15:37:31 -08:00
tcl sync 2019-01-16 15:37:31 -08:00
util sync 2019-01-16 15:37:31 -08:00
verilog sync 2019-01-16 15:37:31 -08:00
.dockerignore polishing OpenSTA Docker image 2019-01-17 17:21:33 -05:00
.gitignore write_spice alpha 2019-01-01 12:25:25 -08:00
AUTHORS and then there was light... 2018-09-28 08:54:21 -07:00
CMakeLists.txt sync 2019-01-16 15:37:31 -08:00
COPYING update copyright 2019-01-01 12:26:11 -08:00
ChangeLog and then there was light... 2018-09-28 08:54:21 -07:00
Dockerfile polishing OpenSTA Docker image 2019-01-17 17:21:33 -05:00
INSTALL sync 2019-01-16 15:37:31 -08:00
Makefile.am update copyright 2019-01-01 12:26:11 -08:00
NEWS and then there was light... 2018-09-28 08:54:21 -07:00
README polishing OpenSTA Docker image 2019-01-17 17:21:33 -05:00
bootstrap and then there was light... 2018-09-28 08:54:21 -07:00
config.h.cmake sync 2019-01-05 16:09:27 -08:00
configure.ac sync 2019-01-16 15:37:31 -08:00

README

# 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