uvmsverilog中package的使⽤
1、测试代码
a.pkg
常见错误如下:
1)在package⾥include ⼀个interface.sv⽂件,出错如下,所以在package⾥不能include ⼀个interface;
2)在package⾥看不到另外⼀个package,b_pkg is not a package。
所以在⼀个package⾥直接import⼀个package是不到的,即使在前⾯已经include了这个package。
3)package⾥include另外⼀个package,报错如下:
因此,package中⽆法include另⼀个package,那么能否import 另外⼀个package的内容呢?
可以的,如果需要在a.pkg中import b.pkg,需要在include a.pkg之前include b.pkg,如下:
`include b.pkg
`include a.pkg
否则,会出现不到package的情况。
4)include和import的区别
import语句include 是把所有的⽂本内容原样插⼊到代码中;
import 不会把⽂本内容插⼊,其作⽤是把package的内容引⼊import 语句所在的作⽤域。
5)如何在⼀个package 中import 另⼀个package?
如果在package a_pkg中import了package b_pkg::type_b,那么在module1中import a_pkg::*时,⽆法引⽤到type_b。因为a_pkg 只是使得b_pkg::type_b在a_pkg域中可见并加以使⽤,并未定义在a_pkg中。所以,⽤户需要牢记⼀点的是,import操作使得类型可见的域只是调⽤该import时当前的域。例如下⾯的例⼦中,a_pkg中可见b_pkg::b_mon,但是module1则⽆法可见a_pkg::b_mon。
此处引⽤其他⽂章中⽰例
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论