Skip to content

Commit d1165a8

Browse files
authored
Merge pull request #2567 from luarss/docs/flow-fixes
[Docs] FlowTutorial fixes
2 parents 4c627e7 + 76d5f91 commit d1165a8

File tree

1 file changed

+46
-13
lines changed

1 file changed

+46
-13
lines changed

docs/tutorials/FlowTutorial.md

Lines changed: 46 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -408,8 +408,13 @@ The log structure is as follows:
408408

409409
View design area and its core utilization:
410410

411-
```
411+
```shell
412412
make gui_final
413+
```
414+
415+
In the `Tcl Commands` section:
416+
417+
```tcl
413418
report_design_area
414419
```
415420

@@ -453,6 +458,8 @@ hierarchy refer to the OpenROAD [GUI](https://openroad.readthedocs.io/en/latest/
453458
Use the report command to view individual power components i.e.
454459
sequential, combinational, macro and power consumed by I/O pads.
455460

461+
In the `Tcl Commands` section:
462+
456463
```tcl
457464
report_power
458465
```
@@ -699,6 +706,11 @@ fixed DRC violation in the design:
699706

700707
```shell
701708
openroad -gui
709+
```
710+
711+
In the `Tcl Commands` section:
712+
713+
```tcl
702714
source drc_fix.tcl
703715
```
704716

@@ -718,7 +730,7 @@ to view Tcl Commands available. In OpenROAD GUI, at the bottom,
718730
`TCL commands` executable space is available to run the commands.
719731
For example
720732

721-
View `design area`:
733+
View `design area` in the `Tcl Commands` section of the GUI:
722734

723735
```tcl
724736
report_design_area
@@ -817,7 +829,7 @@ The `gcd` design synthesis results for area and speed optimizations are shown be
817829
|-----------------------|--------------------------------------|--------------------------------------|
818830
| `Number of wires` | 224 | 224 |
819831
| `Number of wire bits` | 270 | 270 |
820-
| `Number of cells` | 234 | 234 |
832+
[O| `Number of cells` | 234 | 234 |
821833
| `Chip area` | 2083.248000 | 2083.248000 |
822834
| `Final Design Area` | Design area 4295 u^2 6% utilization. | Design area 4074 u^2 6% utilization. |
823835

@@ -1085,6 +1097,11 @@ To check this in OpenROAD tool root directory:
10851097
```shell
10861098
cd ../tools/OpenROAD/src/ifp/test/
10871099
openroad
1100+
```
1101+
1102+
In the `Tcl Commands` section:
1103+
1104+
```tcl
10881105
source tiecells.tcl
10891106
```
10901107

@@ -1095,7 +1112,7 @@ AND2_X1 u2 (.A1(r1q), .A2(1'b0), .ZN(u2z0));
10951112
AND2_X1 u3 (.A1(u1z), .A2(1'b1), .ZN(u2z1));
10961113
```
10971114
With following `insert_tiecells` command:
1098-
```
1115+
```tcl
10991116
insert_tiecells LOGIC0_X1/Z -prefix "TIE_ZERO_"
11001117
insert_tiecells LOGIC1_X1/Z
11011118
```
@@ -1152,7 +1169,7 @@ Read the resulting macro placement with a complete core view:
11521169
##### Macro Placement With Halo Spacing
11531170

11541171
Explore macro placement with halo spacing, refer to the example
1155-
[here]((https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/src/mpl/test/).
1172+
[here](https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/src/mpl/test/).
11561173

11571174
Launch GUI by running the following command(s) in the terminal in OpenROAD tool root directory:
11581175
```shell
@@ -1208,7 +1225,7 @@ Change `CORE_UTILIZATION` and `PLACE_DENSITY` for the `ibex` design
12081225
View `ibex` design `config.mk`
12091226
[here](https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/master/flow/designs/sky130hd/ibex/config.mk).
12101227

1211-
```
1228+
```tcl
12121229
export CORE_UTILIZATION = 40
12131230
export PLACE_DENSITY_LB_ADDON = 0.1
12141231
```
@@ -1324,6 +1341,7 @@ corners.
13241341
Refer to the built-in example [here](https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/test/gcd_sky130hd_fast_slow.tcl).
13251342

13261343
Run the following commands in the terminal:
1344+
13271345
```shell
13281346
cd ../../test/
13291347
openroad
@@ -1332,12 +1350,15 @@ source gcd_sky130hd_fast_slow.tcl
13321350

13331351
The resulting `worst slack`, `TNS`:
13341352

1335-
```
1353+
```tcl
13361354
report_worst_slack -min -digits 3
1337-
worst slack 0.321
13381355
report_worst_slack -max -digits 3
1339-
worst slack -16.005
13401356
report_tns -digits 3
1357+
```
1358+
1359+
```
1360+
worst slack 0.321
1361+
worst slack -16.005
13411362
tns -529.496
13421363
```
13431364

@@ -1431,7 +1452,7 @@ Reduce the clock frequency by increasing the clock period to `0.9` and re-run
14311452
`repair_timing` to fix the setup violation warnings. Such timing violations
14321453
are automatically fixed by the `resizer` `post CTS` and `global routing.`
14331454

1434-
```yvl
1455+
```tcl
14351456
create_clock -period 0.9 clk
14361457
repair_timing -setup
14371458
```
@@ -1701,7 +1722,7 @@ Refer to the built-in examples [here](https://github.com/The-OpenROAD-Project/Op
17011722

17021723
Run these Tcl commands in the terminal in OpenROAD tool root directory:
17031724

1704-
```
1725+
```shell
17051726
cd ../tools/OpenROAD/src/cts/test/
17061727
openroad
17071728
source post_cts_opt.tcl
@@ -1765,7 +1786,7 @@ Filler cells removed with `remove_fillers` command.
17651786
### Global Routing
17661787

17671788
The global router analyzes available routing resources and automatically
1768-
allocates them to avoid any  H/V  overflow violations for optimal routing. 
1789+
allocates them to avoid any H/V overflow violations for optimal routing.
17691790
It generates a congestion report for GCells showing total resources, demand,
17701791
utilization, location and the H/V violation status. If there are no violations
17711792
reported then the design can proceed to detail routing.
@@ -1937,22 +1958,32 @@ design rules while obeying DRC constraints. It is driven by a json
19371958
configuration file.
19381959

19391960
Command used as follows:
1961+
19401962
```tcl
19411963
density_fill -rules <json_file> [-area <list of lx ly ux uy>]
19421964
```
1965+
19431966
If -area is not specified, the core area will be used.
19441967

19451968
To run metal fill post route, run the following:
1969+
19461970
```shell
19471971
cd flow/tutorials/scripts/metal_fill
19481972
openroad -gui
1973+
```
1974+
1975+
In the `Tcl Commands` section:
1976+
1977+
```tcl
19491978
source "helpers.tcl"
19501979
read_db ./5_route.odb
19511980
```
1981+
19521982
Layout before adding metal fill is as follows:
19531983
![Detail Routing](./images/sky130_gcd_route.webp)
19541984

19551985
To add metal fill, run the command:
1986+
19561987
```tcl
19571988
density_fill -rules ../../../platforms/sky130hd/fill.json
19581989
```
@@ -1980,7 +2011,8 @@ cd ../tools/OpenROAD/src/rcx/test/
19802011
openroad
19812012
```
19822013

1983-
To run parasitics for gcd design:
2014+
Run parasitics in the `Tcl Commands` section:
2015+
19842016
```tcl
19852017
source 45_gcd.tcl
19862018
```
@@ -2064,6 +2096,7 @@ In the GUI, you can go under `Heat Maps` and mark the
20642096
You can create a text file with the congestion information of the
20652097
GCells for further investigation on the GUI. To do that, add the
20662098
`-congestion_report_file file_name` to the `global_route` command, as shown below:
2099+
20672100
```tcl
20682101
global_route -guide_file out.guide -congestion_report_file congest.rpt
20692102
```

0 commit comments

Comments
 (0)