Xilinx社区
首页 > 技术文章 > 赛灵思FPGA全局时钟网络结构详解
技术文章
赛灵思FPGA全局时钟网络结构详解
来源:摘自《电子发烧友》  时间:2014-02-14  浏览量:6251

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

点击“Next”,进入时钟频率配置窗口,如图10所示

  《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级结构图如图11所示。

RTL级结构图如图11

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

局部仿真结果

  在实际中,如果在一片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 模块在芯片中的位置。

热点文章
精选视频
推荐资源

中国授权培训机构

北京 电话:(010)82757632
      (010) 62192881
深圳 电话:(0755)86186715
武汉 电话:(027)61389792
成都 电话:(028)80821007
南京 电话:(025)66022032
西安 电话:(029)82230498
邮箱:sales@e-elements.com

中国授权经销商

香港 电话:(852)22127848
北京 电话:(010)84148118
成都 电话:(028)86528262
上海 电话:(021)33678387
深圳 电话:(0755)26584925
武汉 电话:(027)87322806
邮箱:china@avent.com
深圳 电话:(0755)26743210
上海 电话:(021)51696680
北京 电话:(010)51726678
成都 电话:(028)85139576
武汉 电话:(027)87690155
邮箱:
xilinx_enquiry@comtech.com.cn

社区主办


《电子产品世界》杂志社

内容提供


    赛灵思公司

Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备12027778号-2 北京市公安局备案:1101082052