当前位置:首页 > 第6节 Xilinx FPGA芯片底层单元的使用
Xilinx公司第一个提出利用创新的扩频时钟技术来减少电磁干扰(EMI)噪声辐射的可编程解决方案。最先在FPGA中实现电磁兼容的EMIControl技术,是利用数字扩频技术(DSS)通过扩展输出时钟频率的频谱来降低电磁干扰,减少用户在电磁屏蔽上的投资。数字扩频(DSS)技术通过展宽输出时钟的频谱,来减少EMI和达到FCC要求。这一特点使设计者可极大地降低系统成本,使电路板重新设计的可能性降到最小,并不再需要昂贵的屏蔽,从而缩短了设计周期。 2.DCM模块IP Core的使用
例4-7 在ISE中调用DCM模块,完成50MHz时钟信号到75MHz时钟信号的转换。 1)在源文件进程中,双击“Create New Source”;然后在源文件窗口,选择“IP (CoreGen & Architecture Clocking?Wizard)”,输入文件名“my_dcm”;再点击“Next”,在选择类型窗口中,“FPGA Features and Design Virtex-4”,然后选择“Single DCM ADV v9.1i”,如图4-114所示。?
图114 新建DCM模块IP Core向导示意图
<2> 点击“Next”,“Finish”进入Xilinx 时钟向导的建立窗口,如图4-65所示。ISE默认选中CLK0和 LOCKED这两个信号,用户根据自己需求添加输出时钟。在“Input Clock Frequency”输入栏中敲入输入时钟的频率或周期,单位分别是MHz和ns,其余配置保留默认值。为了演示,这里添加了CLKFX 信号,并设定输入时钟为单端信号,频率为50MHz,其余选项保持默认值。
图-115 DCM模块配置向导界面
<3> 点击“Next”,进入时钟缓存窗口,如图4-116所示。默认配置为DCM输出添加全局时钟缓存以保证良好的时钟特性。如果设计全局时钟资源,用户亦可选择“Customize buffers”自行编辑输出缓存。一般选择默认配置即可。
图4-116 DCM模块时钟缓存配置向导界面
<4> 点击“Next”,进入时钟频率配置窗口,如图4-117所示。键入输出频率的数值,或者将手动计算的分频比输入。最后点击“Next”,“Finish”即可完成DCM模块IP Core的全部配置。本例直接键入输出频率为75MHz即可。
图4-117 指定 DCM 模块的输出频率
<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结构示意图
上述代码经过ModelSim仿真后,其局部仿真结果如图4-119所示。从中可以看出,当LOCKED_OUT信号变高时,DCM模块稳定工作,输出时钟频率CLKFX_OUT为输入时钟CLK_IN频率的1.5倍,完成了预定功能。需要注意的是,复位信号RST_IN是高有效。
图4-119 DCM的仿真结果示意图
共分享92篇相关文档