Skip to content

Commit e186bba

Browse files
authored
Merge pull request #4143 from The-OpenROAD-Project-staging/update-cluster-flops-check
updated cluster_flops enablement check
2 parents 4776c3e + 567f1df commit e186bba

3 files changed

Lines changed: 13 additions & 4 deletions

File tree

docs/user/FlowVariables.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ configuration file.
109109
| <a name="CELL_PAD_IN_SITES_DETAIL_PLACEMENT"></a>CELL_PAD_IN_SITES_DETAIL_PLACEMENT| Cell padding on both sides in site widths to ease routability in detail placement.| 0|
110110
| <a name="CELL_PAD_IN_SITES_GLOBAL_PLACEMENT"></a>CELL_PAD_IN_SITES_GLOBAL_PLACEMENT| Cell padding on both sides in site widths to ease routability during global placement.| 0|
111111
| <a name="CLKGATE_MAP_FILE"></a>CLKGATE_MAP_FILE| Optional mapping file supplied to Yosys to map clock gating cells| |
112-
| <a name="CLUSTER_FLOPS"></a>CLUSTER_FLOPS| Minimum number of flip-flops per sink cluster.| 0|
112+
| <a name="CLUSTER_FLOPS"></a>CLUSTER_FLOPS| Enable clustering of flip-flops into multi-bit flip-flops, if the platform PDK includes multi-bit flip-flops| 0|
113+
| <a name="CLUSTER_FLOPS_ARGS"></a>CLUSTER_FLOPS_ARGS| Additional arguments passed to the cluster_flops command.| |
113114
| <a name="CORE_AREA"></a>CORE_AREA| The core area specified as a list of lower-left and upper-right corners in microns (X1 Y1 X2 Y2).| |
114115
| <a name="CORE_ASPECT_RATIO"></a>CORE_ASPECT_RATIO| The core aspect ratio (height / width). This variable is only used when `CORE_UTILIZATION` is set.| 1.0|
115116
| <a name="CORE_MARGIN"></a>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.
434435
- [CELL_PAD_IN_SITES_DETAIL_PLACEMENT](#CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
435436
- [CELL_PAD_IN_SITES_GLOBAL_PLACEMENT](#CELL_PAD_IN_SITES_GLOBAL_PLACEMENT)
436437
- [CLUSTER_FLOPS](#CLUSTER_FLOPS)
438+
- [CLUSTER_FLOPS_ARGS](#CLUSTER_FLOPS_ARGS)
437439
- [DETAIL_PLACEMENT_ARGS](#DETAIL_PLACEMENT_ARGS)
438440
- [DONT_BUFFER_PORTS](#DONT_BUFFER_PORTS)
439441
- [EARLY_SIZING_CAP_RATIO](#EARLY_SIZING_CAP_RATIO)

flow/scripts/global_place.tcl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ if { $result != 0 } {
6868

6969
log_cmd estimate_parasitics -placement
7070

71-
if { [env_var_exists_and_non_empty CLUSTER_FLOPS] } {
72-
cluster_flops {*}[env_var_or_empty CLUSTER_FLOPS_ARGS]
71+
if { $::env(CLUSTER_FLOPS) } {
72+
log_cmd cluster_flops {*}[env_var_or_empty CLUSTER_FLOPS_ARGS]
7373
log_cmd estimate_parasitics -placement
7474
}
7575

flow/scripts/variables.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1001,10 +1001,17 @@ CTS_BUF_LIST:
10011001
- cts
10021002
CLUSTER_FLOPS:
10031003
description: >
1004-
Minimum number of flip-flops per sink cluster.
1004+
Enable clustering of flip-flops into multi-bit flip-flops, if the platform
1005+
PDK includes multi-bit flip-flops
10051006
stages:
10061007
- place
10071008
default: 0
1009+
CLUSTER_FLOPS_ARGS:
1010+
description: >
1011+
Additional arguments passed to the cluster_flops command.
1012+
stages:
1013+
- place
1014+
default: ""
10081015
CTS_CLUSTER_DIAMETER:
10091016
description: >
10101017
Maximum diameter (in microns) of sink cluster.

0 commit comments

Comments
 (0)