使用 MMCM 的 I/O 时序 ZHOLD/BUF_IN 补偿

使用 MMCM I/O 时序 ZHOLD/BUF_IN 补偿
ZHOLD 补偿表示 MMCM 设置,为整个 I/O 列的所有 I/O 寄存器提供负保持。当具有时钟功能的 I/O (CCIO) 驱动设置
ZHOLD 补偿模式的单个 MMCM 时,布局器尝试将具有 CCIO MMCM 布局在同一时钟区域中。在这种情况下,
CCIO 可以直接驱动 MMCM,而无需通过 BUFG。这能够使 MMCM ZHOLD 补偿保持有效。
然而,如果 CCIO 驱动在 ZOLD 模式下设置的 MMCM 以及另一个 MMCM,则逻辑优化将尝试通过在 CCIO 之后插入
BUFG MMCM 时钟布线合法化。由于具有 ZHOLD 补偿的 MMCM 不再由 CCIO 直接驱动,因此补偿更改为 BUF_IN
为了避免这种情况,请确保 CCIO 直接驱动在 ZHOLD 模式下设置的 MMCM,并通过 BUFG 驱动附加 MMCM。此外,
将由 BUFG 驱动的网络的 CLOCK_DEDICATED_ROUTE 属性设置为 ANY_CMT_COLUMN
因为时钟插入延迟随时钟根位置而变化,并且时钟根位置取决于负载的位置,所以在运行之间可能存在变化。这种可
变性影响 FPGA 内部的时序以及 I/O 时序。
在处理高频 I/O 时,您可能需要更妥善地控制 I/O 时序和运行之间的可变性。实现这一目标的一种方法是强制时钟根位
置。您可以在自动模式下运行该工具,并查看时钟根区域。如果 I/O 时序合适,您可以强制在与 I/O 时序相关的缓存网
络上设置时钟根。要确定时序钟根的位置,请使用 Tcl 命令 report_clock_utilization
[-clock_roots_only]
在以下示例中, I/O 端口位于 X0Y0 区域中。 Vivado 布局器基于 I/O 布局以及其他负载的布局,确定了 X1Y2 中时钟根
的布局。
以下摘要显示了当时钟根不受约束时的 I/O 时序。
以下摘要显示移动时钟根时的 I/O 时序。
[Place 30-716] Sub-optimal placement for a global clock-capable IO pin-BUFGCE-MMCM 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 ANY_CMT_COLUMN [get_nets bd_lt47dr_pl_ddr_i/util_ds_buf_0/U0/BUFG_O[0]] > bd_lt47dr_pl_ddr_i/util_ds_buf_0/U0/USE_BUFG.GEN_BUFG[0].BUFG_U (BUFGCE.O) is provisionally placed by clockplacer on BUFGCE_HDIO_X0Y5 bd_lt47dr_pl_ddr_i/clk_wiz_0/inst/mmcme4_adv_inst (MMCME4_ADV.CLKIN1) is provisionally placed by clockplacer on MMCM_X0Y2 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_gclkio_bufg Status: PASS Rule Description: An IOB driving a BUFG must use a GCIO in the same clock region as the BUFG CLK_50M_IBUF_inst/IBUFCTRL_INST (IBUFCTRL.O) is locked to IOB_X1Y218 bd_lt47dr_pl_ddr_i/util_ds_buf_0/U0/USE_BUFG.GEN_BUFG[0].BUFG_U (BUFGCE.I) is provisionally placed by clockplacer on BUFGCE_HDIO_X0Y5 Clock Rule: rule_bufgce_bufg_conflict Status: PASS Rule Description: Only one of the 2 available sites (BUFGCE or BUFGCE_DIV/BUFGCTRL) in a pair can be used at the same time bd_lt47dr_pl_ddr_i/util_ds_buf_0/U0/USE_BUFG.GEN_BUFG[0].BUFG_U (BUFGCE.O) is provisionally placed by clockplacer on BUFGCE_HDIO_X0Y5 Clock Rule: rule_mmcm_bufg Status: PASS Rule Description: A MMCM driving a BUFG must be placed in the same clock region of the device as the BUFG bd_lt47dr_pl_ddr_i/clk_wiz_0/inst/mmcme4_adv_inst (MMCME4_ADV.CLKFBOUT) is provisionally placed by clockplacer on MMCM_X0Y2 bd_lt47dr_pl_ddr_i/clk_wiz_0/inst/clkf_buf (BUFGCE.I) is provisionally placed by clockplacer on BUFGCE_X0Y57 Clock Rule: rule_buf
04-03
[Place 30-764] Unroutable Placement! RAMBs driven by regional clock buffers (BUFRs and BUFHs) need to be in the same clock region as the buffers. There are not enough free RAMB sites available in the clock region where some of the buffers are placed. Some of them are listed below. u_top_test/u_xdma_mm_wrapper/xdma_mm_i/mig_7series_0/u_xdma_mm_mig_7series_0_0_mig/u_ddr3_infrastructure/u_bufh_pll_clk3 (BUFH.O) is provisionally placed by clockplacer on BUFHCE_X1Y19 u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/bufr_rgmii_rx_clk (BUFR.O) is provisionally placed by clockplacer on BUFR_X1Y10 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 u_top_test/u_xdma_mm_wrapper/xdma_mm_i/mig_7series_0/u_xdma_mm_mig_7series_0_0_mig/u_ddr3_infrastructure/gen_mmcm.mmcm_i (MMCME2_ADV.CLKFBOUT) is locked to MMCME2_ADV_X1Y1 u_top_test/u_xdma_mm_wrapper/xdma_mm_i/mig_7series_0/u_xdma_mm_mig_7series_0_0_mig/u_ddr3_infrastructure/u_bufg_clkdiv0 (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y0 Clock Rule: rule_bufhce_mmcm Status: PASS Rule Description: A BUFH driving an MMCM must both be in the same clock region u_top_test/u_xdma_mm_wrapper/xdma_mm_i/mig_7series_0/u_xdma_mm_mig_7series_0_0_mig/u_ddr3_infrastructure/u_bufh_pll_clk3 (BUFH.O) is provisionally placed by clockplacer on BUFHCE_X1Y19 u_top_test/u_xdma_mm_wrapper/xdma_mm_i/mig_7series_0/u_xdma_mm_mig_7series_0_0_mig/u_ddr3_infrastructure/gen_mmcm.mmcm_i (MMCME2_ADV.CLKIN1) is locked to MMCME2_ADV_X1Y1 Clock Rule: rule_pll_bufhce Status: PASS Rule Description: A PLL driving a BUFH must both be in the same horizontal row (clockregion-wise) u_top_test/u_xdma_mm_wrapper/xdma_mm_i/mig_7series_0/u_xdma_mm_mig_7series_0_0_mig/u_ddr3_infrastructure/plle2_i (PLLE2_ADV.CLKOUT3) is locked to PLLE2_ADV_X1Y1 u_top_test/u_xdma_mm_wrapper/xdma_mm_i/mig_7series_0/u_xdma_mm_mig_7series_0_0_mig/u_ddr3_infrastructure/u_bufh_pll_clk3 (BUFH.I) is provisionally placed by clockplacer on BUFHCE_X1Y19 Clock Rule: rule_bufio_clklds Status: PASS Rule Description: A BUFIO driving any number of IOBs must be placed within the same bank. In V7, there is at most one IO bank in each clock region so the SameClockRegion rule is sufficient to satisfy the requirement. u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/bufio_rgmii_rx_clk (BUFIO.O) is locked to BUFIO_X1Y11 u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/rxdata_in_bus[3].rgmii_rx_data_in (IDDR.C) is locked to ILOGIC_X1Y109 u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/rxdata_in_bus[2].rgmii_rx_data_in (IDDR.C) is locked to ILOGIC_X1Y105 u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/rgmii_rx_ctl_in (IDDR.C) is locked to ILOGIC_X1Y107 u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/rxdata_in_bus[0].rgmii_rx_data_in (IDDR.C) is locked to ILOGIC_X1Y102 u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/rxdata_in_bus[1].rgmii_rx_data_in (IDDR.C) is locked to ILOGIC_X1Y121 Clock Rule: rule_iotile_bufr Status: PASS Rule Description: An IO driving a BUFR must both be placed in the same clock region u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/rgmii_rxc_ibuf_i (IBUF.O) is locked to IOB_X1Y128 and u_udp_2ddr_top/u_udp_receiver/u_transceiver_wrapper/tri_mode_ethernet_mac_i/inst/tri_mode_ethernet_mac_i/rgmii_interface/bufr_rgmii_rx_clk (BUFR.I) is provisionally placed by clockplacer on BUFR_X1Y10
06-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值