微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA中如何得到一个输入时钟的2分频同步时钟

FPGA中如何得到一个输入时钟的2分频同步时钟

时间:10-02 整理:3721RD 点击:
我用的FPGA为Spartan6,    用verilog语言,   FPGA输入一个rx_clk时钟,如何得到一个与rx_clk相位同步的2分频的时钟呢?就是得到的输出时钟的频率为输入时钟频率的二分之一,我用Clocking IP核做了一个二分频的时钟,但是好像输入和输出的时钟相位不是同步的,不知道还有没有什么好办法?

自己写个分频模块试试!很简单的样子


不是那么简单的,要求输入输出的时钟相位是同步的,这个很难做到,

always  @(posedge rx_clk)
  if(reset)
    tx_clk  <=  1'b0  ;
  else
    tx_clk  <=  ~tx_clk ;

IP核,一路输入,你用两路输出啊,分别是原频率时钟和二分频的时钟,如果出来的还是相位不同步你也可以调节里面的参数使误差最小


由于有与输入时钟同步输入的数据,所以必须要求输出的二分频时钟与输入是同步的。



    那你也可以用PLL出来跟输入同频率的那个时钟把数据打一拍子啊

分频还是用PLL比较合适

用这个时钟写个计数器就可以了,4楼代码都贴出来了

由于有与输入时钟同步输入的数据,所以必须要求输出的二分频时钟与输入是同步的?
给我的感觉是,用个fifo就解决了,而且最好需要用fifo.

使用PLL

用5楼的方法,另外把pll的同频输出再feedback进pll中,如果没有预留专用fb管脚,可能还有io延迟,那么让pll多输出一路同频时钟微调其输出相位专做pll的feedback。

用IP核写出来的好像都是同相位的吧,自己写个模块也是同步的啊

   PLL出来的物理上就是几乎等时延连入专用时钟网络, 手写的仿真是同步的, 实际因为布线路径原因在相位要求严格的环境中还是不如用 PLL的

用PLL吧,一般来说PLL的相位基本是相同的,如果有需要你再根据需求在PLL IP内调节下相位。使用计数器做时钟,时钟的质量不太好,而且相位也不好控制,所以建议还是使用PLL

PLL IP核生成的不应该有相位偏移吧?如果不特意设置

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top