主要是完成对时钟源进行分频操作,通过计数来实现的,代码如下:
////////////////////////////////////////////////////////////////////////////////
// Company: ECJTU
// Engineer: TAO
//
// Create Date: 2011/8/6
// Design Name: beep
// Module Name: beep
// Project Name: beep
// Target Device: EP2C35F484C8
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////
module beep(clk,rst_n,clk_div);
input clk;
input rst_n;
output clk_div;// 分频信号
reg[15:0] cnt;//分频计数器
always @ (posedge clk or negedge rst_n)//异步复位
if(!rst_n)
cnt<=16'd0;//十进制数
else
cnt<=cnt+1'b1;
reg clk_div_r;//clk_div信号值寄存器
always @ (posedge clk or negedge rst_n)
if(!rst_n)
clk_div_r<=1'b0;
else if(cnt==16'hffff)
clk_div_r<=~clk_div_r;
assign clk_div=clk_div_r;
endmodule
578645627_583309889 2011-8-28 20:26
用户1634340 2011-8-27 13:36