新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 赛灵思FPGA全局时钟网络结构详解

赛灵思FPGA全局时钟网络结构详解

作者:时间:2014-02-14来源:摘自《电子发烧友》收藏

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

本文引用地址:http://www.eepw.com.cn/article/221556.htm
点击“Next”,进入时钟频率配置窗口,如图10所示

  《5》 经过上述步骤,即可在源文件进程中看到“my_dcm.xaw”文件。剩余的工作就是在设计中调用该 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信号变高时,模块稳定工作,输出时钟频率 CLKFX_OUT为输入时钟CLK_IN频率的1.5倍,完成了预定功能。需要注意的是,复位信号RST_IN是高有效。

局部仿真结果

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

fpga相关文章:fpga是什么


锁相环相关文章:锁相环原理

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭