Skip to content

Commit bd308c0

Browse files
committed
Merge remote-tracking branch 'private/master' into secure-gpl-avoid-td-during-rd
2 parents b214ae3 + 970e473 commit bd308c0

File tree

18 files changed

+245
-53
lines changed

18 files changed

+245
-53
lines changed

docs/user/FlowVariables.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ configuration file.
181181
| <a name="SYNTH_ARGS"></a>SYNTH_ARGS| Optional synthesis variables for yosys.| -flatten| |
182182
| <a name="SYNTH_GUT"></a>SYNTH_GUT| Load design and remove all internal logic before doing synthesis. This is useful when creating a mock .lef abstract that has a smaller area than the amount of logic would allow. bazel-orfs uses this to mock SRAMs, for instance.| | |
183183
| <a name="SYNTH_HIERARCHICAL"></a>SYNTH_HIERARCHICAL| Enable to Synthesis hierarchically, otherwise considered flat synthesis.| 0| |
184+
| <a name="SYNTH_MEMORY_MAX_BITS"></a>SYNTH_MEMORY_MAX_BITS| Maximum number of bits for memory synthesis.| 4096| |
184185
| <a name="TAPCELL_TCL"></a>TAPCELL_TCL| Path to Endcap and Welltie cells file.| | |
185186
| <a name="TAP_CELL_NAME"></a>TAP_CELL_NAME| Name of the cell to use in tap cell insertion.| | |
186187
| <a name="TECH_LEF"></a>TECH_LEF| A technology LEF file of the PDK that includes all relevant information regarding metal layers, vias, and spacing requirements.| | |
@@ -209,6 +210,7 @@ configuration file.
209210
- [SDC_GUT](#SDC_GUT)
210211
- [SYNTH_GUT](#SYNTH_GUT)
211212
- [SYNTH_HIERARCHICAL](#SYNTH_HIERARCHICAL)
213+
- [SYNTH_MEMORY_MAX_BITS](#SYNTH_MEMORY_MAX_BITS)
212214
- [TIEHI_CELL_AND_PORT](#TIEHI_CELL_AND_PORT)
213215
- [TIELO_CELL_AND_PORT](#TIELO_CELL_AND_PORT)
214216
- [VERILOG_FILES](#VERILOG_FILES)

docs/user/InstructionsForAutoTuner.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,19 @@ python3 -m autotuner.distributed --design gcd --platform sky130hd \
145145
sweep
146146
```
147147

148+
#### Plot images
149+
150+
After running an AutoTuner experiment, you can generate a graph to understand the results better.
151+
The graph will show the progression of one metric (see list below) over the execution of the experiment.
152+
153+
- QoR
154+
- Runtime per trial
155+
- Clock Period
156+
- Worst slack
157+
158+
```shell
159+
python3 utils/plot.py --results_dir <your-autotuner-result-path>
160+
```
148161

149162
### Google Cloud Platform (GCP) distribution with Ray
150163

flow/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,6 @@ memory:
431431
#-------------------------------------------------------------------------------
432432

433433
export SYNTH_SCRIPT ?= $(SCRIPTS_DIR)/synth.tcl
434-
export SYNTH_MEMORY_MAX_BITS ?= 4096
435434
export SDC_FILE_CLOCK_PERIOD = $(RESULTS_DIR)/clock_period.txt
436435

437436
$(SDC_FILE_CLOCK_PERIOD): $(SDC_FILE)

flow/designs/ihp-sg13g2/aes/autotuner.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,6 @@
2424
],
2525
"step": 0
2626
},
27-
"CORE_MARGIN": {
28-
"type": "int",
29-
"minmax": [
30-
2,
31-
2
32-
],
33-
"step": 0
34-
},
3527
"CELL_PAD_IN_SITES_GLOBAL_PLACEMENT": {
3628
"type": "int",
3729
"minmax": [

flow/designs/ihp-sg13g2/gcd/autotuner.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,6 @@
2424
],
2525
"step": 0
2626
},
27-
"CORE_MARGIN": {
28-
"type": "int",
29-
"minmax": [
30-
2,
31-
2
32-
],
33-
"step": 0
34-
},
3527
"CELL_PAD_IN_SITES_GLOBAL_PLACEMENT": {
3628
"type": "int",
3729
"minmax": [

flow/designs/ihp-sg13g2/ibex/autotuner.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,6 @@
2424
],
2525
"step": 0
2626
},
27-
"CORE_MARGIN": {
28-
"type": "int",
29-
"minmax": [
30-
2,
31-
2
32-
],
33-
"step": 0
34-
},
3527
"CELL_PAD_IN_SITES_GLOBAL_PLACEMENT": {
3628
"type": "int",
3729
"minmax": [

flow/designs/ihp-sg13g2/spi/autotuner.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,6 @@
2424
],
2525
"step": 0
2626
},
27-
"CORE_MARGIN": {
28-
"type": "int",
29-
"minmax": [
30-
2,
31-
2
32-
],
33-
"step": 0
34-
},
3527
"CELL_PAD_IN_SITES_GLOBAL_PLACEMENT": {
3628
"type": "int",
3729
"minmax": [

flow/designs/sky130hd/microwatt/config.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,5 @@ export FASTROUTE_TCL = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/fastroute.t
3636

3737
# This is high, some SRAMs should probably be converted
3838
# to real SRAMs and not instantiated as flops
39-
export SYNTH_MEMORY_MAX_BITS ?= 42000
39+
export SYNTH_MEMORY_MAX_BITS = 42000
4040

flow/scripts/variables.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,12 @@ SYNTH_HIERARCHICAL:
161161
stages:
162162
- synth
163163
default: 0
164+
SYNTH_MEMORY_MAX_BITS:
165+
description: >
166+
Maximum number of bits for memory synthesis.
167+
default: 4096
168+
stages:
169+
- synth
164170
LATCH_MAP_FILE:
165171
description: |
166172
List of latches treated as a black box by Yosys.

flow/test/test_autotuner.sh

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,6 @@ cd ../
88
./tools/AutoTuner/installer.sh
99
. ./tools/AutoTuner/setup.sh
1010

11-
# remove dashes and capitalize platform name
12-
PLATFORM=${PLATFORM//-/}
13-
# convert to uppercase
14-
PLATFORM=${PLATFORM^^}
15-
1611
echo "Running Autotuner smoke tune test"
1712
python3 -m unittest tools.AutoTuner.test.smoke_test_tune.${PLATFORM}TuneSmokeTest.test_tune
1813

@@ -30,4 +25,14 @@ if [ "$PLATFORM" == "asap7" ] && [ "$DESIGN_NAME" == "gcd" ]; then
3025
python3 -m unittest tools.AutoTuner.test.resume_check.ResumeCheck.test_tune_resume
3126
fi
3227

28+
echo "Running Autotuner plotting smoke test"
29+
all_experiments=$(ls -d ./flow/logs/${PLATFORM}/${DESIGN_NAME}/smoke-test-tune*)
30+
all_experiments=$(basename -a $all_experiments)
31+
for expt in $all_experiments; do
32+
python3 tools/AutoTuner/src/autotuner/utils/plot.py \
33+
--platform ${PLATFORM} \
34+
--design ${DESIGN_NAME} \
35+
--experiment $expt
36+
done
37+
3338
exit $ret

0 commit comments

Comments
 (0)