dockerfiles

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2024-10-08 15:31:43 -07:00
parent b04def2de0
commit 450cc4a70f
3 changed files with 25 additions and 11 deletions

View File

@ -19,13 +19,12 @@ RUN wget https://raw.githubusercontent.com/davidkebo/cudd/main/cudd_versions/cud
tar -xvf cudd-3.0.0.tar.gz && \
rm cudd-3.0.0.tar.gz
# Install CUDD
# Build CUDD
RUN source /opt/rh/devtoolset-8/enable && \
cd cudd-3.0.0 && \
mkdir ../cudd && \
./configure && \
make -j`nproc` && \
make install
make -j`nproc`
FROM base-dependencies AS builder
@ -34,7 +33,10 @@ WORKDIR /OpenSTA
# Build
RUN rm -rf build && mkdir build
RUN source /opt/rh/devtoolset-8/enable && cd build && cmake3 .. && make -j`nproc`
RUN source /opt/rh/devtoolset-8/enable && \
cd build && \
cmake3 -DCUDD_DIR=../cudd-3.0.0 .. && \
make -j`nproc`
# Run sta on entry
ENTRYPOINT ["OpenSTA/app/sta"]

View File

@ -1,23 +1,33 @@
FROM ubuntu:18.04
FROM ubuntu:22.04
LABEL author="James Cherry"
LABEL maintainer="James Cherry <cherry@parallaxsw.com>"
# Install basics
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y wget cmake gcc tcl-dev tcl-tclreadline libeigen3-dev swig bison flex
apt-get install -y \
wget \
cmake \
gcc \
tcl-dev \
tcl-tclreadline \
libeigen3-dev \
swig \
bison \
flex \
automake \
autotools-dev
# Download CUDD
RUN wget https://raw.githubusercontent.com/davidkebo/cudd/main/cudd_versions/cudd-3.0.0.tar.gz && \
tar -xvf cudd-3.0.0.tar.gz && \
rm cudd-3.0.0.tar.gz
# Install CUDD
# Build CUDD
RUN cd cudd-3.0.0 && \
mkdir ../cudd && \
./configure && \
make -j`nproc` && \
make install
make -j`nproc`
# Copy files and install OpenSTA
RUN mkdir OpenSTA
@ -26,7 +36,7 @@ RUN cd OpenSTA && \
rm -rf build && \
mkdir build && \
cd build && \
cmake .. && \
cmake -DCUDD_DIR=../cudd-3.0.0 .. && \
make -j`nproc`
# Run sta on entry

View File

@ -9,6 +9,8 @@ standard file formats.
* SDC timing constraints
* SDF delay annotation
* SPEF parasitics
* VCD power acitivies
* SAIF power acitivies
OpenSTA uses a TCL command interpreter to read the design, specify
timing constraints and print timing reports.
@ -49,8 +51,8 @@ netlist data structures without duplicating them.
* Simulator to propagate constants from constraints and netlist tie high/low
See doc/OpenSTA.pdf for command documentation.
See doc/StaApi.txt for timing engine API documentation.
See doc/ChangeLog.txt for changes to commands.
See doc/StaApi.txt for timing engine API documentation.
OpenSTA is dual licensed. It is released under GPL v3 as OpenSTA and
is also licensed for commerical applications by Parallax Software without