当前位置: 首页 > news >正文

10-1 phase:basic UVM测试平台层次结构与Phase执行顺序解析

文章目录

  • 原始代码及log
  • UVM测试平台层次结构与Phase执行顺序解析
    • 🧩 仿真结果图示
  • UVM测试平台层次结构与Phase执行顺序深度解析
    • 🧩 仿真结果图示
    • 🔍 UVM Phase执行顺序核心原理
      • ✅ UVM Phase执行顺序规则
    • 🧪 UVM组件层次结构分析
    • 📊 Phase执行时间线分析
      • 1. build_phase (0ns)
      • 2. end_of_elaboration_phase (0ns)
      • 3. start_of_simulation_phase (0ns)
      • 4. run_phase (关键阶段)
    • ✅ UVM Phase执行顺序核心原则
      • 1. 构建阶段(build_phase):自底向上
      • 2. 运行阶段(run_phase):自顶向下
      • 3. 结束阶段(extract/check/report_phase):自底向上
    • 🔥 本例的关键发现
    • 💡 为什么其他组件的run_phase在500ns前结束?
    • ✅ UVM最佳实践总结
      • ✅ 正确使用UVM Phase
      • ✅ 测试结束协调
      • ✅ 组件层次设计
    • 💬 与UVM官方文档一致
    • ✅ 重要结论
  • 追更
  • build_phase执行顺序与打印顺序
    • ✅ UVM官方文档确认
    • ✅ 仿真结果验证
    • 仿真日志的打印顺序示例
    • UVM测试平台设计规范
    • 💬 为什么UVM设计为build_phase自底向上?

原始代码及log

module top;import uvm_pkg::*;//Create a topology// top// | |// u1(A) u2(A)// | | | |// b1(B) d1(D) b1(B) d1(D)//No run phaseclassDextends uvm_component;functionnew(string name,uvm_component parent);super.new(name,parent);endfunction functionvoidbuild_phase(uvm_phase phase);$display("%0t: %0s: build",$time,get_full_name());endfunction functionvoidend_of_elaboration_phase(uvm_phase phase);$display("%0t: %0s: end_of_elaboration",$time,get_full_name());endfunction functionvoidstart_of_simulation_phase(uvm_phase phase);$display("%0t: %0s: start_of_simulation",$time,get_full_name());endfunction functionvoidextract_phase(uvm_phase phase);$display("%0t: %0s: extract",$time,get_full_name());endfunction functionvoidcheck_phase(uvm_phase phase);$display("%0t: %0s: check",$time,get_full_name());endfunction functionvoidreport_phase(uvm_phase phase);$display("%0t: %0s: report",$time,get_full_name());endfunction endclass//Has run phaseclassBextends uvm_component;rand logic[7:0]delay;functionnew(string name,uvm_component parent);super.new(name,parent);endfunction functionvoidbuild_phase(uvm_phase phase);$display("%0t: %0s: build",$time,get_full_name());endfunction functionvoidend_of_elaboration_phase(uvm_phase phase);$display("%0t: %0s: end_of_elaboration",$time,get_full_name());endfunction functionvoidstart_of_simulation_phase(uvm_phase phase);$display("%0t: %0s: start_of_simulation",$time,get_full_name());endfunction functionvoidextract_phase(uvm_phase phase);$display("%0t: %0s: extract",$time,get_full_name());endfunction functionvoidcheck_phase(uvm_phase phase);$display("%0t: %0s: check",$time,get_full_name());endfunction functionvoidreport_phase(uvm_phase phase);$display("%0t: %0s: report",$time,get_full_name());endfunction taskrun_phase(uvm_phase phase);$display("%0t: %0s: start run phase",$time,get_full_name());#delay;$display("%0t: %0s: end run phase",$time,get_full_name(
http://www.rkmt.cn/news/90195.html

相关文章:

  • 人工智能领域重大突破:Qwen3-VL-235B-A22B-Thinking模型引领多模态交互新纪元
  • 2025年12月最值得信赖的GEO代运营机构实力榜单
  • Qwen3-VL-235B-A22B模型深度解析:MoE架构引领多模态智能新突破
  • 游戏引擎的物理系统:让虚拟世界活起来
  • 效率革命:IBM Granite-4.0-H-Small-Base如何重塑企业级AI部署格局
  • 美团Longcat-Flash-Chat震撼开源:560B参数大模型如何改写AI行业格局?
  • 48、Windows 服务器文件与组策略管理全解析
  • 50、Windows命令实用指南
  • 52、服务器配置与数据库管理全攻略
  • 53、SQL Server 2008 Management Studio与SharePoint使用指南
  • 42、Unix 服务器监控与数据库补丁升级全解析
  • 47、Oracle数据库迁移与Java集成应用指南
  • 20、C语言内存模型与存储管理全解析
  • 21、C语言中的存储时长、生命周期与可见性
  • 24、C语言编程:二进制流、错误处理与性能优化
  • NCMconverter:解锁网易云音乐加密文件的专业解决方案
  • MIT许可赋能多模态新纪元:Janus-Pro-1B模型全方位技术解析
  • 3.8B参数挑战7B性能:Phi-4-mini-flash-reasoning如何重塑轻量化数学推理
  • NextStep-1横空出世:140亿参数开启连续令牌 autoregressive 图像生成新纪元
  • Llama-Factory能否用于构建智能营养师推荐系统?
  • Vertex AI生成式AI预配吞吐量全面解析:模型支持、资源配置与成本优化指南
  • 80亿参数颠覆行业认知:MiniCPM-V 4.5引领端侧多模态AI新纪元
  • 突破交互视频生成瓶颈:腾讯混元游戏工坊技术解析与行业影响
  • 重塑企业知识检索:Jina AI DeepSearch如何优化工程文档信息管理
  • 408代码题汇总
  • 天津 5 家正规大平层设计工作室,竟藏着这些不为人知的亮点!
  • 升级指引手册:平滑过渡到最新版本的最佳实践
  • 16、Linux 文件管理全解析
  • 技术领域重大突破:新型人工智能模型引领行业变革
  • 17、Linux 文件管理全解析