Skip to content

Commit

Permalink
and then there was light...
Browse files Browse the repository at this point in the history
  • Loading branch information
jjcherry56 committed Sep 28, 2018
0 parents commit 1154fb8
Show file tree
Hide file tree
Showing 372 changed files with 135,394 additions and 0 deletions.
92 changes: 92 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
*.o
*.a
*.lo
*.la
*.gcov
*.gcda
*.gcno
*.rej
*.orig
TAGS
*~
\#*#
.~lock.*#
.DS_Store
Makefile
Makefile.in

.libs
.deps

# /
/build
/configure
/m4
/compile
/config.*
/libtool
/ltmain.sh
/install-sh
/missing
/depcomp
/ylwrap
/aclocal.m4
/autom4te.cache
/stamp-h1
/ylwrap

# /app/
/app/StaApp_wrap.cc
/app/TclInitVar.cc
/app/sta
/app/sta.exe
/app/sta.dSYM
/app/.dirstamp

# /doc/
/doc/._Sta.docx
/doc/.~lock.Sta.doc#
/doc/.~lock.Sta.odt#

# /liberty/
/liberty/LibertyExprLex.cc
/liberty/LibertyExprParse.cc
/liberty/LibertyExprParse.h
/liberty/LibertyLex.cc
/liberty/LibertyParse.cc
/liberty/LibertyParse.h
/liberty/LibertyExprParse.hh
/liberty/LibertyParse.hh

# /parasitics/
/parasitics/SpefLex.cc
/parasitics/SpefParse.cc
/parasitics/SpefParse.h
/parasitics/SpfLex.cc
/parasitics/SpfParse.cc
/parasitics/SpfParse.h
/parasitics/SpefParse.hh
/parasitics/SpfParse.hh

# /sdf/
/sdf/SdfLex.cc
/sdf/SdfParse.cc
/sdf/SdfParse.h
/sdf/SdfParse.hh

# /tcl/
/tcl/history.tcl
/tcl/init.tcl

# /test/
/test/gmon.out
/test/results

/test_native

# /verilog/
/verilog/VerilogLex.cc
/verilog/VerilogParse.cc
/verilog/VerilogParse.h
/verilog/VerilogParse.output
/verilog/VerilogParse.hh
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
James Cherry, Parallax Software, Inc.
16 changes: 16 additions & 0 deletions COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 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/>.

11 changes: 11 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
OpenSTA Static Timing Analyzer Release Notes
--------------------------------------------

This file summarizes user visible changes for each release.

Release 2.0 2018/06/27
----------------------

# Local Variables:
# mode:text
# End:
130 changes: 130 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# 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 [email protected].
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
35 changes: 35 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# 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/>.

ACLOCAL_AMFLAGS = -I m4

# app has to follow all library subdirs
SUBDIRS = $(STA_SUBDIRS)

libs:
for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) libs); \
done

include_HEADERS = config.h

# The automake target uses include directives, which don't work in xemacs.
xtags:
rm -rf TAGS; \
for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) xtags); \
done

1 change: 1 addition & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
See doc/BugLog for bug fixes in this release.
59 changes: 59 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# 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/>.

Parallax Gate Level Static Timing Analyzer
See INSTALL for build instructions.

Standard file formats
Verilog
Liberty
SDC
SDF
RSPF/DSPF/SPEF

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

Clocks
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

Analysis
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
Loading

0 comments on commit 1154fb8

Please sign in to comment.