1 test = test_base
2 TB_TOP = ./test.sv
3 UVM_HOME = ../../uvm-1.1
4 verbosity = UVM_MEDIUM
5 #option = UVM_OBJECTION_TRACE
6 uvm_ver = uvm-1.0
7 seed = 1
8 SOLVER = 2
9
10 default: uvm
11
12 all: simv
13 ./simv -l simv.log +ntb_random_seed=$(seed) +UVM_TESTNAME=$(test) +ntb_solver_mode=$(SOLVER) +UVM_VERBOSITY=$(verbosity)
14
15 uvm: uvm_simv
16 ./simv -l simv.log +ntb_random_seed=$(seed) +UVM_TESTNAME=$(test) +ntb_solver_mode=$(SOLVER) +UVM_VERBOSITY=$(verbosity)
17
18 uvm_simv uvm_compile: *.sv
19 vcs -sverilog ${UVM_HOME}/src/dpi/uvm_dpi.cc -CFLAGS -DVCS ${UVM_HOME}/src/uvm_pkg.sv +incdir+${UVM_HOME}/src -timescale="1ns/100ps" -l comp.log -debug_all $(DUT) $(HARNESS_TOP) $(TB_TOP)
20
21 run:
22 ./simv -l simv.log +ntb_random_seed=$(seed) +UVM_TESTNAME=$(test) +ntb_solver_mode=$(SOLVER) +UVM_VERBOSITY=$(verbosity)
23
24 random: simv
25 ./simv -l simv.log +ntb_random_seed_automatic +UVM_TESTNAME=$(test) +ntb_solver_mode=$(SOLVER) +UVM_VERBOSITY=$(verbosity)
26
27 simv compile: *.sv $(TB_TOP)
28 vcs -sverilog -ntb_opts ${uvm_ver} -timescale="1ns/100ps" -l comp.log -debug_all $(TB_TOP)
29
30 dve_i: uvm_simv
31 ./simv -l simv.log -gui +ntb_random_seed=$(seed) +UVM_TESTNAME=$(test)
32
33 solution: nuke
34 cp ../../solutions/lab2/*.sv .
35
36 mycopy: nuke
37 cp ../lab1/*.sv .
38 cp ../../solutions/lab2/packet_da_3.sv.orig packet_da_3.sv
39
40 original: copy
41
42 copy: nuke
43 cp ../../solutions/lab1/*.sv .
44 cp ../../solutions/lab2/packet_da_3.sv.orig packet_da_3.sv
45 cp ../../solutions/lab2/test_collection.sv.orig test_collection.sv
46
47 clean:
48 rm -rf simv* csrc* *.tmp *.vpd *.key log *.h temp *.log .vcs* *.txt DVE* *~
49
50 nuke: clean
51 rm -rf *.sv
52
53 help:
54 @echo =======================================================================
55 @echo " "
56 @echo " USAGE: make target <seed=xxx> <verbosity=YYY> <test=ZZZ> "
57 @echo " "
58 @echo " xxx is the random seed. Can be any integer except 0. Defaults to 1 "
59 @echo " YYY sets the verbosity filter. Defaults to UVM_MEDIUM "
60 @echo " ZZZ selects the uvm test. Defaults to test_base "
61 @echo " "
62 @echo " ------------------------- Test TARGETS ------------------------------ "
63 @echo " all => Compile TB and DUT files and run the simulation "
64 @echo " compile => Compile TB and DUT files "
65 @echo " run => Run the simulation with seed "
66 @echo " random => Run the simulation with random seed "
67 @echo " dve_i => Run simulation interactively with DVE "
68 @echo " "
69 @echo " -------------------- ADMINISTRATIVE TARGETS ------------------------- "
70 @echo " help => Displays this message. "
71 @echo " clean => Remove all intermediate simv and log files "
72 @echo " nuke => Remove all source code and debug files "
73 @echo " original => Return content of lab back to original state "
74 @echo " copy => Copy files from previous lab's solution directory "
75 @echo " mycopy => Copy files from user's previous lab directory "
76 @echo " solution => Copy files from solutions directory for lab "
77 @echo " "
78 @echo " ---------------------- EMBEDDED SETTINGS -----------------------------"
79 @echo " -timescale=\"1ns/100ps\" "
80 @echo " -debug_all "
81 @echo =======================================================================
1 # Makefile for UVM Lab1
2 rtl_path = ../../rtl
3 TB_TOP = ./test.sv
4 UVM_HOME = ../../uvm-1.1a
5 test = test_base
6 verbosity = UVM_MEDIUM
7 uvm_ver = uvm-1.1
8 seed = 1
9 defines = UVM_NO_DEPRECATED+UVM_OBJECT_MUST_HAVE_CONSTRUCTOR
10 plus =
11 #option = UVM_OBJECTION_TRACE
12 SOLVER = 2
13
14 all: simv run
15
16 simv compile: *.sv
17 vcs -sverilog -ntb_opts ${uvm_ver} -timescale="1ns/100ps" -l comp.log -debug_all +vcs+vcdpluson $(DUT) $(HARNESS_TOP) $(TB_TOP) +define+${defines}
18
19 run:
20 ./simv -l simv.log +ntb_random_seed=$(seed) +UVM_TESTNAME=$(test) +ntb_solver_mode=$(SOLVER) +UVM_VERBOSITY=$(verbosity) +${plus}
21
22 uvm1.1a: uvm_compile run
23 ./simv -l simv.log +ntb_random_seed=$(seed) +UVM_TESTNAME=$(test) +ntb_solver_mode=$(SOLVER) +UVM_VERBOSITY=$(verbosity) +${plus}
24
25 uvm_compile: *.sv
26 vcs -sverilog ${UVM_HOME}/src/dpi/uvm_dpi.cc -CFLAGS -DVCS ${UVM_HOME}/src/uvm_pkg.sv +incdir+${UVM_HOME}/src+${VCS_HOME}/etc/uvm-1.1/vcs ${VCS_HOME}/etc/uvm-1.1/vcs/uvm_custom_install_vcs_recorder.sv -timescale="1ns/100ps" -l comp.log -debug_all +vcs+vcdpluson $(DUT) $(HARNESS_TOP) $(TB_TOP) +define+${defines}
27
28 random: simv
29 ./simv -l simv.log +ntb_random_seed_automatic +UVM_TESTNAME=$(test) +ntb_solver_mode=$(SOLVER) +UVM_VERBOSITY=$(verbosity) +${plus}
30
31 dve_i: simv
32 ./simv -l simv.log -gui +ntb_random_seed=$(seed) +UVM_TESTNAME=$(test) +ntb_solver_mode=$(SOLVER) +UVM_VERBOSITY=$(verbosity) +${plus}
33
34 solution: nuke
35 cp ../../solutions/lab1/*.sv .
36
37 original: copy
38
39 copy: nuke
40 rm -rf *.sv
41 cp ../../solutions/lab1/driver.sv.orig driver.sv
42 cp ../../solutions/lab1/packet.sv.orig packet.sv
43 cp ../../solutions/lab1/packet_sequence.sv.orig packet_sequence.sv
44 cp ../../solutions/lab1/input_agent.sv.orig input_agent.sv
45 cp ../../solutions/lab1/router_env.sv.orig router_env.sv
46 cp ../../solutions/lab1/test_collection.sv.orig test_collection.sv
47
48 clean:
49 rm -rf simv* csrc* *.tmp *.vpd *.key log *.h temp *.log .vcs* *.txt DVE* *~
50
51 nuke: clean
52 rm -rf *.sv
53
54 help:
55 @echo =======================================================================
56 @echo " "
57 @echo " USAGE: make target <seed=xxx> <verbosity=YYY> <test=ZZZ> "
58 @echo " "
59 @echo " xxx is the random seed. Can be any integer except 0. Defaults to 1 "
60 @echo " YYY sets the verbosity filter. Defaults to UVM_MEDIUM "
61 @echo " ZZZ selects the uvm test. Defaults to test_base "
62 @echo " "
63 @echo " ------------------------- Test TARGETS ------------------------------ "
64 @echo " all => Compile TB and DUT files and run the simulation "
65 @echo " compile => Compile TB and DUT files "
66 @echo " run => Run the simulation with seed "
67 @echo " random => Run the simulation with random seed "
68 @echo " dve_i => Run simulation interactively with DVE "
69 @echo " "
70 @echo " -------------------- ADMINISTRATIVE TARGETS ------------------------- "
71 @echo " help => Displays this message. "
72 @echo " clean => Remove all intermediate simv and log files "
73 @echo " nuke => Remove all source code and debug files "
74 @echo " original => Return content of lab back to original state "
75 @echo " copy => Copy all necessary files for starting lab "
76 @echo " solution => Copy all files from solutions directory "
77 @echo " "
78 @echo " ---------------------- EMBEDDED SETTINGS -----------------------------"
79 @echo " -timescale=\"1ns/100ps\" "
80 @echo " -debug_all "
81 @echo =======================================================================