Skip to content

Commit 91a3771

Browse files
authored
[Docs] FAQ Update + Support for WSL (#1140)
* FAQ change for update ORFS * modified build_openroad and build with docker instruction * WSL instructions, pictures to b added * made changes to dev guide and toc, prebuilt instructions, WSL instructions Signed-off-by: luarss <[email protected]>
1 parent 75f61e5 commit 91a3771

File tree

10 files changed

+83
-21
lines changed

10 files changed

+83
-21
lines changed

build_openroad.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,8 @@ __docker_build()
251251
cp .dockerignore{,.bak}
252252
sed -i '/flow\/platforms/d' .dockerignore
253253
fi
254-
./etc/DockerHelper.sh create -target=dev -os="${DOCKER_OS_NAME}"
255-
./etc/DockerHelper.sh create -target=builder -os="${DOCKER_OS_NAME}"
254+
./etc/DockerHelper.sh create -target=dev -os="${DOCKER_OS_NAME}" -threads="${PROC}"
255+
./etc/DockerHelper.sh create -target=builder -os="${DOCKER_OS_NAME}" -threads="${PROC}"
256256
if [ ! -z "${DOCKER_COPY_PLATFORMS+x}" ]; then
257257
mv .dockerignore{.bak,}
258258
fi

docs/contrib/DeveloperGuide.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
# Developer Guide
22

3-
## Building
4-
5-
Instructions for building are available [here](../index.md#getting-started-with-openroad-flow-scripts).
6-
7-
## Logger
8-
9-
Instructions for logging are available on [OpenROAD documentation](https://openroad.readthedocs.io/en/latest/contrib/Logger.html).
3+
- Integrate a new platform to OpenROAD Flow: [Guide](./PlatformBringUp.md).
4+
- Adding a new design: [Guide](../user/AddingNewDesign.md).
5+
- Continuous Integration: [Guide](./CI.md).
6+
- How do I update the codebase? There are different ways to update your codebase depending on the method you installed it. We provide detailed instructions in this [guide](../user/FAQS.md).

docs/images/wsl_1.webp

37.1 KB
Loading

docs/images/wsl_2.webp

16.8 KB
Loading

docs/index.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,18 @@ with 24-hour turnaround time.
4646
To build the binaries and run `gcd` through the flow:
4747

4848
- Minimum: 1 CPU core and 8GB RAM.
49-
- Recommend: 4 CPU cores and 16GB of RAM.
49+
- Recommended: 4 CPU cores and 16GB of RAM.
5050

5151
> **Note** `gcd` is a small design, and thus requires less computational power.
5252
> Larger designs may require better hardware.
5353
5454
#### Build or Installing ORFS Dependencies
5555

56-
We support three major ways of installation:
56+
We support four major ways of installation:
5757

5858
- [Docker](./user/BuildWithDocker.md)
5959
- [Pre-built Binaries](./user/BuildWithPrebuilt.md)
60+
- [Windows Subsystem for Linux (WSL)](./user/BuildWithWSL.md)
6061
- [Local Installation](./user/BuildLocally.md)
6162

6263
You may also choose use the build script to customise your build process.

docs/toc.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,7 @@ entries:
2626
title: Getting Involved
2727

2828
- file: contrib/DeveloperGuide.md
29-
title: Developer Guide
30-
entries:
31-
- file: contrib/PlatformBringUp.md
32-
title: Guide to Integrate a New Platform into the OpenROAD Flow
33-
- file: contrib/CI.md
34-
title: CI
29+
title: Developer's Guide
3530

3631
- file: contrib/CODE_OF_CONDUCT.md
3732
title: Code of Conduct

docs/user/BuildWithDocker.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,10 @@ cd OpenROAD-flow-scripts
3838
3939
## Verify Installation
4040

41-
The binaries are only available from inside the Docker container, thus to
42-
start one use:
41+
The binaries are only available from inside a Docker container. Here is an example of starting a container from the created Docker image.
4342

4443
``` shell
45-
docker run --rm -it -u $(id -u ${USER}):$(id -g ${USER}) -v $(pwd)/flow:/OpenROAD-flow-scripts/flow openroad/flow-$OS_NAME-builder
44+
docker run --rm -it -u $(id -u ${USER}):$(id -g ${USER}) -v $(pwd)/flow:/OpenROAD-flow-scripts/flow openroad/flow-centos7-builder
4645
```
4746

4847
Then, inside docker:

docs/user/BuildWithPrebuilt.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Instructions for installing:
77
- [Klayout>=0.28.8](https://www.klayout.de/build.html)
88
- [Yosys>=0.21](https://github.com/YosysHQ/oss-cad-suite-build/blob/master/README.md#installation)
99

10+
> **TIP**: Unfortunately KLayout maintainers do not provide Debian 10/11 compatible packages. You can follow the build-from-sources instruction (Version >=0.25) and Ubuntu 22 instructions [here](https://www.klayout.de/build.html#:~:text=Building%20KLayout%20on%20Linux%20(Version%20%3E%3D%200.25)).
11+
1012
## Install OpenROAD
1113
Download pre-built binaries with self-contained dependencies
1214
included from the Precision Innovations' Github releases
@@ -39,7 +41,10 @@ git clone https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git
3941
```
4042
Export path variables accordingly.
4143
```
42-
export PATH="<extracted_location>/oss-cad-suite/bin:$PATH" #yosys
44+
export PATH="<yosys_location>/bin:$PATH"
45+
export PATH="<klayout_location>/bin:$PATH" # only if built from source
46+
export LD_LIBRARY_PATH="<klayout_location>/bin:$PATH" # only if built from source
47+
4348
yosys -help
4449
openroad -help
4550
cd flow

docs/user/BuildWithWSL.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Build with WSL
2+
Windows Subsystem for Linux, or WSL for short is a way for you to mount a Linux-based OS onto your Windows machine, allowing you to build OpenROAD-flow-scripts both locally and via Docker.
3+
4+
## Install WSL
5+
Instructions to install WSL can be found [here](https://learn.microsoft.com/en-us/windows/wsl/install). You may use any kernel supported, such as: CentOS 7, Ubuntu 20.04, Ubuntu 22.04, RHEL 8, Debian 10 and Debian 11.
6+
7+
We recommend that users follow the Docker build by continuing onto the guide below. However, if you wish to install locally, you may follow the build locally instructions [here](./BuildLocally.md).
8+
9+
> **TIP**: You may delete your WSL kernel using this [guide](https://pureinfotech.com/remove-linux-distro-wsl/).
10+
11+
12+
## Docker configuration
13+
This section assumes you have set up Docker for Windows already. If not, please refer to the Docker official website for instructions [here](https://docs.Docker.com/desktop/install/windows-install/).
14+
15+
You need to enable the following options to allow WSL to use Docker.
16+
17+
General > Use the WSL 2 Based engine (should be default selection)
18+
![WSL1](../images/wsl_1.webp)
19+
20+
Resources > WSL integration > Enable integration with my default WSL distro and select "Ubuntu-22.04", or the distribution you installed.
21+
![WSL2](../images/wsl_2.webp)
22+
23+
## Accessing WSL
24+
You may access WSL from the app named "Ubuntu 22.04 LTS". Run the following:
25+
```
26+
sudo apt-get update; sudo apt-get upgrade; sudo apt install -y build-essential python3 python3-venv python3-pip make
27+
```
28+
Verify if Docker is running
29+
```
30+
docker run hello-world
31+
```
32+
You should see:
33+
34+
```
35+
Hello from Docker!
36+
This message shows that your installation appears to be working correctly.
37+
```
38+
39+
If everything is successful up to this point, congratulations! You are now ready to follow the [Docker guide](./BuildWithDocker.md) as you have configured a Linux system with necessary dependencies.

docs/user/FAQS.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,32 @@ the appropriate repository or start a discussion.
1414
Thank you for your willingness to contribute. Please see the
1515
[Getting Involved](../contrib/GettingInvolved) guide.
1616

17+
## How do I update OpenROAD-flow scripts?
18+
19+
Depending on how you installed OpenROAD-flow-scripts, there are different ways of updating. Regardless, here are the common first steps:
20+
21+
```
22+
cd OpenROAD-flow-scripts
23+
git checkout master
24+
git pull
25+
```
26+
27+
Now your local copy of ORFS should be up-to-date. The next step is to build it again with the following command:
28+
29+
For WSL/docker based installation, run:
30+
```
31+
./build_openroad.sh --clean
32+
```
33+
34+
For local installation, run:
35+
```
36+
./build_openroad.sh --local --clean
37+
```
38+
39+
For pre-built binaries, you can run the flow after `git pull` is done.
40+
41+
> **TIP**: For development purposes, it is a good practice to work on branches and leave master untouched.
42+
> To update your branch, simply run `git checkout <BRANCH>; git merge master`
1743
## How do I update the design reference files?
1844

1945
See how to update the Metrics [here](../contrib/Metrics.md).

0 commit comments

Comments
 (0)