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

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [icarus_version/] [simulation/] [Makefile] - Blame information for rev 167

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 162 diegovalve
 
2
VERILOGEX = .v # Verilog file extension
3
 
4
# testbench path TESTBENCH is passed from the command line
5
SCENEPATH =
6
TESTBENCH = TestBench_THEIA
7
TESTBENCHPATH = ../testbench/${TESTBENCH}$(VERILOGEX)
8 167 diegovalve
SOURCEPATH = ../rtl
9
GPUCONFIGURATIONSCRIPT=../scripts/configure_gpu.pl
10
INPUTCONFIGURATIONSCRIPT=../scripts/configure_params.pl
11 162 diegovalve
#iverilog CONFIG
12
VERILOG_CMD = iverilog
13 167 diegovalve
GPUCORES = 4
14 162 diegovalve
#VERILOG_FLAGS  =
15
 
16
# VVP (iverilog runtime engine)
17
VVP_CMD = vvp
18
#VVP_FLAGS =
19
 
20
#Simulation Vars
21
SIMDIR = .
22
DUMPTYPE = none
23 165 diegovalve
DEBUG_CORE_ID =
24 167 diegovalve
SCENEPATH =
25 162 diegovalve
#Viewer
26
WAVEFORM_VIEWER = gtkwave # Waveform viewer executable
27
 
28
 
29
all: compile run view
30
 
31
file_check:
32
ifeq ($(strip $(FILES)),)
33
                @echo "FILES not set. Use FILES=value to set it. Put mutltiple files in quotes"
34
                @exit 2
35
endif
36
 
37
testbench_check:
38
ifeq ($(strip $(TESTBENCH)),)
39
                @echo "TESTBENCH not set. Use TESTBENCH=value to set it."
40
                @exit 2
41 167 diegovalve
endif
42
ifeq ($(strip $(SCENEPATH)),)
43
                @echo "SCENEPATH not set. Use SCENEPATH=value to set it"
44
                @exit 2
45
endif
46 162 diegovalve
 
47
 
48
check: file_check
49
        $(VERILOG_CMD) -t null $(FILES)
50
 
51
# Setup up project directory
52
new :
53
        echo "Setting up project ${PROJECT}"
54 167 diegovalve
        mkdir rtl testbench simulation
55 162 diegovalve
 
56
 
57
compile : testbench_check
58 167 diegovalve
        perl $(GPUCONFIGURATIONSCRIPT) $(GPUCORES)
59
 
60 162 diegovalve
        cp $(SOURCEPATH)/aDefinitions.v .
61
ifeq ($(strip $(DEBUG_CORE_ID)),)
62
        $(VERILOG_CMD) -o  $(SIMDIR)/$(TESTBENCH) $(TESTBENCHPATH) $(SOURCEPATH)/*
63
else
64
         $(VERILOG_CMD) -DDEBUG=1 -DDUMP_CODE=1 -DDEBUG_CORE=$(DEBUG_CORE_ID) -o  $(SIMDIR)/$(TESTBENCH) $(TESTBENCHPATH) $(SOURCEPATH)/*
65
endif
66
        rm -f aDefinitions.v
67
 
68
run : testbench_check
69 167 diegovalve
        cp $(SCENEPATH)/*.mem .
70
        perl $(INPUTCONFIGURATIONSCRIPT) $(GPUCORES)
71 162 diegovalve
        $(VVP_CMD) ./$(TESTBENCH) -$(DUMPTYPE) $(VVP_FLAGS)
72
 
73
view : testbench_check
74
        $(WAVEFORM_VIEWER)  $(SIMDIR)/$(TESTBENCH).$(DUMPTYPE)
75
 
76
clean : test_bench_check
77
        rm $(SIM_DIR)/$(TESTBENCH)*

powered by: WebSVN 2.1.0

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