From c3648695638a7416290892a5e96add15419394f3 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Fri, 8 Mar 2019 18:11:10 -0800 Subject: [PATCH] default to .gitignoring all files in verisim/vsim | read verilator.mk --- .gitignore | 3 --- sims/verisim/.gitignore | 3 ++- sims/verisim/verilator.mk | 47 +++++++++++++++++++++++++++++++++++++++ sims/vsim/.gitignore | 3 ++- 4 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 sims/verisim/verilator.mk diff --git a/.gitignore b/.gitignore index 2efa7a6a..3866cf2f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,6 @@ bootrom target *.jar *.stamp -/sims/vsim -/sims/verisim -simv* *.vcd *.swp .idea diff --git a/sims/verisim/.gitignore b/sims/verisim/.gitignore index e442175e..afbfb95f 100644 --- a/sims/verisim/.gitignore +++ b/sims/verisim/.gitignore @@ -1,3 +1,4 @@ +* !.gitignore !Makefile -!Makefrag-verilator +!verilator.mk diff --git a/sims/verisim/verilator.mk b/sims/verisim/verilator.mk new file mode 100644 index 00000000..3af9b335 --- /dev/null +++ b/sims/verisim/verilator.mk @@ -0,0 +1,47 @@ +######################################################################################### +# verilator installation makefrag +######################################################################################### + +######################################################################################### +# verilator version, binary, and path +######################################################################################### +VERILATOR_VERSION=4.008 +VERILATOR_SRCDIR=verilator/src/verilator-$(VERILATOR_VERSION) +INSTALLED_VERILATOR=$(abspath verilator/install/bin/verilator) + +######################################################################################### +# build and install our own verilator to work around versioning issues +######################################################################################### +$(INSTALLED_VERILATOR): $(VERILATOR_SRCDIR)/bin/verilator + $(MAKE) -C $(VERILATOR_SRCDIR) installbin installdata + touch $@ + +$(VERILATOR_SRCDIR)/bin/verilator: $(VERILATOR_SRCDIR)/Makefile + $(MAKE) -C $(VERILATOR_SRCDIR) verilator_bin + touch $@ + +$(VERILATOR_SRCDIR)/Makefile: $(VERILATOR_SRCDIR)/configure + mkdir -p $(dir $@) + cd $(dir $@) && ./configure --prefix=$(abspath verilator/install) + +$(VERILATOR_SRCDIR)/configure: verilator/verilator-$(VERILATOR_VERSION).tar.gz + rm -rf $(dir $@) + mkdir -p $(dir $@) + cat $^ | tar -xz --strip-components=1 -C $(dir $@) + touch $@ + +verilator/verilator-$(VERILATOR_VERSION).tar.gz: + mkdir -p $(dir $@) + wget http://www.veripool.org/ftp/verilator-$(VERILATOR_VERSION).tgz -O $@ + +######################################################################################### +# verilator binary and flags +######################################################################################### +VERILATOR := $(INSTALLED_VERILATOR) --cc --exe +CXXFLAGS := $(CXXFLAGS) -O1 -std=c++11 -I$(RISCV)/include -D__STDC_FORMAT_MACROS +VERILATOR_FLAGS := --top-module $(MODEL) \ + +define+PRINTF_COND=\$$c\(\"verbose\",\"\&\&\"\,\"done_reset\"\) \ + +define+STOP_COND=\$$c\(\"done_reset\"\) --assert \ + --output-split 20000 \ + -Wno-STMTDLY --x-assign unique \ + -O3 -CFLAGS "$(CXXFLAGS) -DTEST_HARNESS=V$(MODEL) -DVERILATOR" diff --git a/sims/vsim/.gitignore b/sims/vsim/.gitignore index 803a3908..a0991ff4 100644 --- a/sims/vsim/.gitignore +++ b/sims/vsim/.gitignore @@ -1,2 +1,3 @@ -!Makefile +* !.gitignore +!Makefile