[Place 30-150]错误或者[Place 30-99] Placer failed with error: 'IO Clock Placer failed' Please re时钟问题解决方法

[Place 30-150] Sub-optimal placement for an MMCM-BUFG component pair. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.
    < set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/clkout1] >

    srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/srio_mmcm_inst (MMCME2_ADV.CLKOUT1) is provisionally placed by clockplacer on MMCME2_ADV_X0Y3
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/phy_clk_bufg_inst (BUFGCTRL.I1) is provisionally placed by clockplacer on BUFGCTRL_X0Y15
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/drpclk_bufr_inst (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y16

    The above error could possibly be related to other connected instances. Following is a list of 
    all the related clock rules and their respective instances.

    Clock Rule: rule_mmcm_bufg
    Status: PASS 
    Rule Description: An MMCM driving a BUFG must be placed on the same half side (top/bottom) of the device
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/srio_mmcm_inst (MMCME2_ADV.CLKOUT0) is provisionally placed by clockplacer on MMCME2_ADV_X0Y3
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/phy_clk_bufg_inst (BUFGCTRL.I0) is provisionally placed by clockplacer on BUFGCTRL_X0Y15
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/log_clk_bufg_inst (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y14
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/gt_clk_bufg_inst (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y13

    Clock Rule: rule_mmcm_bufg
    Status: FAIL 
    Rule Description: An MMCM driving a BUFG must be placed on the same half side (top/bottom) of the device
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/srio_mmcm_inst (MMCME2_ADV.CLKOUT2) is provisionally placed by clockplacer on MMCME2_ADV_X0Y3
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/gt_pcs_clk_bufg_inst (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y17
    ERROR: The above is also an illegal clock rule
    Workaround: < set_property CLOCK_DEDICATED_ROUTE ANY_CMT_COLUMN [get_nets srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/clkout2] >

    Clock Rule: rule_mmcm_mmcm
    Status: PASS 
    Rule Description: An MMCM driving an MMCM must be in the same CMT column, and they are adjacent to
    each other (vertically), if the  CLOCK_DEDICATED_ROUTE=BACKBONE constraint is NOT set
     srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/srio_mmcm_inst (MMCME2_ADV.CLKFBOUT) is provisionally placed by clockplacer on MMCME2_ADV_X0Y3
     and srio_dsp_inst/srio_user_wrapper_inst/k7_srio_x4_2g5_inst/inst/srio_clk_inst/srio_mmcm_inst (MMCME2_ADV.CLKFBIN) is provisionally placed by clockplacer on MMCME2_ADV_X0Y3

这个错误其实就是BUFG不够了,想办法减少BUFG,可以减少或整合时钟,或者减少时钟的BUFG

发布了22 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/baidu_25816669/article/details/99960838