请帮助我了解SystemVerilog中虚拟课程的需要。
对于抽象类,我们可以在SystemVerilog中使用Interface。这两者有什么区别?
答案 0 :(得分:1)
是的,SystemVerilog中的抽象类与虚拟类相同。 Java使用关键字' abstract',但其他语言(如C ++)没有特定的关键字。 SystemVerilog重新使用关键字virtual
,以便不保留其他关键字。抽象类只是构造函数受保护而您无法直接构造它的类,您必须首先扩展类,然后才能构造派生对象。
抽象类允许另一个概念是纯虚方法。这些是必须在扩展类中重写的方法。像UVM这样的基类库充满了抽象类,并且具有必须覆盖的方法,如复制或打印方法。
仅包含纯虚方法的抽象类称为interface class
,您可以定义实现多个接口类的接口类。这一年DVCon有很多关于这个主题的论文。