将调试ILA添加到MicroBlaze指令跟踪

本文转载自xilinx的官方文档。

MicroBlaze是Vivado IP目录中提供的软处理器IP。有多种调试MicroBlaze的方法。

这可以在Vitis中完成,也可以直接从XSCT通过MDM完成。

在此博客中,我们将讨论如何向MicroBlaze指令跟踪端口添加ILA,以便我们可以在硬件中看到MicroBlaze的行为方式。

 

硬件设计:

我已经使用Vivado 2020.2创建了一个针对Xilinx VC707板的简单Hello World块设计。但是,流程对于电路板或所使用的设计将是不可知的。

 

添加跟踪调试:

在MicroBlaze配置中启用跟踪总线。

 

然后在MicroBlaze上展开Trace端口,右键单击Trace_PC和Trace_Valid_Instr并选择Debug:

 

然后使用“运行连接自动化”,弹出的GUI将为您添加ILA。

 

到目前为止,我们已经完成了以下任务:

  • 生成输出产品
  • 创建HDL包装器
  • 产生比特流
  • 导出硬件(包括比特流)

创建软件设计:

启动Vitis(工具-> Launch Vitis IDE),然后创建您的平台。使用应用程序模板创建Hello World应用程序。

我使用updatemem来向hello world可执行文件填充BRAM。您也可以使用Vitis下载可执行文件。

在硬件管理器中进行测试:

从Vivado启动硬件管理器,连接到电路板上并对设备进行编程:

 

设置触发器:

触发器

让我们触发main:

 

在这里,我在有效指令和PC上将触发器设置为0x584:

 

我的捕获设置如下所示:

Capture_settings.PNG

我将窗口深度设置为1024,并在其中途触发(512)。这意味着我可以看到触发前后的情况。

现在,准备好扳机:

 

如果发生停转:

如果发生失速,请使用XSCT停止MicroBlaze。这将为PC提供MicroBlaze停止的位置。

然后将其与硬件管理器中的Trace_PC一起使用,并简单地执行rst -proc和con来转储导致停顿的PC的Trace:

 

 

 

posted @ 2021-04-02 15:51  hhh-fpga  阅读(199)  评论(0编辑  收藏  举报