@@ -529,36 +529,32 @@ place: $(RESULTS_DIR)/3_place.odb \
529529# ==============================================================================
530530# STEP 1: Global placement without placed IOs, timing-driven, and routability-driven.
531531# -------------------------------------------------------------------------------
532- $(RESULTS_DIR ) /3_1_place_gp_skip_io.odb : $(RESULTS_DIR ) /2_floorplan.odb $(RESULTS_DIR ) /2_floorplan.sdc $(LIB_FILES )
533- ($( TIME_CMD) $( OPENROAD_CMD) $( SCRIPTS_DIR) /global_place_skip_io.tcl -metrics $( LOG_DIR) /3_1_place_gp_skip_io.json) 2>&1 | tee $(LOG_DIR ) /3_1_place_gp_skip_io.log
532+ $(eval $(call do-step,3_1_place_gp_skip_io,$(RESULTS_DIR)/2_floorplan.odb $(RESULTS_DIR)/2_floorplan.sdc $(LIB_FILES),global_place_skip_io))
534533
535534# STEP 2: IO placement (non-random)
536535# -------------------------------------------------------------------------------
537- $(RESULTS_DIR ) /3_2_place_iop.odb : $(RESULTS_DIR ) /3_1_place_gp_skip_io.odb $(IO_CONSTRAINTS )
538536ifndef IS_CHIP
539- ($(TIME_CMD) $(OPENROAD_CMD) $(SCRIPTS_DIR)/io_placement.tcl -metrics $(LOG_DIR)/3_2_place_iop.json) 2>&1 | tee $(LOG_DIR)/3_2_place_iop.log
537+ $(eval $(call do-step,3_2_place_iop,$(RESULTS_DIR)/3_1_place_gp_skip_io.odb $(IO_CONSTRAINTS),io_placement))
540538else
539+ $(RESULTS_DIR ) /3_2_place_iop.odb : $(RESULTS_DIR ) /3_1_place_gp_skip_io.odb $(IO_CONSTRAINTS )
541540 cp $< $@
542541endif
543542
544543# STEP 3: Global placement with placed IOs, timing-driven, and routability-driven.
545544# -------------------------------------------------------------------------------
546- $(RESULTS_DIR ) /3_3_place_gp.odb : $(RESULTS_DIR ) /3_2_place_iop.odb $(RESULTS_DIR ) /2_floorplan.sdc $(LIB_FILES )
547- ($( TIME_CMD) $( OPENROAD_CMD) $( SCRIPTS_DIR) /global_place.tcl -metrics $( LOG_DIR) /3_3_place_gp.json) 2>&1 | tee $(LOG_DIR ) /3_3_place_gp.log
545+ $(eval $(call do-step,3_3_place_gp,$(RESULTS_DIR)/3_2_place_iop.odb $(RESULTS_DIR)/2_floorplan.sdc $(LIB_FILES),global_place))
548546
549547# STEP 4: Resizing & Buffering
550548# -------------------------------------------------------------------------------
551- $(RESULTS_DIR ) /3_4_place_resized.odb : $(RESULTS_DIR ) /3_3_place_gp.odb $(RESULTS_DIR ) /2_floorplan.sdc
552- ($( TIME_CMD) $( OPENROAD_CMD) $( SCRIPTS_DIR) /resize.tcl -metrics $( LOG_DIR) /3_4_place_resized.json) 2>&1 | tee $(LOG_DIR ) /3_4_place_resized.log
549+ $(eval $(call do-step,3_4_place_resized,$(RESULTS_DIR)/3_3_place_gp.odb $(RESULTS_DIR)/2_floorplan.sdc,resize))
553550
554551.PHONY : clean_resize
555552clean_resize :
556553 rm -f $(RESULTS_DIR ) /3_4_place_resized.odb
557554
558555# STEP 5: Detail placement
559556# -------------------------------------------------------------------------------
560- $(RESULTS_DIR ) /3_5_place_dp.odb : $(RESULTS_DIR ) /3_4_place_resized.odb
561- ($( TIME_CMD) $( OPENROAD_CMD) $( SCRIPTS_DIR) /detail_place.tcl -metrics $( LOG_DIR) /3_5_place_dp.json) 2>&1 | tee $(LOG_DIR ) /3_5_place_dp.log
557+ $(eval $(call do-step,3_5_place_dp,$(RESULTS_DIR)/3_4_place_resized.odb,detail_place))
562558
563559$(RESULTS_DIR ) /3_place.odb : $(RESULTS_DIR ) /3_5_place_dp.odb
564560 cp $< $@
0 commit comments