Skip to content

Commit 0dfc147

Browse files
committed
merge master
Signed-off-by: LucasYuki <[email protected]>
2 parents da4c32c + b14dd6d commit 0dfc147

File tree

127 files changed

+5482
-56598
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+5482
-56598
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
1-
21
version: 2
32
updates:
43
- package-ecosystem: "github-actions"
54
directory: "/"
65
schedule:
76
interval: "daily"
8-
- package-ecosystem: "gitsubmodule"
9-
directory: "/"
10-
schedule:
11-
interval: "daily"
12-
ignore:
13-
- dependency-name: "abc"
14-
update-types: ["version-update:semver-major"]

docs/user/FlowVariables.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ configuration file.
241241
| <a name="SYNTH_NETLIST_FILES"></a>SYNTH_NETLIST_FILES| Skips synthesis and uses the supplied netlist files. If the netlist files contains duplicate modules, which can happen when using hierarchical synthesis on indvidual netlist files and combining here, subsequent modules are silently ignored and only the first module is used.| |
242242
| <a name="SYNTH_OPT_HIER"></a>SYNTH_OPT_HIER| Optimize constants across hierarchical boundaries.| |
243243
| <a name="SYNTH_RETIME_MODULES"></a>SYNTH_RETIME_MODULES| *This is an experimental option and may cause adverse effects.* *No effort has been made to check if the retimed RTL is logically equivalent to the non-retimed RTL.* List of modules to apply automatic retiming to. These modules must not get dissolved and as such they should either be the top module or be included in SYNTH_KEEP_MODULES. The main use case is to quickly identify if performance can be improved by manually retiming the input RTL. Retiming will treat module ports like register endpoints/startpoints. The objective function of retiming isn't informed by SDC, even the clock period is ignored. As such, retiming will optimize for best delay at potentially high register number cost. Automatic retiming can produce suboptimal results as its timing model is crude and it doesn't find the optimal distribution of registers on long pipelines. See OR discussion #8080.| |
244+
| <a name="SYNTH_WRAPPED_ADDERS"></a>SYNTH_WRAPPED_ADDERS| Specify the adder modules that can be used for synthesis, separated by commas. The default adder module is determined by the first element of this variable.| |
245+
| <a name="SYNTH_WRAPPED_MULTIPLIERS"></a>SYNTH_WRAPPED_MULTIPLIERS| Specify the multiplier modules that can be used for synthesis, separated by commas. The default multiplier module is determined by the first element of this variable.| |
244246
| <a name="SYNTH_WRAPPED_OPERATORS"></a>SYNTH_WRAPPED_OPERATORS| Synthesize multiple architectural options for each arithmetic operator in the design. These options are available for switching among in later stages of the flow.| |
245247
| <a name="TAPCELL_TCL"></a>TAPCELL_TCL| Path to Endcap and Welltie cells file.| |
246248
| <a name="TAP_CELL_NAME"></a>TAP_CELL_NAME| Name of the cell to use in tap cell insertion.| |
@@ -278,6 +280,8 @@ configuration file.
278280
- [SYNTH_NETLIST_FILES](#SYNTH_NETLIST_FILES)
279281
- [SYNTH_OPT_HIER](#SYNTH_OPT_HIER)
280282
- [SYNTH_RETIME_MODULES](#SYNTH_RETIME_MODULES)
283+
- [SYNTH_WRAPPED_ADDERS](#SYNTH_WRAPPED_ADDERS)
284+
- [SYNTH_WRAPPED_MULTIPLIERS](#SYNTH_WRAPPED_MULTIPLIERS)
281285
- [TIEHI_CELL_AND_PORT](#TIEHI_CELL_AND_PORT)
282286
- [TIELO_CELL_AND_PORT](#TIELO_CELL_AND_PORT)
283287
- [VERILOG_DEFINES](#VERILOG_DEFINES)

flow/Makefile

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
# DESIGN_CONFIG=./designs/asap7/ibex/config.mk
5959
# DESIGN_CONFIG=./designs/asap7/jpeg/config.mk
6060
# DESIGN_CONFIG=./designs/asap7/megaboom/config.mk
61-
# DESIGN_CONFIG=./designs/asap7/mock-array/config.mk
6261
# DESIGN_CONFIG=./designs/asap7/riscv32i/config.mk
6362
# DESIGN_CONFIG=./designs/asap7/swerv_wrapper/config.mk
6463
# DESIGN_CONFIG=./designs/asap7/uart/config.mk
@@ -331,6 +330,9 @@ gui_$(1):
331330
$(2)=$(RESULTS_DIR)/$(1) $(OPENROAD_GUI_CMD) $(SCRIPTS_DIR)/open.tcl
332331
endef
333332

333+
# Enables "make gui_5_1_grt-failed"
334+
$(eval $(call OPEN_GUI_SHORTCUT,5_1_grt-failed,5_1_grt-failed.odb))
335+
334336
# Separate dependency checking and doing a step. This can
335337
# be useful to retest a stage without having to delete the
336338
# target, or when building a wafer thin layer on top of
@@ -390,6 +392,17 @@ do-$(1)$(if $(4),$(4),):
390392
cp $(RESULTS_DIR)/$(2) $(RESULTS_DIR)/$(1)$(if $(4),$(4),.odb)
391393
endef
392394

395+
# ==============================================================================
396+
397+
# Custom target to go from synthesis to placement in a single OpenROAD run
398+
$(eval $(call do-step,1_3_floorplan_to_place, $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc,floorplan_to_place))
399+
400+
.PHONY: floorplan_to_place
401+
floorplan_to_place: $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc
402+
$(UNSET_AND_MAKE) do-1_3_floorplan_to_place
403+
404+
# ==============================================================================
405+
393406
$(eval $(call do-step,1_3_synth,$(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc,synth_odb))
394407

395408
$(eval $(call do-step,2_1_floorplan,$(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(TECH_LEF) $(SC_LEF) $(ADDITIONAL_LEFS) $(FOOTPRINT) $(SIG_MAP_FILE) $(FOOTPRINT_TCL) $(LIB_FILES) $(IO_CONSTRAINTS),floorplan))

flow/designs/asap7/aes-block/rules-base.json

Lines changed: 68 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,63 @@
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 7229,
11+
"value": 7216,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 10666,
15+
"value": 10646,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
1919
"value": 0,
2020
"compare": "=="
2121
},
2222
"cts__design__instance__count__setup_buffer": {
23-
"value": 928,
23+
"value": 926,
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 1367,
27+
"value": 926,
2828
"compare": "<="
2929
},
30+
"cts__timing__setup__ws": {
31+
"value": -105.0,
32+
"compare": ">="
33+
},
34+
"cts__timing__setup__tns": {
35+
"value": -6680.0,
36+
"compare": ">="
37+
},
38+
"cts__timing__hold__ws": {
39+
"value": -22.5,
40+
"compare": ">="
41+
},
42+
"cts__timing__hold__tns": {
43+
"value": -90.0,
44+
"compare": ">="
45+
},
3046
"globalroute__antenna_diodes_count": {
31-
"value": 0,
47+
"value": 100,
3248
"compare": "<="
3349
},
50+
"globalroute__timing__setup__ws": {
51+
"value": -94.9,
52+
"compare": ">="
53+
},
54+
"globalroute__timing__setup__tns": {
55+
"value": -5740.0,
56+
"compare": ">="
57+
},
58+
"globalroute__timing__hold__ws": {
59+
"value": -22.5,
60+
"compare": ">="
61+
},
62+
"globalroute__timing__hold__tns": {
63+
"value": -90.0,
64+
"compare": ">="
65+
},
3466
"detailedroute__route__wirelength": {
35-
"value": 57659,
67+
"value": 57271,
3668
"compare": "<="
3769
},
3870
"detailedroute__route__drc_errors": {
@@ -44,27 +76,43 @@
4476
"compare": "<="
4577
},
4678
"detailedroute__antenna_diodes_count": {
47-
"value": 5,
79+
"value": 100,
4880
"compare": "<="
4981
},
50-
"finish__timing__setup__ws": {
51-
"value": -65.46,
82+
"detailedroute__timing__setup__ws": {
83+
"value": -22.5,
5284
"compare": ">="
5385
},
54-
"finish__design__instance__area": {
55-
"value": 7348,
56-
"compare": "<="
86+
"detailedroute__timing__setup__tns": {
87+
"value": -90.0,
88+
"compare": ">="
5789
},
58-
"finish__timing__drv__setup_violation_count": {
59-
"value": 464,
60-
"compare": "<="
90+
"detailedroute__timing__hold__ws": {
91+
"value": -22.5,
92+
"compare": ">="
6193
},
62-
"finish__timing__drv__hold_violation_count": {
63-
"value": 100,
64-
"compare": "<="
94+
"detailedroute__timing__hold__tns": {
95+
"value": -90.0,
96+
"compare": ">="
6597
},
66-
"finish__timing__wns_percent_delay": {
67-
"value": -17.84,
98+
"finish__timing__setup__ws": {
99+
"value": -69.2,
68100
"compare": ">="
101+
},
102+
"finish__timing__setup__tns": {
103+
"value": -2520.0,
104+
"compare": ">="
105+
},
106+
"finish__timing__hold__ws": {
107+
"value": -22.5,
108+
"compare": ">="
109+
},
110+
"finish__timing__hold__tns": {
111+
"value": -90.0,
112+
"compare": ">="
113+
},
114+
"finish__design__instance__area": {
115+
"value": 7332,
116+
"compare": "<="
69117
}
70118
}

flow/designs/asap7/aes-mbff/rules-base.json

Lines changed: 65 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 2177,
11+
"value": 2156,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
@@ -27,12 +27,44 @@
2727
"value": 1704,
2828
"compare": "<="
2929
},
30+
"cts__timing__setup__ws": {
31+
"value": -52.6,
32+
"compare": ">="
33+
},
34+
"cts__timing__setup__tns": {
35+
"value": -865.0,
36+
"compare": ">="
37+
},
38+
"cts__timing__hold__ws": {
39+
"value": -19.0,
40+
"compare": ">="
41+
},
42+
"cts__timing__hold__tns": {
43+
"value": -76.0,
44+
"compare": ">="
45+
},
3046
"globalroute__antenna_diodes_count": {
31-
"value": 0,
47+
"value": 100,
3248
"compare": "<="
3349
},
50+
"globalroute__timing__setup__ws": {
51+
"value": -55.5,
52+
"compare": ">="
53+
},
54+
"globalroute__timing__setup__tns": {
55+
"value": -2340.0,
56+
"compare": ">="
57+
},
58+
"globalroute__timing__hold__ws": {
59+
"value": -19.0,
60+
"compare": ">="
61+
},
62+
"globalroute__timing__hold__tns": {
63+
"value": -76.0,
64+
"compare": ">="
65+
},
3466
"detailedroute__route__wirelength": {
35-
"value": 74683,
67+
"value": 74169,
3668
"compare": "<="
3769
},
3870
"detailedroute__route__drc_errors": {
@@ -44,27 +76,43 @@
4476
"compare": "<="
4577
},
4678
"detailedroute__antenna_diodes_count": {
47-
"value": 5,
79+
"value": 100,
4880
"compare": "<="
4981
},
50-
"finish__timing__setup__ws": {
51-
"value": -35.3,
82+
"detailedroute__timing__setup__ws": {
83+
"value": -19.0,
5284
"compare": ">="
5385
},
54-
"finish__design__instance__area": {
55-
"value": 2272,
56-
"compare": "<="
86+
"detailedroute__timing__setup__tns": {
87+
"value": -76.0,
88+
"compare": ">="
5789
},
58-
"finish__timing__drv__setup_violation_count": {
59-
"value": 852,
60-
"compare": "<="
90+
"detailedroute__timing__hold__ws": {
91+
"value": -19.0,
92+
"compare": ">="
6193
},
62-
"finish__timing__drv__hold_violation_count": {
63-
"value": 100,
64-
"compare": "<="
94+
"detailedroute__timing__hold__tns": {
95+
"value": -76.0,
96+
"compare": ">="
6597
},
66-
"finish__timing__wns_percent_delay": {
67-
"value": -14.22,
98+
"finish__timing__setup__ws": {
99+
"value": -41.5,
68100
"compare": ">="
101+
},
102+
"finish__timing__setup__tns": {
103+
"value": -848.0,
104+
"compare": ">="
105+
},
106+
"finish__timing__hold__ws": {
107+
"value": -19.0,
108+
"compare": ">="
109+
},
110+
"finish__timing__hold__tns": {
111+
"value": -76.0,
112+
"compare": ">="
113+
},
114+
"finish__design__instance__area": {
115+
"value": 2254,
116+
"compare": "<="
69117
}
70118
}

0 commit comments

Comments
 (0)