How to include interface into a package? / How do we solve the inter-dependency between packages?

Hi Dave,

We are developing UVM based VIP with SV engine, we have two packages one : SV package containing SV files and two: UVM package.

I am trying to get the interface into the SV package via a container but to define the interface datatype the interface which is instantiated in the top_TB of the UVM (which is included in UVM package) needs to be compiled first. But , within the UVM driver we are callling a task that is in the SV package and hence, expecting SV package to be compiled first.

Due to the inter-dependency we are stuck. If we can directly include the interface into the SV package then this issue might be solved . How can we import the interface into the package
We tried using
typdef axi_vif vif1; in the package
and tried to instantiate in the Sv_driver:
vif1 vif.

we see the following error:
Error: …/sv_package/sv_master_driver.sv(7): near “vif1”: syntax error, unexpected TYPE_IDENTIFIER, expecting ‘;’

Could u provide us with some inputs.

Thanks,
Shilpa

You can not and do not need to include an interface in a package. You just forgot the virtual keyword in your virtual interface variable declaration of vif1. There is no compilation order dependency with the actual interface

In reply to dave_59:

Thanks Dave! It worked!