practice_templates/deep_01/02_uvm_env/README.md

深度实践: 搭建完整 UVM 验证环境

🎯 任务目标

基于提供的 DUT 和 UVM 框架代码,补全以下 5 个文件中的 TODO 部分,
搭建一个完整的 UVM 验证环境。

📝 需要补全的文件

文件 TODO 内容 知识点
env/my_monitor.sv collect_one_pkt 采样逻辑 信号采样、valid 检测
env/my_agent.sv build_phase + connect_phase Agent 结构、is_active
env/my_model.sv main_phase 参考模型逻辑 参考模型设计
env/my_scoreboard.sv main_phase 比对逻辑 fork-join、compare
env/my_env.sv connect_phase TLM 连接 TLM FIFO、端口连接

🏗️ DUT 功能

数据处理器: output = ~input (按位取反), 1 个时钟周期延迟

📁 环境结构

Input Agent (ACTIVE)     Output Agent (PASSIVE)
  ├── sequencer            └── monitor ──→ agt_scb_fifo
  ├── driver ──→ DUT                           │
  └── monitor ──→ agt_mdl_fifo                 │
                       │                       │
                       ▼                       ▼
                    model ──→ mdl_scb_fifo → scoreboard

🏃 操作步骤

  1. 按顺序补全 5 个文件
  2. make compile 编译
  3. make sim 仿真
  4. 确认 "TEST PASSED"

✅ 验收标准

  • 编译无错误
  • 仿真输出 "TEST PASSED"
  • Scoreboard 比对全部成功