|
除2
; ~4 k& H: \5 W7 f! n' N. A* J) Z/ tmodule div2 (2 v7 `* W0 M8 f/ d. a
11 input clk,
: D! G! q0 d6 Q+ K3 v' Y* w# ^- P! v12 input rst_n,
6 r5 K+ M$ I2 ]# {% Y# V0 K13 output reg o_clk
4 y- D; p& a& P# P' V14 );
/ A8 F2 E1 m( p9 k1 `3 O15 7 W( Q6 j7 c9 x
16 always@(posedge clk or negedge rst_n) begin
/ A$ J5 q5 x$ h: X c7 _3 G9 Z* d17 if (!rst_n)4 S% F2 B$ a5 K6 c6 I* Q
18 o_clk <= 0;
% f1 Z J0 z7 h& R& i' p5 `19 else8 ~7 j# O( R' X
20 o_clk <= ~o_clk;. k5 z6 f! _; |) w4 y
21 end
' D2 k2 P8 a( E2 E/ f/ `0 D" y22 % v% b! E' x! Y$ T) `
23 endmodule; G1 |7 ]; t5 k4 k) A
- }: G9 v3 v6 l6 \8 a! C4 Z3 o不懂這在做什麼?
; I# K# c, J) q) y. f' C
$ Z2 W5 F( q) `' k. K
- Z' l6 f& C/ J7 F+ g- ~除4
( y- g9 ]& W, c) T module div4 (
. X. X5 N _7 A9 m! H# h/ c4 [11 input clk,
; P$ ^4 s6 g6 B! H8 u# j" f12 input rst_n,
9 h! U2 m; _5 L/ ^& n z13 output reg o_clk
- J8 A3 r M$ J3 C" q+ U14 );( }( A9 w3 N+ U" C! A
15
; V1 d5 E+ t' Z6 w! @16 reg [1:0] cnt;' ?$ y p2 T/ h& s5 B# j
17 0 |9 C# o9 E% }3 P; E
18 always@(posedge clk or negedge rst_n) begin
1 B. S0 u* F, P9 L, Y# b! e9 s3 L6 a$ B19 if (!rst_n)& o/ G( C2 r' X% P5 M
20 cnt <= 0;
+ s8 S6 X \: `8 h" E. [21 else if (cnt == 3) // 0 ~ 3
; E# h" _( ], V22 cnt <= 0;% p' b- a+ G. @ q7 B
23 else
% E! N. O% W6 ]6 U24 cnt <= cnt + 1;
0 }9 P5 m; t! R# o25 end
, z$ t2 B) E' r1 ^( c! R4 N; C26
, v0 ?2 I) V9 k0 C, v27 always@(posedge clk or negedge rst_n) begin1 _/ B0 i* |4 a/ N
28 if (!rst_n)% I* V$ e, l! H/ |
29 o_clk <= 0;- i: |0 y$ I' ^
30 else if (cnt < 2) // 0 ~ 1
; W2 P, G1 H" f e: d31 o_clk = 0;' Z/ R5 y% A6 y+ d
32 else // 2 ~ 3$ Y$ p' e: b. ^" A9 b3 J
33 o_clk = 1; : H6 H; A- D6 M, O+ b; ]5 _
34 end, K" Y$ R; c2 v0 B* V2 `
35 endmodule
1 ?% |$ V+ Z% [9 q) H! T2 Y# _ J. ~* F4 z9 E5 f* a
不知道這些程式的原理 可以講解一下 3Q |
|