0
我可以实例化虚拟接口吗? 语法是什么? 例如: 如果我如下界面:SystemVerilog [Virtual interface instantiating]
界面如果( 输入IN1,IN2, 输出端OUT1,OUT2 ); endinterface
虚拟接口如果vif;
我可以实例化vif吗?
我可以实例化虚拟接口吗? 语法是什么? 例如: 如果我如下界面:SystemVerilog [Virtual interface instantiating]
界面如果( 输入IN1,IN2, 输出端OUT1,OUT2 ); endinterface
虚拟接口如果vif;
我可以实例化vif吗?
虚拟接口只能有另一个虚拟接口或接口的实例或null分配给它。
ifs m_ifs() ;
vifs = m_ifs ; // valid
vifs = vifs1 ; // valid
vifs = null (this is the default value if unassigned)
If you mean
vifs = new() or new (if) ;
类似上述声明是不允许的。
你能做到这一点,而不是
Class interface_container {
virtual interface ifs vifs ;
} ;
interface_container m_interface_container[2] ;
m_interface_container[0] = new() ;
m_interface_container[1] = new() ;
所以,现在你有两个类的实例中的VIF 2个实例,但
你仍然有一个接口实例分配给他们。 接口实例本身不能是动态的,因为它们表示物理连接。
m_interface_container[0].vifs = m_ifs ;
m_interface_container[1].vifs = m_ifs ;
所以可以有很多虚拟接口,但是所有的虚拟接口(如果不是null)最终会指向一些固定的接口实例。
'if'是一个保留关键字。您无法使用该关键字命名界面。 –