Tutorial 7
Tutorial 7
Tutorial 7
Objective: To gain a hands-on experience on static timing analysis using OpenSTA.
Requirement:
Installation of OpenSTA:
OpenSTA is an open source static timing analyzer (STA) tool used in digital design. It is utilized to
analyze and verify the timing performance of digital circuits at the gate level.
1. Install Prerequisites:
OpenSTA relies on various dependencies and prerequisites. Please ensure that you have the
necessary build dependencies mentioned below installed before proceeding with the installation.
Other versions may work, but these are the versions used for development.
cmake 3.10.2 3.24.2 3.16.2
clang 9.1.0 14.0.3
gcc 3.3.2 11.3.0
tcl 8.4 8.6 8.6.6
swig 1.3.28 4.1.0 4.0.1
bison 1.35 3.0.2 3.8.2
flex 2.5.4 2.6.4 2.6.4
make
This command initiates the build process for OpenSTA. It compiles the source code and
generates the executable files.
Install OpenSTA by executing the following command:
sudo make install
top.v
top.sdc OpenSTA reports.txt
Steps to run openSTA: toy.lib
test.tcl
1. top.v: This file contains the “netlist” of
the design shown below.
3. toy.lib: The ".lib" file contains timing models for each standard cell. These models provide
information about the cell's delay and transition time under different input conditions. In the next
tutorial, we'll learn more about it.
4. test.tcl:
The script file "test.tcl" contains a series of commands that will be executed by OpenSTA to
perform various tasks related to static timing analysis.
VLSI Design Flow: RTL To GDS (NPTEL Course)
5. How to run:
sta
The “sta” command is used to invoke OpenSTA and launch the tool. By running this command,
you can check if OpenSTA is properly installed. If the installation was successful, the OpenSTA
tool interface should launch without any errors or issues
source test.tcl
This command executes the commands specified in the "test.tcl" script file.
Common error:
tcl.h: No such file or directory
To resolve the error you can follow these steps:
Locate the file named FindTCL.cmake in the openSTA/cmake/ directory of your OpenSTA
installation.
Open the FindTCL.cmake file in a text editor.
In the file, you will find the following code snippet:
# Locate tcl.h
if (NOT TCL_HEADER)
find_file(TCL_HEADER tcl.h
PATHS ${TCL_LIB_PARENT1} ${TCL_LIB_PARENT2}
PATH_SUFFIXES include include/tcl
NO_DEFAULT_PATH
)
endif()
Locate the path where the tcl.h file is located. For example, if tcl.h is in the /usr/include/tcl8.6/
directory, note down this path.
Modify the code snippet as follows, replacing include/tcl with the correct path:
# Locate tcl.h
if (NOT TCL_HEADER)
find_file(TCL_HEADER tcl.h
PATHS ${TCL_LIB_PARENT1} ${TCL_LIB_PARENT2}
PATH_SUFFIXES include include/tcl8.6
NO_DEFAULT_PATH
)
endif()
By making this modification, you are updating the search path for the “tcl.h” file to the correct location
where it is installed, which should resolve the error.
Please note that the exact path and version number (tcl8.6) may vary based on your system and installed
version of “tcl”.