div_even.v

来自「偶数分频」· Verilog 代码 · 共 82 行

V
82
字号
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Project      :   SAMPLE
// File Name    :   sample.v
// Author       :   ASIC man
// Description  :   sample coding
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// $Log: $
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Including files
//~~~~~~~~~~~~~~~~~~~~~~~~~~~

//`include "defines.v"
                                
//~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
// Module list             
//~~~~~~~~~~~~~~~~~~~~~~~~~~~   
module DIV_EVEN(
    clk,
    rst,
    clk_out
);

//~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Input Pins
//~~~~~~~~~~~~~~~~~~~~~~~~~~~
input           clk;
input           rst;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Output Pins
//~~~~~~~~~~~~~~~~~~~~~~~~~~~
output          clk_out;
reg             clk_out;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Internal signals
//~~~~~~~~~~~~~~~~~~~~~~~~~~~
reg     [7:0]   cnt;

//~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Parameters
//~~~~~~~~~~~~~~~~~~~~~~~~~~~
parameter N=9;

//~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Coding text
//~~~~~~~~~~~~~~~~~~~~~~~~~~~
always @(posedge clk or negedge rst)
begin
    if(rst==1'b0)
        begin
            cnt<=4'b0;
        end
    else if(cnt==N-1)
        begin
            cnt<=4'b0;
        end
        else
        begin
            cnt<=cnt+4'd1;
        end
end

always @(posedge clk or negedge rst)
begin
    if(rst==1'b0)
        begin
            clk_out<=1'b0;
        end
    else if(cnt==N-1||cnt<=(N/2-2))
        begin
            clk_out<=1'b1;
        end
        else
        begin
            clk_out<=1'b0;
        end
end
endmodule

              

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?