Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 继承及;systemverilog中的虚拟接口?_Oop_Verilog_System Verilog - Fatal编程技术网

Oop 继承及;systemverilog中的虚拟接口?

Oop 继承及;systemverilog中的虚拟接口?,oop,verilog,system-verilog,Oop,Verilog,System Verilog,多重继承是非常普遍的OOPS概念,那么为什么它不在systemverilog中实现,而只允许单一继承呢 第二,为什么类内不允许接口?这是因为存储实现,比如类中的动态存储和模块、程序、接口中的静态存储吗?对于您的两个不同问题,这应该是两篇单独的文章。不幸的是,关键字接口将用于回答这两个问题,其含义完全不同 我写了一篇文章,描述了多重继承不在原始SystemVerilog LRM中的一些原因,以及可能的解决方案。SystemVerilog 1800-2012确实添加了多接口类继承,下面是对该特性的详

多重继承是非常普遍的OOPS概念,那么为什么它不在systemverilog中实现,而只允许单一继承呢


第二,为什么类内不允许接口?这是因为存储实现,比如类中的动态存储和模块、程序、接口中的静态存储吗?

对于您的两个不同问题,这应该是两篇单独的文章。不幸的是,关键字接口将用于回答这两个问题,其含义完全不同

我写了一篇文章,描述了多重继承不在原始SystemVerilog LRM中的一些原因,以及可能的解决方案。SystemVerilog 1800-2012确实添加了多接口类继承,下面是对该特性的详细描述。在第二个问题中,将关键字interface用作类与interface无关

关于类中不允许接口实例的原因,您基本上是正确的。SV接口与作为层次容器实例的设计元素模块程序非常相似。在精化过程中,这些容器在模拟开始之前会被展平。类实例仅在运行时通过执行过程代码构造


精化过程是硬件描述语言特有的,是代码生成和复制过程的一部分。它还允许您在整个设计中分层引用信号,而无需使用指针。另一方面,类对象只能通过动态创建的句柄引用。

对于两个不同的问题,这应该是两篇单独的文章。不幸的是,关键字接口将用于回答这两个问题,其含义完全不同

我写了一篇文章,描述了多重继承不在原始SystemVerilog LRM中的一些原因,以及可能的解决方案。SystemVerilog 1800-2012确实添加了多接口类继承,下面是对该特性的详细描述。在第二个问题中,将关键字interface用作类与interface无关

关于类中不允许接口实例的原因,您基本上是正确的。SV接口与作为层次容器实例的设计元素模块程序非常相似。在精化过程中,这些容器在模拟开始之前会被展平。类实例仅在运行时通过执行过程代码构造


精化过程是硬件描述语言特有的,是代码生成和复制过程的一部分。它还允许您在整个设计中分层引用信号,而无需使用指针。另一方面,类对象只通过动态创建的句柄引用。

在您的论文中提到了菱形的问题,但是在C++中,我们使用虚拟类概念来解决它,所以只例示一个副本。那么,在systemverilog中这样的事情是不可能的吗??对于虚拟接口的回答,我无法理解类的运行时行为与类中不允许接口的关系,因为最终所有关于内存的内容都将只在运行时分配?不幸的是,在运行时构造类意味着合成工具通常不支持参数化函数(DC除外)。有一个非常有力的理由需要在语言中添加一个精化时间参数化容器,比如一个包,因为似乎不可能说服合成供应商为此目的支持类。有了一种由委员会设计的语言,任何事情都是可能的,有些事情是不可能的。无论lan中添加了什么Gaage,供应商需要时间和金钱。@ MaHasHHAH,我将在你的论文中添加更多的信息,你提到了钻石形状的问题,但是仍然在C++中,我们使用虚拟类概念来解决它,所以只有一个副本被实例化。所以System Verilog中不可能的东西?我无法了解类的运行时行为与类中不允许接口的关系,因为最终所有与内存有关的内容都将仅在运行时分配?不幸的是,在运行时构造的类意味着合成工具通常不支持参数化函数(DC除外)。有一个非常有力的理由需要在语言中添加一个精化时间参数化容器,比如一个包,因为似乎不可能说服合成供应商为此目的支持类。有了一种由委员会设计的语言,任何事情都是可能的,有些事情是不可能的。无论lan中添加了什么guage,供应商采用它需要时间和金钱。@Maheshhah,我将在上面添加更多信息