关于DCM的作用:
' @ H- r, s& w( f/ R顾名思义DCM的作用就是管理,掌控时钟的专用模块。能完成分频,倍频,去skew,相移等功能。
关于DCM的结构&组成: 1 c; r& P& F: z0 Y
DCM由四个独立的功能单元组成:
6 [; H# n0 }4 O ?/ ^8 B+ X7 ~- H& I1、Delay-Locked Loop(DLL) ;1 \4 c7 \# h$ o6 [' q6 i
2、Digital Frequency, l8 u& \* G5 C) q
Synthesizer (DFS);
' O+ q+ r! z+ I, I+ i& c2 ^5 l ?
3、Phase Shift(PS) ;
4 |: M, R. l; Y7 `; f, ?8 X4、Status Logic(SL);( h& K$ I( a" M# t
如图1所示
关于外部反馈&内部反馈的作用以及区别: 用反馈的目的类似于锁相环的原理,就是为了保证通过DCM调整后的时钟相位与输入对齐(即消除由于DCM时钟调整过程中的偏斜(Skew))。 内部反馈是为了保证内部时钟与输入芯片的IO PAD上的时钟相位对齐,外部反馈是为了保证输出到外部的时钟(比如给SRAM)的相位与输入芯片的IO PAD上的时钟相位对齐。(内部反馈是不用自己连接的) FPGA内部的IBUFG和BUFG会给输入时钟带来延时,经过DCM后可以利用clk0输出(由于反馈的作用),这时输出相位与IPAD上的输入相位可以保持一致,相当于零延时BUF,在高速设计中很有用的。; r5 t8 l! E& d# `7 y
4 d9 _5 ~+ G( o" m( X, G内部时钟就是FPGA内部用的,外部则是根据设计需求需要同时送到外部的时钟。 反馈的两者实现方式:一是CLK0反馈(即CLKIN的同频做为反馈信号),另一个是CLK2X反馈(即CLKIN的2倍频做为反馈信号)。 另外如果仅仅使用CLKFX&CLKFX180,可以不使用反馈。详见图2和3: 关于DCM中DLL的工作模式问题:9 H6 Q* {, A/ R# F$ N
DCM中的DLL有两种工作模式: 高频&低频模式.低频模式24MHz~180MHz,高频模式48MHz~360MHz(不同的器件可能不同).0 o' s- [, k& ?$ o8 W
在高频模式的时候,倍频使出管脚clk2X&clk2x180禁用,四相移位寄存器的输出CLK90&CLK270也被禁用,如果分频因子不是个整数,则输出时钟的占空比不是50%。" B" ~* i- V1 e( H3 b5 j
如果仅仅CLKFX作为输出的话,则输入时钟可以是1MHz~210MHz,但是输出最小应该大于24MHz. 关于DCM中的复位问题:
4 y' I7 S1 w m$ r: O DCM的复位RST是高电平有效的(这和我们平时接触到的低电平复位是不同的), 而且在仿真时要求复位信号的持续时间最少为输入时钟周期的三倍. 关于频率合成:+ A _( E& e5 B# t0 @5 B
2 _0 h- Z9 G$ ^) C8 N4 ~/ Q8 Q频率合成的输出CLKFX=M/D×CLKIN(M由CLK_MULTIPLY确定,D由CLK_DIVIDE确定)。
$ R" E8 j6 W0 v! M8 v4 z D两种设置方式:
8 v0 K1 A8 M& u
# S, E# w! i: V i9 O4 j; }一:填写输出所要得到的输出时钟CLKFX的值,工具自动计算M&D的值。7 d- y6 l' ?% Z5 ?$ o; `
# e! A3 W4 S) p. X+ c" |
二:根据所需的输出设置M&D的值。 关于相移:! x0 L* @6 q; M1 r! c
相移分为三种模式:一:NONE;二:固定相移;三:可变相移;+ p; f$ @, S, I0 Y! |1 I# [
NONE(缺省):没有相移输入&输出同相,相当于固定相移设置成0;/ N6 Y( {* `% V+ N! ?7 {7 y
固定相移:输出相对于输入延迟的相位值是固定的(相移值也是T/256,范围:-128~128);
7 G( X% W* u* i1 K' t: w5 c" T# {可变相移:如果相移使能管脚PSEN的值为高(PSEN每次只能是一个PSCLK周期),输出CLK0开始移相,并根据PSINCDEC的值判断是增加还是减小,CLK0会移动一个相位(相对于CLKIN的相位,移动的值为T/256,T是CLKIN的周期),同时PSDONE会产生一个脉冲表示一次移相完成,只有等到LOCKED的输出为高时才表明被锁定,输出时钟有效。移相的范围为-64~64(即-π/4~π/4),所以理论上可以得到与CLKIN任意相差的时钟信号,在产生信号延时方面可能会有用,有些具体的操作和要求可以参考用户手册。7 R& T; I$ W8 G( U9 [" A' @
( U$ g: L" W4 V6 r. B y从延迟周期的角度还可以分为:
n: j3 v/ N* t/ X1 a1 U9 I/ O- I7 ~: g1 j4 g# |3 T# S$ l! ]
一:1/2周期相移(CLK0、CLK180);二:1/4周期相移(CLK0、CLK90、CLK180、CLK270);
) `$ S* i' P; K+ m+ k2 {; s. b1 G3 D8 ]- S% Z9 p H: U" c0 O
三:固定相移(T/256);
& G ?3 w# D X3 P9 w9 Q5 ~$ p' Q: @7 ~四:动态可变相移(T/256);
( d( b4 c, q ^9 D% N" B$ h4 X; E9 h6 P X! z, h
关于偏斜(SKEW)调节:
6 d0 _; p9 O8 l9 L( Y
8 T9 r& N5 ~, b) w/ L- U最主要的两种运用:一:系统时钟同步;二:源同步:
/ A2 q0 H. G' r/ |9 v) o6 y; U2 u9 [+ k
所谓系统时钟同步(即共同时钟系统):同一数据路径中的驱动时钟是同一时钟资源,( _2 T, z. k Q5 E) m- m% k7 ^
0 ]! ]& K( Q6 e- [/ X; O4 z4 C所谓源同步系统:数据&源同步时钟信号是同步传输的,保证了两个时钟信号的飞行时间(飞行时间包括传播延迟&上升沿变化的时间)是一致的,理论上对系统时钟的最高频率没有任何限制,是高速数据传输的通用方法。 默认值为系统时钟同步方式,该方式会自动增加一小点延迟,目的是捕获数据时具有零保持时间。
0 F( w1 J7 g- S0 B% [
. y; U/ V& y* a$ V源同步系统的时钟&数据是同步的,在采样的时候一般把时钟采到数据的中间,一边满足建立&保持时间。
, }% R0 G0 Q1 b |