推荐答案
测试一下
题目
Which of the followings is not allowed to be in an interface class?
A. Pure virtual methods
B. Type declarations
C. Cover groups
D. Parameter declarations
参考答案与知识点
参考答案
正确答案是 C。在 SystemVerilog 中,interface class 是一种抽象类,仅用于定义接口协议,不能包含任何实现细节。根据 IEEE 1800 标准,interface class 允许包含纯虚方法(pure virtual methods)、类型声明(type declarations)和参数声明(parameter declarations),但不允许包含 cover groups。原因是 cover group 属于功能覆盖率的实例化结构,需要具体的数据采样和触发逻辑,而 interface class 只负责声明接口契约,不能包含任何实例化内容或实现体。此外,interface class 也不能包含非虚方法、数据成员、always 块等。因此,选项 A、B、D 都是合法的,只有 C 是不允许的。
涉及知识点
- SystemVerilog interface class 定义
- interface class 允许的成员类型
- cover group 的使用限制
- 纯虚方法与抽象类的概念