首页 > 代码库 > UVM系统验证基础知识0(Questasim搭建第一个UVM环境)
UVM系统验证基础知识0(Questasim搭建第一个UVM环境)
版权声明:本文为Times_poem原创文章,转载请告知原博主。特别声明:本文在原文基础上做了简单修改以适应文中举例在questasim下的运行,敬请原博主谅解。
需求说明:UVM系统验证
内容 :IC设计验证
来自 :时间的诗
原文:http://www.ibowen.net/a/toutiao/252197.html
1. 创建代码
在QuestaSim中建立UVM环境,使用的UVM是UVM1.1b。
如果安装的是QuestaSim 10.1c版本及以上的话,软件自动的将UVM的库给编译好了,生成了.dll文件,供UVM验证使用。
在modelsim的安装目录下的 UVM-1.1b/win64下,就有一个uvm_dpi.dll。同样也可以在questasim安装目录下直接搜索uvm_dpi.dll以找到其确切路径。
以hello_world.sv这个例子为例,说明验证环境搭建。在这个文件目录下,有3个文件。
Hello_world.sv: 验证的代码
Run.bat: windows运行的脚本
Sim.do: modelsim运行的脚本文件
对于hello_world.sv,该程序,就是输出一个hello uvm。
- `include "uvm_pkg.sv"
- module hello_world_example;
- import uvm_pkg::*;
- `include "uvm_macros.svh"
- initial begin
- `uvm_info("info1","Hello UVM!",UVM_LOW)
- end
- endmodule: hello_world_example
对于rum.bat,就一句,就是调用modelsim,使用-do选项,当 modelsim启动后,自动执行sim.do脚本。
对于sim.do文件
代码
- #Time: 2016-07-19
- #By : times_poem
- quit -sim
- cd F:/UVM/prj00
- set UVM_DPI_HOME D:/software/modelsim10/uvm-1.1b/win64
- if [file exists work] {
- vdel -all
- }
- vlib work
- vlog -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF hello_world.sv
- vsim -c -sv_lib $UVM_DPI_HOME/uvm_dpi work.hello_world_example
- run 100
设置环境变量UVM_DPI_HOME,指定modelsim下的UVM1.1d的DPI的位置
建立work library
编译hello_world.sv代码,通过-L 指定编译需要的几个library
执行仿真,通过-sv_lib选项,执行UVM1.1d的uvm_dpi.dll,然后针对于哪一个module进行仿真
运行100ns
2.运行代码
执行,也很简单了,直接对run.bat双击。
如果run.bat运行不成功,可以选择打开questasim,再输入如下指令指定运行路径
cd F:/UVM/prj00
再输入执行命令
do sim.do
3.显示结果
就会调用modelsim,然后开始执行sim.do脚本。
至此,验证环境搭建成功。后面,就是增加代码文件,然后在sim.do文件中,对增加的代码文件进行编译,然后针对于顶层module进行仿真即可。
UVM系统验证基础知识0(Questasim搭建第一个UVM环境)