在上面的章节讲述中,我们谈到了一个问题点:由于uvm_helloworld.sv 中的定义class , 处于无人管辖的状态,因为它直接听命于$unit这个终极大boss,如果大boss 很忙,而且class 又比较调皮古怪,经常惹出事情来。好了,大boss 考虑:那我空降一个钦差过去!
此时,我们引入package 。 将class 用 package 封装包裹一下。看看又会是怎么一番效果呢!
源代码修改如下:
tb_top.sv
`timescale 10ps/1ps
module tb_top();
timeunit 1ns ;
timeprecision 1ps ;
import helloworld_test_pkg::*;
import uvm_pkg::*;
`include "uvm_macros.svh"
reg clk,rst;
initial begin clk = 0; forever #5