当前位置: 首页 > 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.jsqmd.com/news/80110/

相关文章:

  • 人工智能领域重大突破:Qwen3-VL-235B-A22B-Thinking模型引领多模态交互新纪元
  • ServiceNow推出150亿参数本地推理模型Apriel-1.5-15B-Thinker-GGUF,开启企业级AI本地化部署新纪元
  • 2025年12月最值得信赖的GEO代运营机构实力榜单
  • 大模型OCR技术突破:腾讯混元OCR开源,1B参数实现多任务SOTA性能
  • Qwen3-Next震撼发布:800亿参数仅激活30亿,大模型训练推理性价比再突破
  • downkyi终极使用指南:从零开始掌握B站视频下载技巧
  • DALL·E 3核心技术解密:19页论文揭示AI绘画如何精准响应文本指令
  • 3445h54erh
  • Qwen3-VL-235B-A22B模型深度解析:MoE架构引领多模态智能新突破
  • 游戏引擎的物理系统:让虚拟世界活起来
  • 人工智能行业迎来新突破:多模态大模型推动智能交互变革
  • 游戏场景系统:大厂如何构建虚拟世界
  • Qwen3-VL-4B-Instruct震撼发布:多模态AI新纪元,重塑视觉语言交互范式
  • 效率革命:IBM Granite-4.0-H-Small-Base如何重塑企业级AI部署格局
  • Qwen3-Next-80B-A3B-Instruct震撼发布:引领大模型超长上下文与高效推理新纪元
  • 美团Longcat-Flash-Chat震撼开源:560B参数大模型如何改写AI行业格局?
  • GSW-Gemma3-270M-20251206-1636-GGUF:轻量级对话模型部署与应用指南
  • 企业级应用推荐:Llama-Factory适配私有化部署与安全合规要求
  • 46、Windows Server 2008 网络管理指南之上
  • 47、Windows 系统用户与文件管理全解析
  • 48、Windows 服务器文件与组策略管理全解析
  • 49、Windows Server管理与故障排除全攻略
  • 50、Windows命令实用指南
  • 51、Windows服务器实用工具与服务配置指南
  • 52、服务器配置与数据库管理全攻略
  • Qt ---- Qt6.5.3 连接MySQL数据库
  • 58、数据库管理与运维全解析
  • 53、SQL Server 2008 Management Studio与SharePoint使用指南
  • 40、Oracle数据库在Unix和Linux系统中的内存与磁盘I/O管理
  • 54、SharePoint与Linux服务器使用指南