Modelsim UVM windows环境搭建

0、前言

  UVM本身是一个验证方法学和框架,但是它依托于SystemVeriloguvm库,所以也脱离不了理论和实践相结合的学习路线。
  相信你在学习UVM的过程中,比如看 《UVM实战》白皮书 的过程中,也会产生要把书上代码自己实现这样的想法,这是很自然的过程。因为在学习UVM的过程中,你已经发现了SystemVerilog不同于设计RTL,在验证中、在UVM中使用的SV有一种类似软件的活力。
  所以本篇旨在介绍一下一种环境搭建的方法,即 modelsim+uvm+windows,其好处就是可以快速在自己电脑上完成搭建(相比vcs,verdi框架而言),适合学习。

1、准备工作

软件准备

安装Modelsim或Questasim,并且将其加入环境变量(UVM 1.1d在Modelsim安装时就会自带)
安装 git bash 用于在windows环境下执行简单脚本和shell 命令
对UVM有基础了解

参考如下

环境搭建参考1

代码准备

代码完全参考白皮书第二章第一小节,also refer to my github repository A00 directory
可以直接clone上面我的github repository for study

2、结构概述

  书上第二章第一节讲的验证平台代码仅仅适用于环境搭建,因为它非常基础,只有driver驱动dut。当然,简单的验证平台可以将代码的错误概率降低到最小,从而使我们专注于环境的搭建是否正确。
  通过tree命令,列出我们项目的文件夹目录。主要是由design和verify构成,分别代表了设计和验证的代码。在verify/sim下有一个flist.f,它链接了其他的filelist或者直接链接了.sv,相当于罗列出所有需要编译的文件。
在这里插入图片描述
flist.f内容如下

../th/top_tb.sv
-F ../env/env.f
-F ../../design/dut.f
// -F ../tc/tclist.f

  这里使用-F用来指定链接的其他子finelist(.f)文件,大写的-F表示链接的这些filelist,其路径的起点就是链接的这些filelist各自所在的位置。而如果使用小写-f,则filelist文件路径起始位置是我们的顶层filelist,或者说调用这个filelist的位置(一般是Makefile的位置)

更多有关-F和-f 内容,refer to this article

  简而言之,-F比较好用,符合常规思维习惯。

  sim文件夹中,主要用来在此文件夹下进行仿真。由于我们是基于modelsim的,所以sim.do是一切的精髓,我对其添加了注释进行解释,注意需要把里面的路径换成自己的路径。这个过程就是指定modelsim自带的uvm 1.1d并且把它加入到编译中来。

#################create work directory#######
vlib work

#################set env vairable############
set UVM_DPI_HOME D:/Modelsim/uvm-1.1d/win64
set UVM_HOME D:/Modelsim/verilog_src/uvm-1.1d

#################cmp#########################
vlog +incdir+$UVM_HOME/src -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF $UVM_HOME/src/uvm_pkg.sv -F flist.f 

vsim -c -novopt -sv_lib $UVM_DPI_HOME/uvm_dpi work.top_tb

log -r /*

run -all

  为了方便,又编写了make file,负责删除上次仿真输出的一些tmpt 文件,然后进行本次仿真

run:
	rm -rf work transcript vsim.wlf *.log
	vsim -c -do "sim.do"
view:
	vsim -view vsim.wlf

3、使用

只需要在sim文件夹下输入

make run

仿真结束后输入

make view

就可以查看波形了

注意(和VCS工具的区别):由于工具的原因,modelsim需要在引用class的时候,主动使用include将对应class文件进行添加(当然,这也和书本上是一致的)

除此之外,每个uvm class文件前都需要加入

`include "uvm_macros.svh"
import uvm_pkg::*;

这样就可以保证正常进行仿真

打印信息

在这里插入图片描述

波形

在这里插入图片描述

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值