zoukankan      html  css  js  c++  java
  • 任意分频

    详细讲解参照从零开始走进FPGA世界,一下是我参照现有20MHz的板子的程序,

    /***************************************************
    * Module Name : clk_generator
    * Engineer : catarget
    * Target Device : EP2C8Q208C8
    * Tool versions : Quartus II 9.0
    * Create Date : 2011-12-3
    * Revision : v1.0
    * Description :
    *************************************************
    */
    /*************************************************
    fc = 20MHz 20*10^6
    fo = fc*K/(2^32) (0.004657Hz ~ 10MHz)
    K = fo*(2^32)/fc
    = fo*(2^32)/(20*10^6)
    *************************************************
    */

    module clk_generator(

    input clk, //20MHz
    input rst_n, //RESET
    output reg clk_out
    );

    parameter FREQ_WORD = 32'd214748; //1Hz 214.748,
    /*----------------------------------------
    32'd214748~1s~1Hz,
    32'd21475~10s~0.1Hz,
    32'd2147~100s~0.01Hz
    32'd214748*N ~ NHz
    ------------------------------------------
    */
    //---------------------------------------------------

    reg [31:0] max_value;

    always@(posedge clk or negedge rst_n)
    begin
    if(!rst_n) max_value <= 1'b0;
    else max_value <= max_value + FREQ_WORD;
    end
    //-------------------------------------------
    always@(posedge clk or negedge rst_n)
    begin
    if(!rst_n) clk_out <= 1'b0;
    else begin
    if (max_value <= 32'h7FFF_FFFF) clk_out <= 1'b0;
    else clk_out <= 1'b1;
    end
    end
    endmodule


    通过对FREQ_WORD的修改达到任意分频的目的。

    
    
  • 相关阅读:
    golang mod 导包
    grpc client 报错: code = Unimplemented desc = method *** not implemented
    golang读取email
    docker 使用
    在word中批量更改Mathtype公式的格式
    word中插入myth type公式行距变大的问题
    word中编辑论文公式对齐问题
    向别人学习
    机器学习 博文汇总
    matlab中如何用rand产生相同的随机数
  • 原文地址:https://www.cnblogs.com/cheetah/p/2275530.html
Copyright © 2011-2022 走看看