diff --git a/docs/user/FlowVariables.md b/docs/user/FlowVariables.md
index efa579d686..0590eb8709 100644
--- a/docs/user/FlowVariables.md
+++ b/docs/user/FlowVariables.md
@@ -109,7 +109,8 @@ configuration file.
| CELL_PAD_IN_SITES_DETAIL_PLACEMENT| Cell padding on both sides in site widths to ease routability in detail placement.| 0|
| CELL_PAD_IN_SITES_GLOBAL_PLACEMENT| Cell padding on both sides in site widths to ease routability during global placement.| 0|
| CLKGATE_MAP_FILE| Optional mapping file supplied to Yosys to map clock gating cells| |
-| CLUSTER_FLOPS| Minimum number of flip-flops per sink cluster.| 0|
+| CLUSTER_FLOPS| Enable clustering of flip-flops into multi-bit flip-flops, if the platform PDK includes multi-bit flip-flops| 0|
+| CLUSTER_FLOPS_ARGS| Additional arguments passed to the cluster_flops command.| |
| CORE_AREA| The core area specified as a list of lower-left and upper-right corners in microns (X1 Y1 X2 Y2).| |
| CORE_ASPECT_RATIO| The core aspect ratio (height / width). This variable is only used when `CORE_UTILIZATION` is set.| 1.0|
| CORE_MARGIN| The margin between the core area and die area, specified in microns. Allowed values are either one value for all margins or a set of four values, one for each margin. The order of the four values are: `{bottom top left right}`. This variable is only used when `CORE_UTILIZATION` is set.| 1.0|
@@ -434,6 +435,7 @@ configuration file.
- [CELL_PAD_IN_SITES_DETAIL_PLACEMENT](#CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
- [CELL_PAD_IN_SITES_GLOBAL_PLACEMENT](#CELL_PAD_IN_SITES_GLOBAL_PLACEMENT)
- [CLUSTER_FLOPS](#CLUSTER_FLOPS)
+- [CLUSTER_FLOPS_ARGS](#CLUSTER_FLOPS_ARGS)
- [DETAIL_PLACEMENT_ARGS](#DETAIL_PLACEMENT_ARGS)
- [DONT_BUFFER_PORTS](#DONT_BUFFER_PORTS)
- [EARLY_SIZING_CAP_RATIO](#EARLY_SIZING_CAP_RATIO)
diff --git a/flow/scripts/global_place.tcl b/flow/scripts/global_place.tcl
index e97cd854ed..95c135e54a 100644
--- a/flow/scripts/global_place.tcl
+++ b/flow/scripts/global_place.tcl
@@ -68,8 +68,8 @@ if { $result != 0 } {
log_cmd estimate_parasitics -placement
-if { [env_var_exists_and_non_empty CLUSTER_FLOPS] } {
- cluster_flops {*}[env_var_or_empty CLUSTER_FLOPS_ARGS]
+if { $::env(CLUSTER_FLOPS) } {
+ log_cmd cluster_flops {*}[env_var_or_empty CLUSTER_FLOPS_ARGS]
log_cmd estimate_parasitics -placement
}
diff --git a/flow/scripts/variables.yaml b/flow/scripts/variables.yaml
index cf99a5fac5..dba1268e62 100644
--- a/flow/scripts/variables.yaml
+++ b/flow/scripts/variables.yaml
@@ -1001,10 +1001,17 @@ CTS_BUF_LIST:
- cts
CLUSTER_FLOPS:
description: >
- Minimum number of flip-flops per sink cluster.
+ Enable clustering of flip-flops into multi-bit flip-flops, if the platform
+ PDK includes multi-bit flip-flops
stages:
- place
default: 0
+CLUSTER_FLOPS_ARGS:
+ description: >
+ Additional arguments passed to the cluster_flops command.
+ stages:
+ - place
+ default: ""
CTS_CLUSTER_DIAMETER:
description: >
Maximum diameter (in microns) of sink cluster.