Skip to content

Commit 1b2bb4e

Browse files
committed
Merge branch 'master' into mb@update
Signed-off-by: louiic <[email protected]>
2 parents a00fb65 + e5da5df commit 1b2bb4e

File tree

71 files changed

+683867
-4249
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+683867
-4249
lines changed

.gitmodules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[submodule "tools/yosys"]
22
path = tools/yosys
3-
url = https://github.com/The-OpenROAD-Project/yosys.git
3+
url = ../../The-OpenROAD-Project/yosys.git
44
[submodule "tools/OpenROAD"]
55
path = tools/OpenROAD
66
url = ../OpenROAD.git
77
[submodule "tools/LSOracle"]
88
path = tools/LSOracle
9-
url = https://github.com/The-OpenROAD-Project/LSOracle.git
9+
url = ../../The-OpenROAD-Project/LSOracle.git

flow/Makefile

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,8 @@ $(if $(5),$(5),$(RESULTS_DIR))/$(1)$(if $(4),$(4),.odb): $(2)
475475

476476
.PHONY: do-$(1)
477477
do-$(1):
478-
($(TIME_CMD) $(OPENROAD_CMD) $(SCRIPTS_DIR)/$(3).tcl -metrics $(LOG_DIR)/$(1).json) 2>&1 | tee $(LOG_DIR)/$(1).log
478+
($(TIME_CMD) $(OPENROAD_CMD) $(SCRIPTS_DIR)/$(3).tcl -metrics $(LOG_DIR)/$(1).json) 2>&1 | tee $(LOG_DIR)/$(1).tmp.log
479+
mv $(LOG_DIR)/$(1).tmp.log $(LOG_DIR)/$(1).log
479480
endef
480481

481482
# generate make rules to copy a file, if a dependency change and
@@ -511,7 +512,7 @@ endif
511512

512513
# STEP 3: Timing Driven Mixed Sized Placement
513514
#-------------------------------------------------------------------------------
514-
ifeq ($(MACRO_PLACEMENT),)
515+
ifeq ($(MACRO_PLACEMENT)$(MACRO_PLACEMENT_TCL)$(RTLMP_FLOW),)
515516
$(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))
516517
else
517518
$(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)))
@@ -521,6 +522,8 @@ endif
521522
#-------------------------------------------------------------------------------
522523
$(eval $(call do-step,2_4_floorplan_macro,$(RESULTS_DIR)/2_3_floorplan_tdms.odb $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(MACRO_PLACEMENT) $(MACRO_PLACEMENT_TCL),macro_place))
523524

525+
$(eval $(call do-step,2_floorplan_debug_macros,$(RESULTS_DIR)/2_1_floorplan.odb $(RESULTS_DIR)/1_synth.v $(MACRO_PLACEMENT) $(MACRO_PLACEMENT_TCL),floorplan_debug_macros))
526+
524527
# STEP 5: Tapcell and Welltie insertion
525528
#-------------------------------------------------------------------------------
526529
$(eval $(call do-step,2_5_floorplan_tapcell,$(RESULTS_DIR)/2_4_floorplan_macro.odb $(TAPCELL_TCL),tapcell))
@@ -900,28 +903,41 @@ RESULTS_OAS = $(notdir $(sort $(wildcard $(RESULTS_DIR)/*.oas)))
900903
$(foreach file,$(RESULTS_DEF) $(RESULTS_GDS) $(RESULTS_OAS),klayout_$(file)): klayout_%: $(OBJECTS_DIR)/klayout.lyt
901904
$(KLAYOUT_CMD) -nn $(OBJECTS_DIR)/klayout.lyt $(RESULTS_DIR)/$*
902905

903-
.PHONY: gui_synth
904-
gui_synth:
905-
$(OPENROAD_GUI_CMD) $(SCRIPTS_DIR)/sta-synth.tcl
906-
907-
.PHONY: gui_floorplan
908-
gui_floorplan: gui_2_floorplan.odb
909-
.PHONY: gui_place
910-
gui_place: gui_3_place.odb
911-
.PHONY: gui_cts
912-
gui_cts: gui_4_cts.odb
913-
.PHONY: gui_route
914-
gui_route: gui_5_route.odb
915-
.PHONY: gui_final
916-
gui_final: gui_6_final.odb
917-
918-
.PHONY: $(foreach file,$(RESULTS_DEF),gui_$(file))
919-
$(foreach file,$(RESULTS_DEF),gui_$(file)): gui_%:
920-
DEF_FILE=$(RESULTS_DIR)/$* $(OPENROAD_GUI_CMD) $(SCRIPTS_DIR)/gui.tcl
921-
922-
.PHONY: $(foreach file,$(RESULTS_ODB),gui_$(file))
923-
$(foreach file,$(RESULTS_ODB),gui_$(file)): gui_%:
924-
ODB_FILE=$(RESULTS_DIR)/$* $(OPENROAD_GUI_CMD) $(SCRIPTS_DIR)/gui.tcl
906+
.PHONY: preview_macro_placement
907+
908+
ifneq ($(or $(MACRO_PLACEMENT),$(MACRO_PLACEMENT_TCL)),)
909+
MACRO_PREVIEW_ODB = 2_floorplan_debug_macros.odb
910+
else
911+
MACRO_PREVIEW_ODB = 2_4_floorplan_macro.odb
912+
endif
913+
914+
preview_macro_placement:
915+
@$(UNSET_AND_MAKE) $(RESULTS_DIR)/$(MACRO_PREVIEW_ODB)
916+
@$(UNSET_AND_MAKE) gui_$(MACRO_PREVIEW_ODB)
917+
918+
define OPEN_GUI_SHORTCUT
919+
.PHONY: gui_$(1) open_$(1)
920+
gui_$(1): gui_$(2)
921+
open_$(1): open_$(2)
922+
endef
923+
924+
$(eval $(call OPEN_GUI_SHORTCUT,synth,))
925+
$(eval $(call OPEN_GUI_SHORTCUT,floorplan,2_floorplan.odb))
926+
$(eval $(call OPEN_GUI_SHORTCUT,place,3_place.odb))
927+
$(eval $(call OPEN_GUI_SHORTCUT,cts,4_cts.odb))
928+
$(eval $(call OPEN_GUI_SHORTCUT,route,5_route.odb))
929+
$(eval $(call OPEN_GUI_SHORTCUT,final,6_final.odb))
930+
931+
define OPEN_GUI
932+
.PHONY: $(1)_$(2)
933+
$(1)_$(2):
934+
$(3)=$(RESULTS_DIR)/$(2) $(4) $(SCRIPTS_DIR)/gui.tcl
935+
endef
936+
937+
$(foreach file,$(RESULTS_DEF),$(eval $(call OPEN_GUI,gui,$(file),DEF_FILE,$(OPENROAD_GUI_CMD))))
938+
$(foreach file,$(RESULTS_ODB),$(eval $(call OPEN_GUI,gui,$(file),ODB_FILE,$(OPENROAD_GUI_CMD))))
939+
$(foreach file,$(RESULTS_DEF),$(eval $(call OPEN_GUI,open,$(file),DEF_FILE,$(OPENROAD_NO_EXIT_CMD))))
940+
$(foreach file,$(RESULTS_ODB),$(eval $(call OPEN_GUI,open,$(file),ODB_FILE,$(OPENROAD_NO_EXIT_CMD))))
925941

926942
# Write a def for the corresponding odb
927943
$(foreach file,$(RESULTS_ODB),$(file).def): %.def:

0 commit comments

Comments
 (0)