Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
1#
發表於 2008-5-17 23:00:37 | 顯示全部樓層
您好
! O: Q4 g  N: V4 G% b+ }1.
- n3 `$ [6 j/ m5 l請問你是要將40M HZ除頻到1 HZ嗎?2 _' W" W1 P0 G: a4 U
2.
5 S& d8 e. S3 p% w4 t% F/ D5 ECLK1是定義是1 BIT的輸出,跟cnt的定義integer不同( y7 K% t1 A5 D$ u. n8 {" a: Q
當然不能CLK1<= cnt," [/ j( O2 a8 r9 F4 o4 q
3.
. r* h; V7 x2 k- Z7 x1 I( {你的CODE有錯,請多想想3 ]: E; _/ k. t3 M# {! `2 M
4.: \7 a; }3 E( n8 P, [- g  Y
當你解決上述問題後還要思考
# O5 {7 W! V. Q/ R) e( r8 z0 aCOUNTER要能數到 39999999
2 O2 B; |3 f7 o, s- @這樣的計數器合成出來,須幾BIT你知道嗎(0~1023需10 BIT)
. |9 {6 }; F/ T1 y! i那麼這麼大的計術器有辦法跑到40M HZ嘛,況且你還要配上
. r) P  w+ Y. v0 E# }. a5 b3 [一個大的組合邏輯比較器(因為有用到if cnt<20000000 then)
2#
發表於 2008-5-18 17:58:36 | 顯示全部樓層
您好
4 _6 G$ B# v* l  _$ ]" R這樣還是有問題! Z/ \6 _# V+ U  Z
可以試試' l: p$ K+ X1 Z
process(clk40)* I+ S0 |; {+ J7 {0 f4 B3 ]
        variable cnt:integer range 0 to 39999999;8 ?% @; r  |6 q- }! a8 D
        begin" d+ S, H. ]' G5 ?8 G6 V' h
                        if clk40'event and clk40='1' then
/ C6 l) _% a& G, {- M" [: v+ T1 n/ t                                if cnt=39999999 then
& V7 I& F) ]2 t  g  I, `) H2 f                                     cnt:=0;* N6 f3 {% v. f9 D0 \0 t
                               else; g( L0 K( R$ O6 Q/ |
                                  cnt:=cnt+1;
" V" c- r6 s+ P, X: Q5 i                                  if cnt<20000000 then7 o2 ~  @( E$ r" o; K* f0 X/ w3 [
                                       clk1<= 0 ;' u- j8 B& F7 P7 H: F
                                  else
5 ]! c9 f3 m; l: u                                       clk1<= 1 ;# z7 {+ t) W0 O2 u& ]
                                 end if;* f- Q8 u  G6 C" H) D/ |* f
                             end if;
" K) h5 n4 f$ n- b" a                        end if;3 I7 K- N" [! y% `; I- B' B
        end process;
1 g: k$ E5 A4 i       , a2 q* k# ?8 L0 L" B
或者4 X) |( T: a* c; H: `* }
process(clk40), `. s: S6 L9 I( k* W9 b! @0 F
        variable cnt:integer range 0 to 39999999;
( z* B9 L- K! P. `" Z* l9 e        begin
8 g8 {  n- ]1 U3 f3 N                        if clk40'event and clk40='1' then$ l; W( x; W# c/ U8 c
                                
* g( \6 M; U+ f# q% F                                if cnt=39999999 then
- G4 Z# o- j0 \                                     cnt:=0;3 d! Z' G! m( e& X- G) w' i6 U
                                     clk1<= 0 ;
" a- ]6 @& m  A9 s8 J/ ^                                else
. \2 w. d1 ]# X/ _2 c. a1 Y                                     cnt:=cnt+1;
& y3 s. Z, E5 Y2 @( D                                     if cnt=20000000 then
8 V0 b# p: a- N                                         clk1<= 1;
1 J8 e9 L* ?) B+ j( G7 g# t0 {: p                                     end if;
$ y8 U8 Z0 T: E0 Z" w& p& `( X9 Y                               end if;( c/ e( n- {7 n5 w" I9 ?& v' Y. k/ [
                        end if;9 h' [; J1 F/ s( S5 R8 X
        end process;% F6 ]: X' V$ ?  m7 [8 ?/ h$ c
. x" J0 x& ?; B" z$ f; ]7 @! L5 h
不過兩種方法都有我第4點的問題, V1 T3 a0 J2 f# K7 A' B
如果你是用quartus2可以分析一下% {+ o, |( j0 N& Z' `) T
你的clk40可以跑多快
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-1 06:49 AM , Processed in 0.168009 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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