XILINX DCM and ALTERA PLL(2)

3 ALTERA PLL介绍

Cyclone™ FPGA具有锁相环(PLL)和全局时钟网络,提供完整的时钟管理方案。Cyclone PLL具有时钟倍频和分频、相位偏移、可编程占空比和外部时钟输出,进行系统级的时钟管理和偏移控制。Altera® Quartus® II软件无需任何外部器件,就可以启用Cyclone PLL和相关功能。本文将介绍如何设计和使用Cyclone PLL功能。
PLL
常用于同步内部器件时钟和外部时钟,使内部工作的时钟频率比外部时钟更高,时钟延迟和时钟偏移最小,减小或调整时钟到输出(TCO)和建立(TSU)时间

2.Cyclone PLL功能

功能

说明

时钟倍频和分频

M/N×后scale计数器)1

相位偏移

小至156皮秒(ps)的增量幅度2),(3

可编程占空比

 

内部时钟输出数量

每个PLL两个输出

外部时钟输出数量4

每个PLL一个输出

锁定端口可以输入逻辑阵列

 

PLL时钟输出可以输入逻辑阵列

 

可编程占空比

可编程占空比功能允许你设置PLL时钟输出的占空比。占空比是时钟输出高/低时间和整个时钟周期时间的比率,表示为处于高的时间的比例。Quartus II软件使用输入频率和目的倍频/分频比率来选择后scale计数器。占空周期精度由PLL时钟输出选用的后scale计数器值决定,定义为50%除以后scale计数器值。例如,如果后scale计数器的值为3,允许的占空比为50%除以3等于16.67%。因为altpll宏功能不接受非整数值的占空比值,允许的占空比为17%33%50%67%
由于硬件的限制,你不能实现84%的占空比,因为对于给定的计数器值你不能实现最接近100%的值。然而,你可以选择17%的占空比,反转PLL时钟输出,从而实现84%的占空比。例如,如果G0计数器为10,占空比增量是5%,范围从5%90%

 

时钟反馈模式

Cyclone PLL支持三种反馈模式:标准、零延迟缓冲和无补偿。和其它Altera器件系列不同,Cyclone PLL不支持外部反馈模式。所有支持的三种时钟反馈模式允许倍频/分频、相位偏移和可编程占空比。下面是每种模式的简要说明。
● 图4到图6所示的相位关系是内定值相位偏移设置-0°。改变相位偏移设置会改变相位关系。

标准模式

在标准模式下,PLL把参考时钟和逻辑阵列或IOE的端口缓存器处的时钟信号相位对齐,补偿内部全局时钟网络延迟。在altpll MegaWizard外挂插件管理器中,你可以定义PLL的哪个内部时钟输出(c0或c1)应该补偿。
如果在该模式中使用外部时钟输出(PLL[2..1]_OUT),相对于时钟输入管脚有相位偏移。相同的,如果你用内部PLL时钟输出驱动通用I/O管脚,相对应的时钟输入管脚也有相位偏移。

图4是标准模式下PLL时钟相位关系的范例波形。
 




图4.标准模式下PLL时钟之间的相位关系
 

图4注释:
(1) 外部时钟输出可能领先或落后于PLL时钟信号

零延迟缓冲模式

PLL外部时钟输出管脚(PLL[2..1]_OUT)的时钟信号和PLL输入时钟是相位对齐的,没有延迟。如果你用c[1..0]端口驱动内部时钟管脚,那么相对于输入时钟管脚有相位偏移。图5是零延迟缓冲模式下PLL时钟相位关系的范例波形。

 



图5.零延迟缓冲模式下PLL时钟之间的相位关系

 


无补偿

在该模式下,PLL不补偿任何时钟网络。这样会有更佳的抖动性能,因为反馈到PFD的时钟不经过某些电路。相对PLL时钟输入,PLL内部和外部时钟输出都有相位偏移。图6是无补偿模式下的PLL时钟相位关系范例波形。

 



图6.无补偿模式下PLL时钟之间的相位关系

4 Altera PLL使用情况
1
1PLL情况

不像XILINX DCM,此时只要满足PLL的驱动是专用的时钟输入端口即可。即例化不会出现XILINX报错的情况。

22PLL情况

Wire out_clk1,out_clk2;

pll_1 pll_2(

       .areset(!rst),

       .inclk0(clk),

       .c0(out_clk1));

 

pll_1      pll_3(.areset(!rst),

       .inclk0(clk),

       .c0(out_clk2));

上面两个PLL例化是正确的,并联操作。

但是如下组成PLL链是错误的。

Wire out_clk1,out_clk2;

pll_1 pll_2(

       .areset(!rst),

       .inclk0(clk),

       .c0(out_clk1));

 

pll_1      pll_3(.areset(!rst),

       .inclk0(out_clk1),

       .c0(out_clk2));

报错: Error: Can't fit fan-out of node <>|altpll:altpll_component|_clk0 into a single clock region
这样违背了PLL的驱动是专用的时钟输入端口。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值