Line 53... |
Line 53... |
|
|
PATTERNS=$(shell cd verilog/dv && find * -maxdepth 0 -type d)
|
PATTERNS=$(shell cd verilog/dv && find * -maxdepth 0 -type d)
|
DV_PATTERNS = $(foreach dv, $(PATTERNS), verify-$(dv))
|
DV_PATTERNS = $(foreach dv, $(PATTERNS), verify-$(dv))
|
TARGET_PATH=$(shell pwd)
|
TARGET_PATH=$(shell pwd)
|
PDK_PATH=${PDK_ROOT}/sky130A
|
PDK_PATH=${PDK_ROOT}/sky130A
|
VERIFY_COMMAND="cd ${TARGET_PATH}/verilog/dv/$* && export SIM=${SIM} && make"
|
#dinesh-a: iverilog version inside the docker is not able to compile the rtl code
|
|
# So We are running upto hex file generation inside docker and iverilog outside the docker
|
|
#VERIFY_COMMAND="cd ${TARGET_PATH}/verilog/dv/$* && export SIM=${SIM} && make"
|
|
VERIFY_COMMAND="cd ${TARGET_PATH}/verilog/dv/$* && export SIM=${SIM} && make hex"
|
$(DV_PATTERNS): verify-% : ./verilog/dv/%
|
$(DV_PATTERNS): verify-% : ./verilog/dv/%
|
docker run -v ${TARGET_PATH}:${TARGET_PATH} -v ${PDK_PATH}:${PDK_PATH} \
|
docker run -v ${TARGET_PATH}:${TARGET_PATH} -v ${PDK_PATH}:${PDK_PATH} \
|
-v ${CARAVEL_ROOT}:${CARAVEL_ROOT} \
|
-v ${CARAVEL_ROOT}:${CARAVEL_ROOT} \
|
-e TARGET_PATH=${TARGET_PATH} -e PDK_PATH=${PDK_PATH} \
|
-e TARGET_PATH=${TARGET_PATH} -e PDK_PATH=${PDK_PATH} \
|
-e CARAVEL_ROOT=${CARAVEL_ROOT} \
|
-e CARAVEL_ROOT=${CARAVEL_ROOT} \
|
-u $(id -u $$USER):$(id -g $$USER) efabless/dv_setup:latest \
|
-u $(id -u $$USER):$(id -g $$USER) efabless/dv_setup:latest \
|
sh -c $(VERIFY_COMMAND)
|
sh -c $(VERIFY_COMMAND)
|
|
cd ${TARGET_PATH}/verilog/dv/$* && $(MAKE) all
|
|
|
# Openlane Makefile Targets
|
# Openlane Makefile Targets
|
BLOCKS = $(shell cd openlane && find * -maxdepth 0 -type d)
|
BLOCKS = $(shell cd openlane && find * -maxdepth 0 -type d)
|
.PHONY: $(BLOCKS)
|
.PHONY: $(BLOCKS)
|
$(BLOCKS): %:
|
$(BLOCKS): %:
|