Virtual interface


参考网页:https://www.amiq.com/consulting/resources/cheatsheets/

interface 是一个静态的,只能用于module里面,会在仿真的编译阶段建好。

class是一个动态的,在simulation阶段就建好了。

想在class里面调用interface就需要在class里面定义一个virtual interface。(相当于用了一个动态指针指向一个静态的interface)

virtual intarface_name virtual_interface_name;
 
interface my_interface(input logic clk, input logic rst_n)
   logic signal;
endinterface
   
class my_class;
virtual my_interface my_virtual_interface;
   //...
endclass

所以说virtual interface是连接虚拟模型(class)和实际的RTL世界的。

相关