从零搭建UVM验证平台 简介
搭建UVM流程:
-
定义interface。Interface是连接DUT和验证平台的桥梁,根据DUT的输入输出参数定义interface,在top_tb里连接interface和DUT。
-
加入transaction。transaction是一个数据包,transaction由sequence产生,通过sequencer传递给driver。
-
加入driver。Driver负责将接收到的transaction数据包驱动到DUT上。
-
加入monitor。monitor一般有两个,分别用来检测DUT的输入和输出。i_monitor用于收集DUT的输入传递给reference model,o_monitor用于收集DUT的输出传给scoreboard。
-
加入sequencer。
-
将sequencer、driver、monitor封装成agent,agent是可复用的最小单元。
-
加入reference model。reference model用于完成和DUT相同的功能,reference model的输出传递给scoreboard,用于和DUT的输出做对比。
-
加入scoreboard。scoreboard要比较的数据一是来源于reference model,二是来源于o_agent的monitor。前者通过exp_port获取,后者通过act_port获取。
-
加入sequence。
-
加入env。将scoreboard、agent、reference model添加到env,并通过TLM完成之间的通信。
-
建造测试用例。加入base_test (uvm_test_top),将env添加到base_test,base_test派生于uvm_test,测试用例tc都是基于base_test派生的一个类。
-
在top_tb里面添加run_test()来启动tc。
-
构建Makefile。
仿真工具:vcs
编译:make cmp
仿真:make run
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」