Skip to content

Commit 349713f

Browse files
committed
Merge branch 'master' into ca53-update
Signed-off-by: Matt Liberty <[email protected]>
2 parents 9f1a56b + 6b53853 commit 349713f

25 files changed

+95
-81
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,4 @@ perf.data.old
8989
docs/main
9090
docs/build
9191
GitGuide.md
92+
mainREADME.md

README.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,40 @@ of QoR and detailed physical design implementation. However, ORFS
99
also enables manual intervention for finer user control of individual
1010
flow stages through Tcl commands and Python APIs.
1111

12-
![ORFS_Flow](./docs/images/ORFS_Flow.svg)
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+
```
1346

1447
## Tool Installation
1548

docs/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@ help:
1919
%: Makefile
2020
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
2121
rm -f main
22+
./revert-links.py
2223

2324
checklinks:
2425
$(SPHINXBUILD) -b linkcheck "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
2526
@echo
2627
@echo "Check finished. Report is in $(BUILDDIR)."
27-
rm -f main
28+
rm -f main
29+
./revert-links.py

docs/conf.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
'sphinx_external_toc',
3737
'sphinx_copybutton',
3838
'myst_parser',
39+
'sphinxcontrib.mermaid'
3940
]
4041

4142
myst_enable_extensions = [
@@ -136,17 +137,20 @@ def get_file_from_url(url, fname):
136137
with open(fname, 'wb') as f:
137138
f.write(r.content)
138139

139-
def setup(app):
140-
if not os.path.exists('main'):
141-
os.symlink('..', 'main')
142-
prefix = '(../'
143-
newPath = '(./main/'
144-
with open('index.md', 'r') as f:
140+
def swap_prefix(file, old, new):
141+
with open(file, 'r') as f:
145142
lines = f.read()
146-
lines = lines.replace(prefix, newPath)
147-
with open('index.md', 'wt') as f:
143+
lines = lines.replace(old, new)
144+
with open(file, 'wt') as f:
148145
f.write(lines)
149146

147+
def setup(app):
148+
import shutil
149+
150+
# symlink does not work for ORFS because of long recursive file links
151+
shutil.copy('../README.md', 'mainREADME.md')
152+
swap_prefix('mainREADME.md', '```mermaid', '```{mermaid}\n:align: center\n')
153+
150154
url = 'https://raw.githubusercontent.com/The-OpenROAD-Project/OpenROAD/master/docs/contrib/GitGuide.md'
151155
get_file_from_url(url, 'contrib/GitGuide.md')
152156

docs/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ Learn more about the project at our website and our resources page
3737

3838
OpenROAD Flow is a full RTL-to-GDS flow built entirely on open-source tools.
3939
The project aims for automated, no-human-in-the-loop digital circuit design
40-
with 24-hour turnaround time.
40+
with 24-hour turnaround time. For more information, refer to our repository
41+
[README](mainREADME.md).
4142

4243
```{tip}
4344
See these [tips](user/FAQS.md#how-do-i-get-better-search-results) to help improve your search results.

docs/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ sphinx-autobuild
44
myst-parser
55
sphinx-book-theme
66
sphinx-copybutton
7+
sphinxcontrib-mermaid

docs/revert-links.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/usr/bin/env python3
2+
3+
def swap_prefix(file, old, new):
4+
with open(file, 'r') as f:
5+
lines = f.read()
6+
lines = lines.replace(old, new)
7+
with open(file, 'wt') as f:
8+
f.write(lines)
9+
10+
11+
swap_prefix('mainREADME.md', '```{mermaid}\n:align: center\n', '```mermaid')

flow/scripts/cts.tcl

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,8 @@ if { [info exists ::env(POST_CTS_TCL)] } {
125125
source $::env(POST_CTS_TCL)
126126
}
127127

128-
if {![info exists save_checkpoint] || $save_checkpoint} {
129-
if {[info exists ::env(GALLERY_REPORT)] && $::env(GALLERY_REPORT) != 0} {
130-
write_def $::env(RESULTS_DIR)/4_1_cts.def
131-
}
132-
write_db $::env(RESULTS_DIR)/4_1_cts.odb
133-
write_sdc -no_timestamp $::env(RESULTS_DIR)/4_cts.sdc
128+
if {[info exists ::env(GALLERY_REPORT)] && $::env(GALLERY_REPORT) != 0} {
129+
write_def $::env(RESULTS_DIR)/4_1_cts.def
134130
}
131+
write_db $::env(RESULTS_DIR)/4_1_cts.odb
132+
write_sdc -no_timestamp $::env(RESULTS_DIR)/4_cts.sdc

flow/scripts/detail_place.tcl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,4 @@ estimate_parasitics -placement
3434
source $::env(SCRIPTS_DIR)/report_metrics.tcl
3535
report_metrics 3 "detailed place" true false
3636

37-
if {![info exists save_checkpoint] || $save_checkpoint} {
38-
write_db $::env(RESULTS_DIR)/3_5_place_dp.odb
39-
}
37+
write_db $::env(RESULTS_DIR)/3_5_place_dp.odb

flow/scripts/detail_route.tcl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,4 @@ if { [info exists ::env(POST_DETAIL_ROUTE_TCL)] } {
7272
source $::env(POST_DETAIL_ROUTE_TCL)
7373
}
7474

75-
if {![info exists save_checkpoint] || $save_checkpoint} {
76-
write_db $::env(RESULTS_DIR)/5_3_route.odb
77-
}
75+
write_db $::env(RESULTS_DIR)/5_3_route.odb

0 commit comments

Comments
 (0)