Skip to content

Commit e0aa8d2

Browse files
Update README.md
1 parent 15a3a41 commit e0aa8d2

File tree

1 file changed

+48
-154
lines changed

1 file changed

+48
-154
lines changed

README.md

Lines changed: 48 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -1,165 +1,59 @@
1-
# OpenROAD Flow
2-
3-
[![Build Status](https://jenkins.openroad.tools/buildStatus/icon?job=OpenROAD-flow-scripts-Public%2Fpublic_tests_all%2Fmaster)](https://jenkins.openroad.tools/view/Public/job/OpenROAD-flow-scripts-Public/job/public_tests_all/job/master/)
4-
[![Docs](https://readthedocs.org/projects/openroad-flow-scripts/badge/?version=latest)](https://openroad-flow-scripts.readthedocs.io/en/latest/?badge=latest)
5-
6-
OpenROAD-flow-scripts (ORFS) is a fully autonomous, RTL-GDSII flow
7-
for rapid architecture and design space exploration, early prediction
8-
of QoR and detailed physical design implementation. However, ORFS
9-
also enables manual intervention for finer user control of individual
10-
flow stages through Tcl commands and Python APIs.
11-
12-
```mermaid
13-
%%{init: { 'logLevel': 'debug', 'theme': 'dark'
14-
} }%%
15-
timeline
16-
title RTL-GDSII Using OpenROAD-flow-scripts
17-
Synthesis
18-
: Inputs [RTL, SDC, .lib, .lef]
19-
: Logic Synthesis (Yosys)
20-
: Output files [Netlist, SDC]
21-
Floorplan
22-
: Floorplan Initialization
23-
: IO placement (random)
24-
: Timing-driven mixed-size placement
25-
: Macro placement
26-
: Tapcell and welltie insertion
27-
: PDN generation
28-
Placement
29-
: Global placement without placed IOs
30-
: IO placement (optimized)
31-
: Global placement with placed IOs
32-
: Resizing and buffering
33-
: Detailed placement
34-
CTS : Clock Tree Synthesis
35-
: Timing optimization
36-
: Filler cell insertion
37-
Routing
38-
: Global Routing
39-
: Detailed Routing
40-
Finishing
41-
: Metal Fill insertion
42-
: Signoff timing report
43-
: Generate GDSII (KLayout)
44-
: DRC/LVS check (KLayout)
45-
```
46-
47-
## Tool Installation
48-
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-
57-
### Docker Based Installation
58-
59-
To ease dependency installation issues, ORFS uses docker images.
60-
Docker image includes ORFS binaries, applications as well as all
61-
required dependencies. All of the flow tools are encapsulated
62-
inside the container image.
63-
64-
If `Docker` is not installed already, install latest docker tool
65-
based on OS from [here](https://docs.docker.com/engine/install/).
66-
67-
To manage docker as non-root user and verify that you can run
68-
`docker` commands without `sudo` must complete steps from
69-
[here](https://docs.docker.com/engine/install/linux-postinstall/).
70-
71-
#### Build ORFS with Docker
72-
73-
Document for detailed steps on docker based installation found
74-
[here](./docs/user/BuildWithDocker.md).
75-
76-
### Pre-built Binaries
77-
78-
You can download, set up and run ORFS easily with pre-built
79-
binaries, including OpenROAD, Yosys and Klayout. See instructions
80-
[here](./docs/user/BuildWithPrebuilt.md).
81-
82-
> **Thanks** to [Precision Innovations](https://precisioninno.com/) for
83-
> providing and supporting OpenROAD based binaries.
84-
85-
> **Note** Only the latest version of OpenROAD is guaranteed to work with
86-
> the latest version of ORFS.
87-
88-
> **Disclaimer** The versions of OpenROAD, Yosys and Klayout provided by
89-
> other third-party vendors are not guaranteed to work with ORFS.
90-
91-
### Build from sources locally
92-
93-
Document for detailed local build from sources and installation steps found [here](./docs/user/BuildLocally.md).
94-
95-
## Using the Flow
96-
97-
- For details about the OpenROAD and the available features and
98-
individual flows commands, see the documentation
99-
[here](https://openroad.readthedocs.io/en/latest/).
100-
- For details about automated flow setup, see ORFS docs
101-
[here](https://openroad-flow-scripts.readthedocs.io/en/latest/index2.html#getting-started-with-openroad-flow-scripts).
102-
- Flow tutorial to run the complete OpenROAD based flow from
103-
RTL-GDSII, see the tutorial
104-
[here](https://openroad-flow-scripts.readthedocs.io/en/latest/tutorials/FlowTutorial.html).
105-
- To watch ORFS flow tutorial videos, check
106-
[here](https://theopenroadproject.org/video).
107-
108-
## Building from your own git repository
109-
110-
ORFS supports hosting projects in your own git repository
111-
without the need to fork ORFS.
112-
113-
To build from your own git repository:
114-
115-
cd /home/me/myproject
116-
make --file=~/OpenROAD-flow-scripts/flow/Makefile DESIGN_CONFIG=somefolder/config.mk ...
117-
118-
## Running a quick smoke-test of ORFS on your own Verilog
1+
# ORFS-Research
1192

120-
You can [run ORFS on your own Verilog files](./flow/designs/asap7/minimal/README.md)
121-
without setting up a project or moving your Verilog files and even learn
122-
a thing or two about floorplan, placement and routing
123-
before you create an .sdc file and a config.mk file.
3+
ORFS-Research originates from [the OpenROAD Project](https://theopenroadproject.org/) and serves as a platform for developing and sharing next-generation physical design engines. It is designed to act as an open and collaborative innovation sandbox, complementing the production-quality [OpenROAD](https://github.com/The-OpenROAD-Project/OpenROAD) and [OpenROAD-flow-scripts](https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts) repositories.
1244

125-
## Citing this Work
1265

127-
If you use this software in any published work, we would appreciate a citation!
128-
Please use the following references:
6+
## Missions
7+
OpenROAD-Research and ORFS-Research are envisioned as foundational platforms to accelerate collaboration, preserve algorithmic diversity and drive innovation in physical design. Their core missions are to:
1298

130-
```
131-
@article{ajayi2019openroad,
132-
title={OpenROAD: Toward a Self-Driving, Open-Source Digital Layout Implementation Tool Chain},
133-
author={Ajayi, T and Blaauw, D and Chan, TB and Cheng, CK and Chhabria, VA and Choo, DK and Coltella, M and Dobre, S and Dreslinski, R and Foga{\c{c}}a, M and others},
134-
journal={Proc. GOMACTECH},
135-
pages={1105--1110},
136-
year={2019}
137-
}
138-
```
9+
- **Serve as an open library of baselines and algorithms**: preserve diverse research contributions (e.g., multiple detailed placers with different heuristics), even if they are not yet production-ready.
13910

140-
A copy of this paper is available
141-
[here](http://people.ece.umn.edu/users/sachin/conf/gomactech19.pdf) (PDF).
11+
- **Accelerate innovation**: lower the barrier for contributions in emerging areas, including LLM-based flow autotuning frameworks.
14212

143-
```
144-
@inproceedings{ajayi2019toward,
145-
title={Toward an open-source digital flow: First learnings from the openroad project},
146-
author={Ajayi, Tutu and Chhabria, Vidya A and Foga{\c{c}}a, Mateus and Hashemi, Soheil and Hosny, Abdelrahman and Kahng, Andrew B and Kim, Minsoo and Lee, Jeongsup and Mallappa, Uday and Neseem, Marina and others},
147-
booktitle={Proceedings of the 56th Annual Design Automation Conference 2019},
148-
pages={1--4},
149-
year={2019}
150-
}
151-
```
13+
- **Support education and workforce development**: provide students and researchers with reproducible implementations and a broad collection of physical design algorithms.
15214

153-
A copy of this paper is available
154-
[here](https://vlsicad.ucsd.edu/Publications/Conferences/371/c371.pdf) (PDF).
15+
- **Foster global collaboration**: act as “contrib” repositories (similar to PyTorch’s torch.contrib), where experimental and research-oriented code can coexist. OpenROAD-Research will host academically validated contributions, exploratory prototypes, and heterogeneous approaches.
15516

156-
If you like the tools, please give us a star on our GitHub repos!
17+
## Research Directions
18+
We anticipate significant contributions from the global EDA community, including:
15719

158-
## License
20+
- **GPU-accelerated P&R engines** integrated within OpenROAD-research, covering from partitioning to design rule checking (DRC), enabling substantial runtime improvements and scalability
21+
22+
- **ML-assisted physical design** where ML models are tightly integrated with OpenROAD-research to enable closed-loop optimization and QoR enhancement across the P&R flow
23+
24+
- **True 3D P&R engines** in OpenROAD-research that provide open, reproducible and transparent baselines for 3D integration
25+
26+
- **The pytorch in EDA** that offers modular operators and Python APIs within OpenROAD-research, to facilitate rapid prototyping and experimentation of ML-driven EDA methodologies
27+
28+
29+
## How to Contribute
30+
We welcome contributions from the community. To ensure consistency and maintain quality across the project, please follow the guidelines below:
31+
32+
- **Branching**: create your feature branch from the master branch.
33+
34+
- **Licensing**: all contributions should use a permissive open-source license, such as BSD 3-Clause License.
35+
36+
- **Testing**: verify that your changes do not break existing functionality and maintain expected behavior across benchmarks.
15937

160-
The OpenROAD-flow-scripts repository (build and run scripts) has a BSD 3-Clause License.
161-
The flow relies on several tools, platforms and designs that each have their own licenses:
38+
- **DCO Sign-Off**: each commit should be signed using the Developer Certificate of Origin (DCO). Use the -s flag when committing:
39+
40+
```bash
41+
git commit -s -m "Your commit message"
42+
```
43+
44+
- **Submitting a Pull Request**: open a Pull Request (PR) targeting the main branch.
45+
46+
- **Reviewing**: upon submission, your PR will undergo automated regression testing. If the tests pass, your contribution will be accepted and merged. If any issues are identified, we will provide feedback to help you make the necessary revisions.
47+
48+
49+
## Acknowledgments
50+
Contributions to OpenROAD-Research and ORFS-Research are led by:
51+
- **Prof. Zhiang Wang** (Fudan University)
52+
53+
54+
We welcome contributions and collaborations from the broader community.
55+
56+
57+
## License
16258

163-
- Find the tool license at: `OpenROAD-flow-scripts/tools/{tool}/` or `OpenROAD-flow-scripts/tools/OpenROAD/src/{tool}/`.
164-
- Find the platform license at: `OpenROAD-flow-scripts/flow/platforms/{platform}/`.
165-
- Find the design license at: `OpenROAD-flow-scripts/flow/designs/src/{design}/`.
59+
BSD 3-Clause License. See [LICENSE](LICENSE) file.

0 commit comments

Comments
 (0)