cpld xilinx 定义全局时钟_(Xilinx FPGACPLD设计初级教程)第6章FPGA器件的全局时钟资源的使用.ppt...

本文介绍了FPGA全局时钟资源的使用,包括IBUFG、IBUFGDS、BUFG等原语的作用,以及如何通过CLKDLL和DCM进行时钟管理。讲解了全局时钟资源的五种使用方法,强调了使用IBUFG或IBUFGDS的必要条件及其与全局时钟引脚的关系。
摘要由CSDN通过智能技术生成

第6章 FPGA器件的全局时钟资源的使用  6.1 全局时钟资源的使用方法  FPGA芯片上都会有一定数量的全局时钟引脚,具体的时钟引脚数目可查阅相应的芯片参数说明文档。一般引入到FPGA的全局时钟引脚上的外来时钟信号,如果不加专用时钟驱动模块,则不会利用全局时钟资源。常用的与全局时钟资源相关的Xilinx器件原语包括IBUFG、IBUFGDS、BUFG、BUFGCE、BUFGMUX、BUFGP、CLKDLL和DCM等。  (1) ?IBUFG:即输入全局缓冲。它是与专用全局时钟输入引脚相连接的首级全局缓冲。所有从全局时钟引脚输入的信号必须经过IBUFG,否则在布局布线时会报错。不过一般信号从全局时钟引脚引进来后,ISE的综合器会自动加上IBUFG。   (2) ?IBUFGDS:即IBUFG的差分形式。当信号从一对差分全局时钟引脚输入时,必须使用IBUFGDS作为全局时钟输入缓冲。  (3) ?BUFG:即全局时钟缓冲器。它的输入是IBUFG的输出,BUFG的输出到达FPGA内部的IOB、CLB、选择性块RAM的时钟延迟和抖动最小。一般BUFG由综合器自动推断并使用,如果对全局时钟实行DLL或DCM时钟管理,则必须手动例化该缓冲器。  (4) ?BUFGCE:即带有时钟使能端的全局缓冲。它有一个输入端I、一个使能端CE和一个输出端O。只有当BUFGCE的使能端CE有效(为高电平)时,BUFGCE才有输出。   (5) ?BUFGMUX:即全局时钟选择缓冲。它有I0和I1两个输入、一个控制端S和一个输出端O。当S为低电平时输出时钟为I0,反之为I1。需要指出的是,BUFGMUX的应用十分灵活,I0和I1两个输入时钟甚至可以为异步关系。  (6) ?BUFGP:相当于IBUG加上BUFG。  (7) ?CLKDLL:即时钟延迟锁相环。CLKDLL在早期设计中经常使用,用以完成全局时钟的同步和驱动等功能。随着数字时钟管理模块(Digital Clock Manager,DCM)的出现,目前CLKDLL的应用已经逐渐被DCM所取代。   (8) ?DCM:即数字时钟管理单元。它主要完成时钟的同步、移相、分频、倍频和去抖动等。DCM与全局时钟有着密不可分的联系。为了达到最小的延迟和抖动,几乎所有的DCM应用都要使用全局缓冲资源。DCM可以用Xilinx ISE软件中的ArchitectureWizard直接生成。  一般全局时钟资源的使用有以下五种方法:  (1) ?IBUFG+BUFG的使用方法。IBUFG后面连接BUFG的方法是全局时钟资源的最基本的使用方法,如图6.1所示。由于IBUFG组合BUFG相当于BUFGP,所以这种使用方法也称为BUFGP方法。 图6.1 IBUFG+BUFG的连接图   (2) ?IBUFGDS+BUFG的使用方法。当输入时钟信号为差分信号时,需要使用IBUFGDS代替IBUFG,如图6.2所示。 图6.2 IBUFGDS + BUFG的连接图   (3) ?IBUFG+DCM+BUFG的使用方法。这种使用方法最灵活,对全局时钟的控制更加有效。通过DCM模块不仅仅能对时钟进行同步、移相、分频和倍频等变换,而且可以使全局时钟的输出无抖动延迟,如图6.3所示。 图6.3 IBUFG+DCM+BUFG的连接图   (4) ?Logic+BUFG的使用方法。BUFG不但可以驱动IBUFG的输出,还可以驱动其他普通信号的输出。当某个信号(时钟、使能、快速路径)的扇出非常大,并且要求抖动延迟最小时,可以使用BUFG驱动该信号,使该信号利用全局时钟资源,如图6.4所示。但需要注意的是,普通IO的输入或普通片内信号进入全局时钟布线层需要一个固有的延时,一般在10 ns左右,即普通IO和普通片内信号从输入到BUFG输出有一个约10 ns左右的固有延时,但是BUFG的输出到片内所有单元(IOB、CLB、选择性块RAM)的延时可以忽略不计,基本认为延时为0 ns。 图6.4 Logic+BUFG的连接图   (5) ?Logic+DCM+BUFG的使用方法。DCM同样也可以控制并变换普通时钟信号,即DCM的输入也可以是普通片内信号,如图6.5所示。使用全局时钟资源时应注意以下原则:使用IBUFG或IBUFGDS的充分必要条件是信号从专用全局时钟引脚输入。换言之,当某个信号从全局时钟引脚输入时,不论它是否为时钟信号,都必须使用IBUFG或IBUFGDS;如果对某个信号使用了IBUFG或IBUFGDS硬件原语,则这个信号必定是从全局时钟引脚输入的。如果违反了这条原则,那么在布局布线时会报错。这条规则的使用是由FPGA的内部结构决定的,即IBUFG和IBUFGDS的输入端仅仅与芯片的专用全局时钟输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值