|
除28 ?7 h9 i8 D. R; |% d! o g7 a3 u! `
module div2 (5 ]3 O& z- ^) f' B, U# i
11 input clk,
# F+ p! C+ y. h% `7 R; z8 b$ Z12 input rst_n,
4 ^& ]4 g- z1 ~! [7 V# I13 output reg o_clk$ j/ A# E! y+ B4 C) N
14 );0 O2 l1 \' z8 D& _- Q- R. I( P
15 + m+ }6 W @8 ^7 n0 R# V- F; U
16 always@(posedge clk or negedge rst_n) begin4 R; \( M9 i) p$ Z
17 if (!rst_n)6 F: ]4 B& Z$ k5 _
18 o_clk <= 0;* C) B# m" _; {5 P% P& C2 \0 `
19 else
7 G# w' y, z. n" G; M, k20 o_clk <= ~o_clk;
9 x. Y" d; ]0 U- a4 l- u21 end5 Z9 g8 W# w8 g* Q; p0 r, c* ?$ r) v
22
+ a, Y0 R7 r# \( F) y1 [6 k23 endmodule, o) Q4 m3 w# U& a
1 P. I7 `# X5 w3 e不懂這在做什麼?* e) o/ `& m) E& o; l0 q& X) Q2 |
0 ]: ]+ p( z) |7 n! X) G4 u; w: z5 [5 @/ y+ g/ j, v1 T/ i7 W
除4
* Q$ b! h& y. A7 H module div4 (
! k, i# E3 f5 _, }11 input clk,1 s& J( N4 H; c6 h$ m
12 input rst_n,
% D1 D+ u4 K, O3 _0 m( v13 output reg o_clk: I9 p0 `6 s9 i9 q
14 );
3 k; f/ L+ ]* o: p5 g% R$ e- _/ _/ Q3 j15
$ j( z3 _, F4 _7 x# d0 k16 reg [1:0] cnt;+ G! O( A% N3 N7 ]
17
$ ?7 y# t( x1 c& u. k18 always@(posedge clk or negedge rst_n) begin
" N4 @1 B: d) Y$ V6 C" H+ Q* o19 if (!rst_n)9 p& V* h! H4 v+ U, B
20 cnt <= 0;2 l1 }5 \8 V8 v; T
21 else if (cnt == 3) // 0 ~ 36 I1 K3 d5 S" V0 L5 u, v+ n
22 cnt <= 0;1 _5 ~2 `0 n: L
23 else
4 T" r" a* g+ x24 cnt <= cnt + 1;
/ i5 r3 T& t& f& O/ t2 r, @" }- S25 end
1 f6 L2 m8 E6 Q# V26
6 b+ S6 s4 z9 X4 G6 X( q7 X27 always@(posedge clk or negedge rst_n) begin
7 ~2 j' d/ J3 B. T3 X28 if (!rst_n)/ a9 E: K6 o6 j/ M% L+ ?% c6 Q
29 o_clk <= 0;
+ [* B% q s+ H' Q, u( R: ~30 else if (cnt < 2) // 0 ~ 1+ _2 d h) g( C1 e: q* `
31 o_clk = 0;
: A1 x5 b5 `6 ]# @9 k32 else // 2 ~ 3% ?+ E1 Z' O. v2 c# t. |9 I
33 o_clk = 1; 6 g# ~+ E- ]# P2 {) Z
34 end* C0 ^# Y$ u& m
35 endmodule5 t) _# S. e E" w" q
0 j; S2 f7 h4 J* z3 U& `( |. G! x* s
不知道這些程式的原理 可以講解一下 3Q |
|