浅析SystemVerilog之package
Posted 许晴125
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析SystemVerilog之package相关的知识,希望对你有一定的参考价值。
https://zhuanlan.zhihu.com/p/106486751
http://blog.eetop.cn/blog-1561828-2316833.html
- SV中的module,interface,program,checker,都提供declaration空间,内部定义都local当前的那个scope,相互之间的building block不影响,不识别。
- package也可以提供一个declaration的空间,可以被其他的building block共享,Package declaration可以被import到其他的building block中,或者package中。
- package中不能再包含module,interface,program,checker等带有declare属性的声明
import与include的区别?
- include将文件中所有文本原样插入包含的文件中。这是一个预处理语句,`include在import之前执行。
- import不会复制文本内容。但是import可package中内容引入import语句所在的作用域。
package的使用方法
我们通过一个简单的例子来进行一下说明。
package my_pkg;
int y = 10;
task common();
$display("In my_pkg,Calledfrom somewhere");
endtask
program test_case;
import my_pkg::*;
initial begin
$display("y = %0d",y);
common();
end
endprogram
运行结果:
y = 10
In my_pkg,Calledfrom somewhere
- package中一般会定义一些变量,struct、function、task等,用于不同的scope之间共享。
- 隐式import:
以上是关于浅析SystemVerilog之package的主要内容,如果未能解决你的问题,请参考以下文章
systemverilog设计哪方面的,学习要具备哪方面的基础知识啊
Android 进阶——Framework 核心之dumpsys命令浅析
Android 进阶——Framework 核心之dumpsys命令浅析
数字IC验证快速入门27SystemVerilog项目实践之AHB-SRAMC(AHB-SRAMC SVTB Code 上篇)