Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧" \" S1 i+ `4 a4 l7 l4 n0 j
如果有 PIXEL CLK 就用它除頻- z( V  Y$ p; p4 y
如果有 HSYNC 就用它倍個幾次- a  u# p# W3 Z

, h+ h2 U7 T( V因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
5 {* m; E' Z* ?6 I% J$ e
9 K. u9 q9 j: O3 c2 M% F, \   640x480@60Hz => 25.175MHz (39.7ns)
, M3 i! @3 l" C) N6 Q   DOTx800=HSYNC, 39.7ns x 800 = 31.469us8 ]  y3 {7 O5 W! s
   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)$ |0 x: f( a% l) l8 Q
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)- s' Q! X! B. x/ K
/ ^4 Y. _4 r0 D" t+ I7 s/ x6 P
接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
, v+ W. A& H6 M, Z2 v& v4 f  g+ b$ ?9 L! d0 J' P1 x5 Z
還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
9 }5 L$ |/ O6 M& @) S這樣子做出來的phase error會很大也, 要先看規格的要求一下下

, s. r. {( s* p0 Y# g7 K) U6 m3 n8 A- `& C6 h$ F5 H" I
4 P  A9 p7 c  k' g6 U$ S
% v3 l6 L; R% R) s3 u8 `; e
嘿嘿....沒錯..: K& T0 F* T2 |+ j( s
所以我現在還是用60hz去產生600hz..
  v1 d9 U- K" i# p  a另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
, C1 i+ f  J0 }//所有註解都要保留
7 q8 {. V1 p: o: V6 s
# U) v2 A8 b( l3 J$ v`timescale 1 ns / 1 ns- c+ d) B' i# s! a" H0 z$ B. m! L
module xclk(sclk,ena,set,outp);
$ ^/ R2 ?. ]6 e/ f* H9 z" D
0 v9 C9 I& e, A9 i) [- u/ f7 S
- d7 `' c7 }# e, J, k! h3 s4 C$ n$ b
input sclk,ena;
% S, ]1 F# Q; F5 w3 E% u2 Yinput [1:0]set;* C. F0 O% h" j! J
output outp;
9 H7 O/ P' q" A- w5 F3 C: W, R6 Q$ w: C( s
wire outp;
) F# J9 Z0 v* \' X- G+ u# K* @7 D7 t9 T: M

9 _7 l% I6 q' f$ j* }: K3 N. A/ r% m* }5 K# X
/**** Node preservation for nodeA **************/
. A" T% n( W, _! Q
9 G5 a! t6 ^  x* c' j" g( `3 s' w
# U8 Q$ _) L1 d//exemplar attribute nodeA_5 preserve_signal true& _, `+ Q# s+ o, J7 P9 I* G

! Z9 v7 g8 n% O  F. z2 f' ?, d//exemplar attribute nodeA_4 opt keep2 C% l+ m' d  q4 ]

& O1 @# ^! X) q. h: N( q7 P, l/**** The following comment form also works ****/- ^4 Q0 a! Y, B
; x# \$ E. F1 _+ q. a
//exemplar attribute nodeA_3 preserve_signal true
4 v! S% |# [5 s' o# [+ b. W2 t* m* K7 D) Q* K* @  N8 v& q2 v
//exemplar attribute nodeA_3 opt keep: s) A- q9 u+ _5 ^; r; X4 b. r& E) }
; @, Z0 y8 P7 s' y5 Z
/**** The following comment form also works ****/
* C& a, k3 ^$ X' F7 S+ r4 Q3 f) V& g- U& u& y+ U
//exemplar attribute nodeA_2 preserve_signal true* m9 P! K/ r, V' z# q1 N+ K

! Q* f7 m5 {% v$ r/ r" J//exemplar attribute nodeA_2 opt keep
9 ?" L6 k: E/ j2 p' v4 Y* C+ q) P+ q* i1 F8 r9 p3 p
/**** The following comment form also works ****/6 ?& y3 t5 e/ N# A0 S# C

5 ]# O2 N' ]6 f2 i2 y$ K//exemplar attribute nodeA_1 preserve_signal true% Z  L% S& G% C% x0 \$ L: V" u. h
* e$ F5 f& x4 r+ ]
//exemplar attribute nodeA_1 opt keep/ S3 O+ X% Y1 g, Z- k$ E

5 y) \% \1 m% @  Z( l$ |# ^# j  s% E
/**** The following comment form also works ****/5 x1 v9 w  v; A. a" }1 E# T! r" o
. }: e% b; b  Y
/*exemplar attribute nodeA_0 preserve_signal true
9 b: Y( n! F: f6 r
+ k: H) j# u% f$ [( s% D& f6 Rexemplar attribute nodeA_0 opt keep*/ , U$ ~  `( y1 K5 F5 D0 W
1 A3 ^9 T; N& l  M' _

7 S( f5 \4 e2 w8 Z7 M) t 0 ~- p. u4 V; c- j
! ?# P8 R, e- M6 w5 H" H
  [. F% c. s) F$ l# c

; X) i, u4 A- S4 g- p4 C0 I, b
" s8 r' D) p' k6 w0 q* \8 t" K/ E% x0 M* m' E8 U
2 v' ~0 ?* T& _/ ^  G, I1 R8 F1 j

1 t2 M0 n# z% x3 q( `0 swire nodeA/* synthesis syn_keep=1 opt="keep"*/;  ~, I; {! z1 m) ]) n
wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;) ?+ ^2 d' s+ U/ a' O7 ~
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
9 U0 R, ^$ v' F& p4 G4 I# Uwire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;5 n& n1 Y* j, l8 W" _8 C) m
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;
# i: O3 T3 B: `" Uwire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
0 t: P+ l2 y) s
9 [0 C; @& Z9 O$ s4 o- Fassign#1 nodeA_0  = sclk & ena;
) e9 {1 o0 Y& ~+ @( q2 l. P9 Z# I+ i# A' R1 L( ~. Q5 W
assign#1 nodeA_1 = ~ nodeA_0;9 U$ W# S, W. W1 Y2 D5 Y8 |- @
assign#1 nodeA_2 = ~ nodeA_1;
% [! n. f5 }- s/ R0 ?- wassign#1 nodeA_3 = ~ nodeA_2;' e: A0 t' I2 B& @
assign#1 nodeA_4 = ~ nodeA_3;" Z0 {' v& i) M0 {

  K, o0 U, H" V: @reg xout;
( [+ X* O& p0 e( J" C( x6 ~+ U% Y4 c) a* c6 V$ S
always@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)) F9 }0 \8 Q$ C* H
  casez(set)
7 a6 F) P& J, ]* g) L    1: xout =#1 nodeA_2;
4 b  W% a, M+ m# i9 i. h    2: xout =#1 nodeA_3;
7 K# K, \2 m+ w, u& |3 p5 p    3: xout =#1 nodeA_4;0 L6 t* x- A6 c6 D9 y  x
    default: xout =#1 nodeA_1;
* z7 r; r% b/ k' ^4 [/ n  endcase' H1 |( b3 D) b5 S1 F2 G: \" X
  
8 D6 B5 h  y+ M$ F& i: k2 Zassign#1 nodeA = xout;1 a5 k! I; ^* _2 D% O9 O! S
assign#1 outp = ena ? nodeA^sclk : 1'bz;. `8 \4 r& f' M: ^- }3 F: m

+ \- k# f) G: b7 N, V9 @# s0 \+ Wendmodule# d: u( A1 P/ `+ Y% _
$ |& A8 c4 T# ?( [8 D5 l
: j+ ~1 {# a! C2 ^( i' |

+ J# N: n: N- q9 n9 n4 c: b`timescale 1 ns / 1 ns
! X; _0 g/ m9 @& wmodule xclk_tf();
' ^: Q0 z; q1 O. v- k
9 }. A+ O, x1 c1 N: A! d8 J// Inputs
+ j; z# m6 c& q( q# b, y  }9 b+ M! L. F    reg sclk;. \+ Q2 D  f/ @7 o: @
    reg ena;. C1 E8 Z0 r; `# Z9 X7 G: i$ i
    reg [1:0] set;$ ?, l# E$ f! f, B
& m# L% x6 _5 ?2 }# X4 b

8 |; @5 o  X, s) p// Outputs
, X+ {' I! `. `1 J) u- ]    wire outp;
0 D4 `8 G# Y0 f' m
- @! D, F/ i% K0 X5 L/ o0 t( w( p
. T4 Q( w  S. D' ~% q. @3 e! U6 n8 E0 O* Q
    xclk UUT (
$ b! m" |% h  s; R        .sclk(sclk),
* V8 C4 v: @, Q9 U        .ena(ena), % m0 q9 X5 t* J( R- B. L3 W
        .set(set), ; D1 g( ~* v# X/ L/ L; F
        .outp(outp)) U" F: f9 d) V9 B$ M: r
        );! x/ m. g  E  J1 `

) c& i- {% w0 k: _: o5 D( J, l8 E
4 T, ]$ p( [- S% _% J& A5 m$ Z4 G) Z3 C3 f
    initial begin
$ b- d9 R& F' V9 J9 T$ U: w* C5 x            sclk = 0;3 k: u0 m6 I, ~% e+ ~* N& A* g1 E. n, X9 j
            ena = 0;
6 l9 Q' Z6 B& f            set = 0;
, ]  C7 d- H' w& ^1 j    end) V6 F+ H! R; X  I8 r

  s: y! v7 e' G0 w5 [* i0 b/ s# ?- n9 l2 @  x+ }8 u
always# 5 sclk = !sclk;1 l( P. s* H" I+ |
8 j1 @+ R8 m6 V/ i& N
initial begin: J4 t* [1 L  u0 J& P7 H! v8 c3 i
        #1006 |- K8 G5 R" q& o7 h- w9 C
          ena = 1;
" E# Y+ m+ [9 n! d6 J8 m" Y2 `  U        #2000 . L  `  H0 s$ A; ^3 M0 [
          set = 2;+ _4 v( a* s9 q+ ~$ B* y+ n6 w
        #2000
4 L. K7 }$ x& c0 k0 ^1 ]          set = 3;1 p1 O) O1 D2 r& z: c: R# }
  #2000
1 C4 @& h( H: |" [. p% H7 |  $finish;
6 X! f4 l0 H$ nend1 Z( I' m; s1 T& k: l: k
endmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了
- |) R! A2 e7 q* q$ b有simulation的waveform嗎?7 z9 T7 u3 U% S8 k# x" h
示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
/ K; d3 [& C5 I' Z確實可用! 已實驗過,但我不會貼圖。* w' O+ @$ h! u# u$ w% c
只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??+ v# D" ]3 v, u. ~$ U1 i

$ S- f2 [! R$ v可以和你討論幾個問題嗎??
6 B2 {0 W% X% r) w/ c( M8 G8 u8 j* [4 A! d( R% N
方便留MSN嗎??
) o: j; j( |2 r5 }0 L; i! a4 n; p
感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯..." A5 D/ W* C( ~! ~
是要用在LED Backlight的....9 B: O, u7 b& x# W
其實有問題可以在這個帖子直接討論..+ b/ l3 @" X7 t* A! q" _
這個沒什麼秘密啦...; w9 d( c5 Y( g# f3 S3 t7 z: J$ }
因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-7 11:41 PM , Processed in 0.129017 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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