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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [scripts/] [make/] [Makefile-board-modelsim.inc] - Diff between revs 558 and 560

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

Rev 558 Rev 560
Line 1... Line 1...
# Modelsim script generation, compile and run rules for board simulations
# Modelsim script generation, compile and run rules for board simulations
 
 
#
#
# Modelsim-specific settings
# Modelsim-specific settings
#
#
VOPT_ARGS=$(QUIET) -suppress 2241
VOPT_ARGS+=$(QUIET) -suppress 2241
 
 
# If VCD dump is desired, tell Modelsim not to optimise
# If VCD dump is desired, tell Modelsim not to optimise
# away everything.
# away everything.
ifeq ($(VCD), 1)
ifeq ($(VCD), 1)
#VOPT_ARGS=-voptargs="+acc=rnp"
#VOPT_ARGS=-voptargs="+acc=rnp"
VOPT_ARGS=+acc=rnpqv
VOPT_ARGS+=+acc=rnpqv
endif
endif
 
 
# VSIM commands
# VSIM commands
# Suppressed warnings - 3009: Failed to open $readmemh() file
# Suppressed warnings - 3009: Failed to open $readmemh() file
# Suppressed warnings - 3009: Module 'blah' does not have a `timescale directive in effect, but previous modules do.
# Suppressed warnings - 3009: Module 'blah' does not have a `timescale directive in effect, but previous modules do.
# Suppressed warnings - 8598: Non-positive replication multiplier inside concat. Replication will be ignored
# Suppressed warnings - 8598: Non-positive replication multiplier inside concat. Replication will be ignored
VSIM_ARGS=  -suppress 7 -suppress 3009 -suppress 8598 -c $(QUIET) -do "set StdArithNoWarnings 1; run -all; exit"
VSIM_ARGS+=  -suppress 7 -suppress 3009 -suppress 8598 -c $(QUIET) -do "set StdArithNoWarnings 1; run -all; exit"
 
 
# VPI debugging interface set up
# VPI debugging interface set up
VPI_SRC_C_DIR=$(COMMON_BENCH_VERILOG_DIR)/vpi/c
VPI_SRC_C_DIR=$(COMMON_BENCH_VERILOG_DIR)/vpi/c
VPI_SRCS=$(shell ls $(VPI_SRC_C_DIR)/*.[ch])
VPI_SRCS=$(shell ls $(VPI_SRC_C_DIR)/*.[ch])
 
 
Line 60... Line 60...
        $(Q)if [ ! -z "$$GATELEVEL_MODULES" ]; \
        $(Q)if [ ! -z "$$GATELEVEL_MODULES" ]; \
                then echo "-y " $(BOARD_SYN_OUT_DIR) >> $@; \
                then echo "-y " $(BOARD_SYN_OUT_DIR) >> $@; \
                echo "+libext+.vm" >> $@; \
                echo "+libext+.vm" >> $@; \
        fi
        fi
ifeq ($(FPGA_VENDOR), xilinx)
ifeq ($(FPGA_VENDOR), xilinx)
        $(Q)echo "-y "$(XILINX_PATH)"/verilog/src/unisims" >> $@;
        $(Q)echo "-y "$(TECHNOLOGY_LIBRARY_VERILOG_DIR)"/src/unisims" >> $@;
        $(Q)echo "-y "$(XILINX_PATH)"/verilog/src/XilinxCoreLib" >> $@;
        $(Q)echo "-y "$(TECHNOLOGY_LIBRARY_VERILOG_DIR)"/src/XilinxCoreLib" >> $@;
endif
endif
        $(Q)echo >> $@
        $(Q)echo >> $@
 
 
modelsim_bench.scr: $(BOARD_BENCH_VERILOG_SRC) $(COMMON_BENCH_VERILOG_SRC)
modelsim_bench.scr: $(BOARD_BENCH_VERILOG_SRC) $(COMMON_BENCH_VERILOG_SRC)
        $(Q)echo "+incdir+"$(BOARD_BENCH_VERILOG_INCLUDE_DIR) > $@;
        $(Q)echo "+incdir+"$(BOARD_BENCH_VERILOG_INCLUDE_DIR) > $@;
Line 75... Line 75...
        $(Q)echo "+incdir+"$(BOARD_RTL_VERILOG_INCLUDE_DIR) >> $@;
        $(Q)echo "+incdir+"$(BOARD_RTL_VERILOG_INCLUDE_DIR) >> $@;
        $(Q)echo "+libext+.v" >> $@;
        $(Q)echo "+libext+.v" >> $@;
        $(Q)for vsrc in $(BOARD_BENCH_VERILOG_SRC); do echo $$vsrc >> $@; done
        $(Q)for vsrc in $(BOARD_BENCH_VERILOG_SRC); do echo $$vsrc >> $@; done
        $(Q)for vsrc in $(COMMON_BENCH_VERILOG_SRC); do echo $$vsrc >> $@; done
        $(Q)for vsrc in $(COMMON_BENCH_VERILOG_SRC); do echo $$vsrc >> $@; done
ifeq ($(FPGA_VENDOR), xilinx)
ifeq ($(FPGA_VENDOR), xilinx)
        $(Q)echo "+incdir+"$(XILINX_PATH)"/verilog/src" >> $@;
        $(Q)echo "+incdir+"$(TECHNOLOGY_LIBRARY_VERILOG_DIR)"/src" >> $@;
endif
endif
        $(Q)echo >> $@
        $(Q)echo >> $@
 
 
#
#
# Build rules
# Build rules
Line 119... Line 119...
endif
endif
 
 
ifeq ($(FPGA_VENDOR), xilinx)
ifeq ($(FPGA_VENDOR), xilinx)
$(MODELSIM): modelsim_bench.scr $(TEST_DEFINES_VLG) $(VPI_LIBS) work
$(MODELSIM): modelsim_bench.scr $(TEST_DEFINES_VLG) $(VPI_LIBS) work
        $(Q)echo; echo "\t### Compiling Xilinx support libs, user design & testbench ###"; echo
        $(Q)echo; echo "\t### Compiling Xilinx support libs, user design & testbench ###"; echo
 
ifeq ($(DO_XILINX_COMPXLIB), 1)
 
        $(Q)$(TECHNOLOGY_BACKEND_BIN_DIR)/compxlib $(XLIB_ARGS)
 
endif
        $(Q)vlog $(QUIET) -nologo -incr $(BENCH_TOP_FILE) -f $<
        $(Q)vlog $(QUIET) -nologo -incr $(BENCH_TOP_FILE) -f $<
        $(Q)vopt $(QUIET) glbl $(RTL_TESTBENCH_TOP_NAME) $(VOPT_ARGS) -o tb
        $(Q)vopt $(QUIET) glbl $(RTL_TESTBENCH_TOP_NAME) $(VOPT_ARGS) -o tb
        $(Q)echo; echo "\t### Launching simulation ###"; echo
        $(Q)echo; echo "\t### Launching simulation ###"; echo
        $(Q)vsim $(VSIM_ARGS) tb
        $(Q)vsim $(VSIM_ARGS) tb
endif
endif

powered by: WebSVN 2.1.0

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