Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧! E0 D9 K3 q) T* z: R) d5 g/ Y
如果有 PIXEL CLK 就用它除頻
& V" X" k9 }+ D+ }: e如果有 HSYNC 就用它倍個幾次/ z  M+ O. N2 D4 {
* d. n; O; r% ]* r+ a% c) H
因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
+ M( r' o( C3 X7 f% @
" O3 ~8 s4 Y4 S; K  l! V   640x480@60Hz => 25.175MHz (39.7ns)
) R! _. [/ d' ~; t# K  V6 T   DOTx800=HSYNC, 39.7ns x 800 = 31.469us* O. T  ^4 [7 W- i: E
   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)5 q, B( P% x+ g( E1 f0 \7 P
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)% g0 k. M: }! }/ |

& I# W  A- g# j1 `- [2 X' H, F接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
( F2 L* G+ f: }, x
2 h/ K/ v! I3 ]( b7 n  q1 d, X還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
+ u' B0 T1 Q  c( z2 `這樣子做出來的phase error會很大也, 要先看規格的要求一下下

2 W0 p9 q' B" @; ~1 o0 ?+ Z$ \8 ?" }; \6 K5 Z' l

3 m2 ]2 O9 U  ?; l0 h, }# B+ R, N  J: T5 T4 B5 S
嘿嘿....沒錯..& c7 I* @% ~. M( u0 Y
所以我現在還是用60hz去產生600hz..$ m1 i3 m" ~0 S. g' B! q
另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。: ]+ s& E& R$ z0 H! Z0 I
//所有註解都要保留. V* z- |" L2 Z8 g( u% m" F

/ u' T" D4 X. e6 X6 o" ^`timescale 1 ns / 1 ns$ b# V) u% S! u
module xclk(sclk,ena,set,outp);
5 v5 w1 N  r5 d% p7 Z5 a& K5 z) Y' i( I8 q

  d; C: ~$ h) p7 v
3 E& d2 ~9 x  r/ A+ e. a0 Cinput sclk,ena;, C% x& Y, e+ l+ _3 Y
input [1:0]set;# }1 n4 p3 k! Q* _* k% m
output outp;
2 [: _8 m5 N3 }$ c( \" P# A* L. V' t3 r. Y
wire outp;
* i+ }1 f( r, f6 I4 b; t' J8 Z3 P7 ~" }  \. y5 ]3 k
2 A6 w9 i8 l$ U! f5 A+ j+ G: O, l
, B% X* R0 J0 S% X% r7 @) N8 X
/**** Node preservation for nodeA **************/: E7 @2 G5 v% L* G" {
* _& L% }- `& O+ B

- f5 |) r* ?7 O# B//exemplar attribute nodeA_5 preserve_signal true- v, t: C/ }; `

  A% C4 o, L2 V0 }+ R. {//exemplar attribute nodeA_4 opt keep! p+ H) E% |) g( x3 l* t+ b

0 A5 e' z7 K8 \& l0 e1 v/**** The following comment form also works ****/
) `' p$ ?! \$ L5 l  u: Y" y5 ]& \, G. z! j- R: \
//exemplar attribute nodeA_3 preserve_signal true
& x+ U! H0 t4 F* u* y3 [
7 l1 b! L3 J) x. v//exemplar attribute nodeA_3 opt keep
. g/ h# c$ P8 N, q& r! e  o4 t1 d
/**** The following comment form also works ****/
2 X- A' E; s( b5 G% t6 d) v
! ?9 p' ]4 N; `: i% \6 j/ u//exemplar attribute nodeA_2 preserve_signal true/ C  T$ }& Z3 i0 Q' A2 m

& z, Z  z( w5 v* L, t7 v* m9 d$ |//exemplar attribute nodeA_2 opt keep2 k# E; C% f, b
/ J' q' H0 |( N3 p0 z+ D7 H
/**** The following comment form also works ****/
8 w, |: K2 }; Z& ~0 t. R, j' r) q9 M% e* ^& `, f- l6 e# O; V% X" G
//exemplar attribute nodeA_1 preserve_signal true# O% v3 ?$ l% B, s/ L$ J4 y0 A

8 u# e0 k( s: c0 V# E//exemplar attribute nodeA_1 opt keep# F! P3 K# T' k; y

! o" A" {  t+ ~$ E0 r& `  k) x6 Y! v; n' s- c; C8 a* m% f
/**** The following comment form also works ****/. D/ w" L$ v, g  M
. U0 ]2 \( ~& r" d! @0 C8 U
/*exemplar attribute nodeA_0 preserve_signal true8 j) P) E0 K" z( `( @5 T/ y! Z
- A2 p. t) q' s& {( H9 P
exemplar attribute nodeA_0 opt keep*/
* n, R8 O) |( K) R& v1 o1 U4 G' z$ }1 ], w. t

3 p, `, N. `" P4 r
. `6 I  J' G& W# y- c1 w, F( Q, a
5 `& Z  ~' a5 d' q2 Q. R) n
$ H* q8 L- `" v

+ \9 @  A; z3 Z0 I
- I1 R) R# N8 s& l6 C# i3 z' G" Y) T; }, T$ q+ O

2 I0 t) Q. l3 C6 \, pwire nodeA/* synthesis syn_keep=1 opt="keep"*/;  [7 j" `' p. c; i, j
wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;4 l2 a6 L) M% ]$ k
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;) f8 ~, H5 e# x4 F: I
wire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;* J) _2 \( S9 _$ E; M9 R4 `
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;/ h$ U* s5 m6 Y  K  F
wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
# C0 z, M8 \4 `1 Q/ p# O# b/ t( q- L' `
assign#1 nodeA_0  = sclk & ena;
+ T1 C5 `- C! x) z; p2 C% |
! E8 X4 q& s5 O* C4 H! xassign#1 nodeA_1 = ~ nodeA_0;; u4 L- a4 R3 J
assign#1 nodeA_2 = ~ nodeA_1;6 U$ y, V5 |! f& R8 ?4 Y
assign#1 nodeA_3 = ~ nodeA_2;
# ^; z/ t9 z& S& l9 c8 g" T- \assign#1 nodeA_4 = ~ nodeA_3;( d; f# P4 O; F/ P

$ I, y: Z. R+ {8 ^3 B0 E9 Ereg xout;' L' h" g" h0 i/ [# A# a
( r. h* w& {( _  M" Q! d. k$ M8 b  o
always@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)3 b7 k$ q- [& g* {: p( T3 O
  casez(set)
  S, d' k. T+ W+ [+ E    1: xout =#1 nodeA_2;6 z9 ]( N- R  h
    2: xout =#1 nodeA_3;0 u9 B3 F$ L( L1 n, B6 g
    3: xout =#1 nodeA_4;
! V0 T/ }+ R: l4 f    default: xout =#1 nodeA_1;8 w3 @3 h- S" N* K2 E
  endcase
" }2 ]9 Z/ i9 w& s2 K7 C/ i  
/ k: S0 w4 u5 z5 d  A1 L& m% iassign#1 nodeA = xout;
8 A) M. P. [) F3 C% Y( l% O$ Dassign#1 outp = ena ? nodeA^sclk : 1'bz;
+ `) x# c3 T% X( G' a' o/ S
- q% q; Y( _0 S% Xendmodule
0 F% }* D6 L9 \; ^1 o9 V' r9 x- _- e: c  s1 e! ?( X

' Q7 G# b& G; V
: R9 r( L- s1 M/ q# Z& B  T4 R`timescale 1 ns / 1 ns0 z4 s  I! d2 R: b9 F
module xclk_tf();1 Q* n* \; o1 U- _5 d! A1 f* K

- j; w; |( F2 l. ^0 o2 A. K/ S// Inputs
+ Q/ V  H) f/ E: z/ d/ y+ B    reg sclk;
' y+ ?& b, m" i9 l    reg ena;; w/ H. k1 D' j8 F  K5 U& O0 f
    reg [1:0] set;, t; T; u3 ]2 `& `. |1 t, N
; i8 s* W8 K1 w; E

) m) F9 V# R3 s% U  ]3 S. H! s// Outputs
$ `, p$ [5 |2 V    wire outp;
- G) C1 @  _9 Q/ n6 J
7 E1 k  N  v: f! L- ^" h" |
. @$ s2 ~0 @* L& d4 N! A" Z: g9 x8 o. [% y' ]1 v; N1 T" N1 }7 s  H5 x3 M
    xclk UUT (
# _( R7 N; i1 O, C2 K' d9 m/ H- c        .sclk(sclk),
- G  H2 K# y4 i1 l( V3 q# Q        .ena(ena),
0 I0 R$ _* F* `        .set(set),
$ W5 s* I! i* q7 w, [! `        .outp(outp)" g9 Y/ l5 d* J2 x
        );
. p3 c+ H9 n2 p* |9 J# `0 O. Z8 P3 o$ ]$ y" o+ W

  B# I; R8 ^- x9 ~  j: |' [, s8 s* I
    initial begin
& f: N+ g2 L; {/ Z. o) E2 z0 v+ \0 P            sclk = 0;% J: J! ?( k  E1 T# ]
            ena = 0;
# d/ b  j$ @; T4 K            set = 0;
) Y% X5 a7 Z  C8 W$ m2 c1 n    end, B. |( r; N) F! W& Y- J
; ?6 ?: R7 L0 }4 c0 o5 v# b. @

4 y: z# z" ^  I( e. [  ialways# 5 sclk = !sclk;& S" I+ t: @) r( \3 w+ a+ z2 F
. m7 _: B9 [$ H9 \: t; z! Z
initial begin
# f/ a( S3 G. u" K: x' M        #100$ y; g5 l/ Y% d- t( P& [
          ena = 1;" `- j2 m, Y1 E0 o+ u! n4 q; Y4 [
        #2000 ) O4 g/ g+ y! b5 b- B  J$ T
          set = 2;
& p0 D: s2 F9 v5 G5 ^$ w        #2000 : a/ D6 e/ [" s$ W2 J- V) p
          set = 3;
& d8 b; S' n' R9 D& J: {  #2000; v9 s. b3 H$ s6 [3 s* v
  $finish;
$ y+ H4 r% A% X, K3 P# ]: Hend1 Z- U& a# j2 m: i
endmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了5 Z  e2 B: S7 \+ T1 A$ }+ J2 ]
有simulation的waveform嗎?
$ W, E- q% i9 T  X示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench4 Q  T# J$ o/ }3 l# D6 r* R
確實可用! 已實驗過,但我不會貼圖。0 ]3 _" Z3 B2 G* c( m2 j
只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
+ T5 {# D: h8 a4 i; }
% P$ u6 T; z$ n可以和你討論幾個問題嗎??
0 l$ L( B8 j, O8 g, {5 S1 ]
3 @6 k- C2 H4 _* g* D* S方便留MSN嗎??
4 B* n* m# g; n3 G8 v5 g# ~) K
感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
9 t6 J) F" f& Q  K% m* y是要用在LED Backlight的....( r* ?* ?& N7 I
其實有問題可以在這個帖子直接討論..
4 `% V  |( v3 M  Z這個沒什麼秘密啦...
7 A* Y( {3 f$ D6 m% m因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-14 01:17 PM , Processed in 0.113006 second(s), 15 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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