43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # Make and run project
 | |
| UVM_HOME=/home/mahesh/git/uvm-verilator
 | |
| 
 | |
| PROJ=uvm_tb
 | |
| 
 | |
| SV_FILES=$(shell ls *.sv)
 | |
| SV_SRC=$(UVM_HOME)/src/uvm_pkg.sv tb_pkg.sv
 | |
| SV_DEPS=$(SV_FILES)
 | |
| 
 | |
| CPP_SRC=sim_$(PROJ).cpp
 | |
| 
 | |
| TIMESCALE= --timescale '1ns/1ns'
 | |
| 
 | |
| UVM_DEFINES=+define+UVM_NO_DPI \
 | |
|             +define+UVM_REPORT_DISABLE_FILE_LINE
 | |
| DISABLED_WARNINGS=-Wno-WIDTHTRUNC -Wno-WIDTHEXPAND \
 | |
|                   -Wno-CASTCONST -Wno-CONSTRAINTIGN \
 | |
|                   -Wno-MISINDENT -Wno-REALCVT \
 | |
|                   -Wno-SYMRSVDWORD -Wno-CASEINCOMPLETE
 | |
| 
 | |
| ifndef TEST_NAME
 | |
|     TEST_NAME=test_base
 | |
| endif
 | |
| 
 | |
| build: $(SV_DEPS)
 | |
| 	verilator -I$(UVM_HOME)/src -I. \
 | |
|         -o $(PROJ).sim \
 | |
|         --binary \
 | |
|         -j 4 \
 | |
|         --error-limit 10 \
 | |
|         --timing $(TIMESCALE) \
 | |
|         +define+SVA_ON \
 | |
|         $(UVM_DEFINES) \
 | |
|         $(DISABLED_WARNINGS) \
 | |
|         $(SV_SRC)
 | |
| 
 | |
| run:
 | |
| 	if [ ! -d logs/$(TEST_NAME) ]; then mkdir -p logs/$(TEST_NAME); fi
 | |
| 	cd logs/$(TEST_NAME) && ../../obj_dir/$(PROJ).sim +UVM_TESTNAME=$(TEST_NAME) |& tee sim.log
 | |
| 
 | |
| clean:
 | |
| 	rm -rf obj_dir
 |