微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > `include "hello_pkg.sv" 和import uvm_pkg::*; 区别

`include "hello_pkg.sv" 和import uvm_pkg::*; 区别

时间:10-02 整理:3721RD 点击:
`include "hello_pkg.sv" 和import uvm_pkg::*; 区别 ?这里做了两次,为什么?
`include "hello_pkg.sv"//这里Include hello_pkg.sv"
`include "dut_hello.v"//测试模块DUT文件
`include "hello_if.sv"//接口文件
`include "hello_case.sv"//测试用例case
module hello_tb_top;
import uvm_pkg::*;
import hello_pkg::*;//import hello_pkg::*
reg clk;
hello_if my_hello_if(clk,clk);//实例化接口
dut my_dut(.clk(clk),
.rxd(my_hello_if.rxd),
.rx_dv(my_hello_if.rx_dv),
.txd(my_hello_if.txd),
.tx_en(my_hello_if.tx_en)
);//实例化DUT,并将DUT的输入输出端口和my_hello_if连接在一起
initial begin//产生DUT需要的时钟
clk = 0;
forever begin
#10;clk = ~clk;
end
end

initial begin//通过config_db的set方式将my_if通知driver和monitor
//从而Driver和monitor可以直接和DUT通信。
uvm_config_db#(virtual hello_if)::set(null,"uvm_test_top.env.input_agt.drv","hello_if",my_hello_if);
uvm_config_db#(virtual hello_if)::set(null,"uvm_test_top.env.output_agt.mon","hello_if",my_hello_if);
run_test();//启动UVM
end
endmodule

include 你把代码吃进来,但是并不会被调用。import 调用
我并不用include,我在filelist吃它
我觉得你缺任何一个都不会work

谢谢!

小编好棒

include 把对应文件中的内容放到该文件中使用。import引用命名空间,可以使用对应命名空间下的参数。

我觉得`include "hello_pkg.sv"可以省略,前提是filelist中包含hello_pkg.sv并且在 hello_tb_top.sv 前面。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top