Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-5-17 13:32:50 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
entity clk1 is
* `- U9 M  ~  E0 a! E; R    Port ( clk40 : in  STD_LOGIC;
9 F5 ~4 I( s* @3 Q' x+ h                          clk1  : out std_logic );
' U, ?: k% l3 X9 uend clk1;
0 |( E1 P) ^  e( j9 _4 E: R0 E6 {: s4 v' e
architecture Behavioral of clk1 is. ^" X1 d& L' @! q# n) B
signal cnt :std_logic;
5 `0 ~8 f4 Z( L8 _, @begin, U8 T) v7 v9 J; S# Q. y
" @5 q, u9 ^0 \/ _. |
        process(clk40)% X1 o6 u2 d5 L9 K
        variable cnt:integer range 0 to 39999999;- d+ E  e& Q/ ?/ Q7 Q  P
        begin
4 I$ @! K$ _0 R5 E: h5 w                        if clk40'event and clk40='1' then
' c# Z& H7 T6 }* o' o+ F( X. U                                if cnt<20000000 then
. L0 s9 P* I7 e: W! A( J# v0 E                                        cnt:=0;( W+ O8 B% f5 ~8 \, R
                                        else
4 D; a' D, Q% K  A# A                                        cnt:=cnt+1;                                         
" Y- C( d$ f1 F$ c                                end if;
& r* [/ O; U! y8 \0 C' J                        end if;
# O( P0 T& E5 s5 o& @                        clk1<= cnt;. {7 c1 L$ `6 s7 _5 K5 N
        end process;
2 |; i8 q) e. A, t: k- H) V+ }, |- Xend Behavioral;! R) l3 |8 N2 D# E( i- T
為什麼CLK與CNT不相容?
  O; n! Z, G/ N4 L' D  W2 M0 h還是我的設計是完全錯誤的?% D5 _/ T9 |* R. J8 h: \
0~~~~~~~~~~~~~~~~~~~~~~~~~~~20MHZ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~40MHZ+ ?4 x  r. k3 B4 @- N+ D
________________________________↑--------------------
2 V6 f1 ]3 n+ ]  @/ W# j          此段'0'                        此段'1'0 J2 n' }5 M2 O, U. B
正緣觸發~
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2008-5-18 17:13:16 | 顯示全部樓層
恩~是的~我是要把它除到1HZ因為實驗器材的內部震盪晶體為40MHZ- n. b3 Y' V' p8 o3 s% k8 `7 V
除完1HZ接上計數器這樣~下面是我後來又改的><" 難道精準式除頻有很多種方法做??" X: \2 ^4 l  i* B" V, Z2 l
entity clk_95 is
. |5 X# E; o. I  R/ t7 Z0 t4 M    Port ( clk40  : in  STD_LOGIC;
1 ?: L5 }2 t* k5 l: n( A9 @                          enable : in  STD_LOGIC;1 a: J$ b2 }8 r+ u6 P1 {8 g( [
                          switch : in        STD_LOGIC;
* @3 |  z5 m  o# T: F( _+ P/ p           a,b,c,d,e,f,g,p : out STD_LOGIC;
9 B+ [$ O" n. X0 o                          SEL : OUT   STD_LOGIC_VECTOR (5 DOWNTO 0));
$ [/ p  B2 g0 V5 a' R6 rend clk_95;3 ~( v. I. C/ E) T' V4 c2 G
: l! h. o* T: {# _/ w3 u3 ]" {
architecture Behavioral of clk_95 is
' w; w, a3 p" r+ x  h+ \6 G- Wsignal clk1 : STD_LOGIC  ;8 c/ k" p- e& V2 j: F7 |9 [
signal cnt  : STD_LOGIC ;
  M& E: j9 _) a' c/ p1 @; h5 wsignal x1  : STD_LOGIC_VECTOR ( 3 DOWNTO 0);5 s0 [1 Q" ~5 ?7 T+ j
signal x2   : STD_LOGIC_VECTOR ( 3 DOWNTO 0);
5 z1 M( A' E$ Usignal count1 : STD_LOGIC_VECTOR (3 DOWNTO 0);( r* y) \- F4 Q# l: L
signal count2 : STD_LOGIC_VECTOR (3 DOWNTO 0);
- g* Q+ X: K9 {# V3 o; }signal y                : STD_LOGIC_VECTOR (7 DOWNTO 0);3 y2 v+ M& u. T# x/ |7 d
begin  L% Z3 v# ?! Q! L( G
/ o$ J) R$ B; \0 X4 T& m8 O. M
        process(clk40)
$ R% d& _  O( ?1 A$ J        variable cnt:integer range 0 to 39999999;
/ F7 C; R$ T, G% `4 m        begin
, K0 D/ w3 x( m* F9 x                        if clk40'event and clk40='1' then
, a/ k- F2 {( ]                                if cnt<20000000 then
" ~' q& }& G9 Z9 h3 A4 ?! U1 t                                cnt:= 0 ;
" I2 \/ o8 w! q: ]; h# b                                else
/ i- @9 J0 ~* P3 g# T; ]                                cnt:= 1 ;1 C* x4 u1 V! t3 h4 K$ T
                                end if;- Q- q6 E8 }1 [
                        end if;; o& G# s2 a) F4 A4 U% \
        end process;
0 p2 A- c8 @7 l- s; |        clk1<=cnt;
3 Y2 S* F9 E6 j  R, F       
! o) |6 W& d! P7 }; b3 X        process(clk1)* w1 o% r9 E- z4 u& c0 I# Z9 b- L
        begin$ o6 r. X, W/ e
                                if clk1'event and clk1='1' then% ]$ t7 w; A; E( ?: W+ h; C) Q9 v: M
                                        if switch='0' then0 M% q$ @$ D; \. e% z( B0 w
                                                count1<=count1 + 1 ;
& q% f' w2 D' B; }9 t                                                        if count1="0110" then
! t0 h+ a; E# c  ]7 V                                                        count1<="0000" ;
6 ~6 u6 @9 z& _/ T9 [( m                                                        end if;
6 ^+ r5 F1 B: e, L                                                else! J4 f% w( X7 @" w" d, Y
                                                count2<=count2 + 1;
0 g  q' D: d* X$ a* L8 l" |% A                                                        if count2="1000" then
( z" F$ a& i: |5 T% N# ^  D: I% {2 m; w                                                        count2<="0000" ;5 {; z# X$ H$ F- \
                                                        end if;
1 \& J: k# y2 `' a! F                                        end if;               
/ o$ q  y% C6 D2 r+ b                                end if;
( Z' s1 `) |6 \' M1 |        end process;$ Y# Y" j# L; Y
後面是我自己要接出去的東西~所以我沒PO!!
3#
 樓主| 發表於 2008-5-18 23:02:25 | 顯示全部樓層
40MHZ9 B( d- T+ x% ~4 _8 B# E' L. `
我想我只能實際去試試看燒在上面能不能跑~
/ m. x0 g) o# Q% [/ O因為我還是沒辦法用電腦模擬出來~, K! Y' u% d) Y) R
感謝你~ 結果在跟你回報!!
4#
 樓主| 發表於 2008-5-19 17:04:30 | 顯示全部樓層
收到^^ 抱歉~      ! l! m: l; ~) g8 @0 j
下次清楚囉!!
5#
 樓主| 發表於 2008-5-20 01:53:53 | 顯示全部樓層
我有補囉!! 我說下次一定會記得給!! 誤會我的意思囉!版主~
/ ~8 z9 W9 M1 l6 ]- k3 T4 K9 [
4 L  q( G; K: I$ G7 @# Y, F我希望我能在這領域學會!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-29 08:36 PM , Processed in 0.108014 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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