多重继承是非常普遍的OOPS概念,那么为什么它没有在systemverilog中实现,只允许单继承呢?
为什么在课堂内不允许接口?是因为存储实现如类中的动态存储和模块,程序,接口中的静态?
答案 0 :(得分:4)
对于你的两个截然不同的问题,这应该是两个单独的帖子。不幸的是,关键字 界面 将用于以完全独立的含义回答它们。
我写了一个2010 DVCon paper,描述了原始SystemVerilog LRM中没有多重继承的一些原因,以及可能的解决方案。 SystemVerilog 1800-2012确实添加了多个接口类继承,这里有a link来描述该功能。使用关键字界面作为一种类与第二个问题中的界面无关。
对于为什么在类中不允许接口实例,你大多是正确的。 SV 界面与作为分层容器实例的设计元素模块和程序非常相似。在精心制作过程中,这些容器在模拟开始之前就会变平。类实例仅在运行时通过执行过程代码构建。
精化过程特别适用于硬件描述语言,是代码生成和复制过程的一部分。它还允许您在不使用指针的情况下在整个设计中分层引用信号。另一方面,类对象仅通过动态创建的句柄引用。