Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
12
返回列表 發新帖
樓主: kolong
打印 上一主題 下一主題

[問題求助] PLL 的實現方法?

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧+ W/ o2 x; O6 ?. p6 M: Q1 }+ ~
如果有 PIXEL CLK 就用它除頻: ~6 n, F* B# E3 H
如果有 HSYNC 就用它倍個幾次
# w8 u0 V  \( Y. S, B% j  N
0 x& B% B! f( c  E因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
1 t" _6 ^) d6 a% m& \; Q* ]" a. L8 b1 Z$ k3 t; l
   640x480@60Hz => 25.175MHz (39.7ns)
: o& N7 u5 f/ j, b. z& x6 c8 `   DOTx800=HSYNC, 39.7ns x 800 = 31.469us
2 p4 v. X, J# [; `   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)0 ?& y2 `: m& C! v
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)
5 z( y( h$ Z* }9 N; H+ N5 B% @
" A2 Y7 u" G  R' q5 K接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
1 j) i# s; d, I: G  \& \5 i: i( F; C: j$ c
還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表 . A/ y3 U- U0 T/ A5 M; y
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
# w3 n6 J* g0 |6 v4 Q  k

* ?+ X6 I* U, O( f/ K4 M! T1 H# n
+ R/ k+ O3 z% a/ ~. s6 l4 u: Q$ q$ U6 p' Z$ @( t# [
嘿嘿....沒錯..4 Y9 e, Q1 q# U$ |4 p% \
所以我現在還是用60hz去產生600hz..
2 Y6 ~( L: H$ K6 t2 d2 r8 {1 c另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
% `' k/ }8 a! B7 \4 B0 L//所有註解都要保留
. S" \! c0 c2 b1 m  N4 d
, s% x3 }) @7 j3 N; C: n7 b`timescale 1 ns / 1 ns
) V' @% X+ F8 E) }( L, G4 j) @  Dmodule xclk(sclk,ena,set,outp);' A& M0 @$ h4 E- h' s
2 S7 |6 Q1 t# d+ x+ W9 P7 W( J0 f
& U, r/ v0 D' J9 _, h
4 J. f4 b) \( j& ?
input sclk,ena;
/ V7 }/ A1 X7 _0 d4 v/ m  N( S* kinput [1:0]set;6 o' p2 N$ [8 X3 S7 x! z* D
output outp;
+ M# c$ H& _( j% r4 ~( U4 g' h* u! u4 ]( v! [, s2 I
wire outp;
: V$ [" i. G! }1 n8 Q$ _4 Y6 w
# a" }! W1 o7 u- D
2 @2 Y+ C* d) H/ K3 h% {
2 t! n; M# t1 b" q6 y/**** Node preservation for nodeA **************/  H, C6 p! ]( ]% d2 ]3 i* x. A
% J$ N' L3 n  k" l
6 A' g7 H' }" W  i+ ^
//exemplar attribute nodeA_5 preserve_signal true: Z0 }8 ~: B# w: C1 q5 }9 @' I

, r% [$ ]6 a3 k//exemplar attribute nodeA_4 opt keep+ _6 u0 l3 E5 r6 b% ^4 r

4 Q' P2 |( o' a3 Z) l+ u/**** The following comment form also works ****/
" q: d% g  b! O8 j2 \; s( Q
8 K) `5 B( j3 i: y//exemplar attribute nodeA_3 preserve_signal true
" ^; e3 b7 R1 t$ F/ e& r" Z4 S0 J( F; k# C  ^' r) ?
//exemplar attribute nodeA_3 opt keep$ c7 M# r& E5 j; B

- p4 T6 c, j' A0 P# J9 K/**** The following comment form also works ****/
. y3 ]: }+ p7 e! t0 d1 x! O  D
//exemplar attribute nodeA_2 preserve_signal true
2 [# @5 A' O3 z% ]
; X& u& D% \+ v$ `+ ^6 K! d) f//exemplar attribute nodeA_2 opt keep& s4 t2 N. \# V7 c1 X

5 t- p( o; w" n, o' V/**** The following comment form also works ****/
) t# l& F* M! c- e) r! i" Q4 Y$ ^2 p7 |- q: W  d; c4 P; F
//exemplar attribute nodeA_1 preserve_signal true
5 J# }  X9 G: L& O4 x2 y/ X, Q1 [4 u# U; s. C% H9 ^7 q
//exemplar attribute nodeA_1 opt keep2 M. h9 `( E6 q+ g) L

2 a8 ]% Z9 u$ |/ r2 B( n3 n4 n7 G5 C# U$ p
/**** The following comment form also works ****/
- R1 J% q: ?3 r' S' n& }& y! K% u  I+ t' l0 a. Z$ j
/*exemplar attribute nodeA_0 preserve_signal true
( E4 Y2 x; r, A1 o+ o1 h) |% `
( o+ C: D: }7 d! d# k1 v& X( x* {exemplar attribute nodeA_0 opt keep*/ + l( t% |$ m, E# u+ ]' l1 U
/ E  a5 P( u/ I; h2 m

/ d; Y" q2 m  x5 l/ o1 l5 o4 ^
* ]7 c) h0 Y+ _) Z; j8 q- V# k& s: l* d% B) r( l
7 ^* \5 L, e& ^) J# d

3 p* q. o' m+ `; n% b2 \
% Q9 H' y+ o( [, _* @) `' J7 d- F
* o* v( P+ e4 @9 P( i5 v( I# O' _# [, e* X+ I- @# {4 T5 |

  J5 E  E6 N2 i/ Y6 nwire nodeA/* synthesis syn_keep=1 opt="keep"*/;7 {1 S& q" Q4 O: L' q7 S
wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;' z) H7 d; `1 h0 x& o
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
# G) u! K0 L% Z% E) \5 ~wire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;) Z: f; T) \( {
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;3 p0 u, Q' d3 g* q3 k
wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;0 x  X8 ~+ @0 A

& R8 _+ I& i: dassign#1 nodeA_0  = sclk & ena;
& |4 e3 Z2 n4 K/ w4 Y: d6 S7 H9 w& s" k$ @0 e; @1 U
assign#1 nodeA_1 = ~ nodeA_0;
% }0 Q0 i8 @5 |; Tassign#1 nodeA_2 = ~ nodeA_1;5 X8 w  t: k: y6 `/ Q; ^$ Y2 x
assign#1 nodeA_3 = ~ nodeA_2;. q! g$ s9 l# p7 H/ L; r4 r
assign#1 nodeA_4 = ~ nodeA_3;
2 V- k6 u& p1 u' D5 \. `, j1 d
+ R3 e; s+ l: d: u* N+ X& [3 D( T8 Treg xout;
1 N/ i- M% t* }, T, F
, h" |9 I1 B# V& dalways@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)9 C* |; D; ]3 {; G9 L% z3 n6 m! j! i9 F7 A
  casez(set)
4 g4 K4 b8 R" d& b( J- ~6 {" u    1: xout =#1 nodeA_2;: \& i3 j. n6 T1 O% R- P
    2: xout =#1 nodeA_3;0 c7 {1 D  u, |% m/ d' [# E5 }
    3: xout =#1 nodeA_4;
! k0 P0 }+ G. D5 b; j    default: xout =#1 nodeA_1;
1 t+ I6 z6 v9 T7 `# I  endcase0 }5 F& M0 h2 P  {3 J4 j2 G* o
  
; w6 C$ U8 S, ]  Fassign#1 nodeA = xout;
8 d) f3 L7 E9 u& [( R( m3 Vassign#1 outp = ena ? nodeA^sclk : 1'bz;# R. J( M) i. ^, M

& j' {7 ]* W- h# ]endmodule7 n+ F) j) p3 C' T
3 H  \6 y+ A1 w2 z$ `
- L" Y" n5 A8 Z6 N0 c$ e

' ]6 E- |' p; r1 v' M' D`timescale 1 ns / 1 ns& w! |& m- l( c8 z( o
module xclk_tf();9 |) |. _0 M' G
' c9 y7 z" ^  Z/ s9 P7 H
// Inputs$ F* e5 L& D; x' p) z  i' Y
    reg sclk;/ G- \/ f$ ]4 K6 `2 n
    reg ena;
; P& A+ Y! g. W    reg [1:0] set;
- I3 V. F+ `0 f5 n- M3 Y
! Z. ?( X, E* H, |6 b$ K7 {
+ M" q# `* S* n- ~  ^+ p4 [// Outputs
1 e, f1 d* C% y    wire outp;
& G) x6 H" ]5 M: x- m: n
7 t7 U, g. k; }. _" y: V0 W2 H$ Y( k8 }' r% N

7 J1 {/ y/ H4 k    xclk UUT (- X6 V/ p, i& H! Z, |
        .sclk(sclk), 5 a! e; u7 v; s0 Q
        .ena(ena), 1 ?9 l! I" S3 d6 q8 n
        .set(set), / J% D% t+ `0 h7 u7 x0 n( Q
        .outp(outp)
  |8 ?3 ~$ J" I$ ]" S: i: P        );; K# F4 P4 l' u" s5 h8 V
, O6 q$ i( m5 X# Q6 Y

+ Z% W: [+ Z$ n6 @) A' W: X
2 B: }0 Z+ _( n    initial begin7 @. \2 Q, v+ C  n  U: N5 t
            sclk = 0;
! M1 Z8 I9 r" q4 C; ?- }            ena = 0;* A8 Z: f3 a7 }# c. T
            set = 0;
& k( q  w. S8 q. [: d2 P7 g$ c% p  Z    end% p) n4 r) _  R* Q' e6 G8 H

: v" P( ~! q6 m6 P' v- F& K/ ~* a) Q( w' H: ?
always# 5 sclk = !sclk;
, b6 F7 ~1 f, C6 z/ _8 S) e/ {0 w% f& K1 `9 Y& F* E
initial begin
, N) U: W) A% o% G        #1000 w" G# D7 \  F. _" @
          ena = 1;
2 y8 S0 [+ V9 u        #2000 ' `/ p' r  R: W, ]  @
          set = 2;
, f; M# i& ?1 ^7 [/ ]$ O        #2000
) j5 B. z6 ~4 n& U9 O7 n          set = 3;% B7 `; _) W  ^6 R3 V
  #2000
8 v$ s8 a( K6 a4 ~' n7 w  $finish;
* ?& a' W$ y- u) z6 X3 y( u! Lend
1 D! q( s6 P9 b9 I: dendmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了. A/ W9 J# B* N3 Y9 Y1 M
有simulation的waveform嗎?+ b' I8 {, M0 d( Y1 ^+ G
示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
8 ?& K- x& Y- m$ E6 ?6 T5 |6 i確實可用! 已實驗過,但我不會貼圖。
+ G- }( ^6 I5 c' u只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
/ m; ^8 z. X4 D3 N/ ?; E0 l; V' j  b" k% }
可以和你討論幾個問題嗎??+ P$ I) i, m5 d- f+ o
' ?. b, H: c/ f  f7 P6 }
方便留MSN嗎??
# T" O4 _0 Y) c8 n: Z- G* ?; m" r# T; k; t3 g
感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...& V& W) z* I# B* K
是要用在LED Backlight的....
9 ^0 P' ~2 _( t1 K9 `其實有問題可以在這個帖子直接討論..
) G" G- a1 [. ~! L. n8 I1 N這個沒什麼秘密啦...
, y& j  t8 d) @" R- ^# C# B  Y因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 02:27 PM , Processed in 0.137517 second(s), 15 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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