最近我打算跑一下UVM实战上的例子加深对UVM的理解,以及提高代码编写的能力。一开始按照网上的方法,并没有跑通,遇到各种意料之外的问题,发现对于小白真是有点困难。最后集各家博主之长,总算跑通了,希望对大家有点帮助。
1.将下载好的代码导入虚拟机
1.导入文件 《UVM实战》这本书的源代码是可以下载的,可登录华章网站,在书的第8页有网址。怎么导入虚拟机呢,右键虚拟机,找到设置→选项→共享文件夹→总是启用→添加共享文件夹,我直接添加的代码所在目录。点击确定,启动虚拟机,打开终端,输入cd /mnt/hgfs,就可看到你的代码了,你可以复制出来。 切到你想要的路径,输入cp -r /mnt/hgfs/example_and_uvm_source_code ./即可复制到当前路径。
2.配置路径 根据你当前工具的路径配置好文件
保存好后,在当前路径source一下
2.对文件的修改
首先在top_tb.sv中,将‘timescale 1ns/1ps注释掉,添加‘include “dut.sv” 为了dump波形,还需要在top_tb的文件夹加入以下几行代码
initial begin
$fsdbDumpfile("tb.fsdb");
$fsdbDumpvars;
end
将dut.sv文件复制到top_tb.sv的文件夹中。
3.在终端输入vcs运行代码
1.运行VCS
vcs -R -full64 +v2k -fsdb +define+FSDB -sverilog -ntb_opts uvm top_tb.sv -debug_all -elab -lca -kdb
运行没有问题 生成的文件如下图,simv是使用VCS查看波形需要的文件,tb.fsdb是使用verdi查看波形需要的文件
2.通过VCS查看波形
./simv -gui &
选中信号右键Add To Waves -> New Wave View添加波形 运行结果 3.通过verdi查看波形
verdi -ssf -tb.fsdb &
选中信号,键盘ctrl+w出现波形 信号区f键,出现全局信号视图 参考: https://blog.csdn.net/wuzhouqingcy/article/details/82382495 https://blog.csdn.net/weixin_42162448/article/details/121997013 https://zhuanlan.zhihu.com/p/398720730
|