Alveo板卡中的XVC功能

作者:Chen Yang,AMD工程师;来源:AMD Xilinx开发者社区

在Vitis调试kernel过程中(对于host代码问题,可以使用主流的debug方法,GDB等,这里不做讨论),用户可以在先行通过SW_EMU和HW_EMU测试,这能排除kernel大部分的功能问题。当然,最终的目的还是成功地运行在板卡上,即FPGA上。如果在硬件运行中遇到相关的问题,如遇到程序卡住问题,那么我们就需要在硬件上进行调试,查看一下具体是什么原因引起的,最常用的一种手段就是在hardware manager中观察相应的变量变化情况来定位问题。从板卡上,我们可以看到,除了电源接口和PCIe接口,还有JTAG接口。

对于Vitis流程来说,我们暂时不需要使用JTAG接口(常用于Vivado flow),只需要将板卡插到PCIe槽即可。这需要XVC(Xilinx Virtual Cable)来配合hardware manager使用,简单的来说是通过PCIe接口来获取相关的debug数据。好消息是platform已经内置了必要的debug bridge IP,用户不需要进行额外的配置XVC。如果要确认platform是否支持该功能的,可以使用platforminfo -json="hardwarePlatform.extensions.chipscope_debug" (默认xrt, Vitis等环境设置完成:
source /Vitis//settings64.sh
source /opt/xilinx/xrt/setup.sh)

输出如下信息的话,那么该platform是支持相关debug功能的。

xilinx_u200_xdma_201830_2
{
"debug_networks": {
"user": {
"name": "User Debug Network",
"pcie_pf": "1",
"bar_number": "0",
"axi_baseaddr": "0x000C0000",
"supports_jtag_fallback": "false",
"supports_microblaze_debug": "true",
"is_user_visible": "true"
},
"mgmt": {
"name": "Management Debug Network",
"pcie_pf": "0",
"bar_number": "0",
"axi_baseaddr": "0x001C0000",
"supports_jtag_fallback": "true",
"supports_microblaze_debug": "true",
"is_user_visible": "false"
}
}
}

另外关于XVC的具体内容可以参考:https://docs.xilinx.com/r/en-US/pg213-pcie4-ultrascale-plus/Using-the-Xi... XVC 的驱动已经随Vivado安装在该路径下
/data/xicom/driver/pcie/xvc_pcie.zip

最新文章

最新文章