Verilog学习笔记——分频器

///Verilog学习笔记——分频器

Verilog学习笔记——分频器

分频器应该是verilog里最常用的一个模块了,原理也很简单,就是设置一个计数器,设置在计到指定的分频数的一半后反转输出波的电平,以实现指定数目的分频,以下是一个100,000分频的例子:(这个模块本来是用于将一个100mHz的晶振信号转化为周期为1ms的信号)

module ms_clk(
    input clk_100mhz,            //输入时钟信号100mHz
    output reg clk_ms
    );
    localparam DIV_COUNT=50000;  //100,000分频
    reg [16:0]div_ms_counter=0; //分屏用计数器
    initial begin
        clk_ms=0;
    end
    always @(posedge clk_100mhz)begin
        div_ms_counter=div_ms_counter+1;      //每周期计数器+1
        if(div_ms_counter==DIV_COUNT)begin    //计满50,000重置计数器并翻转输出信号
            div_ms_counter=0;
            clk_ms=!clk_ms;
        end
    end
endmodule
发布者 | 2021-05-26T00:14:48+08:00 5月 26th, 2021|verilog, 学习笔记|0条评论

关于作者

blank
坚强大概——并不是指的的结果,而是迈向某个目标的过程吧。

发表评论

召唤伊斯特瓦尔