Skip to content

Commit

Permalink
Merge pull request #2733 from AcKoucher/secure-remove-macro-place-cha…
Browse files Browse the repository at this point in the history
…nnel

remove MACRO_PLACE_CHANNEL
  • Loading branch information
eder-matheus authored Jan 29, 2025
2 parents 97497e0 + 912d736 commit d846560
Showing 34 changed files with 11 additions and 55 deletions.
2 changes: 0 additions & 2 deletions docs/user/FlowVariables.md
Original file line number Diff line number Diff line change
@@ -116,7 +116,6 @@ configuration file.
| <a name="MACRO_HALO_Y"></a>MACRO_HALO_Y| Set macro halo for y-direction. Only available for ASAP7 PDK.| | |
| <a name="MACRO_PLACEMENT"></a>MACRO_PLACEMENT| Specifies the path of a file on how to place certain macros manually using read_macro_placement.| | |
| <a name="MACRO_PLACEMENT_TCL"></a>MACRO_PLACEMENT_TCL| Specifies the path of a TCL file on how to place certain macros manually.| | |
| <a name="MACRO_PLACE_CHANNEL"></a>MACRO_PLACE_CHANNEL| Horizontal/vertical channel width between macros (microns). Used by automatic macro placement. Imagine channel=10 and halo=5. Then macros must be 10 apart but standard cells must be 5 away from a macro.| | |
| <a name="MACRO_PLACE_HALO"></a>MACRO_PLACE_HALO| Horizontal/vertical halo around macros (microns). Used by automatic macro placement.| | |
| <a name="MACRO_WRAPPERS"></a>MACRO_WRAPPERS| The wrapper file that replaces existing macros with their wrapped version.| | |
| <a name="MAKE_TRACKS"></a>MAKE_TRACKS| Tcl file that defines add routing tracks to a floorplan.| | |
@@ -230,7 +229,6 @@ configuration file.
- [MACRO_HALO_Y](#MACRO_HALO_Y)
- [MACRO_PLACEMENT](#MACRO_PLACEMENT)
- [MACRO_PLACEMENT_TCL](#MACRO_PLACEMENT_TCL)
- [MACRO_PLACE_CHANNEL](#MACRO_PLACE_CHANNEL)
- [MACRO_PLACE_HALO](#MACRO_PLACE_HALO)
- [MACRO_WRAPPERS](#MACRO_WRAPPERS)
- [MAKE_TRACKS](#MAKE_TRACKS)
5 changes: 2 additions & 3 deletions flow/designs/asap7/riscv32i/config.mk
Original file line number Diff line number Diff line change
@@ -25,7 +25,6 @@ export CORE_AREA = 5 5 75 85
export PLACE_DENSITY_LB_ADDON = 0.10

export PLACE_PINS_ARGS = -exclude left:* -exclude right:* -exclude top:*
export MACRO_PLACE_HALO = 1 1
export MACRO_PLACE_CHANNEL = 6 6
#
export MACRO_PLACE_HALO = 2 2

export TNS_END_PERCENT = 100
2 changes: 0 additions & 2 deletions flow/designs/gf12/ariane/config.mk
Original file line number Diff line number Diff line change
@@ -25,8 +25,6 @@ export PLACE_DENSITY ?= 0.50
export PLACE_PINS_ARGS = -exclude left:0-150 -exclude left:450-600 -exclude right:* -exclude top:* -exclude bottom:*

export MACRO_PLACE_HALO = 7 7
export MACRO_PLACE_CHANNEL = 14 14

export MACRO_WRAPPERS = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/wrappers.tcl

ifeq ($(USE_FILL),1)
3 changes: 0 additions & 3 deletions flow/designs/gf12/ariane133/config.mk
Original file line number Diff line number Diff line change
@@ -4,8 +4,6 @@ export PLATFORM = gf12

export SYNTH_HIERARCHICAL = 1
export MAX_UNGROUP_SIZE ?= 10000
#
# RTL_MP Settings

export VERILOG_FILES = $(PLATFORM_DIR)/ariane133/ariane.v

@@ -22,7 +20,6 @@ export CORE_AREA = 5 5 895 745
export PLACE_PINS_ARGS = -exclude left:0-200 -exclude left:500-700 -exclude right:* -exclude top:* -exclude bottom:*

export MACRO_PLACE_HALO = 7 7
export MACRO_PLACE_CHANNEL = 14 14

export PLACE_DENSITY_LB_ADDON = 0.05

4 changes: 1 addition & 3 deletions flow/designs/gf12/bp_dual/config.mk
Original file line number Diff line number Diff line change
@@ -65,6 +65,4 @@ export MACRO_WRAPPERS = $(PLATFORM_DIR)/bp/wrappers/wrappers.tcl

export PDN_TCL = $(PLATFORM_DIR)/cfg/pdn_grid_strategy_13m_9T.top.tcl

# Define macro halo and channel spacings
export MACRO_PLACE_HALO = 7 7
export MACRO_PLACE_CHANNEL = 14 14
export MACRO_PLACE_HALO = 7 7
2 changes: 0 additions & 2 deletions flow/designs/gf12/bp_quad/config.mk
Original file line number Diff line number Diff line change
@@ -47,6 +47,4 @@ export MACRO_WRAPPERS = $(PLATFORM_DIR)/bp/wrappers/wrappers.tcl

export PDN_TCL = $(PLATFORM_DIR)/cfg/pdn_grid_strategy_13m_9T.top.tcl

# Define macro halo and channel spacings
export MACRO_PLACE_HALO = 5 5
export MACRO_PLACE_CHANNEL = 10 10
1 change: 0 additions & 1 deletion flow/designs/gf12/ca53/config.mk
Original file line number Diff line number Diff line change
@@ -51,7 +51,6 @@ export PLACE_DENSITY_LB_ADDON = 0.05
export PLACE_PINS_ARGS = -exclude left:0-600 -exclude left:1350-1400 -exclude right:* -exclude top:* -exclude bottom:*

export MACRO_PLACE_HALO = 7 7
export MACRO_PLACE_CHANNEL = 14 14

export MACRO_WRAPPERS = $(dir $(DESIGN_CONFIG))/wrappers.tcl

1 change: 0 additions & 1 deletion flow/designs/gf12/swerv_wrapper/config.mk
Original file line number Diff line number Diff line change
@@ -35,7 +35,6 @@ export PLACE_DENSITY_LB_ADDON = 0.05
export MACRO_WRAPPERS = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/wrappers.tcl
#
export MACRO_PLACE_HALO = 7 7
export MACRO_PLACE_CHANNEL = 14 14

ifeq ($(USE_FILL),1)
export DESIGN_TYPE = CELL
1 change: 0 additions & 1 deletion flow/designs/gf180/uart-blocks/config.mk
Original file line number Diff line number Diff line change
@@ -15,7 +15,6 @@ export CORE_AREA = 10 10 420 420
export PLACE_PINS_ARGS = -exclude bottom:* -exclude top:* -exclude right:*

export MACRO_PLACE_HALO = 20 20
export MACRO_PLACE_CHANNEL = 20 20

export PDN_TCL = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/BLOCKS_grid_strategy.tcl
export PLACE_DENSITY = 0.60
2 changes: 1 addition & 1 deletion flow/designs/nangate45/ariane133/config.mk
Original file line number Diff line number Diff line change
@@ -24,6 +24,6 @@ export CORE_AREA = 10 12 1448 1448
export PLACE_PINS_ARGS = -exclude left:0-500 -exclude left:1000-1500: -exclude right:* -exclude top:* -exclude bottom:*

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export TNS_END_PERCENT = 100
export SKIP_GATE_CLONING = 1
2 changes: 1 addition & 1 deletion flow/designs/nangate45/ariane136/config.mk
Original file line number Diff line number Diff line change
@@ -26,6 +26,6 @@ export CORE_AREA = 10 12 1448 1448
export PLACE_PINS_ARGS = -exclude left:0-500 -exclude left:1000-1500: -exclude right:* -exclude top:* -exclude bottom:*

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export TNS_END_PERCENT = 100
export PLACE_DENSITY = 0.35
2 changes: 1 addition & 1 deletion flow/designs/nangate45/black_parrot/config.mk
Original file line number Diff line number Diff line change
@@ -37,5 +37,5 @@ export PLACE_PINS_ARGS = -exclude left:* -exclude right:* -exclude top:* -exclud
export PLACE_DENSITY_LB_ADDON = 0.05

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export TNS_END_PERCENT = 100
1 change: 0 additions & 1 deletion flow/designs/nangate45/bp_be_top/config.mk
Original file line number Diff line number Diff line change
@@ -27,7 +27,6 @@ export CORE_AREA = 10.07 11.2 790 690
export PLACE_PINS_ARGS = -exclude left:500-800 -exclude right:500-800 -exclude top:*

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.10
export TNS_END_PERCENT = 100
1 change: 0 additions & 1 deletion flow/designs/nangate45/bp_fe_top/config.mk
Original file line number Diff line number Diff line change
@@ -28,7 +28,6 @@ export PLACE_PINS_ARGS = -exclude left:400-700 -exclude right:400-700 -exclude t


export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.10
export PLACE_DENSITY_MAX_POST_HOLD = 0.12
1 change: 0 additions & 1 deletion flow/designs/nangate45/bp_multi_top/config.mk
Original file line number Diff line number Diff line change
@@ -34,7 +34,6 @@ export CORE_AREA = 10.07 9.8 1090 1090
export PLACE_PINS_ARGS = -exclude left:100-1100 -exclude right:100-1100 -exclude top:*

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.05
export SKIP_GATE_CLONING = 1
3 changes: 1 addition & 2 deletions flow/designs/nangate45/bp_quad/config.mk
Original file line number Diff line number Diff line change
@@ -34,5 +34,4 @@ export CORE_AREA = 10 12 3590 3590

export PLACE_PINS_ARGS = -exclude left:* -exclude right:* -exclude top:* -exclude bottom:0-1000 -exclude bottom:2400-3600

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20
export MACRO_PLACE_HALO = 10 10
3 changes: 1 addition & 2 deletions flow/designs/nangate45/mempool_group/config.mk
Original file line number Diff line number Diff line change
@@ -24,5 +24,4 @@ export CORE_AREA = 10 12 4390 4390

export PLACE_PINS_ARGS = -exclude left:* -exclude right:* -exclude top:* -exclude bottom:0-1000 -exclude bottom:3400-4400

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20
export MACRO_PLACE_HALO = 10 10
1 change: 0 additions & 1 deletion flow/designs/nangate45/swerv_wrapper/config.mk
Original file line number Diff line number Diff line change
@@ -24,7 +24,6 @@ export CORE_AREA = 10.07 11.2 1090 990
export PLACE_PINS_ARGS = -exclude left:* -exclude right:* -exclude top:* -exclude bottom:0-200 -exclude bottom:1000-1100

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.10
export TNS_END_PERCENT = 100
2 changes: 1 addition & 1 deletion flow/designs/sky130hd/chameleon_hier/config.mk
Original file line number Diff line number Diff line change
@@ -41,7 +41,7 @@ export VERILOG_FILES = \
$(VERILOG_FILES_BLACKBOX)

export ENABLE_DPO = 0
export MACRO_PLACE_CHANNEL = 160 160

export MACRO_PLACE_HALO = 160 160
export DIE_AREA = 0.0 0.0 6800 6800
export CORE_AREA = 200 200 6600 6600
1 change: 0 additions & 1 deletion flow/designs/sky130hd/microwatt/config.mk
Original file line number Diff line number Diff line change
@@ -24,7 +24,6 @@ export ADDITIONAL_LIBS = $(wildcard $(microwatt_DIR)/lib/*.lib)
export SYNTH_HIERARCHICAL = 1

export MACRO_PLACE_HALO = 100 100
export MACRO_PLACE_CHANNEL = 200 200

# CTS tuning
export CTS_BUF_DISTANCE = 600
1 change: 0 additions & 1 deletion flow/designs/tsmc65lp/black_parrot/config.mk
Original file line number Diff line number Diff line change
@@ -38,6 +38,5 @@ export CORE_AREA = 10 12 1790 1591.2
export PLACE_PINS_ARGS = -exclude left:* -exclude right:* -exclude top:*

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.10
1 change: 0 additions & 1 deletion flow/designs/tsmc65lp/bp_be_top/config.mk
Original file line number Diff line number Diff line change
@@ -23,6 +23,5 @@ export CORE_AREA = 10 12 990 890
export PLACE_PINS_ARGS = -exclude left:0-500 -exclude right:0-500 -exclude bottom:*

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.05
1 change: 0 additions & 1 deletion flow/designs/tsmc65lp/bp_fe_top/config.mk
Original file line number Diff line number Diff line change
@@ -26,6 +26,5 @@ export CORE_AREA = 10 12 870 770
export PLACE_PINS_ARGS = -exclude left:* -exclude right:0-400 -exclude bottom:*

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.05
1 change: 0 additions & 1 deletion flow/designs/tsmc65lp/bp_multi_top/config.mk
Original file line number Diff line number Diff line change
@@ -42,6 +42,5 @@ export CORE_AREA = 10 12 1790 1590
export PLACE_PINS_ARGS = -exclude left:0-1400 -exclude right:0-1400 -exclude bottom:* -exclude top:0-100 -exclude top:1500-1600

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.10
1 change: 0 additions & 1 deletion flow/designs/tsmc65lp/coyote/config.mk
Original file line number Diff line number Diff line change
@@ -35,7 +35,6 @@ export CORE_AREA = 5 5 2245 2245
export PLACE_PINS_ARGS = -exclude left:* -exclude right:0-700 -exclude right:1500-2250 -exclude top:* -exclude bottom:*

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20

export PLACE_DENSITY_LB_ADDON = 0.10
export REMOVE_BUFFER_TREE = 1
3 changes: 1 addition & 2 deletions flow/designs/tsmc65lp/swerv_wrapper/config.mk
Original file line number Diff line number Diff line change
@@ -29,7 +29,6 @@ export DIE_AREA = 0 0 1610 1360
export CORE_AREA = 5 5 1605 1355
export PLACE_PINS_ARGS = -exclude left:* -exclude right:* -exclude top:* -exclude bottom:0-300 -exclude bottom:1300-1600

export MACRO_PLACE_HALO = 10 10
export MACRO_PLACE_CHANNEL = 20 20
export MACRO_PLACE_HALO = 10 10

export PLACE_DENSITY_LB_ADDON = 0.10
1 change: 0 additions & 1 deletion flow/platforms/asap7/config.mk
Original file line number Diff line number Diff line change
@@ -115,7 +115,6 @@ export IO_PLACER_H ?= M4
export IO_PLACER_V ?= M5

export MACRO_PLACE_HALO ?= 10 10
export MACRO_PLACE_CHANNEL ?= 12 12

# the followings create a keep out / halo between
# macro and core rows
1 change: 0 additions & 1 deletion flow/platforms/gf180/config.mk
Original file line number Diff line number Diff line change
@@ -79,7 +79,6 @@ export TAPCELL_TCL ?= $(PLATFORM_DIR)/openROAD/tapcell

# macro planning
export MACRO_PLACE_HALO ?= 10 10
export MACRO_PLACE_CHANNEL ?= 20.16 20.16

#---------------------------------------------------------
# Place
1 change: 0 additions & 1 deletion flow/platforms/ihp-sg13g2/config.mk
Original file line number Diff line number Diff line change
@@ -79,7 +79,6 @@ export CORE_MARGIN ?= 16.5
export TAPCELL_TCL ?= $(PLATFORM_DIR)/tapcell.tcl

export MACRO_PLACE_HALO ?= 40 40
export MACRO_PLACE_CHANNEL ?= 80 80

#---------------------------------------------------------
# Place
1 change: 0 additions & 1 deletion flow/platforms/nangate45/config.mk
Original file line number Diff line number Diff line change
@@ -61,7 +61,6 @@ export TAPCELL_TCL ?= $(PLATFORM_DIR)/tapcell.tcl
export TAP_CELL_NAME = TAPCELL_X1

export MACRO_PLACE_HALO ?= 22.4 15.12
export MACRO_PLACE_CHANNEL ?= 18.8 19.95

#---------------------------------------------------------
# Place
1 change: 0 additions & 1 deletion flow/platforms/sky130hd/config.mk
Original file line number Diff line number Diff line change
@@ -97,7 +97,6 @@ export TAP_CELL_NAME = sky130_fd_sc_hd__tapvpwrvgnd_1
export TAPCELL_TCL ?= $(PLATFORM_DIR)/tapcell.tcl

export MACRO_PLACE_HALO ?= 40 40
export MACRO_PLACE_CHANNEL ?= 80 80

#---------------------------------------------------------
# Place
1 change: 0 additions & 1 deletion flow/platforms/sky130hs/config.mk
Original file line number Diff line number Diff line change
@@ -59,7 +59,6 @@ export TAP_CELL_NAME = sky130_fd_sc_hs__tapvpwrvgnd_1
export TAPCELL_TCL ?= $(PLATFORM_DIR)/tapcell.tcl

export MACRO_PLACE_HALO ?= 40 40
export MACRO_PLACE_CHANNEL ?= 80 80

#---------------------------------------------------------
# Place
5 changes: 1 addition & 4 deletions flow/scripts/macro_place_util.tcl
Original file line number Diff line number Diff line change
@@ -18,12 +18,9 @@ if {[find_macros] != ""} {
}

lassign $::env(MACRO_PLACE_HALO) halo_x halo_y
lassign $::env(MACRO_PLACE_CHANNEL) channel_x channel_y
set halo_max [expr max($halo_x, $halo_y)]
set channel_max [expr max($channel_x, $channel_y)]
set blockage_width [expr max($halo_max, $channel_max/2)]
set blockage_width $halo_max


if {[env_var_exists_and_non_empty MACRO_BLOCKAGE_HALO]} {
set blockage_width $::env(MACRO_BLOCKAGE_HALO)
}
7 changes: 0 additions & 7 deletions flow/scripts/variables.yaml
Original file line number Diff line number Diff line change
@@ -269,13 +269,6 @@ MACRO_PLACE_HALO:
placement.
stages:
- floorplan
MACRO_PLACE_CHANNEL:
description: >
Horizontal/vertical channel width between macros (microns). Used by
automatic macro placement. Imagine channel=10 and halo=5. Then macros must
be 10 apart but standard cells must be 5 away from a macro.
stages:
- floorplan
MACRO_BLOCKAGE_HALO:
description: >
Blockage width overridden from default calculation.

0 comments on commit d846560

Please sign in to comment.