← 2022 · 芯海科技 笔试

推荐答案 测试一下

下列哪些class派生来自uvm_component

A、Sequencer B、Monitor C、Transaction D、Driver
多选题 中等 笔试真题多选

参考答案

正确答案:A、B、D。 解析:UVM(Universal Verification Methodology)中,`uvm_component` 是所有具有结构层次和生命周期的组件的基类,而 `uvm_object` 是所有数据对象的基类。具体来说: - A、Sequencer(序列发生器)派生自 `uvm_sequencer`,而 `uvm_sequencer` 继承自 `uvm_component`。Sequencer 负责向 Driver 发送 sequence 生成的 transaction,属于验证平台的结构组件。 - B、Monitor(监视器)派生自 `uvm_monitor`,而 `uvm_monitor` 继承自 `uvm_component`。Monitor 用于监测接口信号并收集数据,通常需要与 DUT 保持连接,因此拥有生命周期。 - C、Transaction(事务)通常指 `uvm_sequence_item` 或 `uvm_transaction`,它们直接派生自 `uvm_object`,而不是 `uvm_component`。Transaction 是纯数据对象,不包含 run phase 等行为,仅用于在组件之间传递信息。 - D、Driver(驱动器)派生自 `uvm_driver`,而 `uvm_driver` 继承自 `uvm_component`。Driver 负责将 transaction 驱动到 DUT 接口,具有层次结构和行为。 易错点:容易混淆 `uvm_object` 和 `uvm_component` 的派生关系,以为所有 UVM 类都继承自 `uvm_component`。实际上,只有需要参与验证平台结构(如 phase 执行、层次管理、配置等)的类才继承自 `uvm_component`,而简单的数据对象(如 transaction、sequence_item、config 对象)继承自 `uvm_object`。

涉及知识点

  • uvm_component与uvm_object区别
  • UVM组件层次关系
  • Driver/Monitor/Sequencer基类
  • Transaction数据对象基类
  • 常见UVM类继承关系
← 上一题
登录后反馈错题
下一题 →