位置:51电子网 » 技术资料 » EDA/PLD

Xilinx FPGA全局时钟和第二全局时钟资源的使用方法

发布时间:2008/5/28 0:00:00 访问次数:1634

  目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在fpga设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。 fpga全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(clb)、i/o单元(iob)和选择性块ram(block select ram)的时延和抖动都为最小。为了适应复杂设计的需要,xilinx的fpga中集成的专用时钟资源与数字延迟锁相环(dll)的数目不断增加,最新的virtex ii器件最多可以提供16个全局时钟输入端口和8个数字时钟管理模块(dcm)。

  与全局时钟资源相关的原语常用的与全局时钟资源相关的xilinx器件原语包括:ibufg、ibufgds、bufg、bufgp、bufgce、bufgmux、bufgdll和dcm等,如图1所示。

  1. ibufg即输入全局缓冲,是与专用全局时钟输入管脚相连接的首级全局缓冲。所有从全局时钟管脚输入的信号必须经过ibuf元,否则在布局布线时会报错。ibufg支持agp、ctt、gtl、gtlp、hstl、lvcmos、lvdci、lvds、lvpecl、lvttl、pci、pcix和sstl等多种格式的io标准。

  2. ibufgds是ibufg的差分形式,当信号从一对差分全局时钟管脚输入时,必须使用ibufgds作为全局时钟输入缓冲。ibufg支持blvds、ldt、lvdsext、lvds、lvpecl和ulvds等多种格式的io标准。

  3. bufg是全局缓冲,它的输入是ibufg的输出,bufg的输出到达fpga内部的iob、clb、选择性块ram的时钟延迟和抖动最小。

  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. bufgdll是全局缓冲延迟锁相环,相当于bufg与dll的结合。bufgdll在早期设计中经常使用,用以完成全局时钟的同步和驱动等功能。随着数字时钟管理单元(dcm)的日益完善,目前bufgdll的应用已经逐渐被dcm所取代。
  8. dcm即数字时钟管理单元,主要完成时钟的同步、移相、分频、倍频和去抖动等。dcm与全局时钟有着密不可分的联系,为了达到最小的延迟和抖动,几乎所有的dcm应用都要使用全局缓冲资源。dcm可以用xilinx ise软件中的architecture wizard直接生成。

  全局时钟资源的使用方法 全局时钟资源的使用方法(五种)

1:ibufg + bufg的使用方法:

  ibufg后面连接bufg的方法是最基本的全局时钟资源使用方法,由于ibufg组合bufg相当于bufgp,所以在这种使用方法也称为bufgp方法。

2. ibufgds + bufg的使用方法:

  当输入时钟信号为差分信号时,需要使用ibufgds代替ibufg。

3. ibufg + dcm + bufg的使用方法:

  这种使用方法最灵活,对全局时钟的控制更加有效。通过dcm模块不仅仅能对时钟进行同步、移相、分频和倍频等变换,而且可以使全局时钟的输出达到无抖动延迟。

4. logic + bufg的使用方法:

  bufg不但可以驱动ibufg的输出,还可以驱动其它普通信号的输出。当某个信号(时钟、使能、快速路径)的扇出非常大,并且要求抖动延迟最小时,可以使用bufg驱动该信号,使该信号利用全局时钟资源。但需要注意的是,普通io的输入或普通片内信号进入全局时钟布线层需要一个固有的延时,一般在10ns左右,即普通io和普通片内信号从输入到bufg输出有一个约10ns左右的固有延时,但是bufg的输出到片内所有单元(iob、clb、选择性块ram)的延时可以忽略不计为“0”ns。

5. logic + dcm + bufg的使用方法:

  dcm同样也可以控制并变换普通时钟信号,即dcm的输入也可以是普通片内信号。使用全局时钟资源的注意事项 全局时钟资源必须满足的重要原则是:使用ibufg或ibufgds的充分必要条件是信号从专用全局时钟管脚输入。换言之,当某个信号从全局时钟管脚输入,不论它是否为时钟信号,都必须使用ibufg或ibufgds;如果对某个信号使用了ibufg或ibufgds硬件原语,则这个信号必定是从全局时钟管脚输入的。如果违反了这条原则,那么在布局布线时会报错。这条规则的使用是由fpga的内部结构决定的:ibufg和ibufgds的输入端仅仅与芯片的专用全局时钟输入管脚有物理连接,与普通io和其它内部clb等没有物理连接。 另外,由于bufgp相当于ibufg和bufg的组合,所以bufgp的使用也必须遵循上述的原则。

全局时钟资源的例化方法

  全局时钟资源的例化方法大致可分为两种:
  一是在程序中直接例化全局时钟资源;

  二是通过综合阶段约束或

  目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在fpga设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。 fpga全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(clb)、i/o单元(iob)和选择性块ram(block select ram)的时延和抖动都为最小。为了适应复杂设计的需要,xilinx的fpga中集成的专用时钟资源与数字延迟锁相环(dll)的数目不断增加,最新的virtex ii器件最多可以提供16个全局时钟输入端口和8个数字时钟管理模块(dcm)。

  与全局时钟资源相关的原语常用的与全局时钟资源相关的xilinx器件原语包括:ibufg、ibufgds、bufg、bufgp、bufgce、bufgmux、bufgdll和dcm等,如图1所示。

  1. ibufg即输入全局缓冲,是与专用全局时钟输入管脚相连接的首级全局缓冲。所有从全局时钟管脚输入的信号必须经过ibuf元,否则在布局布线时会报错。ibufg支持agp、ctt、gtl、gtlp、hstl、lvcmos、lvdci、lvds、lvpecl、lvttl、pci、pcix和sstl等多种格式的io标准。

  2. ibufgds是ibufg的差分形式,当信号从一对差分全局时钟管脚输入时,必须使用ibufgds作为全局时钟输入缓冲。ibufg支持blvds、ldt、lvdsext、lvds、lvpecl和ulvds等多种格式的io标准。

  3. bufg是全局缓冲,它的输入是ibufg的输出,bufg的输出到达fpga内部的iob、clb、选择性块ram的时钟延迟和抖动最小。

  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. bufgdll是全局缓冲延迟锁相环,相当于bufg与dll的结合。bufgdll在早期设计中经常使用,用以完成全局时钟的同步和驱动等功能。随着数字时钟管理单元(dcm)的日益完善,目前bufgdll的应用已经逐渐被dcm所取代。
  8. dcm即数字时钟管理单元,主要完成时钟的同步、移相、分频、倍频和去抖动等。dcm与全局时钟有着密不可分的联系,为了达到最小的延迟和抖动,几乎所有的dcm应用都要使用全局缓冲资源。dcm可以用xilinx ise软件中的architecture wizard直接生成。

  全局时钟资源的使用方法 全局时钟资源的使用方法(五种)

1:ibufg + bufg的使用方法:

  ibufg后面连接bufg的方法是最基本的全局时钟资源使用方法,由于ibufg组合bufg相当于bufgp,所以在这种使用方法也称为bufgp方法。

2. ibufgds + bufg的使用方法:

  当输入时钟信号为差分信号时,需要使用ibufgds代替ibufg。

3. ibufg + dcm + bufg的使用方法:

  这种使用方法最灵活,对全局时钟的控制更加有效。通过dcm模块不仅仅能对时钟进行同步、移相、分频和倍频等变换,而且可以使全局时钟的输出达到无抖动延迟。

4. logic + bufg的使用方法:

  bufg不但可以驱动ibufg的输出,还可以驱动其它普通信号的输出。当某个信号(时钟、使能、快速路径)的扇出非常大,并且要求抖动延迟最小时,可以使用bufg驱动该信号,使该信号利用全局时钟资源。但需要注意的是,普通io的输入或普通片内信号进入全局时钟布线层需要一个固有的延时,一般在10ns左右,即普通io和普通片内信号从输入到bufg输出有一个约10ns左右的固有延时,但是bufg的输出到片内所有单元(iob、clb、选择性块ram)的延时可以忽略不计为“0”ns。

5. logic + dcm + bufg的使用方法:

  dcm同样也可以控制并变换普通时钟信号,即dcm的输入也可以是普通片内信号。使用全局时钟资源的注意事项 全局时钟资源必须满足的重要原则是:使用ibufg或ibufgds的充分必要条件是信号从专用全局时钟管脚输入。换言之,当某个信号从全局时钟管脚输入,不论它是否为时钟信号,都必须使用ibufg或ibufgds;如果对某个信号使用了ibufg或ibufgds硬件原语,则这个信号必定是从全局时钟管脚输入的。如果违反了这条原则,那么在布局布线时会报错。这条规则的使用是由fpga的内部结构决定的:ibufg和ibufgds的输入端仅仅与芯片的专用全局时钟输入管脚有物理连接,与普通io和其它内部clb等没有物理连接。 另外,由于bufgp相当于ibufg和bufg的组合,所以bufgp的使用也必须遵循上述的原则。

全局时钟资源的例化方法

  全局时钟资源的例化方法大致可分为两种:
  一是在程序中直接例化全局时钟资源;

  二是通过综合阶段约束或
相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!