Skip to content

Commit 788947f

Browse files
luarssvvbandeira
andauthored
[Docs] ORFS doc review (#1490)
* add or to orfs support matrix Signed-off-by: Song Luar <[email protected]> Co-authored-by: Vitor Bandeira <[email protected]>
1 parent 96dd589 commit 788947f

7 files changed

+73
-44
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ perf.data.old
8888
docs/main
8989
docs/build
9090
GitGuide.md
91+
SupportedOS.md
92+
index2.md
9193
Manpage.md
9294
mainREADME.md
9395
build

docs/conf.py

+39-3
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
source_suffix = ['.md']
6464

6565
# The master toctree document.
66-
master_doc = 'index'
66+
master_doc = 'index2.md'
6767

6868
# List of patterns, relative to source directory, that match files and
6969
# directories to ignore when looking for source files.
@@ -77,6 +77,7 @@
7777
'README.md',
7878
'docs/releases/PostAlpha2.1BranchMethodology.md',
7979
'main',
80+
'index.md'
8081
]
8182

8283
# The name of the Pygments (syntax highlighting) style to use.
@@ -151,20 +152,55 @@ def setup(app):
151152
shutil.copy('../README.md', 'mainREADME.md')
152153
swap_prefix('mainREADME.md', '```mermaid', '```{mermaid}\n:align: center\n')
153154

154-
# Get GitGuide file
155+
# Grab the reference file from OR
155156
url = 'https://raw.githubusercontent.com/The-OpenROAD-Project/OpenROAD/master/docs/contrib/GitGuide.md'
156157
get_file_from_url(url, 'contrib/GitGuide.md')
158+
159+
# Temporarily using commit number, will change once OR commit merged.
160+
url = 'https://raw.githubusercontent.com/The-OpenROAD-Project/OpenROAD/3563176d00daeb613eed2ccf9442137b0ae2cad3/docs/index.md'
161+
get_file_from_url(url, 'SupportedOS.md')
157162

158163
# edit OpenROAD to OpenROAD-flow-scripts for GitGuide
159164
with open('contrib/GitGuide.md', 'r') as f:
160165
content = f.read()
161-
162166
content = content.replace('user/Build.md', '../index.md#build-or-installing-orfs-dependencies')
163167
content = content.replace('OpenROAD', 'OpenROAD-flow-scripts')
164168
content = content.replace('The-OpenROAD-flow-scripts', 'The-OpenROAD')
165169
with open('contrib/GitGuide.md', 'w') as f:
166170
f.write(content)
167171

172+
# Create a copy of the index.md file
173+
import shutil
174+
shutil.copy('index.md', 'index2.md')
175+
176+
# Use re to find the desired content
177+
start_pattern = '## Supported Operating Systems'
178+
end_pattern = '## Code of conduct'
179+
with open('SupportedOS.md', 'r') as f:
180+
markdown_content = f.read()
181+
182+
match = re.search(f'{start_pattern}(.*?){end_pattern}', markdown_content, re.DOTALL)
183+
184+
assert match is not None, 'No match found, check the OR Doc pattern on index.md'
185+
extracted_content = match.group(1)
186+
extracted_content = "\n#### Supported Operating Systems" + extracted_content
187+
print(extracted_content)
188+
189+
# Find insert position
190+
with open('index2.md', 'r') as f:
191+
existing_content = f.read()
192+
match = re.search(r'### Setup', existing_content)
193+
assert match is not None, 'Check search keyword.'
194+
with open('index2.md', 'w') as f:
195+
insert_position = match.end() + 1
196+
before_insert = existing_content[:insert_position]
197+
after_insert = existing_content[insert_position:]
198+
199+
# Combine the parts with the extracted content
200+
updated_content = before_insert + extracted_content + after_insert
201+
202+
f.write(updated_content)
203+
168204
# Get Manpage file
169205
url = 'https://raw.githubusercontent.com/The-OpenROAD-Project/OpenROAD/master/src/utl/README.md'
170206
get_file_from_url(url, 'Manpage.md')

docs/index.md

+7-30
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
The OpenROAD ("Foundations and Realization of Open, Accessible Design")
44
project was launched in June 2018 within the DARPA IDEA program. OpenROAD
55
aims to bring down the barriers of cost, expertise and unpredictability that
6-
currently block designers' access to hardware implementation in advanced
6+
currently block designers access to hardware implementation in advanced
77
technologies. The project team (Qualcomm, Arm and multiple universities and
88
partners, led by UC San Diego) is developing a fully autonomous, open-source
99
tool chain for digital SoC layout generation, focusing on the RTL-to-GDSII
@@ -46,33 +46,6 @@ See these [tips](user/FAQS.md#how-do-i-get-better-search-results) to help improv
4646

4747
### Setup
4848

49-
#### Supported Operating Systems
50-
51-
Note that depending on the installation method, we have varying levels of
52-
support for various operating systems.
53-
54-
Legend:
55-
- `Y` for supported.
56-
- `-` for unsupported.
57-
58-
| Operating System | Local Installation | Prebuilt Binaries | Docker Installation | Windows Subsystem for Linux |
59-
| --- | --- | --- | --- | --- |
60-
| Ubuntu 20.04 | `Y` | `Y` | `Y` | `-` |
61-
| Ubuntu 22.04 | `Y` | `Y` | `Y` | `-` |
62-
| CentOS 7 | `Y` | `-` | `Y` | `-` |
63-
| CentOS 8 | `Y` | `-` | `Y` | `-` |
64-
| Debian 10 | `Y` | `Y` | `Y` | `-` |
65-
| Debian 11 | `Y` | `Y` | `Y` | `-` |
66-
| RHEL | `Y` | `-` | `Y` | `-` |
67-
| Windows 10 and above | `-` | `-` | `Y` | `Y` |
68-
| macOS | `Y*` | `-` | `Y` | `-` |
69-
70-
```{warning}
71-
For macOS, local compilation for the modules `par` and `mpl2` are not
72-
fully supported due to an upstream issue with `or-tools`. We recommend
73-
Docker installation wherever possible.
74-
```
75-
7649
#### System Requirements
7750

7851
To build the binaries and run `gcd` through the flow:
@@ -94,7 +67,7 @@ We support four major ways of installation:
9467
- [Windows Subsystem for Linux (WSL)](./user/BuildWithWSL.md)
9568
- [Local Installation](./user/BuildLocally.md)
9669

97-
You may also choose use the build script to customise your build process.
70+
You may also choose and use the build script to customise your build process.
9871
See more in the next section.
9972

10073
##### Build Command and options
@@ -178,15 +151,19 @@ OpenROAD-flow-scripts supports Verilog to GDS for the following open platforms:
178151
- ASAP7
179152
- Nangate45 / FreePDK45
180153
- SKY130
154+
- GF180
181155

182156
These platforms have a permissive license which allows us to
183157
redistribute the PDK and OpenROAD platform-specific files. The platform
184158
files and license(s) are located in `platforms/{platform}`.
185159

186160
OpenROAD-flow-scripts also supports the following proprietary platforms:
187161

162+
- GF55
188163
- GF12
189-
- TSMC65LP
164+
- Intel22
165+
- Intel16
166+
- TSMC65
190167

191168
The PDKs and platform-specific files for these kits cannot be provided
192169
due to NDA restrictions. However, if you are able to access these

docs/toc.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
root: index
1+
root: index2
22
entries:
33

44
- file: user/UserGuide.md
55
title: User Guide
66
entries:
7+
- file: user/BuildWithPrebuilt.md
8+
title: Build Using Pre-built Binaries
79
- file: user/BuildWithDocker
810
title: Build Using Docker
911
entries:
1012
- file: user/DockerShell.md
1113
title: Docker Shell utility
12-
- file: user/BuildWithPrebuilt.md
13-
title: Build Using Pre-built Binaries
1414
- file: user/BuildLocally.md
1515
title: Build Locally
1616
- file: user/BuildWithWSL.md

docs/user/BuildWithDocker.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ and Debian on a regular basis.
3030
This greatly helps to reduce the compilation time needed.
3131

3232
We recommend to use a Docker image of a supported OS
33-
and install OpenROAD using the prebuilt binaries from
34-
Precision Innovations.
35-
You can start the container in an interactive mode using
36-
the command below.
33+
and install OpenROAD using the pre-built binaries from
34+
Precision Innovations.
35+
You can start the container in an interactive mode using
36+
the command below.
3737

3838
```shell
3939
docker run -it ubuntu:22.04

docs/user/BuildWithPrebuilt.md

+11-3
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ Instructions for installing:
1212

1313
## Install OpenROAD
1414
Download pre-built binaries with self-contained dependencies
15-
included from the Precision Innovations' Github releases
16-
[here](https://github.com/Precision-Innovations/OpenROAD/actions/workflows/github-actions-build-deb-package.yml).
15+
included from the Precision Innovations' GitHub releases
16+
[here](https://github.com/Precision-Innovations/OpenROAD/releases).
1717

1818
Thanks to [Precision Innovations](https://precisioninno.com/) for hosting and maintaining these binaries.
1919

@@ -34,7 +34,15 @@ Step 3: Run the install command based on platform use package installer.
3434
sudo apt install ./openroad_2.0_amd64-ubuntu20.04.deb
3535
```
3636

37-
You can install these binaries within docker as well.
37+
## Install Klayout and Yosys
38+
Please ensure the Klayout version (denoted with `klayoutVersion` variable) is consistent with the one used in [DependencyInstaller script](https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/master/etc/DependencyInstaller.sh).
39+
40+
Instructions for installing:
41+
- [Klayout>=0.28.8](https://www.klayout.de/build.html)
42+
- [Yosys>=0.39](https://github.com/YosysHQ/oss-cad-suite-build/blob/master/README.md#installation)
43+
44+
```{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)).
45+
```
3846

3947

4048
## Verify Installation

docs/user/InstructionsForAutoTuner.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ python3 distributed.py --design gcd --platform sky130hd \
145145
sweep
146146
```
147147

148+
149+
### Google Cloud Platform (GCP) distribution with Ray
150+
151+
GCP Setup Tutorial coming soon.
152+
153+
148154
### List of input arguments
149155
| Argument | Description |
150156
|-------------------------------|-------------------------------------------------------------------------------------------------------|
@@ -173,7 +179,7 @@ python3 distributed.py --design gcd --platform sky130hd \
173179
| `--openroad_threads` | Max number of threads usable. |
174180
| `--server` | The address of Ray server to connect. |
175181
| `--port` | The port of Ray server to connect. |
176-
| `-v` or `--verbose` | Verbosity Level. [0: Only ray status, 1: print stderr, 2: also print training stdout. |
182+
| `-v` or `--verbose` | Verbosity Level. [0: Only ray status, 1: print stderr, 2: print stdout on top of what is in level 0 and 1. ] |
177183
| | |
178184
### GUI
179185

0 commit comments

Comments
 (0)