微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > Xilinx可编程逻辑器件设计与开发(基础篇)连载11:Spartan

Xilinx可编程逻辑器件设计与开发(基础篇)连载11:Spartan

时间:02-11 来源:网络整理 点击:

2.1.3 时钟管理器(CMT)

Spartan-6 CMT是一个灵活、高性能的时钟管理模块。它位于芯片中央、垂直的全局时钟网络旁。如图2-17所示,它包含一个PLL和两个DCM。

图2-17 Spartan-6 FPGA CMT片内布局图

一、 DCM

Spartan-6中的DCM与Spartan-3中的类似,如图2-18所示,同样由4部分组成。

图2-18 DCM 功能结构图

(1) 延时锁相环(DLL)。

DLL 延时锁相环可以根据输入时钟去除DCM 的输出时钟歪斜,以完全消除时钟分布延迟。其原理是将时钟输入(CLKIN)与一个反馈输入(CLKFB)进行比较,然后控制延迟线选择器,通过在DLL 路径中加入合适的延迟直到CLKIN 与CLKFB 重合。

DLL 输入时钟是CLKIN 和CLKFB,输出时钟信号是CLK0、CLK90、CLK180、CLK270、CLK2X、CLK2X180 和CLKDV。

(2) 数字频率综合器(DFS)。

DFS有两个用户寄存器,用来设置相对于输入时钟(CLKIN)倍频(CLKFX_MULTIPLY)和分频(CLKFX_divID)系数。DFS可以单独使用,还可以和DLL一起配合使用;如果DFS不和DLL一起使用,CLKIN和DFS输出之间没有对应的相位关系。DFS的输出为CLKFX和CLKFX180。

(3) 相移单元(PS)。

相移单元PS的输入信号有PSINCDEC、PSEN和PSCLK,输出信号为PSDONE和STATUS[0]。相移模式包括固定相移和可变相移。

固定相移是指DCM的9个时钟的相位输出,通常是输入时钟周期的若干分之一,固定相移值在设计中设定并在FPGA配置时载入FPGA。

除了固定相移,PS还支持可变相移,根据系统要求,通过数字接口(PSINCDEC、PSEN和PSCLK)动态改变相移。每次动态改变的相移值为DCM_DELAY_STEP,DCM_DELAY_STEP对应的范围可参考附带光盘中的《Spartan-6数据手册》。

(4) 状态逻辑。

状态逻辑反映DCM的状态,对应两个输出信号LOCKED和STATUS[0]。

如图2-19所示,主要有2个DCM的原语调用,DCM_SP和DCM_CLKGEN。

图2-19 DCM原语

DCM_SP提供DCM的传统特性:时钟DESKEW、频率综合和固定及可变相移。

DCM_SP所有的属性都是在设计时确定,上电配置的时候编程到FPGA,除了动态相移功能外,所有的属性在运行时是不可以更改的。

DCM_CLKGEN提供了如下更多的DFS性能。

低抖动的CLKFX和CLKFX180输出。

提高了输入时钟CLKIN的抖动容限。

支持M和D的动态编程,动态设置CLKFX_MULTIPLY和CLKFX_divIDE。

CLKFX_MULTIPLY和CLKFX_divIDE属性值范围更大。

当输入时钟丢失时,自激振荡器工作。

具有扩频功能。

在设计中特别要注意DCM_SP和DCM_CLKGEN的特性和参数,请参考附带光盘中的《Spartan-6 时钟资源用户手册》。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top