UVM实战的例子在linux+vcs中编译

运行这代码的方法很多,下面的方法可能是最笨的,不过刚入门,在网上查了很多资料才得到下面的方法,为了让后面的人顺利点贴出来分享。

首先top_tb.sv中,将`timescale 1ns/1ps注释掉,添加`include "dut.sv",代码如下

//`timescale 1ns/1ps//注释掉
`include "uvm_macros.svh"

import uvm_pkg::*;
`include "my_driver.sv"
`include "dut.sv"//添加头文件,否则报错
module top_tb;

reg clk;
reg rst_n;
reg[7:0] rxd;
reg rx_dv;
wire[7:0] txd;
wire tx_en;

dut my_dut(.clk(clk),
           .rst_n(rst_n),
           .rxd(rxd),
           .rx_dv(rx_dv),
           .txd(txd),
           .tx_en(tx_en));

initial begin
   clk = 0;
   forever begin
      #100 clk = ~clk;
   end
end

initial begin
   rst_n = 1'b0;
   #1000;
   rst_n = 1'b1;
end

initial begin
   run_test("my_driver");
end

endmodule

然后将dut.sv复制到top_tb.sv的文件夹中

UVM实战的例子在linux+vcs中编译_第1张图片

makefile的修改

1 UVM_HOME的路径要设置正确,

/home/IC/Desktop/shizhan_UVM/puvm/src/ch2/section2.2/2.2.2工程的位置

下图是uvm-1.1d的位置,从/home/IC/Desktop/shizhan_UVM/puvm/src/ch2/section2.2/2.2.2需要退5次才能到uvm-1.1d的位置,所以makefile中UVM_HOME=../../../../../uvm-1.1d,../表示退到上一层文件夹

UVM实战的例子在linux+vcs中编译_第2张图片

2 comp:
    $(VCS) +incdir+. \
        top_tb.sv my_driver.sv  要添加 my_driver.sv,否则没有info的打印信息


UVM_HOME	= ../../../../../uvm-1.1d#uvm的位置


all: clean comp run

comp:
	$(VCS) +incdir+. \
		top_tb.sv my_driver.sv

run:
	$(SIMV)
	$(CHECK)

TEST = /usr/bin/test
N_ERRS = 0
N_FATALS = 0
# -fsdb_old    -ntb_opts 
VCS =	vcs -sverilog -ntb_opts -timescale=1ns/1ns \
	+acc +vpi \
	+define+UVM_OBJECT_MUST_HAVE_CONSTRUCTOR \
	+incdir+$(UVM_HOME)/src $(UVM_HOME)/src/uvm.sv \
	$(UVM_HOME)/src/dpi/uvm_dpi.cc -CFLAGS -DVCS

SIMV = 	./simv +UVM_TESTNAME=dut +UVM_VERBOSITY=$(UVM_VERBOSITY) -l vcs.log

URG  = urg -format text -dir simv.vdb

CHECK = \
	@$(TEST) \( `grep -c 'UVM_ERROR :    $(N_ERRS)' vcs.log` -eq 1 \) -a \
		 \( `grep -c 'UVM_FATAL :    $(N_FATALS)' vcs.log` -eq 1 \)

clean:
	rm -rf *~ core csrc simv* vc_hdrs.h ucli.key urg* *.log 
	

terminal中的命令make all

UVM实战的例子在linux+vcs中编译_第3张图片

再在terminal中输入./simv

UVM实战的例子在linux+vcs中编译_第4张图片

可能是电脑的问题,后面再试的时候makefile中不添加my_driver.sv也可以打印info信息

 

你可能感兴趣的:(IC,fpga)