From cc619981f0804ce1da54a12d67ff4009d2df56b9 Mon Sep 17 00:00:00 2001 From: Koray Yanik Date: Fri, 13 Oct 2023 20:45:19 +0100 Subject: [PATCH] Some work on DPI support --- vivado/Makefile.rules | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/vivado/Makefile.rules b/vivado/Makefile.rules index faace9e..2a8482a 100644 --- a/vivado/Makefile.rules +++ b/vivado/Makefile.rules @@ -3,28 +3,34 @@ TB ?= tb_top XVLOG ?= xvlog XELAB ?= xelab XSIM ?= xsim +XSC ?= xsc vpath %.sv $(PATH_SRC) vpath %.svh $(PATH_SRC) +vpath %.c $(PATH_SRC) INC_DIRS=$(patsubst %,-i %,$(subst :, ,$(PATH_SRC))) DEFS=$(patsubst %,-d %,$(subst :, ,$(DEFINES))) .SUFFIXES: -.SUFFIXES: .sv .svh .sdb +.SUFFIXES: .sv .svh .sdb .c .PHONY: all clean sim_build sim sim_gui all: sim OBJS=$(subst sv,sdb,$(SOURCES)) +DPI_OBJS=$(subst c,lnx64.o,$(DPI_SOURCES)) xsim.dir/work/%.sdb: %.sv $(INCLUDES) $(XVLOG) --sv --nolog $< $(INC_DIRS) $(DEFS) rm xvlog.pb -xsim.dir/work.$(TB)/xsim.dbg: $(addprefix xsim.dir/work/, $(OBJS)) - $(XELAB) --nolog --debug all -Odisable_unused_removal $(TB) +xsim.dir/work/xsc/%.lnx64.o: %.c + $(XSC) --compile $< + +xsim.dir/work.$(TB)/xsim.dbg: $(addprefix xsim.dir/work/, $(OBJS)) $(addprefix xsim.dir/work/xsc/, $(DPI_OBJS)) + $(XELAB) --nolog --debug all -Odisable_unused_removal --sv_root xsim.dir/work/xsc/ --sv_lib $(DPI_OBJS) $(TB) rm -f xelab.pb sim_build: xsim.dir/work.$(TB)/xsim.dbg