Sp6 PLL and PLL_DRP使用技巧小结

本文总结了SP6 PLL的资源和常见使用方法,包括时钟网络偏移消除、频率合成器以及抖动过滤器的应用。此外,详细介绍了PLL动态重新配置(PLL_DRP)的参考设计,包括其工作原理、关键技术和使用步骤,为读者提供了PLL动态配置的深入理解。
摘要由CSDN通过智能技术生成

Sp6 PLL and PLL_DRP使用技巧小结

 

第一部分:SP6PLL资源与常见的使用方法

(1)SP6 PLL资源

1.Sp6包含了多个CMT模块,XC6SLX45T系列芯片包含有4个CM模块,每个时钟管理模块CMT包含了两个DCM和一个PLL;

2. PLL的主要目的是

l  用于消除时钟网络偏移

l  频率合成器

l  抖动过滤器(针对内部或者外部与CMT的DCMs相连时钟信号)

3.PLL模块的输入参考时钟和反馈时钟信号可以是:IBUFG、BUFG、IBUF、PLL输出、DCM输出;

4.PLL原语有两种:PLL_BASE和PLL_ADV

l PLL_BASE:提供了单个PLL最常用的功能时钟偏移消除、频率合成、相位转移、占空比设计。在绝大多数场合下,使用PLL_BASE就可以了;

l  PLL_ADV:除了PLL_BASE提供的功能外,还支持动态重新配置PLL的功能。

5.常见的配置方式:跟PLL模块反馈时钟信号有关

l  CLK_FEEDBACK=CLKFBOUT:压控振荡器的工作频率F = Fin *M/D

l  CLK_FEEDBACK=CLKOUT0:压控振荡器的工作频率F = Fin *M*O0/D

Fout = F/O

5.使用的约束条件

l  压控振荡器工作频率范围有限,这一点在sp6数据手册里有限定。

l  输入频率有最大值和最小值。

l  时钟信号占空比只有是离散的才可以编程控制

l  相位调整,最小单元是45度。

(2)配置方法

1.用于消除时钟网络偏移的情形

反馈回路:与参考时钟CLKIN频率相匹配的输出时钟(通常是CLKFBOUT或者CLKOUT),与BUFG相连并反馈给PLL的输入反馈管脚CLKFBIN;

输入线路:为进一步消除输入线路的时钟偏移,必须使用BUFIO2FB缓存器。

Ø  在这种情况下,所有的输出时钟与输入时钟有明确的相位关系。

 

2.PLL仅用作频率合成器的情形:

此时,PLL不能用于消除时钟网络偏移(skew),而是用来给其他的模块提供时钟频率。

PLL反馈路径设定为INTERNAL

下面程序来自于aurora 8B10B核产生的时钟模块程序

moduleaurora_8b10b_v5_3_simplex_CLOCK_MODULE  #

(

       parameter MULT         =  8,

       parameter DIVIDE       =  1,

       parameter CLK_PERIOD   =  16.0,

       parameter OUT0_DIVIDE  =  8,

       parameter OUT1_DIVIDE  =  2,

       parameter OUT2_DIVIDE  =  8,

       parameter OUT3_DIVIDE  =  2

 

)

(

   GT_CLK,

   GT_CLK_LOCKED,

   USER_CLK,

   SYNC_CLK,

   PLL_NOT_LOCKED

);

`define DLY #1

//*************************PortDeclarations*******************************

 

   input       GT_CLK;

   input       GT_CLK_LOCKED;

   output      USER_CLK;

   output      SYNC_CLK;

   output      PLL_NOT_LOCKED;

 

//************************Wire Declarations********************

 

   wire            clkfb_w;

   wire            clkout0_o;

   wire            clkout1_o;

   wire            clkout2_o;

   wire            clkout3_o;

   wire            locked_w;

 

//**********************Main Body of Code******************************

// Instantiate aPLL module to divide the reference clock.

    PLL_ADV # //parameters

    (

         .CLKFBO

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值