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'是一個保留關鍵字。您無法使用該關鍵字命名界面。 –