|
module div_5clk(
v4 o; d8 d6 l; l& Finput clk,
7 o# \" }. Z* n9 ?0 K) w" y) xinput rst,
( T9 _6 u$ |9 T / f0 S* Y$ A8 N& n! O
output reg clk_out
4 q! i5 ?) q! m; ?1 T2 j );
- M+ y- A2 I0 U m3 I5 D, R4 ^
# }* _, o! a; v$ D+ E+ x) s9 V& {reg [3:0] cnt;
- `. n0 h+ n& K# Z, @
8 G1 p5 e) q7 o7 ?9 ^6 m$ { K+ N; Y6 Sparameter div1 = 1 , div2 = 4; // div1 = 5 / 2-1, div2 = 5 - 1
U. |( f6 l4 Y6 |! J . g, K8 s( q. X9 n
always@(posedge clk or negedge rst)begin3 h5 a3 Q0 W9 [: B% P
if(!rst)begin% z* E. B; D4 J% m) `
cnt<=1'b0;! X; J) h$ m# x( J. O
end1 ]0 P. w. }5 \2 |: C
else if(cnt==div2 )begin //div2=3'b100
% O, w4 |* n/ b% } cnt<='b0;( X! ?/ H/ C8 m+ t! h$ W& d
end8 u4 t( z, m# E5 J
else
+ L5 ]5 U7 d+ j3 {' e cnt<=cnt+1'b1;
/ [: h- s, ? p5 r7 xend ( n+ i' N+ o4 l; o
5 Y( s8 F- ~8 D9 w
always@(posedge clk or negedge rst)begin
; f' O: `' |6 Y, A$ a% }" u if(!rst)begin, y, i+ h, e- \# _3 F
clk_out<='b0;
; w0 I; b8 H. D _) h' a end
4 [, \+ T! p3 S% ^$ V+ A else if(cnt==div1)begin! x+ H+ I' u+ o& ]# J: h3 F. M
clk_out<=~clk_out;
0 L2 n6 b9 {+ V4 h& F; i end! _ O9 `4 h7 D) D* E
else if(cnt==div2 )begin
# Q& F6 \" b" |. Z' J% ] clk_out<=~clk_out;" E3 T6 O. h5 G- b3 W4 l* h$ u, H
end
u" U- E, t( S D5 Uend5 o$ K/ l: Q7 b4 u1 E
- J! U: O: j# p/ i& Z1 k5 _- jendmodule
, X* k- j$ }$ ^; s' }" }, ~ X占空比60% |
|