Skip to content

Commit e4ffba6

Browse files
committed
[DOC] Update references to mpw-one-b
1 parent 3cff2aa commit e4ffba6

File tree

3 files changed

+29
-23
lines changed

3 files changed

+29
-23
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Then, you can learn more about the caravel chip by watching these video:
5151
- Caravel User Project Features -- https://youtu.be/zJhnmilXGPo
5252
- Aboard Caravel -- How to put your design on Caravel? -- https://youtu.be/9QV8SDelURk
5353
- Things to Clarify About Caravel -- What versions to use with Caravel? -- https://youtu.be/-LZ522mxXMw
54-
- You could only use openlane:rc5
54+
- You could only use openlane:rc6
5555
- Make sure you have the commit hashes provided here inside the [Makefile](./Makefile)
5656
## Aboard Caravel:
5757

@@ -61,7 +61,7 @@ If you will use OpenLANE to harden your design, go through the instructions in t
6161

6262
You must copy your synthesized gate-level-netlist for `user_project_wrapper` to `verilog/gl/` and overwrite `user_project_wrapper.v`. Otherwise, you can point to it in [info.yaml](info.yaml).
6363

64-
> Note: If you're using openlane to harden your design, you should find the synthesized gate-level-netlist here: `openlane/user_project_wrapper/runs/user_project_wrapper/results/synthesis/user_project_wrapper.synthesis.v`.
64+
> Note: If you're using openlane to harden your design, this should happen automatically.
6565
6666
Then, you will need to put your design aboard the Caravel chip. Make sure you have the following:
6767

@@ -86,7 +86,7 @@ To use the magic installed inside Openlane to complete the final GDS streaming o
8686
```bash
8787
export PDK_ROOT=<The location where the pdk is installed>
8888
export OPENLANE_ROOT=<the absolute path to the openlane directory cloned or to be cloned>
89-
export IMAGE_NAME=<the openlane image name installed on your machine. Preferably openlane:rc5>
89+
export IMAGE_NAME=<the openlane image name installed on your machine. Preferably openlane:rc6>
9090
export CARAVEL_PATH=$(pwd)
9191
```
9292

@@ -141,4 +141,4 @@ The firmware running on the Management Area SoC, configures the I/O pads used by
141141
3. Configure the User Project I/O pads as o/p. Use the Chip LA to control the clock source and reset signals and observe the counter value for five clock cylcles: [LA_Test2](verilog/dv/caravel/user_proj_example/la_test2).
142142

143143
[0]: openlane/README.md
144-
[1]: mpw-one-a.md
144+
[1]: mpw-one-b.md

mpw-one-a.md renamed to mpw-one-b.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,18 @@ make timing
3838

3939
## open_pdks:
4040

41-
Please stick to the [mpw-one-a](https://github.com/RTimothyEdwards/open_pdks/tree/mpw-one-a) tag.
41+
Please stick to the [1.0.85](https://github.com/RTimothyEdwards/open_pdks/tree/1.0.85) tag.
4242
```
43-
git clone https://github.com/RTimothyEdwards/open_pdks.git -b mpw-one-a
43+
git clone https://github.com/RTimothyEdwards/open_pdks.git -b 1.0.85
4444
```
4545

4646
## OpenLane:
4747

48-
Please stick to the [mpw-one-a](https://github.com/efabless/openlane/tree/mpw-one-a) tag.
48+
Please stick to the [mpw-one-b](https://github.com/efabless/openlane/tree/mpw-one-b) tag.
4949
```
50-
git clone https://github.com/efabless/openlane.git -b mpw-one-a
50+
git clone https://github.com/efabless/openlane.git -b mpw-one-b
5151
```
52-
Note that the `mpw-one-a` tag is equivalent to the `rc5` tag. Also, note that
52+
Note that the `mpw-one-b` tag is equivalent to the `rc6` tag. Also, note that
5353
running `make` inside the openlane directory will automatically grab the right
5454
versions of `open_pdks` and `skywater-pdk` as listed above and install them to
5555
PDK_ROOT.
@@ -64,9 +64,9 @@ make
6464

6565
## Caravel:
6666

67-
Please stick to the `mpw-one-a` tag.
67+
Please stick to the `mpw-one-b` tag.
6868
```
69-
git clone https://github.com/efabless/caravel.git -b mpw-one-a
69+
git clone https://github.com/efabless/caravel.git -b mpw-one-b
7070
```
7171

7272
## Open_mpw_precheck:

openlane/README.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ export OPENLANE_ROOT=<the absolute path to the openlane directory cloned or to b
2727

2828
**NOTE:** rc6 and caravel are still WIP so expect to run into some issues when using it.
2929

30-
If you don't have openlane already, then you can get it from [here](https://github.com/efabless/openlane) and checkout out to `develop`. Alternatively, you can clone and build openlane through:
30+
If you don't have openlane already, then you can get it from [here](https://github.com/efabless/openlane). Alternatively, you can clone and build openlane through:
3131
```bash
3232
make openlane
3333
```
3434

3535
**NOTE:** We are developing caravel using openlane:rc6 which is the current master branch.
3636

37-
**NOTE:** rc6 (current openlane develop) and rc4 (previous openlane master) are using two different concepts of cell padding. rc4 is modifying the LEF, while rc6 is relying on openroad to handle the cell padding. Also, rc4 is using the standalone version of openDP while rc6 is using the one integrated in the openroad app. This affects the concept of PL_TARGET_DENSITY and while in rc4 it was preferred to have PL_TARGET_DENSITY=(FP_CORE_UTIL-(5\~10)/100). Now, in rc6 it is preferred to be PL_TARGET_DENSITY=(FP_CORE_UTIL+(1\~5)/100).
37+
**NOTE:** rc6 (current openlane master) and rc4 (previous openlane master) are using two different concepts of cell padding. rc4 is modifying the LEF, while rc6 is relying on openroad to handle the cell padding. Also, rc4 is using the standalone version of openDP while rc6 is using the one integrated in the openroad app. This affects the concept of PL_TARGET_DENSITY and while in rc4 it was preferred to have PL_TARGET_DENSITY=(FP_CORE_UTIL-(5\~10)/100). Now, in rc6 it is preferred to be PL_TARGET_DENSITY=(FP_CORE_UTIL+(1\~5)/100).
3838
FP_CORE_UTIL should be relaxed as well as it became more representative of the actual core utilization, which wasn't so much the case earlier. So, the perception of these two variables as well as CELL_PAD changed between rc4 and rc6 which necessitates a change in the configurations of almost every single design.
3939
CELL_PAD should be 4~6 for the skywater libraries in rc6 unlike rc4 which was 8.
4040

@@ -100,21 +100,27 @@ set ::env(EXTRA_GDS_FILES) "\
100100
```
101101
**NOTE:** Don't change the size or the pin order!
102102

103-
3. If your design has standard cells then you need to replace `verilog_elaborate` with `run_synthesis` [here](./user_project_wrapper/interactive.tcl).
104-
105-
4. If your design has standard cells then you need to replace `init_floorplan; place_io_ol;` with `run_floorplan` [here](./user_project_wrapper/interactive.tcl).
106-
107-
5. If your design has standard cells then add `run_placement` after `manual_macro_placement f` [here](./user_project_wrapper/interactive.tcl).
103+
3. If your design has standard cells then you need to modify the configuration file [here](./user_project_wrapper/config.tcl) to remove or change these configs accordingly:
104+
```tcl
105+
# The following is because there are no std cells in the example wrapper project.
106+
set ::env(SYNTH_TOP_LEVEL) 1
107+
set ::env(PL_RANDOM_GLB_PLACEMENT) 1
108+
set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 0
109+
set ::env(DIODE_INSERTION_STRATEGY) 0
110+
set ::env(FILL_INSERTION) 0
111+
set ::env(TAP_DECAP_INSERTION) 0
112+
set ::env(CLOCK_TREE_SYNTH) 0
113+
```
108114

109-
6. Remove this line `add_macro_placement mprj 1150 1700 N` from the interactive script [here](./user_project_wrapper/interactive.tcl) and replace it with the placement for your macro instances. Or, remove it entirely if you have no macros, along with this line `manual_macro_placement f`.
115+
4. Remove this line `set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro.cfg` from the configuration file [here](./user_project_wrapper/config.tcl) entirely if you have no macros. Alternatively, if you do have macros inside your design, then control their placement by modifying [this file](./user_project_wrapper/macro.cfg)
110116

111-
7. Run your design through the flow: `make user_project_wrapper`
117+
5. Run your design through the flow: `make user_project_wrapper`
112118

113-
8. You may want to take a look at the [Extra Pointers](#extra-pointers) to apply any necessary changes to the interactive script.
119+
6. You may want to take a look at the [Extra Pointers](#extra-pointers) to apply any necessary changes to the interactive script.
114120

115-
8. Re-iterate until you have what you want.
121+
7. Re-iterate until you have what you want.
116122

117-
9. Go back to the main [README.md](../README.md) and continue the process of boarding the chip.
123+
8. Go back to the main [README.md](../README.md) and continue the process of boarding the chip.
118124

119125
**NOTE:** In both cases you might have other macros inside your design. In which case, you may need to have some special power configurations. This is covered [here](https://github.com/efabless/openlane/blob/master/doc/hardening_macros.md#power-grid-pdn).
120126

0 commit comments

Comments
 (0)