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 172

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 172 diegovalve
TESTBENCH = TestBench_verilog
7 162 diegovalve
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 170 diegovalve
 
43 162 diegovalve
 
44
 
45 172 diegovalve
check:
46 162 diegovalve
        $(VERILOG_CMD) -t null $(FILES)
47
 
48
# Setup up project directory
49
new :
50
        echo "Setting up project ${PROJECT}"
51 167 diegovalve
        mkdir rtl testbench simulation
52 162 diegovalve
 
53
 
54
compile : testbench_check
55 167 diegovalve
        perl $(GPUCONFIGURATIONSCRIPT) $(GPUCORES)
56
 
57 162 diegovalve
        cp $(SOURCEPATH)/aDefinitions.v .
58
ifeq ($(strip $(DEBUG_CORE_ID)),)
59
        $(VERILOG_CMD) -o  $(SIMDIR)/$(TESTBENCH) $(TESTBENCHPATH) $(SOURCEPATH)/*
60
else
61
         $(VERILOG_CMD) -DDEBUG=1 -DDUMP_CODE=1 -DDEBUG_CORE=$(DEBUG_CORE_ID) -o  $(SIMDIR)/$(TESTBENCH) $(TESTBENCHPATH) $(SOURCEPATH)/*
62
endif
63
        rm -f aDefinitions.v
64
 
65
run : testbench_check
66 170 diegovalve
ifeq ($(strip $(SCENEPATH)),)
67
                @echo "SCENEPATH not set. Use SCENEPATH=value to set it"
68
                @exit 2
69
endif
70
        cp -f $(SCENEPATH)/*.mem .
71 167 diegovalve
        perl $(INPUTCONFIGURATIONSCRIPT) $(GPUCORES)
72 162 diegovalve
        $(VVP_CMD) ./$(TESTBENCH) -$(DUMPTYPE) $(VVP_FLAGS)
73
 
74
view : testbench_check
75
        $(WAVEFORM_VIEWER)  $(SIMDIR)/$(TESTBENCH).$(DUMPTYPE)
76
 
77 172 diegovalve
clean :
78
        rm -f *.mem
79
        rm -f *.ppm
80
        rm -f *.log

powered by: WebSVN 2.1.0

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