Skip to content

Commit 6114fbb

Browse files
authored
Merge pull request #4252 from eder-matheus/place_repair_timing
add variable to enable repair_timing post global placement
2 parents 748bb11 + 286e15e commit 6114fbb

19 files changed

Lines changed: 43 additions & 78 deletions

File tree

docs/user/FlowVariables.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ configuration file.
143143
| <a name="DPO_MAX_DISPLACEMENT"></a>DPO_MAX_DISPLACEMENT| Specifies how far an instance can be moved when optimizing.| 5 1|
144144
| <a name="EARLY_SIZING_CAP_RATIO"></a>EARLY_SIZING_CAP_RATIO| Ratio between the input pin capacitance and the output pin load during initial gate sizing.| |
145145
| <a name="ENABLE_DPO"></a>ENABLE_DPO| Enable detail placement with improve_placement feature.| 1|
146+
| <a name="ENABLE_PLACE_REPAIR_TIMING"></a>ENABLE_PLACE_REPAIR_TIMING| Run repair_timing during the placement resize stage using placement parasitics. Disabled by default; pre-CTS setup/hold repair is skipped unless this is set to 1.| 0|
146147
| <a name="ENABLE_RESISTANCE_AWARE"></a>ENABLE_RESISTANCE_AWARE| Passed as -resistance_aware to global_route.| |
147148
| <a name="FASTROUTE_TCL"></a>FASTROUTE_TCL| Specifies a Tcl script with commands to run before FastRoute.| |
148149
| <a name="FILL_CELLS"></a>FILL_CELLS| Fill cells are used to fill empty sites. If not set or empty, fill cell insertion is skipped.| |
@@ -216,7 +217,6 @@ configuration file.
216217
| <a name="POST_IO_PLACEMENT_TCL"></a>POST_IO_PLACEMENT_TCL| Specifies a Tcl script with commands to run after IO placement.| |
217218
| <a name="POST_MACRO_PLACE_TCL"></a>POST_MACRO_PLACE_TCL| Specifies a Tcl script with commands to run after macro placement.| |
218219
| <a name="POST_PDN_TCL"></a>POST_PDN_TCL| Specifies a Tcl script with commands to run after PDN generation.| |
219-
| <a name="POST_REPAIR_TIMING_POST_PLACE_TCL"></a>POST_REPAIR_TIMING_POST_PLACE_TCL| Specifies a Tcl script with commands to run after post-place timing repair.| |
220220
| <a name="POST_RESIZE_TCL"></a>POST_RESIZE_TCL| Specifies a Tcl script with commands to run after resize.| |
221221
| <a name="POST_SYNTH_TCL"></a>POST_SYNTH_TCL| Specifies a Tcl script with commands to run after synthesis ODB generation.| |
222222
| <a name="POST_TAPCELL_TCL"></a>POST_TAPCELL_TCL| Specifies a Tcl script with commands to run after tapcell.| |
@@ -233,7 +233,6 @@ configuration file.
233233
| <a name="PRE_IO_PLACEMENT_TCL"></a>PRE_IO_PLACEMENT_TCL| Specifies a Tcl script with commands to run before IO placement.| |
234234
| <a name="PRE_MACRO_PLACE_TCL"></a>PRE_MACRO_PLACE_TCL| Specifies a Tcl script with commands to run before macro placement.| |
235235
| <a name="PRE_PDN_TCL"></a>PRE_PDN_TCL| Specifies a Tcl script with commands to run before PDN generation.| |
236-
| <a name="PRE_REPAIR_TIMING_POST_PLACE_TCL"></a>PRE_REPAIR_TIMING_POST_PLACE_TCL| Specifies a Tcl script with commands to run before post-place timing repair.| |
237236
| <a name="PRE_RESIZE_TCL"></a>PRE_RESIZE_TCL| Specifies a Tcl script with commands to run before resize.| |
238237
| <a name="PRE_SYNTH_TCL"></a>PRE_SYNTH_TCL| Specifies a Tcl script with commands to run before synthesis ODB generation.| |
239238
| <a name="PRE_TAPCELL_TCL"></a>PRE_TAPCELL_TCL| Specifies a Tcl script with commands to run before tapcell.| |
@@ -465,6 +464,7 @@ configuration file.
465464
- [DETAIL_PLACEMENT_ARGS](#DETAIL_PLACEMENT_ARGS)
466465
- [DONT_BUFFER_PORTS](#DONT_BUFFER_PORTS)
467466
- [EARLY_SIZING_CAP_RATIO](#EARLY_SIZING_CAP_RATIO)
467+
- [ENABLE_PLACE_REPAIR_TIMING](#ENABLE_PLACE_REPAIR_TIMING)
468468
- [FLOORPLAN_DEF](#FLOORPLAN_DEF)
469469
- [GLOBAL_PLACEMENT_ARGS](#GLOBAL_PLACEMENT_ARGS)
470470
- [GPL_KEEP_OVERFLOW](#GPL_KEEP_OVERFLOW)
@@ -485,13 +485,11 @@ configuration file.
485485
- [POST_GLOBAL_PLACE_SKIP_IO_TCL](#POST_GLOBAL_PLACE_SKIP_IO_TCL)
486486
- [POST_GLOBAL_PLACE_TCL](#POST_GLOBAL_PLACE_TCL)
487487
- [POST_IO_PLACEMENT_TCL](#POST_IO_PLACEMENT_TCL)
488-
- [POST_REPAIR_TIMING_POST_PLACE_TCL](#POST_REPAIR_TIMING_POST_PLACE_TCL)
489488
- [POST_RESIZE_TCL](#POST_RESIZE_TCL)
490489
- [PRE_DETAIL_PLACE_TCL](#PRE_DETAIL_PLACE_TCL)
491490
- [PRE_GLOBAL_PLACE_SKIP_IO_TCL](#PRE_GLOBAL_PLACE_SKIP_IO_TCL)
492491
- [PRE_GLOBAL_PLACE_TCL](#PRE_GLOBAL_PLACE_TCL)
493492
- [PRE_IO_PLACEMENT_TCL](#PRE_IO_PLACEMENT_TCL)
494-
- [PRE_REPAIR_TIMING_POST_PLACE_TCL](#PRE_REPAIR_TIMING_POST_PLACE_TCL)
495493
- [PRE_RESIZE_TCL](#PRE_RESIZE_TCL)
496494
- [ROUTING_LAYER_ADJUSTMENT](#ROUTING_LAYER_ADJUSTMENT)
497495
- [SKIP_REPORT_METRICS](#SKIP_REPORT_METRICS)

flow/Makefile

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -479,12 +479,6 @@ $(eval $(call do-copy,3_place,2_floorplan.sdc,,.sdc))
479479
do-place:
480480
$(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
481481

482-
# Custom repair_timing target after placement
483-
$(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))
484-
485-
.PHONY: place_repair_timing
486-
place_repair_timing: $(RESULTS_DIR)/3_6_place_repair_timing.odb
487-
488482
# Clean Targets
489483
#-------------------------------------------------------------------------------
490484
.PHONY: clean_place

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
"compare": ">="
6363
},
6464
"globalroute__timing__setup__tns": {
65-
"value": -1790.0,
65+
"value": -1900.0,
6666
"compare": ">="
6767
},
6868
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
9494
"compare": ">="
9595
},
9696
"finish__timing__setup__tns": {
97-
"value": -1430.0,
97+
"value": -1590.0,
9898
"compare": ">="
9999
},
100100
"finish__timing__hold__ws": {

flow/designs/asap7/gcd-ccs/rules-base.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"synth__canonical_netlist__hash": {
3-
"value": "7250dc152c2381ac020b86c78a5191b1c336244b",
3+
"value": "9b1daddbf16520e983085be7f06a02bc2fc2e27a",
44
"compare": "==",
55
"level": "warning"
66
},
77
"synth__netlist__hash": {
8-
"value": "a954b979a1a0eff89ed870fa50d202847b6807bf",
8+
"value": "2d3fbf9f1b7357c0cadb1e193d984ae458d68fa8",
99
"compare": "==",
1010
"level": "warning"
1111
},

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"compare": ">="
4343
},
4444
"cts__timing__setup__tns": {
45-
"value": -1630.0,
45+
"value": -7160.0,
4646
"compare": ">="
4747
},
4848
"cts__timing__hold__ws": {

flow/designs/asap7/mock-alu/rules-base.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"compare": ">="
4343
},
4444
"cts__timing__setup__tns": {
45-
"value": -17800.0,
45+
"value": -17900.0,
4646
"compare": ">="
4747
},
4848
"cts__timing__hold__ws": {
@@ -90,11 +90,11 @@
9090
"compare": "<="
9191
},
9292
"finish__timing__setup__ws": {
93-
"value": -285.0,
93+
"value": -300.0,
9494
"compare": ">="
9595
},
9696
"finish__timing__setup__tns": {
97-
"value": -18400.0,
97+
"value": -20200.0,
9898
"compare": ">="
9999
},
100100
"finish__timing__hold__ws": {

flow/designs/asap7/riscv32i-mock-sram/rules-base.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"synth__canonical_netlist__hash": {
3-
"value": "58bf274dad2592154068ebaf8f3893ccf8b388fa",
3+
"value": "787d6a4946b12ba374364f9b9de6770296d04729",
44
"compare": "==",
55
"level": "warning"
66
},

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
"compare": ">="
9595
},
9696
"finish__timing__setup__tns": {
97-
"value": -190.0,
97+
"value": -6740.0,
9898
"compare": ">="
9999
},
100100
"finish__timing__hold__ws": {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"compare": ">="
4343
},
4444
"cts__timing__setup__tns": {
45-
"value": -1190.0,
45+
"value": -1480.0,
4646
"compare": ">="
4747
},
4848
"cts__timing__hold__ws": {
@@ -94,7 +94,7 @@
9494
"compare": ">="
9595
},
9696
"finish__timing__setup__tns": {
97-
"value": -1230.0,
97+
"value": -1310.0,
9898
"compare": ">="
9999
},
100100
"finish__timing__hold__ws": {

flow/designs/gf180/aes-hybrid/rules-base.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"compare": ">="
4343
},
4444
"cts__timing__setup__tns": {
45-
"value": -117.0,
45+
"value": -123.0,
4646
"compare": ">="
4747
},
4848
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
6262
"compare": ">="
6363
},
6464
"globalroute__timing__setup__tns": {
65-
"value": -136.0,
65+
"value": -139.0,
6666
"compare": ">="
6767
},
6868
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
9494
"compare": ">="
9595
},
9696
"finish__timing__setup__tns": {
97-
"value": -130.0,
97+
"value": -133.0,
9898
"compare": ">="
9999
},
100100
"finish__timing__hold__ws": {

0 commit comments

Comments
 (0)