微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 分频的问题

分频的问题

时间:10-02 整理:3721RD 点击:
大家用verilog一般分频怎么可靠去分的啊?用计数器去分频要注意什么呢?有没有具体的一些例子,谢谢。

自己顶一下

注意占空比,不要有毛刺就好

可以用计数器,但建议用DCM等时钟器件。

我这样写是不是不好呢?谢谢
always @ (posedge clk or negedge rst_n)
begin
    if(!rst_n)begin
          counter <= 8'b0;
          div_clk <= 1'b0;
    end
    else begin
          counter <= counter + 1'b1;
          if(counter == 8'b1111_1111)begin
                 div_clk <= ~div_clk;
          end
    end
end
always @ (posedge div_clk)
begin
         .................
         ..................
end

你的频率是多少? 如果说是要做全同步设计,FPGA的设计方法是,把div_clk当做enable来做。或者就按照你这样子,其实div_clk会被默认当成全局时钟来布线。ASIC中,每个模块的时钟应该是从PLL模块过来,你自己不需要产生时钟来做。反问一下:这个时钟非得要么?就没有办法替代,做成相同的功能。

这样写,从逻辑上看可以,但在给其他模块使用之前,最好经过BUFG进入时钟网络,否则timing很难控制。
楼上的dx说的有道理,为什么不用DCM生成呢?

学习了

方法1:计数器分频
方法2:DCM分频,效果较好
方法3:使用时钟使能,效果好

我支持计数器分频

看你要用多少分频了。如果是偶数分频,那计数器是没问题的。否则就要注意duty cycle和相位的问题。

学习了。

是吗?

计数器你写的挺好的吧

谁来把这说清楚

为什么timing很难控制?

学习了~~

看看书上很多的

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

网站地图

Top