Skip to content

Commit 83021aa

Browse files
committed
Merge branch 'master' of https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts into makebash_env
2 parents ebb38dd + 6c4437e commit 83021aa

File tree

102 files changed

+53952
-3025
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+53952
-3025
lines changed

.github/workflows/github-actions-cron-test-installer.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ on:
2121
# Allows you to run this workflow manually from the Actions tab
2222
workflow_dispatch:
2323

24-
jobs:
24+
jobs:
2525
testInstaller:
2626
strategy:
2727
fail-fast: false
@@ -51,11 +51,13 @@ jobs:
5151
./etc/DockerHelper.sh create -target=builder -os=${{ matrix.os }}
5252
- name: Test build
5353
run: |
54+
cmd="yosys -help; openroad -help; make -C flow;"
5455
if [[ ${{ matrix.os }} == "centos7" ]]; then
55-
docker run openroad/flow-${{ matrix.os }}-builder /bin/bash -c "source /opt/rh/llvm-toolset-7.0/enable; source /opt/rh/devtoolset-8/enable; source ./env.sh; yosys -help; openroad -help; cd flow; make;"
56-
else
57-
docker run openroad/flow-${{ matrix.os }}-builder /bin/bash -c "source ./env.sh; yosys -help; openroad -help; cd flow; make;"
56+
cmd="source /opt/rh/devtoolset-8/enable; ${cmd}"
57+
cmd="source /opt/rh/llvm-toolset-7.0/enable; ${cmd}"
58+
cmd="source /opt/rh/rh-python38/enable; ${cmd}"
5859
fi
60+
docker run openroad/flow-${{ matrix.os }}-builder /bin/bash -c "${cmd}"
5961
testInstaller-macos:
6062
strategy:
6163
fail-fast: false
@@ -76,4 +78,4 @@ jobs:
7678
- name: Build project
7779
shell: bash
7880
run: |
79-
./build_openroad.sh --local
81+
./build_openroad.sh --local

build_openroad.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,11 @@ __local_build()
264264
export PATH="$(brew --prefix bison)/bin:$(brew --prefix flex)/bin:$(brew --prefix tcl-tk)/bin:$PATH"
265265
export CMAKE_PREFIX_PATH=$(brew --prefix or-tools)
266266
fi
267+
if [[ -f "/opt/rh/rh-python38/enable" ]]; then
268+
set +u
269+
source /opt/rh/rh-python38/enable
270+
set -u
271+
fi
267272
if [[ -f "/opt/rh/devtoolset-8/enable" ]]; then
268273
# the scl script has unbound variables
269274
set +u

dev_env.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#!/bin/bash
1+
#!/usr/bin/env bash
2+
23
function setpaths() {
34
local DIR=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")
45
export PATH="$DIR/dependencies/bin:$PATH"

docs/contrib/PlatformBringUp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ create_clock [get_ports clk] -period 8.4 #Units are in nanoseconds
178178
```
179179

180180
Refer to the
181-
[OpenSTA][https://github.com/The-OpenROAD-Project/OpenSTA/blob/master/doc/OpenSTA.pdf]
182-
for the full documentation of the `create_clock` command.
181+
[OpenSTA](https://github.com/The-OpenROAD-Project/OpenSTA/blob/master/doc/OpenSTA.pdf)
182+
User Guide for the full documentation of the `create_clock` command.
183183

184184
### Liberty, LEF, and GDS Files
185185

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ These platforms have a permissive license which allows us to
182182
redistribute the PDK and OpenROAD platform-specific files. The platform
183183
files and license(s) are located in `platforms/{platform}`.
184184

185-
OpenROAD-flow-scripts also supports the following commercial platforms:
185+
OpenROAD-flow-scripts also supports the following proprietary platforms:
186186

187187
- GF12
188188
- TSMC65LP

docs/tutorials/FlowTutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -895,7 +895,7 @@ Refer to the built-in examples [here](https://github.com/The-OpenROAD-Project/Op
895895
Launch openroad GUI by running the following command(s) in the terminal in OpenROAD tool root directory:
896896

897897
```shell
898-
cd ../tools/OpenROAD/src/pad/test/
898+
cd ../tools/OpenROAD/src/ppl/test/
899899
openroad -gui
900900
```
901901

docs/user/BuildWithDocker.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
## Prerequisites
44

5-
For this method you only need to install
5+
- For this method you only need to install
66
[Docker](https://docs.docker.com/engine/install) on your machine.
7+
- Ensure that you have sufficient memory allocated to the Virtual Machine (VM)
8+
as per our system [requirements](../index.md#system-requirements). Refer to
9+
this [Docker guide](https://docs.docker.com/config/containers/resource_constraints/) for setting CPU cores and memory limits.
710

811
:::{Warning}
912
The `build_openroad.sh` will use the host number of CPUs to compile `openroad`.

docs/user/FlowVariables.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ Note:
7777
| `SKIP_GATE_CLONING` | ?= | ?= | ?= | ?= | ?= |
7878
| `SKIP_PIN_SWAP` | ?= | ?= | ?= | ?= | ?= |
7979
| `TNS_END_PERCENT` | ?= | ?= | | ?= | ?= |
80+
| `EQUIVALENCE_CHECK` | ?= | ?= | ?= | ?= | ?= |
81+
| `REMOVE_CELLS_FOR_EQY` | ?= | ?= | ?= | ?= | ?= |
8082
| Routing | | | | | |
8183
| `KLAYOUT_TECH_FILE` | = | = | = | = | = |
8284
| `MAX_ROUTING_LAYER` | = | = | = | = | ?= |
@@ -171,7 +173,8 @@ Note:
171173
| `SKIP_GATE_CLONING` | Do not use gate cloning transform to fix timing violations (default: use gate cloning) |
172174
| `SKIP_PIN_SWAP` | Do not use pin swapping as a transform to fix timing violations (default: use pin swapping) |
173175
| `TNS_END_PERCENT` | Specifies how many percent of violating paths to fix [0-100]. Worst path will always be fixed |
174-
176+
| `EQUIVALENCE_CHECK` | Enable running equivalence checks with to verify logical correctness of repair_timing |
177+
| `REMOVE_CELLS_FOR_EQY`| String patterns directly passed to write_verilog -remove_cells <> for equivalence checks |
175178

176179
### Routing
177180

env.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ if [ ! -d "${modroot}" ]; then
99
return 1
1010
fi
1111

12+
if [ -f /opt/rh/rh-python38/enable ]; then
13+
source /opt/rh/rh-python38/enable
14+
fi
15+
1216
export OPENROAD=${modroot}/OpenROAD
1317
echo "OPENROAD: ${OPENROAD}"
1418

etc/DependencyInstaller.sh

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/bin/bash
1+
#!/usr/bin/env bash
22

33
set -euo pipefail
44

@@ -23,10 +23,16 @@ _installORDependencies() {
2323
}
2424

2525
_installCommon() {
26+
if [[ -f /opt/rh/rh-python38/enable ]]; then
27+
set +u
28+
source /opt/rh/rh-python38/enable
29+
set -u
30+
fi
31+
local pkgs="pandas numpy firebase_admin click pyyaml"
2632
if [[ $(id -u) == 0 ]]; then
27-
pip3 install -U pandas
33+
pip3 install -U $pkgs
2834
else
29-
pip3 install --user -U pandas
35+
pip3 install --user -U $pkgs
3036
fi
3137
}
3238

@@ -38,12 +44,9 @@ _installCentosCleanUp() {
3844
_installCentosPackages() {
3945
yum update -y
4046
yum install -y \
41-
libffi-devel \
42-
tcl \
4347
time \
4448
ruby \
45-
ruby-devel \
46-
tcl-devel
49+
ruby-devel
4750

4851
if ! [ -x "$(command -v klayout)" ]; then
4952
yum install -y https://www.klayout.org/downloads/CentOS_7/klayout-${klayoutVersion}-0.x86_64.rpm
@@ -55,7 +58,7 @@ _installCentosPackages() {
5558
echo "KLayout version less than ${klayoutVersion}"
5659
sudo yum remove -y klayout
5760
yum install -y https://www.klayout.org/downloads/CentOS_7/klayout-${klayoutVersion}-0.x86_64.rpm
58-
fi
61+
fi
5962
fi
6063
}
6164

@@ -68,20 +71,16 @@ _installUbuntuPackages() {
6871
export DEBIAN_FRONTEND="noninteractive"
6972
apt-get -y update
7073
apt-get -y install \
71-
libffi-dev \
72-
tcl \
73-
tcl-dev \
74-
time \
75-
ruby \
76-
ruby-dev \
74+
libqt5multimediawidgets5 \
75+
libqt5svg5-dev \
76+
libqt5xmlpatterns5-dev \
7777
libz-dev \
7878
python3-pip \
79-
qttools5-dev \
80-
libqt5xmlpatterns5-dev \
8179
qtmultimedia5-dev \
82-
libqt5multimediawidgets5 \
83-
libqt5svg5-dev
84-
80+
qttools5-dev \
81+
ruby \
82+
ruby-dev \
83+
time
8584

8685
# install KLayout
8786
if _versionCompare $1 -ge 23.04; then
@@ -97,7 +96,6 @@ _installUbuntuPackages() {
9796
baseDir=/tmp/installers
9897
mkdir -p "${baseDir}"
9998
cd ${baseDir}
100-
10199
wget https://www.klayout.org/downloads/Ubuntu-${1%.*}/klayout_${klayoutVersion}-1_amd64.deb
102100
md5sum -c <(echo "${klayoutChecksum} klayout_${klayoutVersion}-1_amd64.deb") || exit 1
103101
dpkg -i klayout_${klayoutVersion}-1_amd64.deb
@@ -146,8 +144,12 @@ EOF
146144

147145
# default args
148146
OR_INSTALLER_ARGS=""
149-
#default option
147+
# default prefix
148+
PREFIX=""
149+
# default option
150150
option="all"
151+
# default isLocal
152+
isLocal="false"
151153

152154
# default values, can be overwritten by cmdline args
153155
while [ "$#" -gt 0 ]; do
@@ -214,7 +216,7 @@ case "${os}" in
214216
fi
215217
if [[ "${option}" == "common" || "${option}" == "all" ]]; then
216218
_installCommon
217-
fi
219+
fi
218220
;;
219221
"Ubuntu" )
220222
version=$(awk -F= '/^VERSION_ID/{print $2}' /etc/os-release | sed 's/"//g')

0 commit comments

Comments
 (0)