Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧* o, v2 y2 V# l$ f+ a9 ]2 q2 r
如果有 PIXEL CLK 就用它除頻
: j+ ]9 ]2 w) B# {, {如果有 HSYNC 就用它倍個幾次
8 M$ s0 Y8 V6 ]/ i5 b
% ~7 ^9 T# A# g; ?) g因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
9 q" x* [) @4 |/ ]+ V- A/ Y, t% B3 y, {. M$ S# k# P
   640x480@60Hz => 25.175MHz (39.7ns)/ u* g' R' K- u9 g6 c
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us* c( v, x+ w& G: v! @" f
   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)8 g4 j4 K9 k/ C5 L; i1 @5 f% B
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)
8 d2 h+ H" ]. t9 r" }
9 b& W9 q9 `3 d( k) o接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
& z) Z' Y1 i1 x2 F5 G1 F' o! B6 E: @% J
還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
, o. X  x5 l1 E0 |- M1 p這樣子做出來的phase error會很大也, 要先看規格的要求一下下

( m7 P% b8 K% l4 y& k
* E, @' w1 \5 q% l9 Y/ d  W, V. K+ L% Y+ e
& Y3 E% t: i0 {0 s
嘿嘿....沒錯..
( X$ T! E+ n" T& g8 b* s- N所以我現在還是用60hz去產生600hz..: h+ n# [6 ]) N6 T; S. z
另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
, G/ q: Q7 _- P8 c- n//所有註解都要保留! @3 \1 d( j3 W0 y) F

) E$ Q  d! S4 w2 k9 l3 e`timescale 1 ns / 1 ns4 j' _9 D0 t! k, s+ N: y- H
module xclk(sclk,ena,set,outp);
+ x7 ?* h: B, N% @: _& V$ s) k. i3 {5 j3 ?7 R
3 m* f: j  s# L7 M+ A0 k

0 w" n) F2 R  C( g5 o7 A0 S0 }input sclk,ena;4 P! q: r8 U# H+ F/ r! F
input [1:0]set;
" `9 Z7 o& |2 N; W, N* w1 routput outp; 8 T0 A5 S; [! }1 b% g

. v5 y, p+ E7 N8 y" [2 q  \, Rwire outp;) f" `- V) K6 |4 `. X' P" ~  T

! ?( R7 d. s- c2 w4 ~: S6 Y
, g- u) D; {7 K3 C4 W( j" O. E( i  G; I6 J0 `8 Z
/**** Node preservation for nodeA **************/
- j8 ^2 B. P- i6 d
7 R  C* j3 x  @4 h: y- x- o0 L7 Y7 [3 F7 Y3 v: O7 {0 B. `, j2 |# O
//exemplar attribute nodeA_5 preserve_signal true1 M0 o* i$ y" K

) G8 N5 e! w# O1 I" {& P//exemplar attribute nodeA_4 opt keep& K8 Z( N3 E6 e5 L
4 F& }8 _2 O7 y9 j2 ^
/**** The following comment form also works ****/
% A0 A$ H& f" l0 {
3 q' e6 n$ H9 S  x* x% ~  T6 q* Z//exemplar attribute nodeA_3 preserve_signal true9 I9 r6 Q' B3 n* n1 }# b( q! O
4 v6 k3 z7 c! p
//exemplar attribute nodeA_3 opt keep
* Y+ O, s/ a" o  _
; p0 {7 w0 d$ N) ^5 G+ f8 _/**** The following comment form also works ****/
- r* h$ j/ \( h' _3 c, U  `* W' h! G% k. R% v
//exemplar attribute nodeA_2 preserve_signal true
- g/ p6 z# O5 V- |
0 t) T6 [: `! u1 s' P2 S- V3 o//exemplar attribute nodeA_2 opt keep9 y$ e9 f( t6 z: u: P

2 Z  J- s3 |/ ^0 T" {/**** The following comment form also works ****/5 z8 }* \0 r) g
5 K6 L3 a1 X/ e) f% a- A! }
//exemplar attribute nodeA_1 preserve_signal true
6 e; t5 e- s: Q$ C
$ |  j1 U+ N7 X5 Q//exemplar attribute nodeA_1 opt keep
9 r& T! N& d9 N2 \   ^$ H3 w7 b  C% u) l2 b

2 b( F* l2 M' W/**** The following comment form also works ****/
4 D. H6 d- K' d( t2 ]' g! ~. ]- |9 n# S, _! n
/*exemplar attribute nodeA_0 preserve_signal true
9 d* C  x) X. y+ r1 _* @, p, F: u/ ]& b' A8 ^+ c* \
exemplar attribute nodeA_0 opt keep*/ . q8 c/ b( k1 d4 O3 Z
) M* ~6 c# o/ m- K* ^
) p3 g- G$ g" M

  K0 c/ X2 A8 u+ A
2 m* D9 Q* S% g' M: n1 ?3 x
3 u9 d- r; O+ B9 k& I# Y9 Q; ]( R* t% @, u8 [4 I6 C

& e' J) O" z% s& _9 y1 R- r" p+ t' `, a6 M+ k& a

: V% m. H6 c1 ^6 `; Y5 E
9 N: G5 R; U3 v0 ywire nodeA/* synthesis syn_keep=1 opt="keep"*/;
9 w! H  h# p8 r6 |5 nwire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;
% E( D# M* y/ _+ Kwire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
& H8 H, S6 q+ D+ U  fwire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;
+ z2 l. H, E+ U/ Pwire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;
) d% ]# R2 y8 B( F6 u6 @& M0 ?wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;" |" B4 C( p# P, x7 [  }( G
. l6 P8 ?# A, d. Y1 W3 S
assign#1 nodeA_0  = sclk & ena;9 N, I4 F' l( D  q

$ M" F$ V; g* r6 Fassign#1 nodeA_1 = ~ nodeA_0;
% _& l1 Z$ p  |9 B; `- s! [# jassign#1 nodeA_2 = ~ nodeA_1;
& g( D) D* H( ~0 G" ?6 {# massign#1 nodeA_3 = ~ nodeA_2;( r+ r+ h' c1 r) n; x. t/ I
assign#1 nodeA_4 = ~ nodeA_3;
7 g  K9 L* Q4 [8 ?
, b8 [) \! Y  L' L/ U% S; ~reg xout;. L* o$ k& B* A% K

5 F& |, x: e0 [" u/ J- @& e$ Q7 _always@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)# G4 }. P& ?7 @$ h" U
  casez(set)
" A2 ^& P3 Z3 i    1: xout =#1 nodeA_2;
/ D2 D% m: O/ m3 W5 t    2: xout =#1 nodeA_3;
2 ]* D5 r) e0 h2 q; _    3: xout =#1 nodeA_4;6 N7 g3 \3 x2 f# G' b
    default: xout =#1 nodeA_1;* A: g  n( b" F' W& V9 _' _8 P  s
  endcase3 t2 w9 r. G8 U2 M
  
  H, n& P2 Z* `; d: w, ?$ gassign#1 nodeA = xout;+ q+ R  d7 ?3 W' N! Q, g+ N3 T
assign#1 outp = ena ? nodeA^sclk : 1'bz;
; L& e+ k+ g) e5 ~- |/ q& }! M+ a8 y7 c9 F# X
endmodule; k# s" v. v3 s. F, ~& m
( F" C2 b: [" W( a

/ |8 S3 ?; h( N# O% c/ s# Y* T# y/ b1 _. x( M8 g! X$ U9 h9 W! n+ _
`timescale 1 ns / 1 ns
" y- k" |9 p: Y7 H$ w! Smodule xclk_tf();, R4 t, C5 M! `, D6 r+ i
/ a  h' ?! E7 f) C& H. p. v
// Inputs
0 c- B" Q: i5 \% R1 g; ?8 W9 \+ O! k    reg sclk;8 G2 H3 v" Z; G& T5 K2 U9 A
    reg ena;
" A# b( j0 _6 q1 R    reg [1:0] set;* y+ d9 N; b* w, p& F# `
' A% w2 c. B- m( z

4 R3 g: {5 @6 \$ q// Outputs
* h. i# M5 q" B6 M0 U6 H7 e9 |+ z    wire outp;" P- O; @' E+ X2 Z* j
4 [" i: T! `; y

) i* G0 o! z! V4 {3 Y2 s
* x, B0 S6 L6 d- r" N- j    xclk UUT (
, [  |* o( a. ?3 {( x        .sclk(sclk), # G: L* D% V% T: |1 w2 d8 X
        .ena(ena), + A1 e" g, h; L/ e
        .set(set), 7 o8 Z0 s8 b  s! B
        .outp(outp)
4 x4 d* @* n" o        );( ~3 a) t, ^7 h8 d& ~' M

; {4 x3 m+ E+ f3 |1 Z  z7 u9 l+ J& X0 P; S

  s' Q$ f9 T" k  h/ Y! @7 H    initial begin, S) y5 Y( k, ?" ~: g, D5 r% ~* I
            sclk = 0;
/ c  S! @) D8 @8 ?            ena = 0;
  k( N$ t* s& B8 Y8 ?# Y* ~, c            set = 0;7 r0 {) @! P8 u) z& N1 I9 n
    end1 Y" h/ O; j7 P1 c- Y  ]
/ L! e8 z. o# w% @9 ?, |& o! ~- Q
( Z1 C! O4 R7 N: k
always# 5 sclk = !sclk;
1 O2 @3 V# m  C' g/ E
; {, q7 l5 O9 n. pinitial begin5 t, T5 N8 p* j( [' H' _! O! a
        #100- L3 t" M' _. g/ X
          ena = 1;( h9 v% p& g' X' u. i  P
        #2000
4 B' D* i2 k* E3 j3 w2 V5 T          set = 2;- M4 `( T4 w' q1 a: y1 S/ U. N
        #2000 % h; U& r  n% n; i9 |3 I  k" ?
          set = 3;* w* d/ l* P6 C" x6 L
  #20009 p+ x% g  j8 Y! Y& J6 I! e+ j
  $finish;6 U6 P) C( w% |
end
/ p# A2 v* j" \- o- Zendmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了- z  S8 Q- Q4 ^, q+ @& M5 b
有simulation的waveform嗎?
/ O) U3 [5 H( \示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
/ @1 M8 f4 q1 J6 ~確實可用! 已實驗過,但我不會貼圖。' S  a) Y5 M, ~! `2 p. J8 N. e! y
只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??1 ~5 T+ G2 @( R) e
/ F3 m. e# o* ]( h
可以和你討論幾個問題嗎??
6 q4 G+ y, R6 U% [, ?
8 B- F; m- Q3 w" t9 w- D6 y方便留MSN嗎??
0 W* ^1 r- S# f% L/ z; z3 H! M3 {) H* n4 }. w5 X" F' P
感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
0 L& _; }/ U( Z# ?6 h是要用在LED Backlight的....
% b$ A: e' S- {其實有問題可以在這個帖子直接討論..
" ^8 O" @' j& T  ]# F這個沒什麼秘密啦.../ v0 a9 i7 m6 ^' e- ~9 V' @! }* H( f
因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-22 01:03 PM , Processed in 0.115514 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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