Skip to content

Instantly share code, notes, and snippets.

@brabect1
Last active May 4, 2024 15:03
Show Gist options
  • Save brabect1/2b57a2bd4b097ecf473825faee5b379e to your computer and use it in GitHub Desktop.
Save brabect1/2b57a2bd4b097ecf473825faee5b379e to your computer and use it in GitHub Desktop.
OpenSTA #sta

OpenSTA

OpenSTA is an open-source STA tool by Parallax (hence a.k.a. Parallax STA/Static Timing Analyzer). User Manual is part of the repository.

Build

sudo apt-get install cmake clang gcc tcl swig bison flex libeigen3-dev libz-dev tcl-dev
git clone https://github.com/parallaxsw/OpenSTA
mkdir OpenSTA/build && cd OpenSTA/build
cmake ..
make

Binary Distribution

Part of this gist is a compiled version of OpenSTA (commit fdca0dff7ae32edcecf2008977a084d92dc11190) for Ubuntu Jammy.

wget https://gist.github.com/brabect1/2b57a2bd4b097ecf473825faee5b379e/raw/5f7e1eea7671fcbbb5d1f04000c44f30c796f6a5/opensta.build.fdca0dff7ae32edcecf2008977a084d92dc11190.jammy.tgz
sudo apt-get install tcl swig
tar xzvf opensta.build.fdca0dff7ae32edcecf2008977a084d92dc11190.jammy.tgz
export PATH=$PATH:$(pwd)/OpenSTA/bin

Use

% read_liberty ~/sta_basics_course/src/prime_time/sample_lib1.lib
% read_verilog ~/sta_basics_course/src/prime_time/circ01.v
% link_design circ01
% create_clock -name CLK -period 20 clk
% report_checks
Startpoint: FF1 (rising edge-triggered flip-flop clocked by CLK)
Endpoint: FF2 (rising edge-triggered flip-flop clocked by CLK)
Path Group: CLK
Path Type: max

  Delay    Time   Description
---------------------------------------------------------
   0.00    0.00   clock CLK (rise edge)
   0.00    0.00   clock network delay (ideal)
   0.00    0.00 ^ FF1/CK (dffrx1)
   3.00    3.00 v FF1/Q (dffrx1)
   2.00    5.00 ^ G1/Y (invx1)
   0.00    5.00 ^ FF2/D (dffrx1)
           5.00   data arrival time

  20.00   20.00   clock CLK (rise edge)
   0.00   20.00   clock network delay (ideal)
   0.00   20.00   clock reconvergence pessimism
          20.00 ^ FF2/CK (dffrx1)
  -0.70   19.30   library setup time
          19.30   data required time
---------------------------------------------------------
          19.30   data required time
          -5.00   data arrival time
---------------------------------------------------------
          14.30   slack (MET)
1e145c966a7fe9efa8dcd4f741023c9c opensta.build.fdca0dff7ae32edcecf2008977a084d92dc11190.jammy.tgz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment