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的修改达到任意分频的目的。

    
    
  • 相关阅读:
    nfc相关
    MI卡UID
    VC黑客编程实战视频-破解网吧电影下载
    在WebLogic服务器下 使用Apache Web 服务插件
    C++11FAQ 中文版带完整书签141页PDF
    nginx manager
    JAVA插入数据到MySql少了8小时
    Linux 学习记录
    mssql 用户只能查看授权的数据库
    Mac配置JAVA_HOME
  • 原文地址:https://www.cnblogs.com/cheetah/p/2275530.html
Copyright © 2011-2022 走看看