PARAMS += -DCACHE_SIZE=4096 -DCACHE_WORD_SIZE=4 -DCACHE_LINE_SIZE=16 -DCACHE_NUM_BANKS=4 -DCACHE_CREQ_SIZE=4 -DMRVQ_SIZE=16 -DDFPQ_SIZE=16 -DSNRQ_SIZE=16 -DCWBQ_SIZE=4 -DDWBQ_SIZE=4 -DFQQ_SIZE=4 # control RTL debug tracing states DBG_TRACE_FLAGS = -DDBG_TRACE_CORE_PIPELINE \ -DDBG_TRACE_CORE_ICACHE \ -DDBG_TRACE_CORE_DCACHE \ -DDBG_TRACE_CORE_MEM \ -DDBG_TRACE_CACHE_BANK \ -DDBG_TRACE_CACHE_SNP \ -DDBG_TRACE_CACHE_MSHR \ -DDBG_TRACE_CACHE_TAG \ -DDBG_TRACE_CACHE_DATA \ -DDBG_TRACE_AFU #DBG_PRINT=$(DBG_TRACE_FLAGS) INCLUDE = -I../../rtl/ -I../../rtl/cache -I../../rtl/libs SRCS = cachesim.cpp testbench.cpp all: build CF += -std=c++11 -fms-extensions -I../.. CF += $(PARAMS) VF += --language 1800-2009 --assert -Wall --trace #-Wpedantic VF += -Wno-DECLFILENAME VF += --x-initial unique VF += -exe $(SRCS) $(INCLUDE) VF += $(PARAMS) gen: verilator $(VF) -cc $(TOP).v -CFLAGS '$(CF)' --exe $(SRCS) build: gen (cd obj_dir && make -j -f V$(TOP).mk) run: build (cd obj_dir && ./V$(TOP)) clean: rm -rf obj_dir