vcs&verdi使用方法学习

姓名:安培赟 学号:22021211917

1、VCS产生Verdi波形
-tb文件中加入相应的系统函数:
initial begin
fsdbDumpfile("fifo.fsdb");fsdbDumpvars(0);
end
2、veidi加载设计的makefile脚本
run_verdi:
verdi -sv -f filelist.f -top tb_top -ssf dut.fsdb &
解释:告知软件支持SystemVerilog,加载设计的文件列表,设置设计顶层,自动加载波形,后台执行
3、简介定位:
Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug。
4、三个步骤:
生成fsdb波形——查看fsdb波形——追踪RTL代码debug。
5、生成fsdb波形
(1)三个变量:
VERDI_HOME/NOVAS_HOME:仿真器默认,且为设置PATH做准备
PATH:让系统(Linux)找到verdi
LD_LIBRARY_PATH:让系统(Linux)能够找到Verdi需要的库文件.so(静态库),.a(动态库),.tab(表格文件)。
(2)三个命令:
echo(可配合sed):查询(打印)环境变量,管道命令|相当于把管道左边的结果给右边的命令再执行
示例:
echo PATH | sed ‘s/\:/\n/g’ ,全局替换,把冒号替换为换行符 echoLD_LIBRARY_PATH | sed ‘s/:/\n/g’
which :查询当前软件是否设置,若设置成功,会显示软件路径,使用which verdi
uname -i:查询当前系统信息,如硬件平台64bit为x86_64/amd64,32bit平台为i386
(3)两种方法
a、使用Verilog系统函数,在测试代码里加上如下代码
initial begin
fsdbDumpfile("top_tb.fsdb");fsdbDumpvars(0,"tob_tb");
end
b、使用UCLI、TCL接口(VCS使用tcl脚本)
global env
fsdbDumpfile "$env(demo_fifo).fsdb"
fsdbDumpvars 0 "top_tb"
run
6、nWave波形窗口,快捷键 g 加载信号(Get signals)。在弹出的窗口选中需要添加的信号,点击滚轮选择需要添加信号的位置,也可在代码中(nTrac界面)选中信号 Ctrl+W 将信号加载在波形中
7、新建组与对组重命名,显示信号全路径
将黄线放到最后一行,添加信号即可新建一个信号组。然后鼠标选中右键即可进行相关操作,也可以选中一个模块,直接Ctrl+4即可将接口信号加入波形窗口,按快捷键H显示波形信号全路径,再按H撤销。
8、改变信号和波形颜色:
按C或者T修改信号或者波形颜色,方便查看。
9、状态机相关:
选中状态机状态的波形,在nWave窗口选中Tools>Bus Contention>打开状态机,(关闭),返回查看波形已经变为状态的名称。
补充:选择具有状态机的模块选中,然后在主工具栏选择Tools>Extract interative FSM

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转https://blog.csdn.net/limanjihe/article/details/49924057...
    Poisson_Lee阅读 9,804评论 0 0
  • 总结1. Verilog对字符型的定义 总结2. Verilog对含有x和z的信号进行计算 比较 总结3. Ver...
    倚梦为马_bb81阅读 1,300评论 0 0
  • 总结1. Verilog对字符型的定义 总结2. Verilog含有x和z的信号值操作 比较 计算含有x的操作包括...
    倚梦为马_bb81阅读 2,522评论 0 0
  • 总结1: 组合逻辑赋值出现的问题 tri信号上升沿拉高tripos_clrpos,clr的上升沿拉低tripos_...
    倚梦为马_bb81阅读 1,723评论 1 0
  • Markdown是什么? Markdown是一种轻量级标记语言。它允许人们使用易读易写的纯文本格式编写文档,然后转...
    饥人谷_tanfei阅读 209评论 0 0

友情链接更多精彩内容