Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧
1 T% Y9 l7 |' j如果有 PIXEL CLK 就用它除頻
" k6 b: `" Z" W0 x$ c如果有 HSYNC 就用它倍個幾次! c- U: a+ t. w3 _# p; }5 b2 G

& J& ?( ~* j0 G0 C1 z5 a* w因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係! `2 q& A7 D# k( w1 P

& N5 S- |5 j9 v# i% D" r  `   640x480@60Hz => 25.175MHz (39.7ns)6 R4 E& _7 P! M3 {% t
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us( y0 t) b  f! A. Q2 k% L- ^
   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz). E! M9 \' G( H, u: y
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)3 E3 U' F- ~) Y  y# [5 a
$ i* C0 t' l# _1 e0 P
接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
* i* h, E; M* y8 k9 d* ]
1 u* E' D0 e3 v7 |. I還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表 1 S/ E" z: M2 {) ?9 N8 |  B- E6 G) d
這樣子做出來的phase error會很大也, 要先看規格的要求一下下

" w5 H- h, }: ?3 @' f- P' u& _7 z5 L1 e8 V
* _# s" t! }. Z4 ]- W
! J( T) D1 Q7 B8 k
( f/ Q" G; ]/ s" f% A嘿嘿....沒錯.., c! Z$ j5 ]" h2 D: {/ V& O* {; ^
所以我現在還是用60hz去產生600hz..2 u( J1 k: k2 z( u: V
另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
0 V/ F/ @) e/ f/ K; m, i8 Z//所有註解都要保留$ z0 a5 I* P% h( Q4 c

' Z1 x6 y. C+ v8 t`timescale 1 ns / 1 ns1 {  z! Z: e6 H9 C, B0 N. o
module xclk(sclk,ena,set,outp);
# }& ]+ X" o; {
1 G( g- F% {- s; E$ b" J $ A+ K8 x, r( @/ d, I1 _/ L& Z6 H
' h" S4 U. ^- q2 I
input sclk,ena;( v" k2 M# n2 L
input [1:0]set;& I2 n, j1 P& N: I4 s& x3 q; B- ]
output outp;
2 V1 T6 h5 n3 j* X5 \7 V7 Y3 U
) L1 G  d  `  q& j, j% ?; _( Rwire outp;- g3 q& t. @1 h, K; M* a& T" I3 o
, k' e0 J2 o" `: _7 A
3 @" p, V" e- N! r2 c( _
2 C! @0 v1 O- F* X3 ^( w# x! s/ M
/**** Node preservation for nodeA **************/. G, z. M, p' ]( m: N8 Q
! W- C5 O5 I# R: E7 d

4 N( ^; |) Y( b3 A* u1 {//exemplar attribute nodeA_5 preserve_signal true; A( d( @0 {; t$ j4 \" M! l
+ e* M0 G! x  {* r& u, R
//exemplar attribute nodeA_4 opt keep
+ Z# Z' k; Y$ n( [0 u
& H) Q& I! Q2 A* h$ {; t$ v! K/**** The following comment form also works ****/
' r1 C% Z3 I0 w9 k( z) m5 [
4 Z( t: d, H7 E1 A' G% r: N3 I6 V//exemplar attribute nodeA_3 preserve_signal true9 W1 w" `& j% y$ N; ?: k

  q# P. ~5 x  w5 G# R6 }! l# e4 ~//exemplar attribute nodeA_3 opt keep
& R2 e, Z, u% X7 G. k/ b3 S: O1 G0 `" k6 Z! W- U
/**** The following comment form also works ****/
& ~, o! u2 h' o+ @. G2 w9 O
" M6 g9 @9 M. b//exemplar attribute nodeA_2 preserve_signal true
8 h, u9 @) O" j/ K
/ }  p: J0 w9 R- I, S! @0 e1 ~//exemplar attribute nodeA_2 opt keep
, T+ W5 V& [3 o
6 h& a* L4 z3 L; S4 X/**** The following comment form also works ****/
( W. s: V: R- o9 F0 Y% I* B. \9 U1 l
//exemplar attribute nodeA_1 preserve_signal true
: |5 T* z* R$ g$ ~* @2 p
8 V3 n3 ]* L$ }& Q//exemplar attribute nodeA_1 opt keep
; ?/ A3 e1 Z6 W( f* M& w4 {3 p
! R% m0 P1 r3 D5 {( J0 [0 w/ i
1 e4 {2 P& d/ l" b, x! ^7 i. _/**** The following comment form also works ****/
7 p  I4 n' o' j  f4 K# a6 c# V+ i2 A+ g! q+ I! L# M$ j0 {
/*exemplar attribute nodeA_0 preserve_signal true
: k. B% w7 \8 N% X1 @6 f  R8 B
exemplar attribute nodeA_0 opt keep*/ # Y6 F+ r5 w0 O' C' \: P' k

  `) l, \( Z  ~" C2 `" _0 ~% J& L  A0 {8 E2 e' b1 q
( T9 u" f' L9 y, M* v5 S9 _. T
1 q0 K4 H( d. d1 |

! h# u9 o: M" X7 @
- a/ C, r- }2 P" Y  Q; u! D1 ]
) m. S" b, }% \& l. |# G. D3 |5 |/ ]# s$ y! w7 f# l. M0 |2 \8 Q

: |0 R3 \3 S8 U$ A9 P- R; w4 i
' I" h0 U4 E3 Y5 qwire nodeA/* synthesis syn_keep=1 opt="keep"*/;
* j1 }: N6 L2 H9 [wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;% R- l7 U1 a+ A) {1 ?$ s% `" m. c
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
' B; U7 @3 ]7 r0 i5 N" k% t* ^- lwire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;* S& v; {3 p. H* r
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;
* W) j! p2 P' x7 W% ^/ F6 U1 Z: k0 ?0 R- |wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
- X: }8 f5 X# l# F5 X- E- ~
3 U9 e/ e* E4 fassign#1 nodeA_0  = sclk & ena;- F3 I7 ?. w4 R3 G. L7 _7 Z6 Y
+ v7 k4 t, i2 }* u; u5 U
assign#1 nodeA_1 = ~ nodeA_0;
9 e1 T4 I7 x" |1 ?assign#1 nodeA_2 = ~ nodeA_1;
3 d1 o, e  g: tassign#1 nodeA_3 = ~ nodeA_2;- Y- V" U- h6 q( e: R" ^
assign#1 nodeA_4 = ~ nodeA_3;
8 `; k+ }7 j4 [" M& c
% `" Y/ a, J7 g: m4 Xreg xout;
  z& ?; ^4 R* X/ c7 @( {  |  L
9 s' @* K$ H& s# T0 Y$ Xalways@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
8 H" [. ^/ X% {7 z4 B7 f# p& e/ E  casez(set)
$ r, C" M# s# Y6 z    1: xout =#1 nodeA_2;8 N" q' {, _& |2 q4 I
    2: xout =#1 nodeA_3;5 B( V1 H/ h! m2 f3 M6 U) y
    3: xout =#1 nodeA_4;
3 X" t- `7 e7 E2 A' j5 a    default: xout =#1 nodeA_1;0 F) Q7 a7 |5 L" B3 A: w
  endcase
" ], b  Y/ U) b. M! A  
) _; j' x/ V% N# ]- T: r% {5 passign#1 nodeA = xout;
; C3 S  U9 `; B0 I$ @  z$ {5 G5 Gassign#1 outp = ena ? nodeA^sclk : 1'bz;9 C" B: _( I* [1 Q4 |, P' x) g
/ r# c+ A0 ~" H
endmodule
* p4 V+ j- w0 C) D+ ]5 Y2 x% }% ]  `* Z' E
0 B9 c4 ]5 \4 x- }& P/ M
! C! x2 o# h9 }! r
`timescale 1 ns / 1 ns
9 P1 ]4 `; Q8 [module xclk_tf();! M4 f' C3 \9 _" W$ [- l3 l

: W, J- ]1 [4 o- ?% b, r0 g6 Z1 D// Inputs
0 i- z1 N- e, R# @& |- E, l) p) o  d    reg sclk;3 m5 V, O* T' g
    reg ena;
! i/ D8 K. f7 Y, X8 T    reg [1:0] set;$ R) ~/ w; R- _7 K% b5 S; {

5 G* x8 ?" `1 h! {9 ]
7 T/ \) E5 a1 \! n. a// Outputs5 e0 |/ S7 M+ B* ~$ b8 J
    wire outp;5 j# G  `! |! ]% {

! @& m. [  p6 t& L) }
& V# I0 ~0 ]& s6 d" ~+ z; t, M
/ \5 k# o5 \6 G    xclk UUT (  {) K" Q: ~" w  \  `4 G* M
        .sclk(sclk), . T$ p" c: i. {) H3 e* g7 s2 }6 A) `
        .ena(ena),
' r; w& s% y3 B( y9 a( V        .set(set),
3 v$ H7 E$ N- d4 Q! D+ D        .outp(outp)
, `6 @7 v' P: l+ z( M4 z( @" O        );
/ Y0 T: J, h( {5 j' ^& n8 b8 R7 p0 p6 l% d% L

# R6 l$ W; h2 V) d4 [# t' [( h  J' l' G9 J4 p& w0 D
    initial begin
0 Q/ l, @" {' K$ I' L& x            sclk = 0;* \  l! K& `* @
            ena = 0;
6 A9 M7 x# c$ Q            set = 0;
# Z! h9 ?: T4 r' C3 b) k    end
4 ]  u/ t% E! P  T! v) l0 @7 U
: z& E- d5 p, e+ Q! e  n+ ~8 P0 ]! N0 Z5 J  t$ ]6 v
always# 5 sclk = !sclk;4 v% ]8 U- L1 s1 T3 F
) B8 V, B1 j2 q3 `, U7 z
initial begin5 @/ ]1 n* {; L0 N9 P
        #100
, l. F; M; I0 E  y- q! K! f          ena = 1;
$ I) V4 V8 u! ]- r: _# b        #2000 ' E# m* V( f6 r% z& G
          set = 2;: L# G4 a9 ~2 f3 X. C6 A  t
        #2000
6 h9 ~$ o0 b$ A          set = 3;2 N8 V/ n8 _# I1 y% J, ?
  #2000
. I6 h3 {( ~- ?# n" b8 C7 w  $finish;4 ?1 J0 L! k* D9 N
end
6 J3 q$ H$ O) z; q) A" Tendmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了8 Z2 D: V& J3 `$ z% X* P# D' ^5 H
有simulation的waveform嗎?1 g9 j+ `. U5 K. N$ [1 C1 j
示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
/ I5 E& }% u' V確實可用! 已實驗過,但我不會貼圖。
; `- j. e$ p: D9 Z* I; U只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
/ Q/ D% F9 e* i* |9 c2 ?8 a7 Z$ {; b: K
" l' q) A6 k9 _8 `: R3 O% H可以和你討論幾個問題嗎??6 _- q9 ^: r) c  G4 C3 Q

$ G; d8 L4 {6 r% h方便留MSN嗎??0 `  ~- u0 \( k* |9 `
  v* p" |4 R5 X1 Y
感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
$ {8 ], q# r$ _6 Z0 M是要用在LED Backlight的....( b( Z) Y1 |% O3 o$ y. @6 m
其實有問題可以在這個帖子直接討論..
; X8 J/ Q: w! x6 O+ s4 q" }- X$ J這個沒什麼秘密啦...) X3 t* Y8 t8 u, B. i
因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 10:15 AM , Processed in 0.112014 second(s), 15 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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