Skip to content

Commit

Permalink
resolved merge
Browse files Browse the repository at this point in the history
Signed-off-by: andyfox-rushc <[email protected]>
  • Loading branch information
andyfox-rushc committed Feb 8, 2024
2 parents 681ac36 + aae607e commit b606b29
Show file tree
Hide file tree
Showing 368 changed files with 220,837 additions and 369,204 deletions.
41 changes: 39 additions & 2 deletions .github/workflows/github-actions-build-deb-package.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: Build deb packages

on:
workflow_dispatch:
push:
pull_request:
branches:
- master

jobs:
builder:
Expand Down Expand Up @@ -44,3 +44,40 @@ jobs:
with:
name: ${{ steps.artifact.outputs.name }}
path: ${{ steps.artifact.outputs.file }}

- name: Set release version
id: set_version
run: echo "RELEASE_VERSION=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

- name: Get release info
uses: cardinalby/git-get-release-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.RELEASE_VERSION }}
release_name: Release ${{ env.RELEASE_VERSION }}
doNotFailIfNotFound: true
id: release_info

- name: Create release if not exists
if: steps.release_info.outputs.name == ''
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.RELEASE_VERSION }}
release_name: Release ${{ env.RELEASE_VERSION }}
body: "Release"
id: create_release

- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release_info.outputs.upload_url || steps.create_release.outputs.upload_url }}
asset_path: ${{ steps.artifact.outputs.file }}
asset_name: ${{ steps.artifact.outputs.name }}-${{ env.RELEASE_VERSION }}.deb
asset_content_type: application/octet-stream

Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Automatically sync branch from upstream.

on:
schedule:
- cron: "0 14 * * *"

workflow_dispatch:
inputs:
force:
description: Use GitHub --force push.
default:

repository_dispatch:


jobs:
Sync-Branch-From-Upstream:
name: Automatic sync 'master' from The-OpenROAD-Project/OpenROAD
runs-on: ubuntu-latest

# Only allow one action to run at a time.
concurrency: sync-branch-from-upstream

# Action needs no permissions, as push is granted via adding a deploy key
# with write access to the $DEPLOY_KEY secret.
permissions:
contents: read

# Don't run on the upstream repository and only run on the right branch.
if: ${{ github.repository_owner == 'Precision-Innovations' && endsWith(github.ref, '/master') }}

steps:

- uses: The-OpenROAD-Project/actions/upstream_sync@main
env:
HAS_DEPLOY_KEY: ${{ !!(secrets.DEPLOY_KEY) }}
if: ${{ env.HAS_DEPLOY_KEY == 'true' }}
with:
upstreamRepo: The-OpenROAD-Project/OpenROAD
upstreamBranch: master
# To always overwrite master branch, set UPSTREAM_SYNC to the exact
# string 'always overwrite master branch'.
# You can also manually trigger a workflow dispatch with the force
# value equal to 'true'.
force: ${{ github.event.inputs.force || (secrets.UPSTREAM_SYNC == 'always overwrite master branch') }}
deployKey: ${{ secrets.DEPLOY_KEY }}
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,22 +166,21 @@ using OpenROAD;
- IO pin placement (for designs without pads)
- Tap cell and well tie insertion
- PDN- power distribution network creation
- `Global Placement` - Minimize wirelengths
- `Global Placement`
- Macro placement (RAMs, embedded macros)
- Standard cell placement
- Automatic placement optimization and repair for max slew,
max capacitance, and max fanout violations and long wires
- `Detailed Placement`
- Legalize placement - align to grid, adhere to design rules
- Incremental timing analysis for early estimates
- `Clock Tree Synthesis` - Generate a balanced tree to meet timing
and reduce skews
- `Clock Tree Synthesis`
- Insert buffers and resize for high fanout nets
- `Optimize setup/hold timing`
- `Global routing`
- `Global Routing`
- Antenna repair
- Create routing guides
- `Detailed routing`
- `Detailed Routing`
- Legalize routes, DRC-correct routing to meet timing, power
constraints
- `Chip Finishing`
Expand Down
16 changes: 11 additions & 5 deletions docs/contrib/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,13 @@ The patch file "AddTool.patch" illustrates how to add a tool to
OpenROAD. Use the following commands to add a sample tool:

``` shell
patch -p < docs/misc/AddTool.patch
# first, update existing config files
patch -p1 < docs/misc/AddTool.patch

# next, create the additional source files of the tool using this command
patch -p1 < docs/misc/AddToolFiles.patch

# finally, create the regression tests as follows
cd src/tool/test
ln -s ../../../test/regression.tcl regression.tcl
```
Expand Down Expand Up @@ -232,7 +238,7 @@ file. Detailed documentation should be the `tool/README.md` file.

Tool namespaces are usually three-lettered lowercase letters.

- Verilog to DB ([dbSTA](../main/src/dbSta/README.md))
- Verilog to DB (dbSTA)
- OpenDB: Open Database ([odb](../main/src/odb/README.md))
- TritonPart: constraints-driven paritioner ([par](../main/src/par/README.md))
- Floorplan Initialization ([ifp](../main/src/ifp/README.md))
Expand All @@ -250,11 +256,11 @@ Tool namespaces are usually three-lettered lowercase letters.
- Antenna check and diode insertion ([ant](../main/src/ant/README.md))
- TritonRoute Detailed routing ([drt](../main/src/drt/README.md))
- Metal fill insertion ([fin](../main/src/fin/README.md))
- Design for Test ([dst](../main/src/dst/README.md))
- Design for Test ([dft](../main/src/dft/README.md))
- OpenRCX Parasitic Extraction ([rcx](../main/src/rcx/README.md))
- OpenSTA timing/power report ([sta](../main/src/sta/README.md))
- OpenSTA timing/power analyzer ([sta](https://github.com/The-OpenROAD-Project/OpenSTA/blob/master/README.md)
- Graphical User Interface ([gui](../main/src/gui/README.md))
- Static IR analyser ([psm](../main/src/psm/README.md))
- Static IR analyzer ([psm](../main/src/psm/README.md))

## Tool Checklist

Expand Down
2 changes: 1 addition & 1 deletion docs/contrib/GitGuide.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Git Quickstart

This tutorial serves as a quickstart to Git and contributing to our repository. If you have not already set up OpenROAD, please follow the instructions [here](user/Build.md).
This tutorial serves as a quickstart to Git and contributing to our repository. If you have not already set up OpenROAD, please follow the instructions [here](../user/Build.md).

```{tip} This basic tutorial gives instruction for basic password Git authentication.
If you would like to setup SSH authentication, please follow this [guide](https://help.github.com/set-up-git-redirect).
Expand Down
53 changes: 53 additions & 0 deletions docs/getPatch.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env python3
import os

def swap_prefix(file, old, new):
with open(file, 'r') as f:
lines = f.read()
lines = lines.replace(old, new)
with open(file, 'wt') as f:
f.write(lines)

# modify ../include/ord/OpenROAD.hh
swap_prefix('../include/ord/OpenRoad.hh', 'namespace dft {\nclass Dft;\n}',
'namespace dft {\nclass Dft;\n}\n\nnamespace tool{\nclass Tool;\n}')

swap_prefix('../include/ord/OpenRoad.hh', 'dft::Dft* getDft() { return dft_; }',
'dft::Dft* getDft() { return dft_; }\n tool::Tool* getTool() { return tool_; }')

swap_prefix('../include/ord/OpenRoad.hh', 'dft::Dft* dft_ = nullptr;',
'dft::Dft* dft_ = nullptr;\n tool::Tool* tool_ = nullptr;')

# modify ../src/CMakeLists.txt
swap_prefix('../src/CMakeLists.txt', 'add_subdirectory(dft)',
'add_subdirectory(dft)\nadd_subdirectory(tool)')

swap_prefix('../src/CMakeLists.txt', 'pdn\n dft', 'pdn\n dft\n tool')

# modify ../src/OpenROAD.cc
swap_prefix('../src/OpenRoad.cc', '#include "utl/MakeLogger.h"',
'#include "utl/MakeLogger.h"\n#include "tool/MakeTool.hh"')

swap_prefix('../src/OpenRoad.cc', 'dft_ = dft::makeDft();',
'dft_ = dft::makeDft();\n tool_ = makeTool();')

swap_prefix('../src/OpenRoad.cc', 'dft::deleteDft(dft_);',
'dft::deleteDft(dft_);\n deleteTool(tool_);')

swap_prefix('../src/OpenRoad.cc', 'dft::initDft(this);',
'dft::initDft(this);\n initTool(this);')

# create a patch file
_ = os.popen('git add ../include/ord/OpenRoad.hh').read()
_ = os.popen('git add ../src/CMakeLists.txt').read()
_ = os.popen('git add ../src/OpenRoad.cc').read()
_ = os.popen('git diff --cached > misc/AddTool.patch').read()

# restore all changes except patch
_ = os.popen('git reset ../include/ord/OpenRoad.hh').read()
_ = os.popen('git reset ../src/CMakeLists.txt').read()
_ = os.popen('git reset ../src/OpenRoad.cc').read()
_ = os.popen('git restore ../include/ord/OpenRoad.hh').read()
_ = os.popen('git restore ../src/CMakeLists.txt').read()
_ = os.popen('git restore ../src/OpenRoad.cc').read()

Loading

0 comments on commit b606b29

Please sign in to comment.