diff --git a/docs/user/FlowVariables.md b/docs/user/FlowVariables.md index 0df148d71d..e8671ef2dd 100644 --- a/docs/user/FlowVariables.md +++ b/docs/user/FlowVariables.md @@ -131,6 +131,7 @@ configuration file. | CTS_CLUSTER_SIZE| Maximum number of sinks per cluster.| | | CTS_LIB_NAME| Name of the Liberty library to use in selecting the clock buffers.| | | CTS_SNAPSHOTS| Create ODB/SDC files at different stages of CTS.| 0| +| CTS_USEFUL_SKEW| Enable useful skew during the CTS balancing phase.| 0| | DESIGN_NAME| The name of the top-level module of the design.| | | DESIGN_NICKNAME| DESIGN_NICKNAME just changes the directory name that ORFS outputs to be DESIGN_NICKNAME instead of DESIGN_NAME in case DESIGN_NAME is unwieldy or conflicts with a different design.| | | DETAILED_METRICS| If set, then calls report_metrics prior to repair operations in the CTS and global route stages| 0| @@ -543,6 +544,7 @@ configuration file. - [CTS_CLUSTER_SIZE](#CTS_CLUSTER_SIZE) - [CTS_LIB_NAME](#CTS_LIB_NAME) - [CTS_SNAPSHOTS](#CTS_SNAPSHOTS) +- [CTS_USEFUL_SKEW](#CTS_USEFUL_SKEW) - [DETAILED_METRICS](#DETAILED_METRICS) - [DETAIL_PLACEMENT_ARGS](#DETAIL_PLACEMENT_ARGS) - [HOLD_SLACK_MARGIN](#HOLD_SLACK_MARGIN) diff --git a/flow/scripts/cts.tcl b/flow/scripts/cts.tcl index 7439569d12..87b9b12dad 100644 --- a/flow/scripts/cts.tcl +++ b/flow/scripts/cts.tcl @@ -25,7 +25,7 @@ append_env_var cts_args CTS_CLUSTER_SIZE -sink_clustering_size 1 append_env_var cts_args CTS_CLUSTER_DIAMETER -sink_clustering_max_diameter 1 append_env_var cts_args CTS_BUF_LIST -buf_list 1 append_env_var cts_args CTS_LIB_NAME -library 1 - +append_env_var cts_args CTS_USEFUL_SKEW -useful_skew 0 if { [env_var_exists_and_non_empty CTS_ARGS] } { set cts_args $::env(CTS_ARGS) diff --git a/flow/scripts/variables.json b/flow/scripts/variables.json index 8bebf70c48..ac7257f733 100644 --- a/flow/scripts/variables.json +++ b/flow/scripts/variables.json @@ -257,6 +257,13 @@ "cts" ] }, + "CTS_USEFUL_SKEW": { + "default": 0, + "description": "Enable useful skew during the CTS balancing phase.\n", + "stages": [ + "cts" + ] + }, "DESIGN_NAME": { "description": "The name of the top-level module of the design.\n", "required": true diff --git a/flow/scripts/variables.yaml b/flow/scripts/variables.yaml index ac9d582494..63b8d031ed 100644 --- a/flow/scripts/variables.yaml +++ b/flow/scripts/variables.yaml @@ -1276,6 +1276,12 @@ CTS_LIB_NAME: Name of the Liberty library to use in selecting the clock buffers. stages: - cts +CTS_USEFUL_SKEW: + description: | + Enable useful skew during the CTS balancing phase. + stages: + - cts + default: 0 POST_CTS_TCL: description: | Specifies a Tcl script with commands to run after CTS is completed.