UVM验证环境构建时,引入 phase机制 ,通过该机制可以很清晰的 将UVM仿真阶段层次化 。这里层次化,不仅仅是 各个phase的执行顺序 ,还有 同一phase中的层次化组件之间phase也有先后关系 。
phase | 函数/任务 | 执行顺序 | 功能 | 典型应用 |
---|---|---|---|---|
build | 函数 | 自顶向下 | 创建和配置测试平台的结构 | 创建组件和寄存器模型,设置或者获取设置 |
connect | 函数 | 自底向上 | 建立组件之间的连接 | 连接TLM的接口,连接寄存器模型和adapter |
end_of_elaboration | 函数 | 自底向上 | 测试环境的微调 | 显示环境结构、打开文件,为组件添加额外配置 |
start_of_simulation | 函数 | 自底向上 | 准备测试环境的仿真 | 显示环境结构、设置断点,设置初始运行时的配置值 |
run | 任务 | 自底向上 | 激励设计 | 提供激励、采集数据、数据比较 |
extract | 函数 | 自底向上 | 从测试环境中收集数据 | 从测试平台提取剩余数据,从设计观察最终状态 |
check | 函数 | 自底向上 | 检查任何不期望的行为 | 检查不期望的数据 |
report | 函数 | 自底向上 | 报告测试数据 | 报告测试结果,并将其写入文件中 |
final | 函数 | 自顶向下 | 完成测试活动、结束仿真 | 关闭文件,结束联合仿真引擎 |