关于package使用中的细节问题

 PS:本文中使用图片根据路科验证视频课改编

package pkg_a;
class packet_a;
endclass
int shared = 10;
endpackage

package pkg_b;
class packet_b;
endclass
//int shared = 20;
endpackage

module tb;
//class packet_a;
endclass
//class packet_b;
endclass

import pkg_a::*;
import pkg_b::*;
initial begin
...
end
endmodule

1、不同package中的同名变量

       图中shared变量在pkg_a中为10,pkg_b为20。当int shared = 20没有被打开时,shared变量可以直接被索引即$display("pkg_a::shared = %0d",shared),但是当int shared = 20被打开之后,就会出现冲突,想要索引pkg_a中的shared的话就必须得指定package即$display("pkg_a::shared = %0d",pkg_a::shared)。

2、同名的类

       如图import pkg_a::* 和 import pkg_b::* 保证了在initial begin-end中直接索引到pkg_a和pkg_b中包含的类。但是,当module tb中出现了与pkg_a、pkg_b中同名的类,那么import保证的是首先索引到module中同名的类。即当两个class注释打开后,想要例化packet_a = new(),此时例化的是module中的packet_a,关闭class注释后例化的是pkg_a中的packet_a。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值