151 lines
5.0 KiB
Plaintext
151 lines
5.0 KiB
Plaintext
# OpenSTA, Static Timing Analyzer
|
|
# Copyright (c) 2018, 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/>.
|
|
|
|
Builds are supported by dist tarfiles or from the git repository.
|
|
Building from a dist tarfile does not require the GNU Autotools, Bison
|
|
or Flex to be installed and is the recommended method unless you are a
|
|
developer.
|
|
|
|
Building from a tarfile
|
|
-----------------------
|
|
|
|
The build dependency versions are show below. Other versions may
|
|
work, but these are the versions used for development.
|
|
|
|
from Ubuntu Xcode
|
|
18.04.1 10.1
|
|
clang 9.1.0 10.0.0
|
|
gcc 3.3.2 7.3.0
|
|
tcl 8.2 8.6 8.6.6
|
|
|
|
These packages are optional:
|
|
|
|
libz 1.1.4 1.2.5 1.2.8
|
|
cudd 2.4.1 3.0.0
|
|
|
|
Use the following commands to unpack the dist file and compile it.
|
|
|
|
tar zvfz opensta-<version>.tgz
|
|
cd opensta-<version>
|
|
./configure [options...]
|
|
make
|
|
|
|
With no options, configure builds an optimized executable.
|
|
The resulting executable is app/sta.
|
|
|
|
configure options:
|
|
-h, --help display configure help and exit
|
|
--enable-debug enable debug
|
|
--enable-asan enable AddressSanitizer
|
|
--enable-gprof enable gprof profiling
|
|
--enable-gcov enable gcov profiling
|
|
--enable-32bit force 32 bit compile
|
|
--with-include=dirs directories to search for include files
|
|
--with-lib=dirs directories to search for libraries
|
|
--with-tcl=dirs directories to search for Tcl init files
|
|
--with-cudd=path use Cudd BDD package, defaults to $CUDD
|
|
--with-visualstudio use Microcruft Visual Studio C++ compiler
|
|
|
|
CUDD is a BDD package that is used to improve conditional timing arc
|
|
handling. It is available here:
|
|
|
|
https://www.davidkebo.com/source/cudd_versions/cudd-3.0.0.tar.gz
|
|
https://sourceforge.net/projects/cudd-mirror/
|
|
|
|
The Zlib library is an optional. If the configure script finds libz,
|
|
OpenSTA can read Verilog, SDF, SPF, and SPEF files compressed with
|
|
gzip.
|
|
|
|
If the configure script fails to find any of the TCL, Zlib or CUDD
|
|
files, use the --with-include, --with-lib, --with-tcl, --with-cudd
|
|
options to add directories to search for the files.
|
|
|
|
The configure -help option lists the generic configure options that
|
|
are not described above. The default arguments to configure disable
|
|
shared libraries. To build with shared libraries use the
|
|
--enable-shared option.
|
|
|
|
Building from the git repository
|
|
--------------------------------
|
|
|
|
Building from the git repository has the additional build dependencies
|
|
shown below.
|
|
|
|
from Ubuntu Xcode
|
|
18.04.1 10.1
|
|
autoconf 2.53 2.69 2.69
|
|
automake 1.6.3 1.15.1 1.16.1
|
|
libtool 1.4.2 2.4.6 2.4.6
|
|
swig 1.3.28 3.0.12 3.0.12
|
|
bison 1.35 3.0.4 2.3
|
|
flex 2.5.4 2.6.4 2.5.35
|
|
|
|
These packages are optional:
|
|
|
|
gdb 5.3 8.1
|
|
lldb 902.0.79.7 1000.11.38.2
|
|
valgrind 1.9.6 3.13.0 N/A
|
|
|
|
Use the following commands to checkout the git repository and compile
|
|
it.
|
|
|
|
git clone https://xp-dev.com/git/opensta
|
|
git checkout master|branch
|
|
./bootstrap
|
|
./configure [options...]
|
|
make
|
|
|
|
Building on Windoz
|
|
------------------
|
|
The Win32 API does not natively support the pthreads API. The
|
|
pthreads-win32 package is one way to get support for pthreads for 32
|
|
bit builds. It is available from www.sourceware.org/pthreads-win32.
|
|
If the configure script does not find pthreads.h the build proceeds
|
|
without thread support.
|
|
|
|
Use a .bat file to start a cygwin shell that has its path set to
|
|
support the Microcruft cl compiler by calling the vsvars32.bat script
|
|
from the Visual C++ installation.
|
|
|
|
tcsh-startup.bat
|
|
@echo off
|
|
call "c:\Microsoft Visual Studio 9.0\Common7\Tools\vsvars.bat"
|
|
set path=c:\cygwin\bin;%PATH%
|
|
c:\cygwin\bin\tcsh
|
|
|
|
Configure and build from the shell. Note that tcl and zlib must be
|
|
built with the Visual C++ compiler to link to the sta libraries.
|
|
|
|
./bootstrap
|
|
./configure --with-visualstudio
|
|
# Rebuild flex/bison files because include files are different.
|
|
make maintainer-clean
|
|
|
|
Good luck and don't bother me with windoz specific issues.
|
|
I am happy to say I haven't owned a windoz machine in 20 years.
|
|
|
|
|
|
Submitting Bug Reports
|
|
----------------------
|
|
All bug reports should attach a testcase, preferably in the following
|
|
form:
|
|
|
|
A gzip'd tar file that unpacks into a directory with the same name as the tar file
|
|
A file named README that describes the problem
|
|
All commands in one .tcl file (usually run.tcl) for small cases
|
|
No calls to "exit"
|
|
No shell scripts to envoke the sta.
|