Chip123 科技應用創新平台
標題:
除頻器
[打印本頁]
作者:
asdtryzxc
時間:
2013-4-16 08:52 PM
標題:
除頻器
除2
1 X+ g( S3 @& B) w/ Q, @) M
module div2 (
- @6 z5 N- e6 l2 Z5 G1 K3 ]7 @) |
11 input clk,
& S0 j2 L+ p1 _$ u& a
12 input rst_n,
6 v5 h; e7 ]3 V# T _* V( w0 T
13 output reg o_clk
( z( q& h: Y! ?
14 );
0 {' I6 l* J7 @( O. f
15
: T5 E2 ?7 S# H# u6 V Q7 L
16 always@(posedge clk or negedge rst_n) begin
6 @/ C4 G0 f9 f: N1 a
17 if (!rst_n)
- n; g' |" B1 E/ M( S3 _3 }
18 o_clk <= 0;
1 ?1 C9 \6 y7 M$ a0 ?& f8 D2 I
19 else
, ~ V) R: z0 @# Z
20 o_clk <= ~o_clk;
c# g* Q& _/ e4 S( b9 |
21 end
% ^. i5 g T7 R6 g7 \( G- M
22
; z2 F& Q$ w' A3 @" E9 V, D
23 endmodule
$ B$ z6 h- D1 h A6 g+ {
8 O* m: B9 u/ ?4 T
不懂這在做什麼?
7 @+ F2 m, c8 M% X+ H
0 X9 T& s$ s" ^* A' ]' N
: I" _ }2 o4 F. ~2 q7 n2 {" ~$ B
除4
3 j0 x" Y/ k2 E+ S3 O7 [0 }
module div4 (
2 b' y. J# B% `# _
11 input clk,
: H+ C) B4 f8 X6 C& j' A
12 input rst_n,
5 l o+ e9 ]; A0 ]: E% h
13 output reg o_clk
- l2 r8 A0 U) Q
14 );
$ D2 i o$ V1 G/ b
15
6 o2 s+ T2 s% A R
16 reg [1:0] cnt;
4 O% u% G( o7 J- q
17
, p0 ]: u' P' c8 ^
18 always@(posedge clk or negedge rst_n) begin
5 f' J4 ^& N0 w& I) F
19 if (!rst_n)
4 u" R! b7 G% Q
20 cnt <= 0;
/ K/ x" o# [; v6 C' W; z' Q' {
21 else if (cnt == 3) // 0 ~ 3
( X! f- l+ w' `4 @/ K
22 cnt <= 0;
- [* a" e4 v) {( d8 `
23 else
% f. E% Q; e& m- g
24 cnt <= cnt + 1;
* d/ E9 J/ A3 z$ W8 q' c9 b
25 end
1 n% h- v. n6 j( h
26
* _ ^4 d+ V! j8 W# B
27 always@(posedge clk or negedge rst_n) begin
) w5 Y$ f0 Y/ p) w/ n9 _
28 if (!rst_n)
; W9 ?5 M2 I8 K1 \6 J
29 o_clk <= 0;
$ G' C4 j3 M. S4 n- L
30 else if (cnt < 2) // 0 ~ 1
- [# N- J: M; i7 Z2 Q
31 o_clk = 0;
# B( P# R* H) A) f! L% {: Y
32 else // 2 ~ 3
' y, @/ s( ?* k) M7 v, r6 d- N7 S
33 o_clk = 1;
, [2 _; A! ]& \3 Q% E
34 end
8 f1 c7 J- P1 Z! u& J+ I! U& p6 s
35 endmodule
" z- z3 q0 r4 w8 Z" [! n
/ ~5 U8 B6 h7 o- {7 D
不知道這些程式的原理 可以講解一下 3Q
作者:
houmze
時間:
2013-6-28 01:47 PM
除2
2 i4 J/ W# \4 `
module div2 (
* M E% D) B) ^$ n$ Z
input clk,
// Clock 輸入腳位
- p6 ^% e- w0 g3 \5 F8 w3 @
input rst_n,
// 重置 輸入腳位
) f" Z m9 N2 b! L9 \1 L0 o
output reg o_clk
// 除頻後Clock 輸出腳位
, ^5 K" L. [! R: E. h& k. m4 f
);
) O A$ m7 @5 P3 W0 h* G
" A) N+ W0 d3 L
always@(posedge clk or negedge rst_n) begin
// posedge 正源觸發;negedge 負源觸發
9 P0 l" X2 l% U8 o
if (!rst_n);
. G' N6 ]5 f/ T% g% \; P
o_clk <= 0;
//當rst_n=0時,o_clk=0
7 w+ e a6 C2 Q; O
else
$ D6 v" x* x6 s d$ T9 r' }
o_clk <= ~o_clk;
// o_clk 反向(not)
0 Z0 s$ z( E; ]' E
end
. v: k/ e/ B" [- X
endmodule
//endmodule程式結束
, c' D- E% Y9 H3 \5 \: y
1 {4 H7 i5 G% K4 ~
[attach]18532[/attach]
# Y9 n4 {; q3 |
7 v. _5 T2 x+ E- m3 Y* v c+ U
有錯請指正!
歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/)
Powered by Discuz! X3.2