|
关于DCM的作用:
/ a3 o2 S$ F0 m5 o& l6 K. k/ e顾名思义DCM的作用就是管理,掌控时钟的专用模块。能完成分频,倍频,去skew,相移等功能。
关于DCM的结构&组成:
0 i& O$ {" @+ f& I/ eDCM由四个独立的功能单元组成:
0 K3 n4 X4 e; P7 J/ H
1、Delay-Locked Loop(DLL) ;
9 A+ j }0 U, Y: d2、Digital Frequency
: q4 d* T6 D% P. w* ySynthesizer (DFS);
, ]( S9 u, y5 t. }2 e 3、Phase Shift(PS) ;1 x' V$ Z5 ^5 |! u9 z4 O0 r0 A1 f: Q& O
4、Status Logic(SL);
& c8 R- u) S* e* n如图1所示
关于外部反馈&内部反馈的作用以及区别: 用反馈的目的类似于锁相环的原理,就是为了保证通过DCM调整后的时钟相位与输入对齐(即消除由于DCM时钟调整过程中的偏斜(Skew))。 内部反馈是为了保证内部时钟与输入芯片的IO PAD上的时钟相位对齐,外部反馈是为了保证输出到外部的时钟(比如给SRAM)的相位与输入芯片的IO PAD上的时钟相位对齐。(内部反馈是不用自己连接的) FPGA内部的IBUFG和BUFG会给输入时钟带来延时,经过DCM后可以利用clk0输出(由于反馈的作用),这时输出相位与IPAD上的输入相位可以保持一致,相当于零延时BUF,在高速设计中很有用的。
( i/ D6 i& t, ^# T5 H) R) g" [% Q5 M' Q, h2 j+ G- P
内部时钟就是FPGA内部用的,外部则是根据设计需求需要同时送到外部的时钟。 反馈的两者实现方式:一是CLK0反馈(即CLKIN的同频做为反馈信号),另一个是CLK2X反馈(即CLKIN的2倍频做为反馈信号)。 另外如果仅仅使用CLKFX&CLKFX180,可以不使用反馈。详见图2和3: 关于DCM中DLL的工作模式问题:
; g1 E X* X5 o% b0 YDCM中的DLL有两种工作模式: 高频&低频模式.低频模式24MHz~180MHz,高频模式48MHz~360MHz(不同的器件可能不同).) D/ e% _' q$ G# z
在高频模式的时候,倍频使出管脚clk2X&clk2x180禁用,四相移位寄存器的输出CLK90&CLK270也被禁用,如果分频因子不是个整数,则输出时钟的占空比不是50%。: o( u3 L0 ?5 P* f9 T5 e3 a& v& m1 h
如果仅仅CLKFX作为输出的话,则输入时钟可以是1MHz~210MHz,但是输出最小应该大于24MHz. 关于DCM中的复位问题:
2 J5 T4 L! H" T$ k, {2 Y DCM的复位RST是高电平有效的(这和我们平时接触到的低电平复位是不同的), 而且在仿真时要求复位信号的持续时间最少为输入时钟周期的三倍. 关于频率合成:
5 ?. _6 _% h: N+ t6 D
; V" w4 h9 u3 H8 X频率合成的输出CLKFX=M/D×CLKIN(M由CLK_MULTIPLY确定,D由CLK_DIVIDE确定)。6 M; J" ^6 m$ N) J6 q. _8 h
两种设置方式:
2 C: ]: Q. \5 \' Y! `9 p& k8 h5 |+ o5 t+ Z( d& S
一:填写输出所要得到的输出时钟CLKFX的值,工具自动计算M&D的值。- K# }6 \6 C9 T. K1 r3 q
( R6 g1 g1 A6 J二:根据所需的输出设置M&D的值。 关于相移: w2 P j4 A/ A4 G, V
相移分为三种模式:一:NONE;二:固定相移;三:可变相移;
8 N9 ~8 e8 Y+ A0 a$ |4 pNONE(缺省):没有相移输入&输出同相,相当于固定相移设置成0;
^' o J- @2 b+ I4 ~固定相移:输出相对于输入延迟的相位值是固定的(相移值也是T/256,范围:-128~128);
# v( { |. U5 [( {- D可变相移:如果相移使能管脚PSEN的值为高(PSEN每次只能是一个PSCLK周期),输出CLK0开始移相,并根据PSINCDEC的值判断是增加还是减小,CLK0会移动一个相位(相对于CLKIN的相位,移动的值为T/256,T是CLKIN的周期),同时PSDONE会产生一个脉冲表示一次移相完成,只有等到LOCKED的输出为高时才表明被锁定,输出时钟有效。移相的范围为-64~64(即-π/4~π/4),所以理论上可以得到与CLKIN任意相差的时钟信号,在产生信号延时方面可能会有用,有些具体的操作和要求可以参考用户手册。
8 Q9 Z: \# ?: Y" t
5 d7 j( M- m* I从延迟周期的角度还可以分为:
* a6 e3 u- u: C+ \) d' g
8 k. }+ z" O8 |' w一:1/2周期相移(CLK0、CLK180);二:1/4周期相移(CLK0、CLK90、CLK180、CLK270);1 x8 P% v" j4 W5 ^6 t: U6 b
1 B9 o8 I# | s5 R% c三:固定相移(T/256);7 O, G7 c5 Z6 o
四:动态可变相移(T/256);
" q8 k' n9 P7 ~* a# L& ?" }' w! h3 o) B5 r- ^/ p L5 C
关于偏斜(SKEW)调节:
3 k9 r7 u$ I# k4 ~+ ^0 A3 q2 Z' z* A
9 k2 {* E9 }% P最主要的两种运用:一:系统时钟同步;二:源同步:
B9 n% U8 C4 I$ m6 u" \7 @
* H" {' T4 \8 K, L" E所谓系统时钟同步(即共同时钟系统):同一数据路径中的驱动时钟是同一时钟资源,. g9 b8 u# R. u
5 v! i& A* \9 W6 P" I3 y
所谓源同步系统:数据&源同步时钟信号是同步传输的,保证了两个时钟信号的飞行时间(飞行时间包括传播延迟&上升沿变化的时间)是一致的,理论上对系统时钟的最高频率没有任何限制,是高速数据传输的通用方法。 默认值为系统时钟同步方式,该方式会自动增加一小点延迟,目的是捕获数据时具有零保持时间。/ N/ ~( z+ @9 m' { M% F) Z
% ?7 J( u1 |' S. W# @# |6 y
源同步系统的时钟&数据是同步的,在采样的时候一般把时钟采到数据的中间,一边满足建立&保持时间。
, {& @0 W5 d, t; Q0 P9 d0 i3 t! n |