LogiCORE IP AXI VDMA的设计咨询 –  EDK中的TIG传播不正确-Xilinx-AMD社区-FPGA CPLD-ChipDebug

LogiCORE IP AXI VDMA的设计咨询 – EDK中的TIG传播不正确

描述

对于使用时钟时钟模式的AXI VDMA v5.00.a设计,EDK流程中存在一个已知问题,但每个时钟并不完全相互依赖。

当VDMA处于“同步”模式时,所有VDMA时钟都相同。但是,在“异步”模式(C_PRMRY_IS_ACLK_ASYNC = 1)中,用户负责提供所有必要的时钟。

假设在“异步”模式下,客户将使用所有不同的时钟。因此,一系列FROM-TO TIG被添加到核心,用于这些不同时钟域之间的错误路径。但是,如果使用两个或多个AXIVDMA时钟端口的相同时钟信号,则FROM-TO TIG将错误地限制单个时钟域中的所有路径。结果是该时钟域中的所有合法定时误差都被抑制,导致(可能)错误的定时分数。由于这个错误定时的核心,设计将无法正确放置/路由。这将在每个设计中表现得不同,因为AXI VDMA之外的模块会从这些共享时钟之一运行失败。一般来说,请注意与时间相关的问题。

以下是来自不正确约束的AXI VDMA核心的示例时序报告:

时间约束:路径

“TS_axi_vdma_0_from_s_axis_s2mm_aclk_to_m_axi_s2mm_aclk_path”TIG;

分析了182402个路径,分析了58454个端点,0个端点失败

检测到0个定时错误 。 (0设置错误,0保持错误)

如果出现以下情况,则无需解决此问题:

  • 所有时钟都是同步的(C_PRMRY_IS_ACLK_ASYNC = 0),或
  • 所有时钟都是异步的(C_PRMRY_IS_ACLK_ASYNC = 1)并连接到不同的时钟源。

但是,如果符合以下条件,则必须采用以下解决方法:

  • 所有时钟都是异步的(C_PRMRY_IS_ACLK_ASYNC = 1),并且一些时钟连接到同一时钟源。

要解决此问题,请将AXI VDMA核心设为本地并编辑tcl脚本,以删除’prmry_is_async’部分下的过敏性FROM-TO TIG。

  1. 使pcore成为XPS项目的本地化;右键单击核心实例,选择Make ThisIP Local
  2. 导航到pcores / axi_vdma_v5_00_a_axi_datamover_v3_00_a / data目录。
  3. 打开axi_vdma_v5_00_a_axi_datamover_v2_1_0.mpd文件。
  4. 编辑第55行,用BEGINaxi_vdma_v5_00_a_axi_datamover替换BEGIN axi_datamover。
  5. 保存文件。
  6. 导航到pcores / axi_vdma_v5_00_a / data /目录。
  7. 打开axi_vdma_2_1_0.tcl文件。
  8. 注释掉tcl文件中从77到136的任意行,这些行不正确地限制同一时钟域中的信号。例如,如果内核设置为异步模式(C_PRMRY_IS_ACLK_ASYNC = 1)并且m_axi_mm2s_aclk和s_axi_lite_aclk使用相同的时钟源,请注释掉以下TIG:

    put $ outputFile“TIMESPEC TS _ $ {instname} _from_s_axi_lite_aclk_to_m_axi_mm2s_aclk = FROM \”s_axi_lite_aclk \“TO \”m_axi_mm2s_aclk \“TIG;”
    put $ outputFile“TIMESPEC TS _ $ {instname} _from_m_axi_mm2s_aclk_to_s_axi_lite_aclk = FROM \”m_axi_mm2s_aclk \“TO \”s_axi_lite_aclk \“TIG;”

  9. 保存文件。
  10. 在XPS中,选择“ 项目” ,然后单击“ 重新扫描用户存储库”

计划从EDK 14.1开始修复此问题。

请登录后发表评论

    没有回复内容