weiqi7777

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

0
阅读(251) 评论(0)

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

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

一、smartlog

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

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

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

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

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

 

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

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

二、代码区

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

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

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

  • 向前单步
  • 向后单步
  • 向前跳过
  • 向后跳过

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

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

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

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

三、top界面

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

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

四、active threads

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

五、call stack

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

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

六、diagnostics

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

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

七、总结

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

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