From a3d3aa514bf529805d6a06c2c1d9c3f464589c15 Mon Sep 17 00:00:00 2001 From: mrg Date: Mon, 7 Feb 2022 11:27:10 -0800 Subject: [PATCH 1/3] Add target for all technologies --- compiler/tests/Makefile | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/compiler/tests/Makefile b/compiler/tests/Makefile index 2fb7f4e1..16a0d677 100644 --- a/compiler/tests/Makefile +++ b/compiler/tests/Makefile @@ -6,7 +6,7 @@ include $(TOP_DIR)/openram.mk ARGS ?= TECH ?= scn4m_subm TECHS = scn4m_subm freepdk45 -# sky130 +ALL_TECHS = scn4m_subm freepdk45 sky130 TEST_DIR = $(TOP_DIR)/compiler/tests TEST_SRCS = $(sort $(notdir $(wildcard $(TEST_DIR)/*_test.py))) @@ -40,14 +40,20 @@ gettech = $(word 1,$(subst /, ,$*)) getfile = $(word 2,$(subst /, ,$*)) WORKING_TECH_TEST_STAMPS=$(foreach T, $(TECHS),$(addprefix $T/,$(WORKING_TEST_STAMPS))) +# Run all technologies all: $(WORKING_TECH_TEST_STAMPS) @ls $(TOP_DIR)/compiler/tests/results/*.bad 1> /dev/null 2>&1 && echo "REGRESSION FAIL" && exit 1 || echo "REGRESSION PASS" .PHONY: all +# Run a given technology +# e.g. make freepdk45 +$(ALL_TECHS): + @$(MAKE) --no-print-directory $(addprefix $@/,$(WORKING_TEST_STAMPS)) +.PHONY: $(TECHS) + # Targets for each individual test # e.g. make 04_pinv_1x_test $(TEST_BASES): -# @echo "Running $(TECH) $@ ... " @$(MAKE) --no-print-directory $(TECH)/$@.ok .PHONY: $(TEST_BASES) @@ -68,23 +74,8 @@ $(TEST_BASES): @test -f $(TOP_DIR)/compiler/tests/results/$*.ok && echo "$* ... PASS!" && rm -rf $(TOP_DIR)/compiler/tests/results/$* || echo "$* ... FAIL!" .DELETE_ON_ERROR: $(TEST_STAMPS) -# This would use the regress.py script to run in parallel instead of -# the Makefile. -#$(TECHS): -# @echo "Running $*" -# docker run \ -# -v $(TOP_DIR):/openram \ -# -v $(FREEPDK45):/pdk/freepdk45 \ -# -v $(PDK_ROOT):/pdk \ -# --user $(UID):$(GID) \ -# -e OPENRAM_TMP=$(OPENRAM_DIR)/results/$@ \ -# vlsida/openram-ubuntu:latest \ -# sh -c ". /home/cad-user/.bashrc && python3 -u $(OPENRAM_DIR)/regress.py -t $@ $(ARGS)" -#.PHONY: $(TECHS) -#regress: $(TECHS) -#.PHONY: regress - # Mount environment for debug +# mount: docker run -it \ -v $(TOP_DIR):/openram \ From b641bc8eef3720f12f1ab8b8eb58cd633f8b14e0 Mon Sep 17 00:00:00 2001 From: mrg Date: Mon, 7 Feb 2022 16:30:18 -0800 Subject: [PATCH 2/3] Check proper subdir for bad files --- compiler/tests/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/tests/Makefile b/compiler/tests/Makefile index 16a0d677..9f1d0dc6 100644 --- a/compiler/tests/Makefile +++ b/compiler/tests/Makefile @@ -42,7 +42,7 @@ WORKING_TECH_TEST_STAMPS=$(foreach T, $(TECHS),$(addprefix $T/,$(WORKING_TEST_ST # Run all technologies all: $(WORKING_TECH_TEST_STAMPS) - @ls $(TOP_DIR)/compiler/tests/results/*.bad 1> /dev/null 2>&1 && echo "REGRESSION FAIL" && exit 1 || echo "REGRESSION PASS" + @ls $(TOP_DIR)/compiler/tests/results/*/*.bad 1> /dev/null 2>&1 && echo "REGRESSION FAIL" && exit 1 || echo "REGRESSION PASS" .PHONY: all # Run a given technology From 833278b7a6bc977647f19f7ab0fd105edd4f5ed0 Mon Sep 17 00:00:00 2001 From: mrg Date: Mon, 7 Feb 2022 16:30:25 -0800 Subject: [PATCH 3/3] Add iverilog to docker image --- docker/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index 14950d19..07093a3d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -130,6 +130,8 @@ RUN ../configure CXXFLAGS="-O3 -std=c++11" \ --prefix=/usr/local/Xyce/Parallel --enable-shared --enable-xyce-shareable RUN make -j 4 install +RUN apt-get install --no-install-recommends -y iverilog + ### CLEAN UP ### # Remove development tools to save space RUN apt-get remove -y build-essential autoconf automake libtool bison flex tcl-dev tk-dev cmake