Xilinx Vivado Zynq Pldma APB控制线调试

在xilinx vivado zynq pldma PL部分ILA调试中,观测APB总线上的数据是正常的,但PLDMA没有成功,分析代码发现在HP_DMA模块中使用m_apb_pclk与m_apb_presetn为悬空状态。由于Avnet的例程建立在2014年,所以使用vivado版本较早,其使用的AXI Bridge上还存在m_apb_pclk与m_apb_presetn。在pg073文件中查看在AXI APB Bridge(2.0)模块上确实存在m_apb_pclk与m_apb_presetn信号。

但是到了vivado2015.1版本上使用AXI Bridge 3.0版就没有了,并且在综合后通过原理图文件也无法查找到这两个信号。

在2.0版APB Bridge在综合之后的原理图文件查看,APB bridge的m_apb_pclk信号与s_axi_aclk信号为直连状态;m_apb_presetn与s_axi_aresetn为直连状态。

那么将m_apb_pclk与m_apb_resetn信号跳过APB Bridge,分别与上一级的FCLK_CLK0与peripheral_aresetn相连。

选择端口右键Make Connecton,然后选择图中画框的信号。

m_apb_presetn的处理方式和上面一样。

这个两个信号增加后,通过SDK中的测试程序运行,PL DMA的读功能能够实现了。

PS:本想将综合后的原理图截图放上来,但是需要将图片放到很大才能看清,所以没有放上来。有些ip核的信号是隐藏的。特别是某些ip版本,在更换vivado版本后,会升级而某些信号在ip customize中不显示了,但综合后在原理图中还是能找到的。

文章来源:起点博客