Skip to content

Commit f53fbce

Browse files
authored
Merge pull request #3182 from mguthaus/master
Add variable for move sequence selection.
2 parents 7fcc190 + 5af6310 commit f53fbce

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

docs/user/FlowVariables.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ configuration file.
172172
| <a name="SDC_FILE"></a>SDC_FILE| The path to design constraint (SDC) file.| | |
173173
| <a name="SDC_GUT"></a>SDC_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.| | |
174174
| <a name="SEAL_GDS"></a>SEAL_GDS| Seal macro to place around the design.| | |
175+
| <a name="SETUP_REPAIR_SEQUENCE"></a>SETUP_REPAIR_SEQUENCE| Specifies the sequence of moves to do in repair_timing -setup. This should be a string of move keywords separated by commas such as the default when not used: "unbuffer,sizedown,sizeup,swap,buffer,clone,split".| | |
175176
| <a name="SETUP_SLACK_MARGIN"></a>SETUP_SLACK_MARGIN| Specifies a time margin for the slack when fixing setup violations. This option allows you to overfix or underfix(negative value, terminate retiming before 0 or positive slack). See HOLD_SLACK_MARGIN for more details.| 0| |
176177
| <a name="SET_RC_TCL"></a>SET_RC_TCL| Metal & Via RC definition file path.| | |
177178
| <a name="SKIP_CTS_REPAIR_TIMING"></a>SKIP_CTS_REPAIR_TIMING| Skipping CTS repair, which can take a long time, can be useful in architectural exploration or when getting CI up and running.| | |
@@ -278,6 +279,7 @@ configuration file.
278279
- [RTLMP_RPT_DIR](#RTLMP_RPT_DIR)
279280
- [RTLMP_SIGNATURE_NET_THRESHOLD](#RTLMP_SIGNATURE_NET_THRESHOLD)
280281
- [RTLMP_WIRELENGTH_WT](#RTLMP_WIRELENGTH_WT)
282+
- [SETUP_REPAIR_SEQUENCE](#SETUP_REPAIR_SEQUENCE)
281283
- [SETUP_SLACK_MARGIN](#SETUP_SLACK_MARGIN)
282284
- [SKIP_GATE_CLONING](#SKIP_GATE_CLONING)
283285
- [SKIP_LAST_GASP](#SKIP_LAST_GASP)
@@ -324,6 +326,7 @@ configuration file.
324326
- [POST_CTS_TCL](#POST_CTS_TCL)
325327
- [REMOVE_CELLS_FOR_EQY](#REMOVE_CELLS_FOR_EQY)
326328
- [REPORT_CLOCK_SKEW](#REPORT_CLOCK_SKEW)
329+
- [SETUP_REPAIR_SEQUENCE](#SETUP_REPAIR_SEQUENCE)
327330
- [SETUP_SLACK_MARGIN](#SETUP_SLACK_MARGIN)
328331
- [SKIP_CTS_REPAIR_TIMING](#SKIP_CTS_REPAIR_TIMING)
329332
- [SKIP_GATE_CLONING](#SKIP_GATE_CLONING)
@@ -342,6 +345,7 @@ configuration file.
342345
- [MIN_ROUTING_LAYER](#MIN_ROUTING_LAYER)
343346
- [REPORT_CLOCK_SKEW](#REPORT_CLOCK_SKEW)
344347
- [ROUTING_LAYER_ADJUSTMENT](#ROUTING_LAYER_ADJUSTMENT)
348+
- [SETUP_REPAIR_SEQUENCE](#SETUP_REPAIR_SEQUENCE)
345349
- [SETUP_SLACK_MARGIN](#SETUP_SLACK_MARGIN)
346350
- [SKIP_GATE_CLONING](#SKIP_GATE_CLONING)
347351
- [SKIP_INCREMENTAL_REPAIR](#SKIP_INCREMENTAL_REPAIR)

flow/scripts/util.tcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ proc repair_timing_helper { {hold_margin 1} } {
2828
if {$hold_margin || $::env(HOLD_SLACK_MARGIN) < 0} {
2929
append_env_var additional_args HOLD_SLACK_MARGIN -hold_margin 1
3030
}
31+
append_env_var additional_args SETUP_MOVE_SEQUENCE -sequence 1
3132
append_env_var additional_args TNS_END_PERCENT -repair_tns 1
3233
append_env_var additional_args SKIP_PIN_SWAP -skip_pin_swap 0
3334
append_env_var additional_args SKIP_GATE_CLONING -skip_gate_cloning 0

flow/scripts/variables.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,15 @@ SETUP_SLACK_MARGIN:
487487
- floorplan
488488
- grt
489489
default: 0
490+
SETUP_REPAIR_SEQUENCE:
491+
description: |
492+
Specifies the sequence of moves to do in repair_timing -setup. This should be a string
493+
of move keywords separated by commas such as the default when not used:
494+
"unbuffer,sizedown,sizeup,swap,buffer,clone,split".
495+
stages:
496+
- cts
497+
- floorplan
498+
- grt
490499
SKIP_GATE_CLONING:
491500
description: >
492501
Do not use gate cloning transform to fix timing violations (default: use

0 commit comments

Comments
 (0)