前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >进入IP Core的时钟,都不需要再手动添加约束么?

进入IP Core的时钟,都不需要再手动添加约束么?

作者头像
猫叔Rex
发布2021-12-05 10:43:54
4950
发布2021-12-05 10:43:54
举报
文章被收录于专栏:科学计算

  在FPGA的时序约束中,主时钟约束是第一步就要做的,主时钟通常有两种情形:一种是时钟由外部时钟源提供,通过时钟引脚进入FPGA,该时钟引脚绑定的时钟为主时钟:另一种是高速收发器(GT)的时钟RXOUTCLK或TXOUTCLK。对于7系列FPGA,需要对GT的这两个时钟手工约束:对于UltraScale FPGA,只需对GT的输入时钟约束即可,Vivado会自动对这两个时钟约束。

  对于进入到IP Core(比如MMCM)的主时钟,只有我们在IP Core中指定了时钟频率,那么Vivado会自动产生一个约束文件来约束该输入的主时钟。

  我们以Vivado自带的wave_gen工程为例,该工程中输入一对差分的时钟信号,进入到MMCM中,我们无需再对这个主时钟添加约束

image-20211201212052941

可以看到,综合后这个时钟已经被约束了:

这是因为该ip生成的xdc文件中,已经包含了对这个主时钟的约束,如下图:

image-20211201212319040

所以很多同学可能误以为只要是进了IP Core的主时钟,都不需要再手动添加约束了。

  但如果收入的差分时钟先经过了IBUFDS,然后再以单独的形式进入了MMCM:

综合后,可以看到该时钟是没有被约束的:

image-20211201211756429

此时由于输入时钟并非来自管脚,所以Source选择为Global Buffer

image-20211201212822218

再看刚刚的clk_core.xdc文件,已经没有产生主时钟的约束了:

image-20211201212925336

为什么会没有这个约束了呢?因为输入的时钟并非来自管脚,IP Core并不知道从哪个pin输入的,所以就无法添加主时钟的约束,此时就需要我们再手动添加约束。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 傅里叶的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档