在定位问题时,我通常期望使用verdi同时查看代码和波形,鼠标选择代码信号即可添加波形,点击波形信号可以trace代码。要达到这样的效果,在编译RTL文件和打开verdi时都有一些注意事项,具体步骤如下:
步骤1:准备好RTL代码和相干的仿真代码。
步骤2:使用VCS进行编译,需要添加合适的编译选项,
NOTE: -kdb 选项必须添加,否则步骤4 verdi会报错
步骤3:VCS仿真,运行编译产生的二进制文件simv,产生仿真波形vcs.fsdb和文件夹simv.daidir
dump.tcl文件内容如下:
本案例中,波形为vcs.fsdb
simv.daidir 包含了VCS仿真中使用的代码路径信息
NOTE: 步骤2和步骤3也可以合并
步骤4:使用verdi打开波形,并且同时指定文件夹simv.daidir
-ssf vcs.fsdb: 这个参数告诉 Verdi 从哪里加载模拟数据。-ssf 表示 "source simulation file",而 vcs.fsdb 是一个 Fast Signal Database (FSDB) 文件,通常包含由 VCS生成的模拟数据。
-dbdir ./simv.daidir: 这个参数指定了一个目录,该目录包含模拟的额外数据和信息。-dbdir 表示 "database directory",而 ./simv.daidir 是一个指向这些额外数据的本地目录的路径。
综合起来,这条命令的作用是启动 Verdi GUI,并从指定的 FSDB 文件和数据库目录中加载模拟数据和信息,以便用户可以查看和分析模拟结果。
最终实现的效果如下所示:信号与波形关联,选中代码中的信号,ctrl+4即可将其添加波形到波形窗口,同理,选中波形信号,双击左键,页面会跳转到代码界面信号的驱动源的位置。
作者:IC小鸽
文章来源:IC的世界
推荐阅读
更多IC设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。