131 lines
4.4 KiB
Plaintext
131 lines
4.4 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/>.
|
|
|
|
Build requirements
|
|
------------------
|
|
|
|
Other versions may work, but these are the versions used for
|
|
developing the code.
|
|
|
|
from Ubuntu Xcode
|
|
16.04 9.4
|
|
clang 9.1.0
|
|
lldb 902.0.79.7
|
|
gcc 3.3.2 5.4.0
|
|
tcl 8.2 8.6 8.6.6
|
|
autoconf 2.53 2.69 2.69
|
|
automake 1.6.3 1.15 1.16.1
|
|
libtool 1.4.2 2.4.6 2.4.6
|
|
swig 1.3.28 3.0.8 3.0.12
|
|
bison 1.35 3.04 2.3
|
|
flex 2.5.4 2.6.0 2.5.35
|
|
|
|
These packages are optional:
|
|
|
|
gdb 5.3 7.11 8.0
|
|
valgrind 1.9.6 3.11.0 N/A
|
|
|
|
libz 1.1.4 1.2.5 1.2.8
|
|
cudd 2.4.1 2.5.0
|
|
|
|
Building from the git repository:
|
|
|
|
git clone https://xp-dev.com/git/opensta
|
|
set branch = master
|
|
or
|
|
set branch = rel_<version>
|
|
git checkout $branch
|
|
|
|
./bootstrap
|
|
./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. The version used for developing the sta is 2.5.0. It is
|
|
available from the following url:
|
|
|
|
ftp://vlsi.colorado.edu/pub/cudd-2.5.0.tar.gz
|
|
|
|
The Zlib library is an optional. If it is used, Verilog, SDF, SPF,
|
|
and SPEF files compressed with gzip can be read by the STA.
|
|
|
|
If the configure script fails to find any of the TCL or Zlib files,
|
|
use the --with-include, --with-lib, --with-tcl options to add directories
|
|
to search for the files.
|
|
|
|
The -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 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
|
|
----------------------
|
|
Mail bug reports to bugs@parallaxsw.com.
|
|
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
|