Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/user/FlowVariables.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ configuration file.
| <a name="CTS_CLUSTER_SIZE"></a>CTS_CLUSTER_SIZE| Maximum number of sinks per cluster.| |
| <a name="CTS_LIB_NAME"></a>CTS_LIB_NAME| Name of the Liberty library to use in selecting the clock buffers.| |
| <a name="CTS_SNAPSHOTS"></a>CTS_SNAPSHOTS| Create ODB/SDC files at different stages of CTS.| 0|
| <a name="CTS_USEFUL_SKEW"></a>CTS_USEFUL_SKEW| Enable useful skew during the CTS balancing phase.| 0|
| <a name="DESIGN_NAME"></a>DESIGN_NAME| The name of the top-level module of the design.| |
| <a name="DESIGN_NICKNAME"></a>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.| |
| <a name="DETAILED_METRICS"></a>DETAILED_METRICS| If set, then calls report_metrics prior to repair operations in the CTS and global route stages| 0|
Expand Down Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion flow/scripts/cts.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The newly introduced environment variable CTS_USEFUL_SKEW is not defined in flow/scripts/variables.json. All environment variables used in the flow scripts must be declared in variables.json (or variables.yaml) to ensure they are properly documented, typed, and validated within the OpenROAD Flow Scripts environment.


if { [env_var_exists_and_non_empty CTS_ARGS] } {
set cts_args $::env(CTS_ARGS)
Expand Down
7 changes: 7 additions & 0 deletions flow/scripts/variables.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 6 additions & 0 deletions flow/scripts/variables.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down