Skip to content

Commit 96bcefa

Browse files
committed
Merge branch 'master' into pdn-pins-layer
Signed-off-by: Matt Liberty <[email protected]>
2 parents 71480fb + 759023c commit 96bcefa

File tree

287 files changed

+30105
-17938
lines changed

Some content is hidden

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

287 files changed

+30105
-17938
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Lint Tcl code
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
11+
jobs:
12+
build:
13+
runs-on: ${{ vars.USE_SELF_HOSTED == 'true' && 'self-hosted' || 'ubuntu-latest' }}
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
18+
- name: Install Dependencies
19+
run: |
20+
python3 -m venv venv
21+
venv/bin/pip install tclint==0.4.2
22+
23+
- name: Lint
24+
run: |
25+
source venv/bin/activate
26+
tclfmt --version
27+
tclfmt --in-place .
28+
git diff --exit-code
29+
tclint --no-check-style .

.github/workflows/github-actions-manual-update-rules.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@ jobs:
2222
python-version: "3.10"
2323
- name: Install Python Packages
2424
run: |
25-
pip install firebase-admin
25+
python3 -m venv venv
26+
venv/bin/pip install firebase-admin
2627
- name: Execute Python Script Update
2728
env:
2829
CREDS_FILE: ${{ secrets.CREDS_FILE }}
2930
API_BASE_URL: ${{ secrets.API_BASE_URL }}
3031
run: |
32+
source venv/bin/activate
3133
if [[ "${{ github.event.inputs.type }}" == "overwrite" ]]; then
3234
python flow/util/updateRules.py --keyFile "${CREDS_FILE}" --apiURL ${API_BASE_URL} --commitSHA $(git rev-parse HEAD) --overwrite
3335
else

.github/workflows/github-actions-update-rules.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@ jobs:
2424
python-version: "3.10"
2525
- name: Install Python Packages
2626
run: |
27-
pip install firebase-admin
27+
python3 -m venv venv
28+
venv/bin/pip install firebase-admin
2829
- name: Execute Python Script Update
2930
env:
3031
CREDS_FILE: ${{ secrets.CREDS_FILE }}
3132
API_BASE_URL: ${{ secrets.API_BASE_URL }}
3233
run: |
34+
source ./venv/bin/activate
3335
echo ${{ github.event_name }}
3436
echo ${{ github.event.client_payload.type }}
3537
if [[ "${{ github.event_name }}" == "repository_dispatch" && "${{ github.event.client_payload.type }}" == "overwrite" ]]; then

.github/workflows/github-actions-yaml-test.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,13 @@ jobs:
2323
- name: Check if FlowVariables.md is up to date
2424
run: |
2525
git diff --exit-code docs/user/FlowVariables.md
26+
- name: Install dependencies
27+
run: |
28+
python3 -m venv venv
29+
venv/bin/pip install --quiet yamlfix==1.17.0
2630
- name: Run yamlfix check
2731
run: |
28-
pip install --quiet yamlfix==1.17.0
32+
source venv/bin/activate
2933
yamlfix --version
3034
set -x
3135
yamlfix -c yamlfix.toml flow/scripts/variables.yaml

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ flow/rc_model.bin
2929
flow/*.tif.gz
3030
flow/*.def.v
3131

32-
3332
# RePlAce deps
3433
*PORT9.dat
3534
*POST9.dat
@@ -103,3 +102,6 @@ bazel-bin
103102
bazel-out
104103
bazel-OpenROAD-flow-scripts
105104
bazel-testlogs
105+
106+
# python venv
107+
venv/

MODULE.bazel

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ bazel_dep(name = "bazel-orfs")
1111
# To bump version, run: bazelisk run @bazel-orfs//:bump
1212
git_override(
1313
module_name = "bazel-orfs",
14-
commit = "9a3778bdbe63106a894a03e865335a31ebc860d1",
14+
commit = "f8a4b694b37c8f5322323eba9a9ae37f9541ee17",
1515
remote = "https://github.com/The-OpenROAD-Project/bazel-orfs.git",
1616
)
1717

@@ -20,13 +20,13 @@ bazel_dep(name = "rules_python", version = "1.2.0")
2020
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
2121
python.toolchain(
2222
ignore_root_user_error = True,
23-
python_version = "3.12",
23+
python_version = "3.13",
2424
)
2525

2626
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
2727
pip.parse(
2828
hub_name = "orfs-pip",
29-
python_version = "3.12",
29+
python_version = "3.13",
3030
requirements_lock = "//flow:util/requirements_lock.txt",
3131
)
3232
use_repo(pip, "orfs-pip")
@@ -35,12 +35,12 @@ orfs = use_extension("@bazel-orfs//:extension.bzl", "orfs_repositories")
3535

3636
# To bump version, run: bazelisk run @bazel-orfs//:bump
3737
orfs.default(
38-
image = "docker.io/openroad/orfs:v3.0-3190-g5ac9869c",
38+
image = "docker.io/openroad/orfs:v3.0-3273-gedf3d6bf",
3939
# Use local files instead of docker image
4040
makefile = "//flow:makefile",
4141
makefile_yosys = "//flow:makefile_yosys",
4242
pdk = "//flow:asap7",
43-
sha256 = "2ca999699bc91144074b7f23f42da9330d7279437c386a1413fba4a6a7520916",
43+
sha256 = "f5692c6325ebcf27cc348e033355ec95c82c35ace1af7e72a0d352624ada143e",
4444
)
4545
use_repo(orfs, "com_github_nixos_patchelf_download")
4646
use_repo(orfs, "docker_orfs")

MODULE.bazel.lock

Lines changed: 93 additions & 57 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ timeline
4646

4747
## Tool Installation
4848

49+
There are different ways to install and develop OpenROAD and ORFS, which is the best fit depends use-case, experience and personal taste.
50+
51+
### Use Bazel, avoid installing anything at all and adapt the flow to your needs in your own repository
52+
53+
[bazel-orfs](https://github.com/The-OpenROAD-Project/bazel-orfs) provides a seamless, reproducible way to manage dependencies and adapt the flow without requiring manual installations(no Docker images, sudo bash scripts, etc.)
54+
55+
By leveraging [Bazel](https://bazel.build/)'s robust build system, all dependencies are automatically resolved, versioned, and built in a consistent environment. This eliminates setup complexity, ensures fast incremental builds, and allows for easy customization of the flow, making it an efficient choice for both [beginners](https://github.com/Pinata-Consulting/RegFileStudy) and [advanced](https://github.com/The-OpenROAD-Project/megaboom) users.
56+
4957
### Docker Based Installation
5058

5159
To ease dependency installation issues, ORFS uses docker images.

dev_env.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Set developer paths and environment variables here,
44
# user settings go in ./env.sh
55
function __setpaths() {
6-
local DIR=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")
6+
local DIR=$(readlink -f "$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}")")
77
[ "$(find $DIR/dependencies -type f -user root)" ] && echo "WARNING! Files set up by sudo found in $DIR"
88
export PATH="$DIR/dependencies/bin:$PATH"
99
export CMAKE_INSTALL_RPATH=$DIR/dependencies/lib:$DIR/dependencies/lib64

0 commit comments

Comments
 (0)