卢骏 · 2020年06月02日

cadence indago征程(三)indago工具的使用

启动indago工具之后,indago的界面,如下图所示:
1.png

下面,就介绍一些,indago的炫酷技能。

一、smartlog

smartlog,显示log,并且可以将打印的一行log,和仿真状态进行关联。

在每行log的开头,有一个向前或者向后的按钮,点击,表示,将仿真状态,定义到这一时刻,此时,代码窗口,显示打印这行log的代码处。
2.png

在smartlog的界面,可以配置,打印log的verbosity级别,以及log的类型。便于查看自己想要看的log。
3.png

在代码处,右键,选择add smartprint to log。
4.png

输入想打印的变量,然后选择时间范围,如果不选择,就默认为整个仿真时间,在设置打印的verbosity。
5.png

点击add之后,就会发现神奇的一幕出现了。

在smartlog界面,会将代码被调用的时刻,把设置的变量全部打印出来。这就意味着,将来再也不需要在环境中,增加额外的打印代码,来帮助调试了。
6.png

二、代码区

在代码区,可以查看代码,包括RTL和tb,都可以。

如果代码行,前面有向前或者向后的按钮,表示,这行代码,在仿真过程中,有执行过,可以点击按钮,将当前的仿真状态,恢复到执行这一行代码的状态。
7.png

上图中的红色框的按钮,是控制仿真过程的按钮,可以执行:

◾向前单步

◾向后单步

◾向前跳过

◾向后跳过

indago的一个很炫酷的功能,是可以支持向后跳转,也就是我们可以知道,当前仿真状态的前一个仿真状态是什么。

点击左上角的 Files,可以加载指定的文件。
8.png

文件前面的黄色标志,表示,当前仿真状态在执行这个文件。代码行前的黄色标志,表示当前仿真状态,要执行这一行代码。
9.png

如果打开,variable界面,那么在该界面,会自动显示各个变量的值。

三、top界面

在top界面,可以查看design和test bench的代码。对于rtl代码,可以选择信号,加入到波形中。
10.png

在波形窗口中,对波形信号,双击,会跳转到rtl代码中,并且将仿真状态,切换到该波形时刻。

四、active threads

在active threads窗口,点击刷新按钮,可以查看激活的线程,有哪一些。选择任意一个线程,就可以跳转到代码处。
11.png

五、call stack

call stack界面,用来查看调用栈,也就是函数的调用关系层次是怎么样的。
12.png

对于my_driver中的driver_one_pkt函数,是由my_driver中的main_phase函数调用的。

六、diagnostics

诊断窗口,会显示,在产生indago database过程中,影响仿真速度的一些文件和代码。
13.png

从该界面中,可以知道哪些文件影响了仿真速度,如果该文件,对查看状态不影响,可以在ida_probe命令中,将这个文件ingore掉。从而提高仿真速度。

七、总结

该工具,还有其他的一些功能,这个就需要大家自己去使用的时候,研究了。这里,只是给大家简单介绍indago工具的使用。

总的来说,indago工具,根据仿真得到的database,以图形化界面呈现给我们,让我们能够回看仿真的任意时刻状态,从而方便我们去debug。

更多相关阅读

cadence indago征程(一)indago系列工具介绍
cadence indago征程(二)如何产生indago database
vcs回退交互式仿真

原文首发于骏的世界博客
作者:卢骏
更多IC设计相关的文章请关注IC设计极术专栏,每日更新。

推荐阅读
关注数
19640
内容数
1303
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息