Skip to content

Commit 6b73ade

Browse files
committed
Merge remote-tracking branch 'origin/master' into HEAD
2 parents 45c793a + 091a06b commit 6b73ade

File tree

14 files changed

+54
-43
lines changed

14 files changed

+54
-43
lines changed

docs/user/FlowVariables.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ Note:
7272
| `PDN_TCL` | ?= | ?= | ?= | ?= | ?= |
7373
| `IO_PLACER_H` | = | = | = | = | ?= |
7474
| `IO_PLACER_V` | = | = | = | = | ?= |
75+
| `FILL_CELLS` | = | = | = | = | = |
7576
| Placement | | | | | |
7677
| `CELL_PAD_IN_SITES_GLOBAL_PLACEMENT` | ?= | ?= | ?= | ?= | ?= |
7778
| `CELL_PAD_IN_SITES_DETAIL_PLACEMENT` | ?= | ?= | ?= | ?= | ?= |
@@ -85,7 +86,6 @@ Note:
8586
| `EQUIVALENCE_CHECK` | ?= | ?= | ?= | ?= | ?= |
8687
| `REMOVE_CELLS_FOR_EQY` | ?= | ?= | ?= | ?= | ?= |
8788
| Routing | | | | | |
88-
| `FILL_CELLS` | = | = | = | = | = |
8989
| `KLAYOUT_TECH_FILE` | = | = | = | = | = |
9090
| `MAX_ROUTING_LAYER` | = | = | = | = | ?= |
9191
| `MIN_ROUTING_LAYER` | = | = | = | = | ?= |
@@ -147,6 +147,8 @@ Note:
147147
| `GUI_NO_TIMING` | Skip loading timing for a faster GUI load. |
148148
| `GUI_SOURCE` | Source the script. |
149149
| `GUI_ARGS` | OpenROAD command line options for gui_ and open_ targets, typically set tup `-exit` in combination with GUI_SOURCE to run a script and exit. |
150+
| `FILL_CELLS` | Fill cells are used to fill empty sites. If not set or empty, fill cell insertion is skipped. |
151+
| `TAP_CELL_NAME` | Name of the cell to use in tap cell insertion. |
150152

151153

152154
### Placement
@@ -189,7 +191,6 @@ Note:
189191

190192
| Variable | Description |
191193
|-----------------------|---------------------------------------------------------------------------------------------------|
192-
| `FILL_CELLS` | Fill cells are used to fill empty sites. |
193194
| `MIN_ROUTING_LAYER` | The lowest metal layer name to be used in routing. |
194195
| `MAX_ROUTING_LAYER` | The highest metal layer name to be used in routing. |
195196
| `DETAILED_ROUTE_ARGS` | Add additional arguments for debugging purpose during detail route. |

flow/Makefile

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -262,10 +262,6 @@ export RESULTS_DIR = $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)/$(FLOW_
262262
export MACROS ?= $(BLOCKS)
263263

264264
ifdef BLOCKS
265-
ifeq ($(MAKELEVEL),0)
266-
$(info [INFO][FLOW] Invoked hierarchical flow.)
267-
$(foreach block,$(BLOCKS),$(info Block ${block} needs to be hardened.))
268-
endif
269265
$(foreach block,$(BLOCKS),$(eval BLOCK_LEFS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
270266
$(foreach block,$(BLOCKS),$(eval BLOCK_LIBS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib))
271267
$(foreach block,$(BLOCKS),$(eval BLOCK_GDS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds))
@@ -394,7 +390,7 @@ endef
394390
.PHONY: build_macros
395391
build_macros: $(BLOCK_LEFS) $(BLOCK_LIBS)
396392

397-
$(foreach block,$(BLOCKS),$(eval $(call GENERATE_ABSTRACT_RULE,./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef,./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib,./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/${block}/config.mk)))
393+
$(foreach block,$(BLOCKS),$(eval $(call GENERATE_ABSTRACT_RULE,./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef,./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib,$(shell dirname $(DESIGN_CONFIG))/${block}/config.mk)))
398394
$(foreach block,$(BLOCKS),$(eval ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds: ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
399395

400396
# Utility to print tool version information
@@ -719,7 +715,11 @@ $(eval $(call do-step,2_4_floorplan_macro,$(RESULTS_DIR)/2_3_floorplan_tdms.odb
719715

720716
# STEP 5: Tapcell and Welltie insertion
721717
#-------------------------------------------------------------------------------
718+
ifeq ($(TAPCELL_TCL),)
719+
$(eval $(call do-copy,2_5_floorplan_tapcell,2_4_floorplan_macro.odb))
720+
else
722721
$(eval $(call do-step,2_5_floorplan_tapcell,$(RESULTS_DIR)/2_4_floorplan_macro.odb $(TAPCELL_TCL),tapcell))
722+
endif
723723

724724
# STEP 6: PDN generation
725725
#-------------------------------------------------------------------------------
@@ -847,7 +847,11 @@ $(eval $(call do-step,5_1_grt,$(RESULTS_DIR)/4_cts.odb $(FASTROUTE_TCL) $(PRE_GL
847847

848848
# SEP 2: Filler cell insertion
849849
# ------------------------------------------------------------------------------
850+
ifeq ($(FILL_CELLS),)
851+
$(eval $(call do-copy,5_2_fillcell,5_1_grt.odb))
852+
else
850853
$(eval $(call do-step,5_2_fillcell,$(RESULTS_DIR)/5_1_grt.odb,fillcell))
854+
endif
851855

852856
# STEP 3: Run detailed route
853857
#-------------------------------------------------------------------------------

flow/designs/gf180/uart-blocks/config.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ export MACRO_PLACE_CHANNEL = 20 20
2121
export PDN_TCL = ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/BLOCKS_grid_strategy.tcl
2222
export PLACE_DENSITY = 0.60
2323

24-
export TAPCELL_TCL = ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/tapcell.tcl
24+
export TAPCELL_TCL ?= ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/tapcell.tcl
2525
export MACRO_HALO_X = 14
2626
export MACRO_HALO_Y = 14

flow/platforms/asap7/config.mk

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -125,18 +125,18 @@ export MACRO_HALO_Y ?= 2
125125
export PLACE_DENSITY ?= 0.60
126126

127127
# Endcap and Welltie cells
128-
export TAPCELL_TCL = $(PLATFORM_DIR)/openRoad/tapcell.tcl
128+
export TAPCELL_TCL ?= $(PLATFORM_DIR)/openRoad/tapcell.tcl
129129

130130
# Fill cells used in fill cell insertion
131-
export FILL_CELLS = FILLERxp5_ASAP7_75t_R \
132-
FILLER_ASAP7_75t_R \
133-
DECAPx1_ASAP7_75t_R \
134-
DECAPx2_ASAP7_75t_R \
135-
DECAPx4_ASAP7_75t_R \
136-
DECAPx6_ASAP7_75t_R \
137-
DECAPx10_ASAP7_75t_R
131+
export FILL_CELLS ?= FILLERxp5_ASAP7_75t_R \
132+
FILLER_ASAP7_75t_R \
133+
DECAPx1_ASAP7_75t_R \
134+
DECAPx2_ASAP7_75t_R \
135+
DECAPx4_ASAP7_75t_R \
136+
DECAPx6_ASAP7_75t_R \
137+
DECAPx10_ASAP7_75t_R
138138

139-
export TAP_CELL_NAME = TAPCELL_ASAP7_75t_R
139+
export TAP_CELL_NAME ?= TAPCELL_ASAP7_75t_R
140140

141141
export SET_RC_TCL = $(PLATFORM_DIR)/setRC.tcl
142142

@@ -165,9 +165,9 @@ ifeq ($(ASAP7_USELVT), 1)
165165

166166
export ABC_DRIVER_CELL = BUFx2_ASAP7_75t_L
167167

168-
export FILL_CELLS = "FILLERxp5_ASAP7_75t_L"
168+
export FILL_CELLS ?= "FILLERxp5_ASAP7_75t_L"
169169

170-
export TAP_CELL_NAME = TAPCELL_ASAP7_75t_L
170+
export TAP_CELL_NAME ?= TAPCELL_ASAP7_75t_L
171171

172172
export GDS_FILES = $(PLATFORM_DIR)/gds/asap7sc7p5t_28_L_220121a.gds \
173173
$(ADDITIONAL_GDS)
@@ -214,9 +214,9 @@ ifeq ($(ASAP7_USESLVT), 1)
214214

215215
export ABC_DRIVER_CELL = BUFx2_ASAP7_75t_SL
216216

217-
export FILL_CELLS = "FILLERxp5_ASAP7_75t_SL"
217+
export FILL_CELLS ?= "FILLERxp5_ASAP7_75t_SL"
218218

219-
export TAP_CELL_NAME = TAPCELL_ASAP7_75t_SL
219+
export TAP_CELL_NAME ?= TAPCELL_ASAP7_75t_SL
220220

221221
export GDS_FILES = $(PLATFORM_DIR)/gds/asap7sc7p5t_28_SL_220121a.gds \
222222
$(ADDITIONAL_GDS)

flow/platforms/gf180/config.mk

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ export GDS_FILES = $(wildcard $(PLATFORM_DIR)/gds/$
2424
export DONT_USE_CELLS = *_1
2525

2626
# Fill cells used in fill cell insertion
27-
export FILL_CELLS = gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_64 \
28-
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_32 \
29-
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_16 \
30-
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_8 \
31-
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_4 \
32-
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_2 \
33-
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_1
27+
export FILL_CELLS ?= gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_64 \
28+
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_32 \
29+
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_16 \
30+
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_8 \
31+
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_4 \
32+
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_2 \
33+
gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_1
3434

3535
export TIE_CELL = gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__filltie
3636
export ENDCAP_CELL = gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__endcap

flow/platforms/ihp-sg13g2/config.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ sg13g2_dfrbp_2
3535

3636

3737
# Define fill cells
38-
export FILL_CELLS = sg13g2_fill_1 sg13g2_fill_2 sg13g2_decap_4 sg13g2_decap_8
38+
export FILL_CELLS ?= sg13g2_fill_1 sg13g2_fill_2 sg13g2_decap_4 sg13g2_decap_8
3939
# -----------------------------------------------------
4040
# Yosys
4141
# ----------------------------------------------------
@@ -76,7 +76,7 @@ export CORE_MARGIN ?= 16.5
7676

7777
# There are no Endcap and Welltie cells in this PDK, so
7878
# `cut_rows` has to be called from the tapcell script.
79-
export TAPCELL_TCL = $(PLATFORM_DIR)/tapcell.tcl
79+
export TAPCELL_TCL ?= $(PLATFORM_DIR)/tapcell.tcl
8080

8181
export MACRO_PLACE_HALO ?= 40 40
8282
export MACRO_PLACE_CHANNEL ?= 80 80

flow/platforms/nangate45/config.mk

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export GDS_FILES = $(sort $(wildcard $(PLATFORM_DIR)/gds/*.gds)) \
1616
export DONT_USE_CELLS = TAPCELL_X1 FILLCELL_X1 AOI211_X1 OAI211_X1
1717

1818
# Fill cells used in fill cell insertion
19-
export FILL_CELLS = FILLCELL_X1 FILLCELL_X2 FILLCELL_X4 FILLCELL_X8 FILLCELL_X16 FILLCELL_X32
19+
export FILL_CELLS ?= FILLCELL_X1 FILLCELL_X2 FILLCELL_X4 FILLCELL_X8 FILLCELL_X16 FILLCELL_X32
2020

2121
# -----------------------------------------------------
2222
# Yosys
@@ -57,7 +57,8 @@ export IO_PLACER_V = metal6
5757
export PDN_TCL ?= $(PLATFORM_DIR)/grid_strategy-M1-M4-M7.tcl
5858

5959
# Endcap and Welltie cells
60-
export TAPCELL_TCL = $(PLATFORM_DIR)/tapcell.tcl
60+
export TAPCELL_TCL ?= $(PLATFORM_DIR)/tapcell.tcl
61+
export TAP_CELL_NAME = TAPCELL_X1
6162

6263
export MACRO_PLACE_HALO ?= 22.4 15.12
6364
export MACRO_PLACE_CHANNEL ?= 18.8 19.95
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
tapcell \
22
-distance 120 \
3-
-tapcell_master "TAPCELL_X1" \
4-
-endcap_master "TAPCELL_X1"
3+
-tapcell_master "$::env(TAP_CELL_NAME)" \
4+
-endcap_master "$::env(TAP_CELL_NAME)"
5+

flow/platforms/sky130hd/config.mk

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export DONT_USE_CELLS += \
5656
sky130_fd_sc_hd__lpflow_lsbuf_lh_isowell_tap_4
5757
#
5858
# Define fill cells
59-
export FILL_CELLS = sky130_fd_sc_hd__fill_1 sky130_fd_sc_hd__fill_2 sky130_fd_sc_hd__fill_4 sky130_fd_sc_hd__fill_8
59+
export FILL_CELLS ?= sky130_fd_sc_hd__fill_1 sky130_fd_sc_hd__fill_2 sky130_fd_sc_hd__fill_4 sky130_fd_sc_hd__fill_8
6060

6161
# -----------------------------------------------------
6262
# Yosys
@@ -93,7 +93,8 @@ export IO_PLACER_V = met2
9393
export PDN_TCL ?= $(PLATFORM_DIR)/pdn.tcl
9494

9595
# Endcap and Welltie cells
96-
export TAPCELL_TCL = $(PLATFORM_DIR)/tapcell.tcl
96+
export TAP_CELL_NAME = sky130_fd_sc_hd__tapvpwrvgnd_1
97+
export TAPCELL_TCL ?= $(PLATFORM_DIR)/tapcell.tcl
9798

9899
export MACRO_PLACE_HALO ?= 40 40
99100
export MACRO_PLACE_CHANNEL ?= 80 80
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
tapcell \
22
-distance 14 \
3-
-tapcell_master "sky130_fd_sc_hd__tapvpwrvgnd_1"
3+
-tapcell_master "$::env(TAP_CELL_NAME)"

0 commit comments

Comments
 (0)