任意分频的程序
module fp(clk,rst,clk_even);input clk,rst;
output clk_even;
reg count1,count2;
reg clkA,clkB;
wire clk_even,clk_re;
parameter N = 5;
assign clk_re = ~clk;
assign clk_even = clkA | clkB;
always @(posedge clk)
if(! rst)
begin
count1 <= 1'b0;
clkA<= 1'b0;
end
else
if(count1 < (N - 1))
begin
count1 <= count1 + 1'b1;
if(count1 == (N - 1)/2)
begin
clkA <= ~clkA;
end
end
else
begin
clkA <= ~clkA;
count1 <= 1'b0;
end
always @ (posedge clk_re)
if(! rst)
begin
count2 <= 1'b0;
clkB<= 1'b0;
end
else
if(count2 < (N - 1))
begin
count2 <= count2 + 1'b1;
if(count2 == (N - 1)/2)
begin
clkB <= ~clkB;
end
end
else
begin
clkB <= ~clkB;
count2 <= 1'b0;
end
endmodule 自己学习,自己分享,保存在这 看到作者在二楼的留言,我笑了。呵呵 回复 3# weidebao1985
为嘛? MARK,谢谢楼主分享。
调试一下看看再说 回复 4# pengdan0905
自己顶自己呗,呵呵 不错不错,顶下楼主,建议楼主还可以想想2.5分频怎么写 我也初学,好多都不会,挺着急呀 学习学习,呵呵! 学习学习,呵呵!
页:
[1]
2