小舍YZ 发表于 2017-7-3 13:11:01

      <4> 点击“Next”,进入时钟频率配置窗口,如图4-117所示。键入输出频率的数值,或者将手动计算的分频比输入。最后点击“Next”,“Finish”即可完成DCM模块IP Core的全部配置。本例直接键入输出频率为75MHz即可。

小舍YZ 发表于 2017-7-3 13:11:49

      <5> 经过上述步骤,即可在源文件进程中看到“my_dcm.xaw”文件。剩余的工作就是在设计中调用该DCM IP Core,其例化代码如下:
module dcm_top(
CLKIN_IN,
RST_IN,
CLKFX_OUT,
CLKIN_IBUFG_OUT,
CLK0_OUT,
LOCKED_OUT);
input CLKIN_IN;
input RST_IN;
output CLKFX_OUT;
output CLKIN_IBUFG_OUT;
output CLK0_OUT;
output LOCKED_OUT;
mydcm dcm1(
.CLKIN_IN(CLKIN_IN),
.RST_IN(RST_IN),
.CLKFX_OUT(CLKFX_OUT),
.CLKIN_IBUFG_OUT(CLKIN_IBUFG_OUT),
.CLK0_OUT(CLK0_OUT),
.LOCKED_OUT(LOCKED_OUT)
);
endmodule

      <6> 上述代码经过综合Synplify Pro综合后,得到的RTL级结构图如图4-118所示。

图4-118 DCM模块的RTL结构示意图

小舍YZ 发表于 2017-7-3 13:12:39

上述代码经过ModelSim仿真后,其局部仿真结果如图4-119所示。从中可以看出,当LOCKED_OUT信号变高时,DCM模块稳定工作,输出时钟频率CLKFX_OUT为输入时钟CLK_IN频率的1.5倍,完成了预定功能。需要注意的是,复位信号RST_IN是高有效。
图4-119 DCM的仿真结果示意图

小舍YZ 发表于 2017-7-3 13:13:01

在实际中,如果在一片FPGA内使用两个DCM,那么时钟从一个clk输入,再引到两个DCM的clk_in。这里,在DCM模块操作时,需要注意两点:首先,用CoreGen生成DCM模块的时候,clk_in源是内部的,不能直接连接到管脚,需要添加缓冲器;其次,手动例化一个IBUFG,然后把IBUFG的输入连接到两个DCM的clk_in。通常,如果没有设置clk_in 源为内部的,而是完全按照单个DCM的使用流程,就会造成clk_in信号有多个驱动。此时,ISE不能做到两个DCM模块输出信号的相位对齐,只能做到一个DCM的输出是相位对齐的。而时钟管脚到两个DCM的路径和DCM输出的路径都有不同的延时,因此如果用户对相位还有要求,就需要自己手动调整DCM模块在芯片中的位置。

逆战 发表于 2017-7-15 19:24:39

谢谢分享!

小舍YZ 发表于 2017-7-15 20:06:49

逆战 发表于 2017-7-15 19:24
谢谢分享!

                           :) :) :) :) :)                              

晓灰灰 发表于 2017-7-16 09:46:18

DCM模块的使用

zxopenljx 发表于 2021-5-26 15:38:04

DCM模块的使用

zxopenljx 发表于 2022-2-22 09:49:46

DCM模块的使用

2644573028 发表于 2022-2-26 13:44:36


DCM模块的使用

1.DCM模块的组成和功能介绍
数字时钟管理模块(Digital Clock Manager,DCM)是基于Xilinx的其他系列器件所采用的数字延迟锁相环(DLL,Delay Locked Loop)模块。在时钟的管理与控制方面,DCM与DLL相比,功能更强大,使用更灵活。DCM的功能包括消除时钟的延时、频率的合成、时钟相位的调整等系统方面的需求。DCM的主要优点在于:①实现零时钟偏移(Skew),消除时钟分配延迟,并实现时钟闭环控制;②时钟可以映射到PCB上用于同步外部芯片,这样就减少了对外部芯片的要求,将芯片内外的时钟控制一体化,以利于系统设计。对于DCM模块来说,其关键参数为输入时钟频率范围、输出时钟频率范围、输入/输出时钟允许抖动范围等。

DCM共由四部分组成,如图4-109所示。其中最底层仍采用成熟的DLL模块;其次分别为数字频率合成器(DFS,Digital Frequency Synthesizer)、数字移相器(DPS,Digital Phase Shifter)和数字频谱扩展器(DSS,Digital Spread Spectrum)。不同的芯片模块的DCM输入频率范围是不同的
页: 1 [2]
查看完整版本: DCM模块的使用