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
🏃 操作步骤
- 按顺序补全 5 个文件
make compile编译make sim仿真- 确认 "TEST PASSED"
✅ 验收标准
- 编译无错误
- 仿真输出 "TEST PASSED"
- Scoreboard 比对全部成功