Skip to content

Commit 84a6b2a

Browse files
authored
Merge pull request The-OpenROAD-Project#3457 from Pinata-Consulting/klayout-log-version
klayout: log version
2 parents 130aaee + 3a48699 commit 84a6b2a

File tree

3 files changed

+20
-18
lines changed

3 files changed

+20
-18
lines changed

flow/Makefile

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ versions.txt: check-yosys check-openroad
186186
mkdir -p $(OBJECTS_DIR)
187187
@echo "yosys $(shell $(YOSYS_EXE) -V 2>&1)" > $(OBJECTS_DIR)/$@
188188
@echo "openroad $(shell $(OPENROAD_EXE) -version 2>&1)" >> $(OBJECTS_DIR)/$@
189-
@echo "klayout $(shell $(KLAYOUT_CMD) -zz -v 2>&1)" >> $(OBJECTS_DIR)/$@
189+
@echo "klayout $(shell $(SCRIPTS_DIR)/klayout.sh -zz -v 2>&1)" >> $(OBJECTS_DIR)/$@
190190

191191
# Pre-process libraries
192192
# ==============================================================================
@@ -580,16 +580,14 @@ clean_route:
580580

581581
.PHONY: klayout_tr_rpt
582582
klayout_tr_rpt: $(RESULTS_DIR)/5_route.def $(OBJECTS_DIR)/klayout.lyt
583-
$(call KLAYOUT_FOUND)
584-
$(KLAYOUT_CMD) -rd in_drc="$(REPORTS_DIR)/5_route_drc.rpt" \
583+
$(SCRIPTS_DIR)/klayout.sh -rd in_drc="$(REPORTS_DIR)/5_route_drc.rpt" \
585584
-rd in_def="$<" \
586585
-rd tech_file=$(OBJECTS_DIR)/klayout.lyt \
587586
-rm $(UTILS_DIR)/viewDrc.py
588587

589588
.PHONY: klayout_guides
590589
klayout_guides: $(RESULTS_DIR)/5_route.def $(OBJECTS_DIR)/klayout.lyt
591-
$(call KLAYOUT_FOUND)
592-
$(KLAYOUT_CMD) -rd in_guide="$(RESULTS_DIR)/route.guide" \
590+
$(SCRIPTS_DIR)/klayout.sh -rd in_guide="$(RESULTS_DIR)/route.guide" \
593591
-rd in_def="$<" \
594592
-rd net_name=$(GUIDE_NET) \
595593
-rd tech_file=$(OBJECTS_DIR)/klayout.lyt \
@@ -657,8 +655,7 @@ clean_abstract:
657655
# Merge wrapped macros using Klayout
658656
#-------------------------------------------------------------------------------
659657
$(WRAPPED_GDSOAS): $(OBJECTS_DIR)/klayout_wrap.lyt $(WRAPPED_LEFS)
660-
$(call KLAYOUT_FOUND)
661-
($(TIME_CMD) $(KLAYOUT_CMD) -zz -rd design_name=$(basename $(notdir $@)) \
658+
($(TIME_CMD) $(SCRIPTS_DIR)/klayout.sh -zz -rd design_name=$(basename $(notdir $@)) \
662659
-rd in_def=$(OBJECTS_DIR)/def/$(notdir $(@:$(STREAM_SYSTEM_EXT)=def)) \
663660
-rd in_files="$(ADDITIONAL_GDSOAS)" \
664661
-rd config_file=$(FILL_CONFIG) \
@@ -675,8 +672,7 @@ $(GDS_MERGED_FILE): $(RESULTS_DIR)/6_final.def $(OBJECTS_DIR)/klayout.lyt $(GDSO
675672

676673
.PHONY: do-gds-merged
677674
do-gds-merged:
678-
$(call KLAYOUT_FOUND)
679-
($(TIME_CMD) $(STDBUF_CMD) $(KLAYOUT_CMD) -zz -rd design_name=$(DESIGN_NAME) \
675+
($(TIME_CMD) $(STDBUF_CMD) $(SCRIPTS_DIR)/klayout.sh -zz -rd design_name=$(DESIGN_NAME) \
680676
-rd in_def=$(RESULTS_DIR)/6_final.def \
681677
-rd in_files="$(GDSOAS_FILES) $(WRAPPED_GDSOAS)" \
682678
-rd seal_file="$(SEAL_GDSOAS)" \
@@ -700,8 +696,7 @@ drc: $(REPORTS_DIR)/6_drc.lyrdb
700696

701697
$(REPORTS_DIR)/6_drc.lyrdb: $(GDS_FINAL_FILE) $(KLAYOUT_DRC_FILE)
702698
ifneq ($(KLAYOUT_DRC_FILE),)
703-
$(call KLAYOUT_FOUND)
704-
($(TIME_CMD) $(KLAYOUT_CMD) -zz -rd in_gds="$<" \
699+
($(TIME_CMD) $(SCRIPTS_DIR)/klayout.sh -zz -rd in_gds="$<" \
705700
-rd report_file=$(abspath $@) \
706701
-r $(KLAYOUT_DRC_FILE)) 2>&1 | tee $(abspath $(LOG_DIR)/6_drc.log)
707702
# Hacky way of getting DRV count (don't error on no matches)
@@ -721,8 +716,7 @@ lvs: $(RESULTS_DIR)/6_lvs.lvsdb
721716

722717
$(RESULTS_DIR)/6_lvs.lvsdb: $(GDS_FINAL_FILE) $(KLAYOUT_LVS_FILE) $(OBJECTS_DIR)/6_final_concat.cdl
723718
ifneq ($(KLAYOUT_LVS_FILE),)
724-
$(call KLAYOUT_FOUND)
725-
($(TIME_CMD) $(KLAYOUT_CMD) -b -rd in_gds="$<" \
719+
($(TIME_CMD) $(SCRIPTS_DIR)/klayout.sh -b -rd in_gds="$<" \
726720
-rd cdl_file=$(abspath $(OBJECTS_DIR)/6_final_concat.cdl) \
727721
-rd report_file=$(abspath $@) \
728722
-r $(KLAYOUT_LVS_FILE)) 2>&1 | tee $(abspath $(LOG_DIR)/6_lvs.log)
@@ -786,7 +780,7 @@ nuke: clean_test clean_issues
786780
#-------------------------------------------------------------------------------
787781
.PHONY: $(foreach file,$(RESULTS_DEF) $(RESULTS_GDS) $(RESULTS_OAS),klayout_$(file))
788782
$(foreach file,$(RESULTS_DEF) $(RESULTS_GDS) $(RESULTS_OAS),klayout_$(file)): klayout_%: $(OBJECTS_DIR)/klayout.lyt
789-
$(KLAYOUT_CMD) -nn $(OBJECTS_DIR)/klayout.lyt $(RESULTS_DIR)/$*
783+
$(SCRIPTS_DIR)/klayout.sh -nn $(OBJECTS_DIR)/klayout.lyt $(RESULTS_DIR)/$*
790784

791785
$(eval $(call OPEN_GUI_SHORTCUT,synth,1_synth.odb))
792786
$(eval $(call OPEN_GUI_SHORTCUT,floorplan,2_floorplan.odb))
@@ -832,7 +826,7 @@ test-unset-and-make-%: ; $(UNSET_AND_MAKE) $*
832826

833827
.phony: klayout
834828
klayout:
835-
$(KLAYOUT_CMD)
829+
$(SCRIPTS_DIR)/klayout.sh
836830

837831
.phony: run
838832
run:

flow/scripts/klayout.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
set -u -eo pipefail
3+
if [ -z "$KLAYOUT_CMD" ]; then
4+
echo "Error: KLayout not found in PATH"
5+
exit 1
6+
fi
7+
# Log version
8+
$KLAYOUT_CMD -v
9+
$KLAYOUT_CMD "$@"

flow/scripts/variables.mk

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,12 @@ KLAYOUT_DIR = $(abspath $(FLOW_HOME)/../tools/install/klayout/)
118118
KLAYOUT_BIN_FROM_DIR = $(KLAYOUT_DIR)/klayout
119119

120120
ifeq ($(wildcard $(KLAYOUT_BIN_FROM_DIR)), $(KLAYOUT_BIN_FROM_DIR))
121-
KLAYOUT_CMD ?= sh -c 'LD_LIBRARY_PATH=$(dir $(KLAYOUT_BIN_FROM_DIR)) $$0 "$$@"' $(KLAYOUT_BIN_FROM_DIR)
121+
export KLAYOUT_CMD ?= sh -c 'LD_LIBRARY_PATH=$(dir $(KLAYOUT_BIN_FROM_DIR)) $$0 "$$@"' $(KLAYOUT_BIN_FROM_DIR)
122122
else
123123
ifeq ($(KLAYOUT_CMD),)
124-
KLAYOUT_CMD := $(shell command -v klayout)
124+
export KLAYOUT_CMD := $(shell command -v klayout)
125125
endif
126126
endif
127-
KLAYOUT_FOUND = $(if $(KLAYOUT_CMD),,$(error KLayout not found in PATH))
128127

129128
ifneq ($(shell command -v stdbuf),)
130129
STDBUF_CMD ?= stdbuf -o L

0 commit comments

Comments
 (0)