Skip to content

Commit 457959d

Browse files
committed
Merge branch 'master' into asap7-dont-use2
2 parents 2fb75fc + 9c88e25 commit 457959d

File tree

98 files changed

+5183
-1314
lines changed

Some content is hidden

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

98 files changed

+5183
-1314
lines changed

docs/user/FlowVariables.md

Lines changed: 5 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)
@@ -367,6 +371,7 @@ configuration file.
367371
- [PLACE_PINS_ARGS](#PLACE_PINS_ARGS)
368372
- [ROUTING_LAYER_ADJUSTMENT](#ROUTING_LAYER_ADJUSTMENT)
369373
- [SKIP_REPORT_METRICS](#SKIP_REPORT_METRICS)
374+
- [TNS_END_PERCENT](#TNS_END_PERCENT)
370375

371376
## cts variables
372377

flow/Makefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,9 @@ gui_$(1):
331331
$(2)=$(RESULTS_DIR)/$(1) $(OPENROAD_GUI_CMD) $(SCRIPTS_DIR)/open.tcl
332332
endef
333333

334+
# Enables "make gui_5_1_grt-failed"
335+
$(eval $(call OPEN_GUI_SHORTCUT,5_1_grt-failed,5_1_grt-failed.odb))
336+
334337
# Separate dependency checking and doing a step. This can
335338
# be useful to retest a stage without having to delete the
336339
# target, or when building a wafer thin layer on top of
@@ -463,6 +466,12 @@ $(eval $(call do-copy,3_place,2_floorplan.sdc,,.sdc))
463466
do-place:
464467
$(UNSET_AND_MAKE) do-3_1_place_gp_skip_io do-3_2_place_iop do-3_3_place_gp do-3_4_place_resized do-3_5_place_dp do-3_place do-3_place.sdc
465468

469+
# Custom repair_timing target after placement
470+
$(eval $(call do-step,3_6_place_repair_timing,$(RESULTS_DIR)/3_5_place_dp.odb $(RESULTS_DIR)/3_place.sdc,repair_timing_post_place))
471+
472+
.PHONY: place_repair_timing
473+
place_repair_timing: $(RESULTS_DIR)/3_6_place_repair_timing.odb
474+
466475
# Clean Targets
467476
#-------------------------------------------------------------------------------
468477
.PHONY: clean_place

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": -86.9,
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": -22.5,
44+
"compare": ">="
45+
},
3046
"globalroute__antenna_diodes_count": {
31-
"value": 0,
47+
"value": 100,
3248
"compare": "<="
3349
},
50+
"globalroute__timing__setup__ws": {
51+
"value": -76.0,
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": -22.5,
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": -22.5,
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": -22.5,
96+
"compare": ">="
6597
},
66-
"finish__timing__wns_percent_delay": {
67-
"value": -17.84,
98+
"finish__timing__setup__ws": {
99+
"value": -49.0,
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": -22.5,
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": -35.3,
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": -19.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": -38.4,
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": -19.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": -19.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": -19.0,
96+
"compare": ">="
6597
},
66-
"finish__timing__wns_percent_delay": {
67-
"value": -14.22,
98+
"finish__timing__setup__ws": {
99+
"value": -23.6,
100+
"compare": ">="
101+
},
102+
"finish__timing__setup__tns": {
103+
"value": -848.0,
104+
"compare": ">="
105+
},
106+
"finish__timing__hold__ws": {
107+
"value": -19.0,
68108
"compare": ">="
109+
},
110+
"finish__timing__hold__tns": {
111+
"value": -19.0,
112+
"compare": ">="
113+
},
114+
"finish__design__instance__area": {
115+
"value": 2254,
116+
"compare": "<="
69117
}
70118
}

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

Lines changed: 64 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,44 @@
2727
"value": 1704,
2828
"compare": "<="
2929
},
30+
"cts__timing__setup__ws": {
31+
"value": -26.1,
32+
"compare": ">="
33+
},
34+
"cts__timing__setup__tns": {
35+
"value": -793.0,
36+
"compare": ">="
37+
},
38+
"cts__timing__hold__ws": {
39+
"value": -19.0,
40+
"compare": ">="
41+
},
42+
"cts__timing__hold__tns": {
43+
"value": -19.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": -37.7,
52+
"compare": ">="
53+
},
54+
"globalroute__timing__setup__tns": {
55+
"value": -2160.0,
56+
"compare": ">="
57+
},
58+
"globalroute__timing__hold__ws": {
59+
"value": -19.0,
60+
"compare": ">="
61+
},
62+
"globalroute__timing__hold__tns": {
63+
"value": -19.0,
64+
"compare": ">="
65+
},
3466
"detailedroute__route__wirelength": {
35-
"value": 73373,
67+
"value": 72539,
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": -42.44,
82+
"detailedroute__timing__setup__ws": {
83+
"value": -19.0,
5284
"compare": ">="
5385
},
54-
"finish__design__instance__area": {
55-
"value": 2278,
56-
"compare": "<="
86+
"detailedroute__timing__setup__tns": {
87+
"value": -19.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": -19.0,
96+
"compare": ">="
97+
},
98+
"finish__timing__setup__ws": {
99+
"value": -25.3,
100+
"compare": ">="
101+
},
102+
"finish__timing__setup__tns": {
103+
"value": -693.0,
104+
"compare": ">="
105+
},
106+
"finish__timing__hold__ws": {
107+
"value": -19.0,
108+
"compare": ">="
65109
},
66-
"finish__timing__wns_percent_delay": {
67-
"value": -13.72,
110+
"finish__timing__hold__tns": {
111+
"value": -19.0,
68112
"compare": ">="
113+
},
114+
"finish__design__instance__area": {
115+
"value": 2278,
116+
"compare": "<="
69117
}
70118
}

0 commit comments

Comments
 (0)