DCM_BASE详解
转载如果需要频率和相位动态重配置,则可以选用DCM_ADV原语;如果需要相位动态偏移,可使用DCM_PS原语。
其Verilog的例化代码模板为:
// DCM_BASE: 基本数字时钟管理电路(Base Digital Clock Manager Circuit)
// 适用芯片:Virtex-4/5
// Xilinx HDL库向导版本,ISE 9.1
DCM_BASE #(
.CLKDV_DIVIDE(2.0),
// CLKDV分频比可以设置为: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5
// 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0
.CLKFX_DIVIDE(1), // Can be any integer from 1 to 32
// CLKFX信号的分频比,可为1到32之间的任意整数
.CLKFX_MULTIPLY(4),
// CLKFX信号的倍频比,可为2到32之间的任意整数
.CLKIN_DIVIDE_BY_2("FALSE"),
// 输入信号2分频的使能信号,可设置为TRUE/FALSE
.CLKIN_PERIOD(10.0),
// 指定输入时钟的周期,单位为ns,数值范围为1.25~1000.00。
.CLKOUT_PHASE_SHIFT("NONE"),
// 指定移相模式,可设置为NONE或FIXED
.CLK_FEEDBACK("1X"),
// 指定反馈时钟的频率,可设置为NONE、1X或2X。相应的频率关系都是针对CLK0而言的。
.DCM_PERFORMANCE_MODE("MAX_SPEED"),
// DCM模块性能模式,可设置为 MAX_SPEED 或 MAX_RANGE
.DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"),
// 抖动调整,可设置为源同步、系统同步或0~15之间的任意整数
.DFS_FREQUENCY_MODE("LOW"),
// 数字频率合成模式,可设置为LOW或HIGH 两种频率模式
.DLL_FREQUENCY_MODE("LOW"),
// DLL的频率模式,可设置为LOW、HIGH或HIGH_SER
.DUTY_CYCLE_CORRECTION("TRUE"),
// 设置是否采用双周期校正,可设为TRUE或FALSE
.FACTORY_JF(16'hf0f0),
// 16比特的JF因子参数
.PHASE_SHIFT(0),
// 固定相移的数值,可设置为 -255 ~ 1023之间的任意整数
.STARTUP_WAIT("FALSE")
// 等DCM锁相后再延迟配置DONE管脚,可设置为TRUE/FALSE
) DCM_BASE_inst (
.CLK0(CLK0), // 0度移相的DCM时钟输出
.CLK180(CLK180), // 180度移相的DCM时钟输出
.CLK270(CLK270), // 270度移相的DCM时钟输出
.CLK2X(CLK2X), // DCM模块的2倍频输出
.CLK2X180(CLK2X180), // 经过180度相移的DCM模块2倍频输出
.CLK90(CLK90), // 90度移相的DCM时钟输出
.CLKDV(CLKDV), // DCM模块的分频输出,分频比为CLKDV_DIVIDE
.CLKFX(CLKFX), // DCM合成时钟输出,分频比为(M/D)
.CLKFX180(CLKFX180), // 180度移相的DCM合成时钟输出
.LOCKED(LOCKED), // DCM锁相状态输出信号
.CLKFB(CLKFB), // DCM模块的反馈时钟信号
.CLKIN(CLKIN), // DCM模块的时钟输入信号
.RST(RST) // DCM 模块的异步复位信号
);
// 结束DCM_BASE模块的例化过程
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Artemis 命令用法
Artemis高级用法
读取文件 shell脚本 批量删除 mq artemis