Skip to content

Commit 26bea12

Browse files
committed
makefile: use do-copy macro for floorplan
separate action and dependency checking Signed-off-by: Øyvind Harboe <[email protected]>
1 parent 2734e98 commit 26bea12

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

flow/Makefile

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,16 @@ do-$(1):
469469
($(TIME_CMD) $(OPENROAD_CMD) $(SCRIPTS_DIR)/$(3).tcl -metrics $(LOG_DIR)/$(1).json) 2>&1 | tee $(LOG_DIR)/$(1).log
470470
endef
471471

472+
define do-copy
473+
$(RESULTS_DIR)/$(1)$(if $(4),$(4),.odb): $(RESULTS_DIR)/$(2) $(3)
474+
$$(UNSET_AND_MAKE) do-$(1)
475+
476+
.PHONY: do-$(1)
477+
do-$(1):
478+
cp $(RESULTS_DIR)/$(2) $(RESULTS_DIR)/$(1)$(if $(4),$(4),.odb)
479+
endef
480+
481+
472482
# STEP 1: Translate verilog to odb
473483
#-------------------------------------------------------------------------------
474484
$(eval $(call do-step,2_1_floorplan,$(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(TECH_LEF) $(SC_LEF) $(ADDITIONAL_LEFS) $(FOOTPRINT) $(SIG_MAP_FILE) $(FOOTPRINT_TCL),floorplan))
@@ -478,18 +488,15 @@ $(eval $(call do-step,2_1_floorplan,$(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_sy
478488
ifndef IS_CHIP
479489
$(eval $(call do-step,2_2_floorplan_io,$(RESULTS_DIR)/2_1_floorplan.odb $(IO_CONSTRAINTS),io_placement_random))
480490
else
481-
$(RESULTS_DIR)/2_2_floorplan_io.odb: $(RESULTS_DIR)/2_1_floorplan.odb $(IO_CONSTRAINTS)
482-
cp $< $@
491+
$(eval $(call do-copy,2_2_floorplan_io,2_1_floorplan.odb,$(IO_CONSTRAINTS)))
483492
endif
484493

485494
# STEP 3: Timing Driven Mixed Sized Placement
486495
#-------------------------------------------------------------------------------
487496
ifeq ($(MACRO_PLACEMENT),)
488497
$(eval $(call do-step,2_3_floorplan_tdms,$(RESULTS_DIR)/2_2_floorplan_io.odb $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(LIB_FILES),tdms_place))
489498
else
490-
$(RESULTS_DIR)/2_3_floorplan_tdms.odb: $(RESULTS_DIR)/2_2_floorplan_io.odb $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(LIB_FILES)
491-
$(info [INFO][FLOW] Using manual macro placement file $(MACRO_PLACEMENT))
492-
cp $< $@
499+
$(eval $(call do-copy,2_3_floorplan_tdms,2_2_floorplan_io.odb,$(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(LIB_FILES)))
493500
endif
494501

495502
# STEP 4: Macro Placement
@@ -504,8 +511,7 @@ $(eval $(call do-step,2_5_floorplan_tapcell,$(RESULTS_DIR)/2_4_floorplan_macro.o
504511
#-------------------------------------------------------------------------------
505512
$(eval $(call do-step,2_6_floorplan_pdn,$(RESULTS_DIR)/2_5_floorplan_tapcell.odb $(PDN_TCL),pdn))
506513

507-
$(RESULTS_DIR)/2_floorplan.odb: $(RESULTS_DIR)/2_6_floorplan_pdn.odb
508-
cp $< $@
514+
$(eval $(call do-copy,2_floorplan,2_6_floorplan_pdn.odb,))
509515

510516
$(RESULTS_DIR)/2_floorplan.sdc: $(RESULTS_DIR)/2_1_floorplan.odb
511517

0 commit comments

Comments
 (0)