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 + -
显示快捷键?