[X]关闭

MMCM时钟管脚约束

文档创建者:张亚洲
浏览次数:7620
最后更新:2022-08-25
在进行DDR3学习时,时钟IO引脚和MMCM出现报错。具体信息如下:[Place 30-575] Sub-optimal placement for a clock-capable IO pin and 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 BACKBONE [get_nets U_DDR_CLK_PLL/inst/clk_in1_ddr_clk_pll] >


有道翻译如下:
[Place 30-575]时钟IO引脚和MMCM对的次优放置。如果这个次优条件对于这个设计是可以接受的,您可以使用.xdc文件中的CLOCK_DEDICATED_ROUTE约束将此消息降级为警告。但是,非常不建议使用这种覆盖。可以在.xdc文件中直接使用这些示例来覆盖这个时钟规则。
& lt;set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets U_DDR_CLK_PLL/inst/clk_in1_ddr_clk_pll];
U_DDR_CLK_PLL/inst/clkin1_ibufg (IBUF.O)被锁定为IOB_X1Y26
U_DDR_CLK_PLL/inst/mmcm_adv_inst (mmcme2_ad . clkin1)被clockplacer临时放置在MMCME2_ADV_X1Y1上
上述错误可能与其他连接的实例有关。以下是
所有相关的时钟规则及其各自的实例。
时钟规则:rule_mmcm_bufg
现状:通过
规则描述:驱动BUFG的MMCM必须放置在设备的同半边(上/下)
U_DDR_CLK_PLL/inst/mmcm_adv_inst (mmcme2_ad . clkfbout)被clockplacer临时放置在MMCME2_ADV_X1Y1上
U_DDR_CLK_PLL/inst/clkf_buf (buf . i)由clockplacer临时放置在BUFGCTRL_X0Y31上

我的问题是,报错是否因为系统时钟引脚没有走专用时钟管脚引入导致MMCM报错?
另外,解决方法是否是< set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets U_DDR_CLK_PLL/inst/clk_in1_ddr_clk_pll] >这样就可以。
谢谢知道的朋友指点下。

发表评论已发布 4

米联客-汤工

发表于 2021-5-10 22:16:22 | 显示全部楼层

时钟是在全家时钟输入的吗?实现使用clock wizard配置下 把输入时钟设置为global

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

张亚洲

发表于 2021-5-14 20:39:12 | 显示全部楼层

汤老师,我以为硬件上的时钟是单端输入,所以配成了Signal ended。配置成了Global buffer后就没有这个错误。是因为全局时钟走线原因吗?

uisrc

发表于 2021-5-17 10:39:31 | 显示全部楼层

应该是的
越努力越幸运!加油!
回复

使用道具 举报

qcivuhvn

发表于 2022-8-25 16:04:58 | 显示全部楼层

时钟输入确实是从全局时钟管脚进去的,但是bufg被放置在不同时钟区域了,这种怎解决呢?采用Xilinx给出的解决方式set_property CLOCK_REGION X0Y30 [get_cells acq_data_rx_inst/gen_iserdes_clk[1].DCLK1_inst/IBUFCTRL_INST],使用这条约束把bufg放置到和io同一个时钟区域下,但是还是报了这个错误,是我这条约束用的不对吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则