Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 3548|回復: 8
打印 上一主題 下一主題

[問題求助] 精準式除頻設計??

[複製鏈接]
1#
發表於 2008-5-17 23:00:37 | 顯示全部樓層
您好
2 `5 c  E8 }' y1.' `6 K: j7 a- n
請問你是要將40M HZ除頻到1 HZ嗎?0 W0 D. P5 U) P5 y
2.! o, i, W) P. P( s3 t
CLK1是定義是1 BIT的輸出,跟cnt的定義integer不同
% i% g7 t3 A* a: f* {0 p+ O# Z當然不能CLK1<= cnt,5 ]7 W# D; v4 R( _8 Z
3.9 q0 l1 x; m. G; @0 ]/ M) k6 d
你的CODE有錯,請多想想
- g  Y# o: [& l9 n( t, J2 b4.
0 P; @+ M# }3 M( {2 s! Z當你解決上述問題後還要思考
. C& d7 A7 V0 _) T# c+ Q4 |  ?) yCOUNTER要能數到 39999999
7 f! I8 W3 k( X這樣的計數器合成出來,須幾BIT你知道嗎(0~1023需10 BIT)7 ~' I8 r0 z1 l+ h5 @
那麼這麼大的計術器有辦法跑到40M HZ嘛,況且你還要配上
0 N. y' `4 c2 u! Z) Z一個大的組合邏輯比較器(因為有用到if cnt<20000000 then)
2#
發表於 2008-5-18 17:58:36 | 顯示全部樓層
您好
9 _9 R! d# i! \% i這樣還是有問題
: v! x2 B9 a: P' \$ ?1 O可以試試" ?& e. Z* u! Y8 x2 D+ D, `
process(clk40): C6 k0 P% |1 @2 G, q
        variable cnt:integer range 0 to 39999999;
& O% c3 C: q; P6 u        begin- S# J! P# U# G. O3 O" x. V
                        if clk40'event and clk40='1' then' |  G$ U" e1 u* s1 }. r4 Z
                                if cnt=39999999 then" p& M1 g* b! C$ ]9 m  s  m
                                     cnt:=0;; b" U' u- o, L: R1 p( y
                               else0 [# e" }+ l3 V+ D5 Z2 U5 t
                                  cnt:=cnt+1;
% y, ]; l/ f$ {4 h+ T                                  if cnt<20000000 then
4 ~7 w& l" v' l( c                                       clk1<= 0 ;' N7 `* s- l0 T, ~6 ~
                                  else
2 ~/ c) w* }% Z4 T# `/ M% j                                       clk1<= 1 ;5 ?2 v9 u$ J6 C" d7 i: ~" @
                                 end if;$ \5 A+ d8 S$ x& p; _' \
                             end if;$ z2 W3 y' [" A9 ]0 H
                        end if;. ?3 F! B' C) Y) A+ s
        end process;
- E' P& r2 e; V# i/ S      
2 L+ R& X9 |& j/ I: y0 y或者
: W9 Y% B6 [) b4 ?9 Q* Y* Wprocess(clk40)
6 z. e( m+ d# R& W        variable cnt:integer range 0 to 39999999;) t9 h4 e+ p9 N$ P, r1 a
        begin
; N: {1 ]( a1 _                        if clk40'event and clk40='1' then! R& K7 `8 M; ^6 E( L$ @; x1 B
                                ) r/ J7 ?; _% m; J& n9 O; s
                                if cnt=39999999 then
( X% ?6 e! Z! K' m. t                                     cnt:=0;
$ Z6 q) N2 I) b                                     clk1<= 0 ;) G, c' x- D0 V5 c
                                else
* R' e- z4 x+ s& e, V  v                                     cnt:=cnt+1;
" ?& g1 v, p; c( M                                     if cnt=20000000 then
3 N* N/ i  ^5 e                                         clk1<= 1;
6 A; E2 U8 B9 T6 {                                     end if;
. H0 Y, r) K( p. H( H3 ]                               end if;: J" Z3 K# Q! T- e' M$ h( x
                        end if;9 {' R+ }1 [6 B$ v9 l
        end process;
+ v& ], G0 F/ |5 o3 E
+ j1 s1 L) Y- \7 S不過兩種方法都有我第4點的問題
! T/ w; M' s7 B& ]如果你是用quartus2可以分析一下/ m! _8 G) J7 [7 m/ e7 [& _7 V
你的clk40可以跑多快
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-4 09:35 AM , Processed in 0.100005 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表