zoukankan      html  css  js  c++  java
  • 时钟分频

    在FPGA中应该使用同步逻辑,工作频率的控制不应该采用“时钟分频”,而使用“时钟使能“,并尽量让所有模块使用同一个时钟。

    为了产生XKHz的使能信号,可采用一个模可设置的计数器对时钟计数。

    /*-----------------------------------------------------------------------
    
    Date                :        2017-07-15
    Description            :        Design for clk.
    
    -----------------------------------------------------------------------*/
    
    module pro_clk_en
    (
        //global clock
        input                    clk,            //system clock
        input                    rst_n,             //sync reset
        
        //clk interface
        output        reg            clk_10k,       //
        output                    clk_10k_en        //    
    ); 
    
    
    //--------------------------------
    //Funtion :  pll_200
    wire        clk_200;
    
    clk_200 pll(
            .refclk(clk),   //  refclk.clk
            .rst(!rst_n),      //   reset.reset
            .outclk_0(clk_200) // outclk0.clk
            //.locked()    //  locked.export
        );
    
    //--------------------------------
    //Funtion :  计数器
    //parameter            CNT_CLK_10K = 25; //50M ---- 10k 2500 1M 25   
    parameter            CNT_CLK_10K = 100; //50M ---- 10k 2500 1M 25   
    reg        [31:0]        cnt_clk;
    
    always @(posedge clk_200 or negedge rst_n)
    begin
        if(!rst_n)
            cnt_clk <= 0;
        else if(cnt_clk == CNT_CLK_10K - 1)
            cnt_clk <= 0;
        else
            cnt_clk <= cnt_clk + 1;
    end             
    
    assign    clk_10k_en = (cnt_clk == CNT_CLK_10K - 1) ? 1 : 0;
    
    
    //--------------------------------
    //Funtion :  clk_10k
    
    
    always @(posedge clk_200 or negedge rst_n)
    begin
        if(!rst_n)
            clk_10k <= 0;
        else if(clk_10k_en)
            clk_10k <= ~clk_10k;
        else
            clk_10k <= clk_10k;
    end
    
    endmodule
        
  • 相关阅读:
    git代码提交
    bootstrap的用法、bootstrap图标
    HTML 5 Web 存储(客户端存储数据)
    require.js
    WebStrom的使用技巧
    event事件
    $().each 和 $each( )的区别
    js基础字符串
    if return的用法 逻辑运算 switch for break等用法
    date-id自定义属性
  • 原文地址:https://www.cnblogs.com/bixiaopengblog/p/7184080.html
Copyright © 2011-2022 走看看