1 # Makefile for SystemVerilog Lab6
2 PKG =
3 TSCALE = -timescale="1ns/100ps"
4 RTL= ../../rtl/router.v
5 BADRTL= ../../rtl/bad/router.v
6 SVTB = ./router_test_top.sv ./router_io.sv ./test.sv
7 SEED = 1
8
9 default: test
10
11 test: compile run
12
13 bad: compile_bad run
14
15 package_run: PKG = ./router_test_pkg.sv
16 package_run: compile run
17
18 run:
19 ./simv -l simv.log +ntb_random_seed=$(SEED)
20 urg -dir simv.vdb
21 urg -dir simv.vdb -format text
22
23 run_pkg:
24 ./simv -l simv.log +ntb_random_seed=$(SEED)
25
26 compile:
27 vcs -l vcs.log -sverilog -debug_all $(TSCALE) $(PKG) $(SVTB) $(RTL)
28
29 compile_bad:
30 vcs -l vcs.log -sverilog -debug_all $(TSCALE) $(PKG) $(SVTB) $(BADRTL)
31
32 coverage:
33 firefox $(PWD)/urgReport/dashboard.html &
34
35 template:
36 ntb_template -t router -c clock ../../rtl/router.v
37
38 dve:
39 dve -vpd vcdplus.vpd &
40
41 debug:
42 ./simv -l simv.log -gui -tbug +ntb_random_seed=$(SEED)
43
44 copy:
45 cp ../../solutions/lab5/*.sv .
46 cp ../../solutions/lab6/Environment.sv .
47 cp ../../solutions/lab6/router_test_pkg.sv.orig router_test_pkg.sv
48 cp ../../solutions/lab6/Scoreboard.sv.orig Scoreboard.sv
49 cp ../../solutions/lab6/test.sv.orig test.sv
50 cp ../../solutions/lab5/router_test.h .
51
52 mycopy:
53 cp ../lab5/*.sv .
54 cp ../../solutions/lab6/Environment.sv .
55 cp ../../solutions/lab6/router_test_pkg.sv.orig router_test_pkg.sv
56 cp ../../solutions/lab6/Scoreboard.sv.orig Scoreboard.sv
57 cp ../../solutions/lab6/test.sv.orig test.sv
58 cp ../lab5/router_test.h .
59
60 solution: clean
61 cp ../../solutions/lab6/*.sv .
62 cp ../../solutions/lab6/router_test.h .
63
64 clean:
65 rm -rf simv* csrc* *.tmp *.vpd *.key *.log *hdrs.h
66
67 nuke: clean
68 rm -rf *.v* include *.sv .*.lock *.old .*.old DVE* *.tcl urg* *.h
69
70 help:
71 @echo ===========================================================================
72 @echo " "
73 @echo " USAGE: make target <SEED=xxx> "
74 @echo " "
75 @echo " ------------------------- Test TARGETS --------------------------------"
76 @echo " test => Compiles TB and GOOD DUT files, runs the simulation. "
77 @echo " bad => Compiles TB and BAD DUT files, runs the simulation. "
78 @echo " compile => Compiles the TB and DUT. "
79 @echo " run => Runs the simulation. "
80 @echo " template => Builds ntb templates "
81 @echo " dve => Runs dve in post-processing mode "
82 @echo " debug => Runs simulation interactively with dve "
83 @echo " clean => Removes all intermediate simv and log files. "
84 @echo " "
85 @echo " -------------------- ADMINISTRATIVE TARGETS ---------------------------"
86 @echo " help => Displays this message. "
87 @echo " copy => Copies lab files from previous working directory "
88 @echo " mycopy => Copies lab files from previous solution directory "
89 @echo " solution => Copies all files from current solutions directory "
90 @echo " nuke => Erases all changes. Put all files back to original state "
91 @echo " "
92 @echo ===========================================================================