Xilinx FPGA时钟资源的使用

赛灵思FPGA时钟资源的类型:DCM、PLL、PMCD、MMCMDCM:数字时钟管理器PLL:锁相环PMCD:相位匹配时钟分频器MMCM:混合模式时钟管理器DCM实际上就是一个DLL(延迟锁相环),可以对输入时钟进行相位移动,补偿,产生倍频和分频时钟,但是5以及以后的产品不用了。DCM适用于实现延迟锁相环(DLL)、数字频率综合器、数字移相器或数字频谱扩展器。 DCM还是镜像、发送或再缓冲时钟信号的理想选择。PLL相对于DCM,除了不能相移时钟,其它的都一样,但是PLL产生时钟的频率比DCM更加
摘要由CSDN通过智能技术生成

赛灵思FPGA时钟资源的类型:DCM、PLL、PMCD、MMCM

DCM:数字时钟管理器
PLL:锁相环
PMCD:相位匹配时钟分频器
MMCM:混合模式时钟管理器

DCM实际上就是一个DLL(延迟锁相环),可以对输入时钟进行相位移动,补偿,产生倍频和分频时钟,但是5以及以后的产品不用了。DCM适用于实现延迟锁相环(DLL)、数字频率综合器、数字移相器或数字频谱扩展器。 DCM还是镜像、发送或再缓冲时钟信号的理想选择。

PLL相对于DCM,除了不能相移时钟,其它的都一样,但是PLL产生时钟的频率比DCM更加精准,而且时钟的jitter也更好。

PMCD用来生成相位匹配的分频输入时钟信号,这与分频时钟的DCM频率综合相似。PMCD还能生成设计中相位匹配但有延迟的时钟信号。

MMCM实际上就是PLL+DCM相移功能的结合体。PLL和MMCM处理的工作有许多是相同的,比如频率综合、内外部时钟抖动滤波、时钟去歪斜等。这两种资源也可用于镜像、发送或再缓冲时钟信号。7系列的FPGA还会在临近I/O部分放置一些PLL,专门给MIG来产生DDR时钟。

具体可参考FPGA设计小Tips:如何正确使用FPGA的时钟资源

赛灵思现有的FPGA中没有一款同时包含这四种资源(如下)
在这里插入图片描述
然后我们来看Xilinx全局时钟的使用。
参考Xilinx FPGA中全局时钟资源的使用方法
全局时钟资源需要通过原语(Primitives)调用,常见的时钟原语有:

  • IBUFG: Single-ended Input Global Clock Buffer
  • IBUFGDS: Differential Input Global Clock Buffer
  • BUFG: Global Clock Buffer
  • BUFGCE: Global Clock Buffer w/ Enable
  • DCM: DCM_ADV DCM_BASE

这些原语的使用在Language Templates(Vivado Tools里面)都有示例,在user guide里也有详细说明。

IBUFG是从全局时钟输入管脚输入的单端时钟的第一级缓冲,IBUFGDS是差分时钟的缓冲。只要是从全局时钟管脚的输入的时钟必须要经过IBUFG,如果不经过,那么布局布线时就会报错,反之如果使用了IBUFG,那么信号一定是从全局时钟输入管脚输入的,这是因为IBUFG和IBUFGDS的输入只和fpga的全局时钟输入引脚有物理上的连接,与普通的IO和内部逻辑块CLB没有物理上的连接。BUFG是全局缓冲,BUFG的输出到达fpga内部各个逻辑单元的时钟延迟与抖动都是最小的。BUFG不但可以驱动IBUFG和DCM的输出,还可以驱动其他普通的片内信号和普通io,当某个信号扇出很大时,而且要求的抖动延迟最小时,可以用BUFG驱动该信号,普通IO和普通的片内逻辑信号进入全局时钟布线层有一个固定的延迟,一般在10ns左右,即普通信号或普通IO从输入到BUFG的输出有一个约10ns左右的固有延迟,但BUFG的输出到片内所有的单元(IOB,CLB,选择性块RAM)的延时可以忽略不计。

使用全局时钟资源可以直接用原语例化,也可以使用IP核。

原语的使用方法主要有以下四种

  • IBUFG / IBUFGDS + BUFG

最基本的时钟使用方法。当信号从全局时钟引脚输入时,无论是否为时钟信号,都必须使用IBUFG/IBUFGDS;反之,如果使用了IBUFG/IBUFGDS,则信号必须从全局时钟引脚输入,否则布局布线会报错。 IBUFG/IBUFGDS的输入只与芯片的专用全局时钟输入引脚有物理连接,与普通的I/O和其他内部CLB没有物理连接,所以后面要加BUFG。

IBUFG IBUFG_INST(</
  • 3
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值