OpenSTA engine
Clone or download
Pull request Compare This branch is 1 commit behind abk-openroad:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app sync Jan 16, 2019
doc sync Jan 16, 2019
etc update copyright Jan 1, 2019
parasitics sync Jan 16, 2019
sdc sync Jan 16, 2019
sdf sync Jan 16, 2019
search write_path_spice bug fixes Jan 20, 2019
tcl write_path_spice bug fixes Jan 20, 2019
util sync Jan 16, 2019
.dockerignore polishing OpenSTA Docker image Jan 17, 2019
.gitignore write_spice alpha Jan 1, 2019
AUTHORS and then there was light... Sep 28, 2018
CMakeLists.txt sync Jan 16, 2019
ChangeLog and then there was light... Sep 28, 2018
INSTALL update copyright Jan 1, 2019
NEWS and then there was light... Sep 28, 2018
README Merge branch 'master' into master Jan 20, 2019 change readme file to markdown syntax Jan 17, 2019
bootstrap and then there was light... Sep 28, 2018

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

Parallax Gate Level Static Timing Analyzer


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, Mac or Linux.
  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

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


  • 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


  • 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