开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

开源仿真工具Verilator入门4:调试

作为全球第四大仿真器,Verilator拥有快速仿真和性能优化的独特优势。Verilator的工作原理是将Verilog转换成C++,在C++环境下进行仿真操作。上一节,我们介绍了《开源仿真工具Verilator入门3:多线程性能优化》,今天我们将讲讲调试功能。

debug测试

当运行时使用 “–debug”时,在obj_dir文件夹将会有两类主要的输出文件,.tree和.dot文件。我们以《开源仿真工具Verilator入门1:安装和测试》的例子来测试,在不加”–debug”的情况下执行:

图片[1]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

obj_dir文件夹下内容如下:

图片[2]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

如果加上”–debug”

图片[3]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

然后看到:

图片[4]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

.dot文件

dot文件是内部图(internal graph)的dump(在计算机中,dump的中文意思为“转储”,一般指将数据导出、转存成文件或静态形式,即将动态(易失)的数据,保存为静态的数据(持久数据)),以Graphviz<https://www.graphviz.org>`__ dot 格式存储。可以进一步将dot格式转为图片格式,例如.ps格式:

图片[5]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

生成的Vtop_052_gate_simp.ps图片文件为:(手机向右翻转90°查看截图)

图片[6]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

对于交互图(interactive graph),可以使用工具`xdot <https://github.com/jrfonseca/xdot.py>`__  或者 `ZGRViewer <http://zvtm.sourceforge.net/zgrviewer.html>`__。

.tree文件

树文件作为AST(抽象语法树)的dump,在每一个主要算法之间都会生成,例如:

图片[7]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

下面详细总结了上面的dump例子,每一个域都给出了更详细的解释:

图片[8]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

一些通用的dump(AstNode::dump()生成):

图片[9]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

图片[10]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

图片[11]-开源仿真工具Verilator入门4:调试-Anlogic-安路社区-FPGA CPLD-ChipDebug

请登录后发表评论

    没有回复内容