OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [sim/] [bin/] [Makefile] - Diff between revs 45 and 47

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 45 Rev 47
Line 84... Line 84...
SIM_VLT_DIR=$(SIM_DIR)/vlt
SIM_VLT_DIR=$(SIM_DIR)/vlt
BENCH_DIR=$(PROJECT_ROOT)/bench
BENCH_DIR=$(PROJECT_ROOT)/bench
BACKEND_DIR=$(PROJECT_ROOT)/backend
BACKEND_DIR=$(PROJECT_ROOT)/backend
BENCH_VERILOG_DIR=$(BENCH_DIR)/verilog
BENCH_VERILOG_DIR=$(BENCH_DIR)/verilog
BENCH_SYSC_DIR=$(BENCH_DIR)/sysc
BENCH_SYSC_DIR=$(BENCH_DIR)/sysc
 
BENCH_SYSC_SRC_DIR=$(BENCH_SYSC_DIR)/src
 
BENCH_SYSC_INCLUDE_DIR=$(BENCH_SYSC_DIR)/include
RTL_VERILOG_DIR=$(PROJECT_ROOT)/rtl/verilog
RTL_VERILOG_DIR=$(PROJECT_ROOT)/rtl/verilog
SW_DIR=$(PROJECT_ROOT)/sw
SW_DIR=$(PROJECT_ROOT)/sw
 
 
ICARUS=iverilog
ICARUS=iverilog
ICARUS_VVP=vvp
ICARUS_VVP=vvp
Line 288... Line 290...
                        echo "\t#### Test $$TEST PASSED ####";\
                        echo "\t#### Test $$TEST PASSED ####";\
                else    echo "\t#### Test $$TEST FAILED ####";\
                else    echo "\t#### Test $$TEST FAILED ####";\
                fi; \
                fi; \
                echo "\t####"; echo; \
                echo "\t####"; echo; \
        done
        done
 
SYSC_MODEL_FILES=$(BENCH_SYSC_SRC_DIR)/Or1200Monitor.cpp $(BENCH_SYSC_SRC_DIR)/ResetSC.cpp
prepare_vlt: prepare_rtl
prepare_vlt: $(SIM_VLT_DIR)/libmodules.a prepare_rtl
        if [ ! -d $(SIM_VLT_DIR) ]; then mkdir $(SIM_VLT_DIR); fi
        if [ ! -d $(SIM_VLT_DIR) ]; then mkdir $(SIM_VLT_DIR); fi
 
# Generate the compile script to give Verilator
        cd $(SIM_VLT_DIR) && \
        cd $(SIM_VLT_DIR) && \
        sed < $(SIM_BIN_DIR)/$(VLT_COMMAND_FILE) > $(VLT_COMMAND_FILE).generated \
        sed < $(SIM_BIN_DIR)/$(VLT_COMMAND_FILE) > $(VLT_COMMAND_FILE).generated \
                        -e s!\$$BENCH_DIR!$(BENCH_VERILOG_DIR)!              \
                        -e s!\$$BENCH_DIR!$(BENCH_VERILOG_DIR)!              \
                        -e s!\$$RTL_DIR!$(RTL_VERILOG_DIR)!                  \
                        -e s!\$$RTL_DIR!$(RTL_VERILOG_DIR)!                  \
                        -e s!\$$BACKEND_DIR!$(BACKEND_DIR)!                  \
                        -e s!\$$BACKEND_DIR!$(BACKEND_DIR)!                  \
                        -e \\!^//.*\$$!d -e \\!^\$$!d;
                        -e \\!^//.*\$$!d -e \\!^\$$!d;
 
# Now call verilator to generate the .mk's
        cd $(SIM_VLT_DIR) && \
        cd $(SIM_VLT_DIR) && \
        verilator -language 1364-2001 -Wno-lint --top-module orpsoc_top -Mdir . -sc -f $(VLT_COMMAND_FILE).generated
        verilator -language 1364-2001 -Wno-lint --top-module orpsoc_top -Mdir . -sc -I$(BENCH_SYSC_INCLUDE_DIR) -I$(BENCH_SYSC_SRC_DIR) $(SYSC_MODEL_FILES) -f $(VLT_COMMAND_FILE).generated
 
# Now call the first makefile it generated
        cd $(SIM_VLT_DIR) && \
        cd $(SIM_VLT_DIR) && \
        $(MAKE) -f Vorpsoc_top.mk Vorpsoc_top__ALL.a
        $(MAKE) -f Vorpsoc_top.mk Vorpsoc_top__ALL.a
#       cd $(SIM_VLT_DIR) && \
 
        $(MAKE) -f Vorpsoc_top.mk sc_main.o
 
        cd $(SIM_VLT_DIR) && \
        cd $(SIM_VLT_DIR) && \
        $(MAKE) -f Vorpsoc_top.mk verilated.o
        $(MAKE) -f Vorpsoc_top.mk verilated.o
 
        cd $(SIM_VLT_DIR) && \
 
        cp Vorpsoc_top__ALL.a libVorpsoc_top.a
# Now compile the top level systemC module
# Now compile the top level systemC module
        cd $(SIM_VLD_DIR) && g++ -fbranch-probabilities -fvpt -funroll-loops -fpeel-loops -ftracer -I$(BENCH_SYSC_DIR)/include -I$(SYSTEMC)/include -I$(VERILATOR_ROOT)/include -I$(SIM_VLT_DIR) -L$(SIM_VLT_DIR) -L$(SYSTEMC)/lib-linux64 $(BENCH_SYSC_DIR)/src/OrpsocMain.cpp
        cd $(SIM_VLT_DIR) && g++ -I$(BENCH_SYSC_INCLUDE_DIR) -I$(VERILATOR_ROOT)/include -I$(SYSTEMC)/include -c $(BENCH_SYSC_SRC_DIR)/OrpsocMain.cpp
 
# Order of libraries here is important
 
        cd $(SIM_VLT_DIR) && g++ -o Vorpsoc_top -L. -L$(BENCH_SYSC_SRC_DIR) -L$(SYSTEMC)/lib-linux64 OrpsocMain.o -lVorpsoc_top -lmodules -lsystemc
 
 
 
 
 
# SystemC modules library
 
$(SIM_VLT_DIR)/libmodules.a:
 
        $(MAKE) -C $(BENCH_SYSC_SRC_DIR) -f $(BENCH_SYSC_SRC_DIR)/Modules.make
 
 
 
 
 
 
clean-sw:
clean-sw:
        @for TEST in $(TESTS); do \
        @for TEST in $(TESTS); do \
                echo "Current test: $$TEST"; \
                echo "Current test: $$TEST"; \

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.