Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-5-17 13:32:50 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
entity clk1 is* ~) _  t9 q+ i* ^5 X% l
    Port ( clk40 : in  STD_LOGIC;/ \" K- C" `, m# o6 e$ o
                          clk1  : out std_logic );2 D3 C7 q% e* t
end clk1;
6 O& c7 T. G% \& a& n0 d+ u4 D& I: [( h9 w! \0 \4 Z
architecture Behavioral of clk1 is, W' S1 W1 @$ z0 f
signal cnt :std_logic;# W$ C. Q# r3 U$ P0 Y
begin
( n: D$ F* v  \; w$ ]! p8 z2 C, `- z5 c, h' Z7 f
        process(clk40)
) R7 n0 p/ `; @, K! j- z        variable cnt:integer range 0 to 39999999;
4 s  n+ K) {2 L. q5 F        begin
) g7 W  W* @& m4 |                        if clk40'event and clk40='1' then( r. q# h+ O3 J  U
                                if cnt<20000000 then
$ w: k4 h7 }( `) j! I: F$ P                                        cnt:=0;
! d0 f- E% Y* y) Y' G3 l$ m: K4 d                                        else
: j+ k. z$ y& e& G( z, Q* n                                        cnt:=cnt+1;                                         $ `2 P. D! N6 U$ z+ l0 u( `$ z- J( K
                                end if;
6 }0 Q$ ^% `  W7 ~                        end if;: V: x0 E' X: s& j' O! c- V
                        clk1<= cnt;) j1 l3 U2 n. ?5 E. i# x. k# r- P
        end process;7 c; H* \3 F" l9 ~/ _6 [
end Behavioral;  g1 U7 L, b$ Z. _. j
為什麼CLK與CNT不相容?. B) J  ]$ n$ @: |% x
還是我的設計是完全錯誤的?
! d( k/ M7 d* H0~~~~~~~~~~~~~~~~~~~~~~~~~~~20MHZ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~40MHZ
0 L' a5 f6 a, X/ H8 @% \; X/ D$ p________________________________↑--------------------  E' o  Z+ l$ {8 N3 K
          此段'0'                        此段'1'
' n  N: I2 k& f# d8 w5 H. f1 e正緣觸發~
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2008-5-18 17:13:16 | 顯示全部樓層
恩~是的~我是要把它除到1HZ因為實驗器材的內部震盪晶體為40MHZ
( H' F" P3 Y* O: j- r) t' W1 A除完1HZ接上計數器這樣~下面是我後來又改的><" 難道精準式除頻有很多種方法做??
3 Y. v/ }2 E9 W, j8 o+ K+ Ventity clk_95 is
9 V3 z3 R# i; f  C' }0 T; a    Port ( clk40  : in  STD_LOGIC;4 O1 {5 Q  n0 G6 w+ b
                          enable : in  STD_LOGIC;0 S+ g2 e: E7 e; y3 W
                          switch : in        STD_LOGIC;# v( Q4 P6 J+ v/ ~
           a,b,c,d,e,f,g,p : out STD_LOGIC;
! [7 j! k& Z0 Q& }, d                          SEL : OUT   STD_LOGIC_VECTOR (5 DOWNTO 0));
" \6 m! H% Y1 G9 x/ w# }+ v+ Mend clk_95;: @0 T, p2 t- ]7 a- n

1 g3 `1 Q& U4 t  h& Barchitecture Behavioral of clk_95 is9 z# T$ h( M: k& J  C9 q- V
signal clk1 : STD_LOGIC  ;
9 W- t+ u; R1 s4 |' N5 lsignal cnt  : STD_LOGIC ;
5 d; j" V1 H9 T- Q9 F3 xsignal x1  : STD_LOGIC_VECTOR ( 3 DOWNTO 0);; t* x2 y! J7 |3 n; z' p0 b
signal x2   : STD_LOGIC_VECTOR ( 3 DOWNTO 0);! |, w7 m# |4 U& ]0 [& [" {
signal count1 : STD_LOGIC_VECTOR (3 DOWNTO 0);
4 m# t0 ~; Z: w4 z8 _* Msignal count2 : STD_LOGIC_VECTOR (3 DOWNTO 0);+ g6 V% N6 `3 _8 m! U' @7 L* j) g
signal y                : STD_LOGIC_VECTOR (7 DOWNTO 0);
' u0 o( ~( A! \begin! \1 J  }( W, z$ g; f3 r
2 R! v- E2 o  y5 g
        process(clk40)4 B4 ?* I0 H" e( W% A& X# D+ M
        variable cnt:integer range 0 to 39999999;: S* t% w' d$ _$ d- I/ w
        begin" n9 c$ I- ~; h' f5 R' A
                        if clk40'event and clk40='1' then
3 [  ~' Z2 g& i2 @                                if cnt<20000000 then
& D! ]' z% u  J/ C  Y9 E& G                                cnt:= 0 ;
, E  ~* E+ ~/ P2 A) Q                                else
0 D' u$ [# x- N                                cnt:= 1 ;' B. x/ v6 a% p9 ~' n" Y
                                end if;
2 Y) e8 `9 B3 f8 F                        end if;6 q* I+ Z& G, E2 M! V/ t6 V0 h
        end process;2 X$ Q  q: B( I4 K! `
        clk1<=cnt;
! c! s: C8 H. _+ c" l! f       
5 W& r3 I, P) b! o* _+ B. K4 g, S5 M        process(clk1)
) t$ R8 @4 V8 f        begin
0 |4 L( C/ t: w: F# Q0 ?( b                                if clk1'event and clk1='1' then
( Q+ f8 {' o- D; I                                        if switch='0' then
$ p! l# p* a0 V4 y+ \0 j                                                count1<=count1 + 1 ;, {# I6 {0 d) l( g: ]* U4 I
                                                        if count1="0110" then% d5 d+ Y, B3 @
                                                        count1<="0000" ;
$ E' T2 ?  d/ _: \/ u# X                                                        end if;0 Y! v* I( {3 N& d
                                                else
) p3 U& w: B' p) x1 z9 s* o1 ?                                                count2<=count2 + 1;7 e+ `( ^+ D- `0 U. x" T
                                                        if count2="1000" then
2 G+ f6 c+ d; |# t4 d$ U+ ]7 F                                                        count2<="0000" ;
  n9 b) t. ]: C: P# e                                                        end if;
6 L6 l) _( d# C4 @3 N1 [                                        end if;                5 P& i3 ?3 D" }7 G' j( @
                                end if;
! d/ ?& @" e/ h$ k        end process;% D% i) B1 {, R3 R! d
後面是我自己要接出去的東西~所以我沒PO!!
3#
 樓主| 發表於 2008-5-18 23:02:25 | 顯示全部樓層
40MHZ, o6 H. F# y* P' s3 s/ Q
我想我只能實際去試試看燒在上面能不能跑~
$ j* }1 I) u7 `, A因為我還是沒辦法用電腦模擬出來~
& m. f( u  T! I1 n' G4 T8 K! z感謝你~ 結果在跟你回報!!
4#
 樓主| 發表於 2008-5-19 17:04:30 | 顯示全部樓層
收到^^ 抱歉~        R" i, _+ D3 `# N
下次清楚囉!!
5#
 樓主| 發表於 2008-5-20 01:53:53 | 顯示全部樓層
我有補囉!! 我說下次一定會記得給!! 誤會我的意思囉!版主~' T- p/ i& l- Z) ?& j6 c

. j& ^! W! F5 O7 o+ U* M我希望我能在這領域學會!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-20 12:59 AM , Processed in 0.107013 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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