Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/msaligane/Big-DoE-OpenROAD
Framework to launch massive number of synthesis and apr runs and collect data out of the log files. The data can be then used for modeling (ML, etc..)
https://github.com/msaligane/Big-DoE-OpenROAD
Last synced: 2 months ago
JSON representation
Framework to launch massive number of synthesis and apr runs and collect data out of the log files. The data can be then used for modeling (ML, etc..)
- Host: GitHub
- URL: https://github.com/msaligane/Big-DoE-OpenROAD
- Owner: msaligane
- License: bsd-3-clause
- Created: 2021-01-26T17:03:17.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-03-10T01:58:48.000Z (almost 2 years ago)
- Last Synced: 2024-08-03T17:10:43.012Z (6 months ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 390 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-opensource-hardware - big-doe-openroad
README
# Big-DoE-OpenROAD
The run_design.py script executes the following steps:
1. Modify the deisgn and platform config files to set different core utilization, clock period, place density, etc.
2. Create NUM_PROCESS different Makefiles.
3. Start NUM_PROCESS jobs.
4. Collect results/logs/reports/objects/designs folders, the pdn.cfg and the config.mk files in a data folder.Currently, the run_design.py can use LHS method to generate random data points, and the following parameters can be swept using the script.
```
CLK_PERIOD - constraint.sdc in designs
CORE_UTILIZATION - config.mk in designs
ASPECT_RATIO - config.mk in designs
PLACE_DENSITY - config.mk in designs
GP_PAD - config.mk in platforms
DP_PAD - config.mk in platforms
FLATTEN - synth.tcl in scripts
ABC_CLOCK_PERIOD - synth.tcl in scripts
PINS_DISTANCE - io_placement.tcl in scripts
CTS_CLUSTER_SIZE - cts.tcl in scripts
CTS_CLUSTER_DIAMETER - cts.tcl in scripts
LAYER_ADJUST - fastroute.tcl in platforms
GR_OVERFLOW - fastroute.tcl in platforms
```Different adjustment values can be applied to separate layers in **LHS_ATTRS** in the following way:
```
"LAYER_ADJUST": ['uniform', 0.1, 0.7], - default range
"LAYER_ADJUST_met1": ['uniform', 0.2, 0.4], - range for met1 only
"LAYER_ADJUST_met2": ['uniform', 0.5, 0.6], - range for met2 only
```The genMetrics_bigDoE.py script extracts tns/wns/power values from designs' reports swept by run_design.py. The Big-DOE-plots.ipynb is used to plot figures/distributions within Jupyter Notebook.
A clean_doe taget is added at the end of the Makefile to delete files/folders from the previous runs
```
clean_doe:
rm -rf ./data
rm -rf ./designs/*/*parallel*
rm -rf ./*/process*
rm -f Makefile_process*
rm -rf ./doe_reports
rm -f ./platforms/sky130hd/config_*
rm -f ./platforms/sky130hs/config_*
rm -f ./platforms/sky130hs/fastroute_*
rm -f ./platforms/sky130hd/fastroute_*
rm -f $(SCRIPTS_DIR)/cts_*.tcl $(SCRIPTS_DIR)/synth_*.tcl $(SCRIPTS_DIR)/global_route_*.tcl
rm -f doe.log
```