描述
此核心中有许多时钟和接口(我处于异步模式,因此某些接口的时钟与其他接口不同)。我可以看到,在EDK中,TCL正在为我编写一些约束,但并非所有CDC路径都受到约束的限制。这些路径的正确约束是什么?我可以安全地得出哪些结论是假路径并将TIG应用于?
解
在XPS中,核心的TCL为某些已知为伪路径的触发器实例写入时钟交叉TIG约束。但是,AXIVDMA核心将后端的FIFO Generator核心用于其异步缓冲区。 FIFO生成器不为其时钟交叉路径提供约束,并且AXI VDMA无法在不做出一些危险假设的情况下安全地约束该核心内的时钟交叉路径(参见AR 46044)。因此,这些路径不受约束,用户必须根据其设计的时钟拓扑约束这些路径。
因此,如果您收到FIFO中的CDC路径等错误,您可以安全地进行TIG。
————————————————– ——————————
松弛:-2.620ns(要求 – (数据路径 – 时钟路径偏差+不确定性))
源:axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.gcx.clkx / rd_pntr_gc_1( FF)
目的地:axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.gcx.clkx / gsync_stage [ 1] .wr_stg_inst / Q_1(FF)
要求:0.205ns
数据路径延迟:0.685ns(逻辑电平= 0)(仅限组件延迟超出约束)
时钟路径偏差:-1.097ns(3.519 – 4.616)
源时钟:clk148上升至639.795ns
目标时钟:Internal_BRAM_port_a_BRAM_Clk在640.000ns上升
时钟不确定度:1.043ns
时钟不确定度:1.043ns((TSJ ^ 2 + DJ ^ 2)^ 1/2)/ 2 + PE
总系统抖动(TSJ):0.070ns
离散抖动(DJ):0.388ns
相位误差(PE):0.845ns
axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo:在缓慢的过程角最大数据路径。 gcx.clkx / rd_pntr_gc_1到axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.gcx。 CLKX / gsync_stage [1] .wr_stg_inst / Q_1
位置延迟类型延迟(ns)物理资源
逻辑资源
————————————————- – ——————
SLICE_X27Y1.AMUX Tshcko 0.422 axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.gcx.clkx / rd_q <0> <3>
axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.gcx.clkx / rd_pntr_gc_1
SLICE_X24Y1.BX净(扇出= 1)0.248 axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.gcx.clkx / rd_q <0> <1>
SLICE_X24Y1.CLK Tdick 0.015 axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.gcx.clkx / rd_q <1> <3>
axi_vdma_out / axi_vdma_out / GEN_SG_ENGINE.I_SG_ENGINE / I_SG_FETCH_QUEUE / GEN_CH1_FTCH_Q_IF.GEN_CH1_QUEUE.FTCH_QUEUE_I / GEN_FIFO_FOR_ASYNC.I_CH1_FTCH_FIFO / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.gcx.clkx / gsync_stage [1] .wr_stg_inst / Q_1
————————————————- – ————————–
总计0.685ns(逻辑0.437ns,布线0.248ns)
(逻辑63.8%,布线36.2%)
————————————————– ——————————
建议在异步时钟域组之间应用正常的从TIG到TIG。
您还可以看到从AXI VDMA的复位模块到FIFO上的复位引脚的无约束异步复位路径。该路径在FIFO Generator核心内部同步,因此是错误路径。它可以安全地TIG’d。以下是此路径在时序报告中的外观示例:
————————————————– ——————————
松弛:-3.657ns(要求 – (数据路径 – 时钟路径偏斜+不确定性))
来源:axi_vdma_master / axi_vdma_master / I_RST_MODULE / GEN_RESET_FOR_S2MM.RESET_I / GEN_RESET_FOR_ASYNC.AXIS_RESET_CDC_I / GENERATE_LEVEL_P_S_CDC_NO_RST.s_level_out_d2(FF)
目的地:axi_vdma_master / axi_vdma_master / GEN_SPRT_FOR_S2MM.S2MM_LINEBUFFER_I / GEN_S2MM_FLUSH_SOF_LOGIC.GEN_LINEBUFFER_FLUSH_SOF.GEN_ASYNC_FIFO_FLUSH_SOF.I_LINEBUFFER_ASYNC_FIFO_FLUSH_SOF / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / rstblk / rd_rst_asreg(FF)
要求:0.020ns
数据路径延迟:3.093ns(逻辑电平= 1)(仅限组件延迟超出约束)
时钟路径偏差:-0.147ns(2.569 – 2.716)
源时钟:Output_Video_Clk上升到459.980ns
目标时钟:clk_200_0000MHzMMCM0上升至460.000ns
时钟不确定度:0.437ns
时钟不确定度:0.437ns((TSJ ^ 2 + DJ ^ 2)^ 1/2)/ 2 + PE
总系统抖动(TSJ):0.070ns
离散抖动(DJ):0.143ns
相位误差(PE):0.356ns
在缓慢的过程角最大数据路径:axi_vdma_master / axi_vdma_master / I_RST_MODULE / GEN_RESET_FOR_S2MM.RESET_I / GEN_RESET_FOR_ASYNC.AXIS_RESET_CDC_I / GENERATE_LEVEL_P_S_CDC_NO_RST.s_level_out_d2到axi_vdma_master / axi_vdma_master / GEN_SPRT_FOR_S2MM.S2MM_LINEBUFFER_I / GEN_S2MM_FLUSH_SOF_LOGIC.GEN_LINEBUFFER_FLUSH_SOF.GEN_ASYNC_FIFO_FLUSH_SOF.I_LINEBUFFER_ASYNC_FIFO_FLUSH_SOF / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / rstblk / rd_rst_asreg
位置延迟类型延迟(ns)物理资源
逻辑资源
————————————————- – ——————
SLICE_X21Y71.AQ Tcko 0.337 axi_vdma_master / axi_vdma_master / GEN_SPRT_FOR_S2MM.S2MM_VID_CDC_I / GEN_CDC_FOR_ASYNC.SOF_CDC_I / GENERATE_PULSE_CDC_S_P.s_pulse_out_s_h_d1_cdc_to
axi_vdma_master / axi_vdma_master / I_RST_MODULE / GEN_RESET_FOR_S2MM.RESET_I / GEN_RESET_FOR_ASYNC.AXIS_RESET_CDC_I / GENERATE_LEVEL_P_S_CDC_NO_RST.s_level_out_d2
SLICE_X8Y48.D4 net(扇出= 40)1.403 axi_vdma_master / axi_vdma_master / I_RST_MODULE / GEN_RESET_FOR_S2MM.sig_s2mm_axis_resetn
SLICE_X8Y48.DMUX Tilo 0.218 axi_vdma_master / axi_vdma_master / GEN_SPRT_FOR_S2MM.S2MM_LINEBUFFER_I / GEN_S2MM_FLUSH_SOF_LOGIC.GEN_LINEBUFFER_FLUSH_SOF.I_MSTR_SKID_FLUSH_SOF / sig_reset_reg
axi_vdma_master / axi_vdma_master / GEN_SPRT_FOR_S2MM.S2MM_LINEBUFFER_I / s_axis_fifo_ainit1
SLICE_X7Y42.SR net(扇出= 34)0.714 axi_vdma_master / axi_vdma_master / GEN_SPRT_FOR_S2MM.S2MM_LINEBUFFER_I / s_axis_fifo_ainit
SLICE_X7Y42.CLK TRCK 0.421 axi_vdma_master / axi_vdma_master / GEN_SPRT_FOR_S2MM.S2MM_LINEBUFFER_I / GEN_S2MM_FLUSH_SOF_LOGIC.GEN_LINEBUFFER_FLUSH_SOF.GEN_ASYNC_FIFO_FLUSH_SOF.I_LINEBUFFER_ASYNC_FIFO_FLUSH_SOF / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / rstblk / rd_rst_asreg
axi_vdma_master / axi_vdma_master / GEN_SPRT_FOR_S2MM.S2MM_LINEBUFFER_I / GEN_S2MM_FLUSH_SOF_LOGIC.GEN_LINEBUFFER_FLUSH_SOF.GEN_ASYNC_FIFO_FLUSH_SOF.I_LINEBUFFER_ASYNC_FIFO_FLUSH_SOF / I_ASYNC_FIFOGEN_FIFO / USE_2N_DEPTH.V6_S6_AND_LATER.I_ASYNC_FIFO_BRAM / U0 / xst_fifo_generator / gconvfifo.rf / grf.rf / rstblk / rd_rst_asreg
————————————————- – ————————–
总计3.093ns(逻辑为0.976ns,布线为2.117ns)
(逻辑31.6%,布线68.4%)
————————————————– ——————————
我们目前正在研究在Vivado Design Suite中使用XDC应用核心级约束的能力,以便AXIVDMA能够正确地限制FIFO Generator中的时钟交叉路径。
另请注意,当使用来自CER Generator的此核心时,用户负责所有CDC约束。
没有回复内容