在class中使用virtual interface前需要做的两件事情是什么?
时间:10-02
整理:3721RD
点击:
面试官问道在class里使用virtual interface前需要做什么?
两件事情必须做, 在例化class前的?
请大家说说看法
不是很理解面试官的意图
我说 例化class,connect interface貌似这不是他想要的答案
谢谢了
两件事情必须做, 在例化class前的?
请大家说说看法
不是很理解面试官的意图
我说 例化class,connect interface貌似这不是他想要的答案
谢谢了
应该是1、定义interface 2、实例化这个interface
同问。
估计面试的是想看看你知道什么是interface什么是virtual interface.
interface 是静态的,定义后即存在,与原来的verilog中的module类似。
“无论你用或不用,我就在那里,静静等待”
而virtual interface,virutal~意同名字,虚的,就不是真实的,也就是说它根本不是接口,等同于c语言中的指针,“我不能告诉你你需要的东西是什么,但是我可以告诉你去哪里找”
定义之初,它是空的,即null,你必须告诉我,我应该指向谁,否则,我一无是处~
根据上面解释,你应该知道如何回答了吧
1.定义是将接口作为一个类进行定义。
2.实例化:在RTL级的顶层中对接口进行实例化。
interface 和 module是一样的, 都是静态的变量, 也就是在程序开始时, 内存中就有了其实例. 但virtual interface只是申明一个handle, 就好像一个指针一样, 可以再程序进行中进行声明, 所以class里必须是virtual interface.
那不用virtual为什么就不行了?既然是一个指针,不用virtual的话,它是表示interface的这种类型,也应该可以用啊。但是实际上如果不用interface的时候,就会报错,这是为什么呢?
坐等 高人回答