Skip to content

Commit 0738b90

Browse files
authored
Merge pull request #3818 from AcKoucher/secure-mpl-optional-data-flow
add flow variable for data flow driven macro placement and update OR
2 parents f1015bb + b5a00bf commit 0738b90

4 files changed

Lines changed: 16 additions & 1 deletion

File tree

docs/user/FlowVariables.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ configuration file.
202202
| <a name="RTLMP_AREA_WT"></a>RTLMP_AREA_WT| Weight for the area of the current floorplan.| 0.1|
203203
| <a name="RTLMP_ARGS"></a>RTLMP_ARGS| Overrides all other RTL macro placer arguments.| |
204204
| <a name="RTLMP_BOUNDARY_WT"></a>RTLMP_BOUNDARY_WT| Weight for the boundary or how far the hard macro clusters are from boundaries.| 50.0|
205+
| <a name="RTLMP_DATA_FLOW_DRIVEN"></a>RTLMP_DATA_FLOW_DRIVEN| Specifies whether the macro placer should use data-flow driven macro placement. Data-flow driven works by adding a wire length component that takes into account the data paths of the design. This optional can increase run time significantly for large designs.| 1|
205206
| <a name="RTLMP_FENCE_LX"></a>RTLMP_FENCE_LX| Defines the lower left X coordinate for the global fence bounding box in microns.| 0.0|
206207
| <a name="RTLMP_FENCE_LY"></a>RTLMP_FENCE_LY| Defines the lower left Y coordinate for the global fence bounding box in microns.| 0.0|
207208
| <a name="RTLMP_FENCE_UX"></a>RTLMP_FENCE_UX| Defines the upper right X coordinate for the global fence bounding box in microns.| 0.0|
@@ -348,6 +349,7 @@ configuration file.
348349
- [RTLMP_AREA_WT](#RTLMP_AREA_WT)
349350
- [RTLMP_ARGS](#RTLMP_ARGS)
350351
- [RTLMP_BOUNDARY_WT](#RTLMP_BOUNDARY_WT)
352+
- [RTLMP_DATA_FLOW_DRIVEN](#RTLMP_DATA_FLOW_DRIVEN)
351353
- [RTLMP_FENCE_LX](#RTLMP_FENCE_LX)
352354
- [RTLMP_FENCE_LY](#RTLMP_FENCE_LY)
353355
- [RTLMP_FENCE_UX](#RTLMP_FENCE_UX)

flow/scripts/macro_place_util.tcl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ if { [find_macros] != "" } {
6060

6161
append additional_rtlmp_args " -target_util [place_density_with_lb_addon]"
6262

63+
if { $::env(RTLMP_DATA_FLOW_DRIVEN) } {
64+
append additional_rtlmp_args " -data_flow_driven"
65+
}
66+
6367
set all_args $additional_rtlmp_args
6468

6569
if { [env_var_exists_and_non_empty RTLMP_ARGS] } {

flow/scripts/variables.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,6 +1155,15 @@ RTLMP_FENCE_UY:
11551155
default: 0.0
11561156
stages:
11571157
- floorplan
1158+
RTLMP_DATA_FLOW_DRIVEN:
1159+
description: >
1160+
Specifies whether the macro placer should use data-flow driven macro placement.
1161+
Data-flow driven works by adding a wire length component that takes into account
1162+
the data paths of the design. This optional can increase run time significantly
1163+
for large designs.
1164+
default: 1
1165+
stages:
1166+
- floorplan
11581167
RTLMP_ARGS:
11591168
description: >
11601169
Overrides all other RTL macro placer arguments.

0 commit comments

Comments
 (0)