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 177

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 177 diegovalve
GPUMEMBANKS = $(GPUCORES)
15 162 diegovalve
#VERILOG_FLAGS  =
16
 
17
# VVP (iverilog runtime engine)
18
VVP_CMD = vvp
19
#VVP_FLAGS =
20
 
21
#Simulation Vars
22
SIMDIR = .
23
DUMPTYPE = none
24 165 diegovalve
DEBUG_CORE_ID =
25 167 diegovalve
SCENEPATH =
26 162 diegovalve
#Viewer
27
WAVEFORM_VIEWER = gtkwave # Waveform viewer executable
28
 
29
 
30
all: compile run view
31
 
32
file_check:
33
ifeq ($(strip $(FILES)),)
34
                @echo "FILES not set. Use FILES=value to set it. Put mutltiple files in quotes"
35
                @exit 2
36
endif
37
 
38
testbench_check:
39
ifeq ($(strip $(TESTBENCH)),)
40
                @echo "TESTBENCH not set. Use TESTBENCH=value to set it."
41
                @exit 2
42 167 diegovalve
endif
43 170 diegovalve
 
44 162 diegovalve
 
45
 
46 172 diegovalve
check:
47 162 diegovalve
        $(VERILOG_CMD) -t null $(FILES)
48
 
49
# Setup up project directory
50
new :
51
        echo "Setting up project ${PROJECT}"
52 167 diegovalve
        mkdir rtl testbench simulation
53 162 diegovalve
 
54
 
55
compile : testbench_check
56 177 diegovalve
        perl $(GPUCONFIGURATIONSCRIPT) $(GPUCORES) $(GPUMEMBANKS)
57 167 diegovalve
 
58 162 diegovalve
        cp $(SOURCEPATH)/aDefinitions.v .
59
ifeq ($(strip $(DEBUG_CORE_ID)),)
60
        $(VERILOG_CMD) -o  $(SIMDIR)/$(TESTBENCH) $(TESTBENCHPATH) $(SOURCEPATH)/*
61
else
62
         $(VERILOG_CMD) -DDEBUG=1 -DDUMP_CODE=1 -DDEBUG_CORE=$(DEBUG_CORE_ID) -o  $(SIMDIR)/$(TESTBENCH) $(TESTBENCHPATH) $(SOURCEPATH)/*
63
endif
64
        rm -f aDefinitions.v
65
 
66
run : testbench_check
67 170 diegovalve
ifeq ($(strip $(SCENEPATH)),)
68
                @echo "SCENEPATH not set. Use SCENEPATH=value to set it"
69
                @exit 2
70
endif
71
        cp -f $(SCENEPATH)/*.mem .
72 167 diegovalve
        perl $(INPUTCONFIGURATIONSCRIPT) $(GPUCORES)
73 162 diegovalve
        $(VVP_CMD) ./$(TESTBENCH) -$(DUMPTYPE) $(VVP_FLAGS)
74
 
75
view : testbench_check
76
        $(WAVEFORM_VIEWER)  $(SIMDIR)/$(TESTBENCH).$(DUMPTYPE)
77
 
78 172 diegovalve
clean :
79 177 diegovalve
        rm *.{mem,ppm,log}

powered by: WebSVN 2.1.0

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