浅析SystemVerilog之package
2021/5/15 18:27:12
本文主要是介绍浅析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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享