程序源代码如下:
/******************************************************/
// DATA: 2015年7月20日14:25:09
// Project Name: verilog_fm4
// REVERSION: V1.0
// Descrip
tion:分频计数实验----半整数分频实验
// Editor
FPGA_Lover
/*******************************************************/
module verilog_fm4(
clk,rst,
clk_in,
clk_div2,
clk_out,
cnt
);
input clk;
input rst;
output clk_in;
output clk_div2;
output clk_out;
output [1:0] cnt;
wire clk_in;
reg clk_div2;
reg clk_out;
/******************************************************************/
// 系统时钟二分频模块
//
//
/******************************************************************/
always @(posedge clk or posedge rst) begin
if(rst) clk_div2 <= 1'b0;
else clk_div2 = ~clk_div2;
end
/*******************************************************************/
// 模3计数时钟
//
//
/*******************************************************************/
assign clk_in = clk ^ clk_div2;
/*******************************************************************/
// 模3计数模块
//
//
/*******************************************************************/
reg [1:0] cnt;
always @(posedge clk_in or posedge rst) begin
if(rst) begin
cnt <= 2'd0;
clk_out <= 1'b0;
end
else if(cnt == 2'd1) begin
clk_out <= ~clk_out;
cnt <= cnt + 1'b1;
end
else if (cnt == 2'd2) begin
clk_out <= ~ clk_out;
cnt <= 1'b0;
end
else
cnt <= cnt + 1'b1;
end
endmodule
一周热门 更多>