|
除2
( {2 w- d/ W& [1 [: ]9 Smodule div2 (# Y1 u* P- O! f' Y. L5 D v) U( n
11 input clk,. T; Q4 n. T* k& s) I9 v; e, [
12 input rst_n, Z& A) G9 c$ `9 _
13 output reg o_clk/ ~6 l. R! {6 b& Q/ F4 M/ Y
14 );' P' E1 \2 r( b- a- u$ _* H: s
15
# N6 _; O0 W5 K, `. \9 M7 \16 always@(posedge clk or negedge rst_n) begin
5 ~9 R, s6 k3 D3 Z1 {' A17 if (!rst_n)0 n, w# c; }3 \0 z
18 o_clk <= 0;
' ], {0 v3 Z* f& g4 O3 A19 else( L1 T6 y8 {- q& P% M
20 o_clk <= ~o_clk;+ Z5 d# P, L, g, Z1 k
21 end
- a2 N( ?0 ^% Q1 O$ m' ^; ~. J22
) t5 R: X6 u/ ]! q6 v, Q23 endmodule
7 I8 T9 y, r f' h% J- M& ~! j' G: H0 a" N6 m5 z
不懂這在做什麼?* r# v: D. p+ y5 m* Z7 |: N S( X
R2 }1 w i' \. v; T$ L5 m9 s) _
) ^: Y( H- l- j" d; Z9 B, x) V8 D除4
e: y! F o; y9 s8 j module div4 (
# H4 k6 Q9 Z9 {. L$ l1 O2 m& X! q% e11 input clk,6 n; f$ C( Y g! b1 J* a
12 input rst_n, z* o' c. h: h
13 output reg o_clk
8 Z( }. Y- K$ V14 );
% L' Q" ^9 @. q U15 $ ]/ i' ?0 Z! T2 w z# X$ Y
16 reg [1:0] cnt;: h* H; f" E2 t5 ~. r
17 & z4 L( c E' K5 V
18 always@(posedge clk or negedge rst_n) begin
, A9 }6 A# @# s- ^1 g19 if (!rst_n)
6 T: A) U/ t( I3 |+ u20 cnt <= 0;
3 @ d1 g, N$ I' M: ~21 else if (cnt == 3) // 0 ~ 3, z% f0 m, J R) }2 u! H, r# n, Q5 _
22 cnt <= 0;( s8 \. {. L# x+ ]* c. N
23 else# t* a7 s2 i7 Z9 N7 u0 [1 t
24 cnt <= cnt + 1;6 n! l! z/ n2 N6 ~
25 end( M, @% d$ _( u7 G3 R) p
26 $ S J z$ r; f3 r0 N& a
27 always@(posedge clk or negedge rst_n) begin
) D2 t2 \* R0 z* @- g28 if (!rst_n)- r7 J! J6 u4 S* o- K, C- N
29 o_clk <= 0;3 }( K, v* ?9 E
30 else if (cnt < 2) // 0 ~ 1 o1 V2 U3 Q, k9 ?/ c
31 o_clk = 0;
# m% E# Y6 r5 ^! A32 else // 2 ~ 3
! \. y# r# [: i5 r, o; q33 o_clk = 1; 0 w/ d, I4 c1 G& @
34 end
9 X- y0 U& a" d3 |/ R g, t35 endmodule
+ s! T2 m! b4 L! w- T9 V- _3 e% W5 q1 M# }
不知道這些程式的原理 可以講解一下 3Q |
|