mirror of
https://github.com/The-OpenROAD-Project/OpenLane.git
synced 2026-05-29 00:23:55 +08:00
Move CI designs to a separate repository (#1867)
~ Move test designs to a separate repository and add it as a submodule. ~ Adjust test set to refer to designs in submodule. ~ Change design_dir in `run_tests.py` for artifact upload in the CI. ~ Fix fail condition on design name mismatch in `compare_regression_reports.py` ~ Print a better error message for design name mismatch mentioned previously. ~ Change regression benchmark to point reflect submodule change. ~ Change documentation to reflect new paths of designs. + Add aes_user_project_wrapper to ci designs to test EXTRA_SPEFS. + Add a step in CI workflow to replace `/` with `_` in design name for artifact upload.
This commit is contained in:
@@ -16,7 +16,7 @@ Keep in mind that these designs are not ready for production and are just used t
|
||||
Let us create the design. The following command will create a directory `design/mem_1r1w/` and one file `config.json` that will be mostly empty.
|
||||
|
||||
```
|
||||
./flow.tcl -design mem_1r1w -init_design_config -add_to_designs
|
||||
./flow.tcl -design ./designs/ci/mem_1r1w -init_design_config -add_to_designs
|
||||
```
|
||||
|
||||
One of the common mistakes people make is copying existing designs,
|
||||
@@ -76,7 +76,7 @@ Finally, run OpenLane. `flow.tcl` is the entry point for OpenLane.
|
||||
The command needs to be run from inside the environment of OpenLane as described in quickstart.
|
||||
|
||||
```
|
||||
./flow.tcl -design mem_1r1w -tag full_guide -overwrite
|
||||
./flow.tcl -design ./designs/ci/mem_1r1w -tag full_guide -overwrite
|
||||
```
|
||||
|
||||
### Analyzing the flow-generated files
|
||||
@@ -84,7 +84,7 @@ The command needs to be run from inside the environment of OpenLane as described
|
||||
You can open the interactive view using the following commands:
|
||||
|
||||
```
|
||||
./flow.tcl -design mem_1r1w -tag full_guide -interactive
|
||||
./flow.tcl -design ./designs/ci/mem_1r1w -tag full_guide -interactive
|
||||
package require openlane
|
||||
or_gui
|
||||
```
|
||||
|
||||
@@ -9,7 +9,7 @@ This guide covers the RTL-to-GDS flow using [OpenRAM](https://openram.org/) cell
|
||||
Create a new design using the following command:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -init_design_config -add_to_designs
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -init_design_config -add_to_designs
|
||||
```
|
||||
|
||||
## Create the Verilog files
|
||||
@@ -108,7 +108,7 @@ The instance names need to be fetched from the synthesis netlist.
|
||||
For this purpose run the design until the synthesis stage using the following command:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag synthesis_only -to synthesis -overwrite
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag synthesis_only -to synthesis -overwrite
|
||||
```
|
||||
|
||||
Open the following file `designs/test_sram_macro/runs/synthesis_only/results/synthesis/test_sram_macro.v`.
|
||||
@@ -148,13 +148,13 @@ If these configuration is missing then power/ground will not be connected.
|
||||
Try removing the parameter and running:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag full_guide_pdn_macrohooks -overwrite
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag full_guide_pdn_macrohooks -overwrite
|
||||
```
|
||||
|
||||
Open an interactive session:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag full_guide_pdn_macrohooks -interactive
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag full_guide_pdn_macrohooks -interactive
|
||||
package require openlane
|
||||
set_def designs/test_sram_macro/runs/full_guide_pdn_macrohooks/results/final/def/test_sram_macro.def
|
||||
or_gui
|
||||
@@ -172,7 +172,7 @@ Notice that the PDN straps are not connected to ring of SRAM:
|
||||
Run the flow until the floorplanning stage:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag floorplan -overwrite -to floorplan
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag floorplan -overwrite -to floorplan
|
||||
```
|
||||
|
||||
You will get the following output:
|
||||
@@ -187,7 +187,7 @@ You will get the following output:
|
||||
To view the output of the floorplan stage, run the following command:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag floorplan -interactive
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag floorplan -interactive
|
||||
package require openlane
|
||||
set_def designs/test_sram_macro/runs/floorplan/results/floorplan/test_sram_macro.def
|
||||
or_gui
|
||||
@@ -263,13 +263,13 @@ Next, modify the `config.json` to reference this file.
|
||||
```
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag floorplan_v2 -overwrite -to floorplan
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag floorplan_v2 -overwrite -to floorplan
|
||||
```
|
||||
|
||||
To view the output of the floorplan stage, run the following command:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag floorplan_v2 -interactive
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag floorplan_v2 -interactive
|
||||
package require openlane
|
||||
set_def designs/test_sram_macro/runs/floorplan_v2/results/floorplan/test_sram_macro.def
|
||||
or_gui
|
||||
@@ -416,13 +416,13 @@ Final `config.json` looks like this:
|
||||
Finally, harden the macroblock by running the following command:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag full_guide -overwrite
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag full_guide -overwrite
|
||||
```
|
||||
|
||||
To view the output of the floorplan stage, run the following command:
|
||||
|
||||
```
|
||||
./flow.tcl -design test_sram_macro -tag full_guide -interactive
|
||||
./flow.tcl -design ./designs/ci/test_sram_macro -tag full_guide -interactive
|
||||
package require openlane
|
||||
set_def designs/test_sram_macro/runs/full_guide/results/final/def/test_sram_macro.def
|
||||
or_gui
|
||||
|
||||
Reference in New Issue
Block a user