Skip to content

Commit daef972

Browse files
committed
README update
Signed-off-by: vijayank88 <[email protected]>
1 parent f1fd7cd commit daef972

File tree

4 files changed

+127
-5
lines changed

4 files changed

+127
-5
lines changed

README.md

Lines changed: 83 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,94 @@
33
[![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/)
44
[![Docs](https://readthedocs.org/projects/openroad-flow-scripts/badge/?version=latest)](https://openroad-flow-scripts.readthedocs.io/en/latest/?badge=latest)
55

6-
OpenROAD Flow is a full RTL-to-GDS flow built entirely on open-source tools.
7-
The project aims for automated, no-human-in-the-loop digital circuit design
8-
with 24-hour turnaround time.
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+
![ORFS_Flow.webp](./docs/images/ORFS_Flow.webp)
13+
14+
## Tool Installation
15+
16+
### Local Installation
17+
18+
To install OpenROAD-flow-scripts locally in CentOS 7, Ubuntu 20.04,
19+
Ubuntu 22.04, RHEL 8, Debian 10 and Debian 11. Following steps will
20+
clone the ORFS repo, install required dependencies and build the flow.
21+
22+
#### Clone ORFS repo
23+
24+
```
25+
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
26+
```
27+
28+
#### Install Dependencies
29+
30+
```
31+
cd OpenROAD-flow-scripts
32+
sudo ./setup.sh
33+
```
34+
35+
#### Build the Flow
36+
37+
```
38+
./build_openroad.sh --local
39+
```
40+
41+
Document for local installation found [here](./docs/user/BuildLocally.md).
42+
43+
### Docker Based Installation
44+
To ease dependency installation issues, ORFS uses docker images.
45+
Docker image includes ORFS binaries, applications as well as all
46+
required dependencies. All of the flow tools are encapsulated
47+
inside the container image.
48+
49+
If `Docker` is not installed already, refer to the document
50+
[here](./docs/user/DockerInstall.md) on how to install and how to
51+
manage docker as non-root user.
52+
53+
### Build ORFS with Docker
54+
55+
#### Clone ORFS repo
56+
57+
```
58+
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
59+
```
60+
61+
#### Build the Flow
62+
63+
```
64+
cd OpenROAD-flow-scripts
65+
./build_openroad.sh
66+
```
67+
68+
Document for Docker based installation found [here](./docs/user/BuildWithDocker.md)
69+
70+
### Verify Local Installation
71+
To verify installation run default `gcd/nangate45` design with
72+
following steps,
73+
74+
```
75+
source env.sh
76+
cd flow
77+
make
78+
```
79+
80+
Above steps run from synthesis to GDSII generation and you can view final layout with OpenROAD GUI as,
81+
82+
```
83+
make gui_final
84+
```
85+
86+
![gcd_final.webp](./docs/images/gcd_final.webp)
987

1088
## Using the Flow
1189

1290
- See the OpenROAD [documentation here](https://openroad.readthedocs.io/en/latest/).
1391
- How to [start using OpenROAD flow here](https://openroad-flow-scripts.readthedocs.io/en/latest/user/GettingStarted.html).
14-
- Our [user guide here](https://openroad-flow-scripts.readthedocs.io/en/latest/user/UserGuide.html).
15-
- Our [Flow Tutorial here](https://openroad-flow-scripts.readthedocs.io/en/latest/tutorials/FlowTutorial.html).
92+
- Our ORFS [user guide here](https://openroad-flow-scripts.readthedocs.io/en/latest/user/UserGuide.html).
93+
- Our ORFS [Flow Tutorial here](https://openroad-flow-scripts.readthedocs.io/en/latest/tutorials/FlowTutorial.html).
1694

1795
## Citing this Work
1896

docs/images/ORFS_Flow.webp

119 KB
Loading

docs/images/gcd_final.webp

280 KB
Loading

docs/user/DockerInstall.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Docker Installation
2+
3+
Install latest docker tool based on OS from [here](https://docs.docker.com/engine/install/)
4+
5+
## Manage Docker as a non-root user
6+
After Docker engine installation it is mandatory to make docker
7+
as non-root user to avoid permission issues while running the flow.
8+
Run below commands to make docker as non-root user.
9+
10+
```
11+
sudo groupadd docker
12+
sudo usermod -aG docker $USER
13+
sudo reboot # REBOOT!
14+
```
15+
16+
You must restart your operating system for the group permissions to apply.
17+
18+
## Checking the Docker Installation
19+
20+
After that, you can run Docker Hello World without root. To test
21+
it use the following command:
22+
23+
```
24+
docker run hello-world
25+
```
26+
27+
You will get a little happy message of Hello world, once again,
28+
but this time without root.
29+
30+
```
31+
Hello from Docker!
32+
```
33+
34+
This message shows that your installation appears to be working correctly.
35+
36+
To generate this message, Docker took the following steps:
37+
- The Docker client contacted the Docker daemon.
38+
- The Docker daemon pulled the `hello-world` image from the Docker Hub.
39+
(amd64)
40+
- The Docker daemon created a new container from that image which runs
41+
the executable that produces the output you are currently reading.
42+
- The Docker daemon streamed that output to the Docker client, which
43+
sent it to your terminal.
44+

0 commit comments

Comments
 (0)