Xilinx可编程逻辑器件设计与开发(基础篇)连载11:Spartan
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 时钟资源用户手册》。
- 可编程逻辑控制器(PLC)基本操作及功能简介(03-07)
- 基于可编程逻辑器件的数字电路设计(10-16)
- 基于CPLD的机载雷达控保系统设计与实现(10-29)
- 德州仪器可编程逻辑和自动化控制器(PLC/PAC)解决方案(11-03)
- 基于Xilinx(赛灵思) CPLD的看门狗电路设计(10-09)
- 莱迪思技术专家分享:基于FPGA的视频监控时代(02-21)