1 Star 10 Fork 1

jxzsxsp / simple_uvm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.72 KB
一键复制 编辑 原始数据 按行查看 历史
jxzsxsp 提交于 2023-12-30 15:30 . 修改README

SimpleUVM

介绍

SimpleUVM是一个基于UVM的验证平台框架,通过此框架可以快速高效的创建验证平台。

安装教程

  1. 在Linux系统上安装VCS、NCSIM和QUESTASIM,三者安装一个就可以,推荐安装VCS,不同环境下使用NCSIM和QUESTASIM可能会有一些问题,这里就不介绍详细的安装过程;
  2. 下载UVM库代码 https://www.accellera.org/downloads/standards/uvm ,将下载的压缩包解压到指定目录,这里推荐目录为 ~/uvm ,可以下载不同版本的UVM,目前只支持uvm-1.1d和uvm-1.2; 如上图可以看到我已经下载了uvm-1.1d和uvm-1.2两个版本的UVM。
  3. 克隆本仓库代码到任意目录;
git clone https://gitee.com/jxzsxsp/simple_uvm.git

使用说明

  1. 进入仓库代码目录simple_uvm;
cd simple_uvm
# 如果setup.sh或bin目录下的命令无法执行时,可以给命令文件添加可执行权限
chmod +x setup.sh bin/*
  1. 设置环境;
source setup.sh VCS  # 默认使用uvm-1.1d

. setup.sh VCS

# 使用uvm-1.2
source setup.sh VCS uvm-1.2

# 使用NCSIM,默认使用uvm-1.1d
source setup.sh NCSIM
  1. 创建验证平台;
simple_uvm create fifo  # 创建一个验证FIFO模块的UVM验证平台,创建成功后在当前目录下生成一个fifo_test目录,包含UVM验证平台的一些基本文件

如上图所示,FIFO的验证平台就已经创建好了,接下来就是跑一下测试case了。

  1. 执行验证平台case;
cd fifo_test  # 进入新创建的验证平台的目录
simple_uvm run test_case0  # 执行test_case0
simple_uvm run test_case1  # 执行test_case1

如上图所示,我们的验证平台已经可以跑通了。当然此时的验证平台还没有任何验证功能,还需要把我们需要验证的DUT源码加入到filelist.f中,然后修改if, driver, monitor, transaction, 再添加不同的验证case。

  1. 到这里已成功创建验证平台并运行起来了,接下来可以根据自己设计的DUT修改创建好的验证平台了;
  • 修改filelist.f,将自己要验证的DUT源码引入进来
  • 修改fifo_if.sv,根据DUT修改虚拟接口
  • 修改fifo_driver.sv
  • 修改fifo_monitor.sv
  • 修改fifo_transaction.sv
  • 添加test_case

开发计划

由于近两年作者一直在从事FPGA开发工作,一直没有时间维护这套框架。作者计划在2024年将会抽出大量时间来继续完善本框架,并且会开发一些真实案例来使用本框架进行验证,并将整个流程输出为教程。帮助更多的人快速掌握UVM验证。

获取更多教程请关注公众号

Verilog
1
https://gitee.com/jxzsxsp/simple_uvm.git
git@gitee.com:jxzsxsp/simple_uvm.git
jxzsxsp
simple_uvm
simple_uvm
master

搜索帮助