Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧' L' V5 x( ~: p. P$ F
如果有 PIXEL CLK 就用它除頻
) y# C# c: h: Y3 h$ j4 ]如果有 HSYNC 就用它倍個幾次
1 Z% e. @& G0 b0 \/ n/ D+ m: F8 ~) R
/ F1 N' i" E7 X9 e/ S# B+ a' H因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係. b6 A' r" i$ p3 G6 n+ s

8 S% C0 y$ s4 G! ]   640x480@60Hz => 25.175MHz (39.7ns)
$ D2 ?* S" V. L1 H, |; V; f   DOTx800=HSYNC, 39.7ns x 800 = 31.469us
6 f* x: n3 `5 G8 @( C/ [* N5 j- |   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz). y) J7 X3 ]3 s1 a) g
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)4 C) b4 R! s, J( T) k8 {/ w

2 j/ B/ S- ?( [) F: o9 p接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low); p5 e/ h( {4 _$ _$ Q6 l

+ o* [, D, E% e' b" {% p還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
: A+ Z( G" q5 {4 N: d" P9 Z這樣子做出來的phase error會很大也, 要先看規格的要求一下下
3 n2 i4 S6 j5 |$ `$ O# j

% p* Q# X0 m8 \) I1 {. N& O; v2 K* n
8 d) d+ I# x4 j# D+ f5 I  r
嘿嘿....沒錯..' ?% s# _( H8 z5 K: S* R3 c
所以我現在還是用60hz去產生600hz..5 Q& u/ n, g2 w7 Q/ }
另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
0 z, \4 T% W- f8 `! x$ c6 J//所有註解都要保留
/ a! X3 k1 {7 g7 N, D% _* u
3 z* _) C  ?0 v) R`timescale 1 ns / 1 ns
- L8 n) y7 q' X. Dmodule xclk(sclk,ena,set,outp);0 F5 W5 T" D  t. ~$ O
- U. }/ e9 T* z' p+ E

0 M& G& G0 A8 d  ~, `/ [% \4 H  m2 V4 T" g$ y& d
input sclk,ena;3 b6 V% F9 K/ A* J0 i% p8 j
input [1:0]set;
2 {  L1 `7 M- Z+ Soutput outp;
6 f1 P3 a- \! O( k
5 Y1 x6 H. V' p+ `$ @% u8 N7 |  g9 Q4 m8 }wire outp;
9 A* ^( m& b4 c4 M  O; U/ m& W
4 c" Y5 n' k% i9 K7 y
6 j! d- n: ]: I- z# {4 i% A) N8 J: a/ Z* O; [/ |: U- S/ b  L
/**** Node preservation for nodeA **************/
+ Y2 @/ J/ A* P- ?8 C% X1 z! m
4 |( E: z6 E! P) v: J6 d) h' N2 z' R: }
//exemplar attribute nodeA_5 preserve_signal true
0 Y/ R8 p. Q% K1 v
! I9 M3 a4 j/ l9 V! d) _//exemplar attribute nodeA_4 opt keep0 `$ B& y1 F2 T9 W; O6 d
2 |9 m" j1 T; Z( Z3 ]- f# X8 E
/**** The following comment form also works ****/
6 \! `& y0 q; \+ l2 e" m! A5 e6 N4 i9 K" n8 L+ M0 y
//exemplar attribute nodeA_3 preserve_signal true
/ _$ W" Q+ ~3 C/ M! @- S+ a2 R0 y1 t. D5 _3 @
//exemplar attribute nodeA_3 opt keep
& u- o+ P8 `$ S1 g& M% Q. c  m* ^5 r8 O2 s7 g1 d, m1 Z  Y. R- `: Y" ]
/**** The following comment form also works ****/6 _! }: l, i& Y2 P

, p5 y! I, d. J//exemplar attribute nodeA_2 preserve_signal true
0 J1 T' k" O5 g; ^
1 q$ Z7 N8 X: u6 G//exemplar attribute nodeA_2 opt keep
1 x8 p7 x' e* F' i9 |, U" F: a& R( t9 l3 ~' ^8 n
/**** The following comment form also works ****/
$ @; a" r# L% G' r3 y$ t2 T, N1 W: A$ Y$ h) P4 Y
//exemplar attribute nodeA_1 preserve_signal true; F; K/ O/ C, G+ ?0 l2 f

, u' K" i" q4 }) c: N8 x9 N//exemplar attribute nodeA_1 opt keep2 E3 z/ z: l7 X# N6 _" Y/ I

# @4 m0 A8 y' t9 m, \( w; G/ g: Q; }+ q! w1 J
/**** The following comment form also works ****/& |  W5 Z6 [; v& M# ]

& E8 ^7 P8 e( _, E3 H# z/*exemplar attribute nodeA_0 preserve_signal true
2 a5 P  x& x' y5 d9 N' y  w; ]% ^5 F  m' ?+ \# K. w$ o
exemplar attribute nodeA_0 opt keep*/
" K. n# i, T0 g# v# @% s# v4 V1 d- \; S7 f) j% G
4 N# f3 v! [) e

" E) y$ G- d6 F% Y4 y+ k/ c
) J1 D7 O, K9 W$ T5 C4 X- W% Z' a( Z& @! c: D$ {
& @+ @0 k; }- ?

1 J: {3 f# o& }; O% S! u) o. u9 M( a! }# P8 B" G
; g# m: `' O5 z2 F+ H

% N9 q4 j) m. |# D$ M' C  |( nwire nodeA/* synthesis syn_keep=1 opt="keep"*/;
1 i% w; q9 i+ O1 ^& e9 awire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;% K7 o2 Z9 M+ h4 q9 g7 u
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;% S/ Z7 ^& [5 ^1 K& B2 n% a8 Y/ V
wire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;6 B% C, M1 A/ M# A* m9 `9 |
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;
! |- X) G! p4 e$ Y* zwire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
, [( g+ l( `* x% J6 v
8 w# _. f9 d1 ?9 Yassign#1 nodeA_0  = sclk & ena;! U% R! e6 M4 |+ w/ ]" z, C
6 t" {  X- a2 r" b- t( V7 x
assign#1 nodeA_1 = ~ nodeA_0;
, U  `% v, X7 |  @5 z: r6 `assign#1 nodeA_2 = ~ nodeA_1;
: e, @9 M- E3 Z0 h* i0 nassign#1 nodeA_3 = ~ nodeA_2;
% V3 B7 |) n5 B. `- massign#1 nodeA_4 = ~ nodeA_3;/ `1 n- A" e7 V2 Z4 W

7 I% I! V- B3 v8 O( q/ Lreg xout;
9 E. @, K" ~7 Z  g8 _
; Z5 Q7 c: P" s0 ?- X9 i# A) walways@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)$ U' Y2 A- X) c
  casez(set)" O1 I+ O# r6 b+ \/ [
    1: xout =#1 nodeA_2;$ D2 c$ E2 v. J" Z' [
    2: xout =#1 nodeA_3;! U) l+ J# x2 n0 x
    3: xout =#1 nodeA_4;
0 V2 n3 r2 G; G  I9 l    default: xout =#1 nodeA_1;: M, k, r/ J( J7 z8 ^4 R. B
  endcase
7 m( l8 \/ P! @2 n1 d  
4 ]1 w5 T) o* D' c; j2 \; ^! w8 h: Vassign#1 nodeA = xout;
, S- E( p  m& wassign#1 outp = ena ? nodeA^sclk : 1'bz;" p5 \* h9 B; ?  l. |* e; L

$ w) d% l+ W6 W8 X5 A5 Lendmodule' Y3 i4 W0 I3 g: w+ D4 |1 ]
9 K. K9 a# H; b; s3 m3 H/ m- B/ ~% P+ D

9 s9 S* G0 m% }! F
/ V/ |" y/ t  h& q`timescale 1 ns / 1 ns: P+ o2 k- B! T- O" C6 [! O& e
module xclk_tf();6 X; R" I& ~5 A8 h* w4 M" ^( J
+ x/ a# y! j2 o/ Q+ i: {7 F2 V
// Inputs% y  J/ Y, }1 \! X# b
    reg sclk;
. H& P/ i6 E9 W* n6 }6 {7 C' f    reg ena;* @3 K8 g: c  k+ o9 D1 L2 i
    reg [1:0] set;
/ h5 S1 E1 z0 f0 b
- r! r/ U$ L. N% T9 {7 K' J8 F# t2 V" ]4 g' L) A$ T0 E) S
// Outputs) E4 ^% c6 N/ @4 ~# K# y
    wire outp;
$ K6 r  d9 P9 K' [
1 `9 p& @. w6 P2 J( ~% P+ w5 @& ^& b. L
( \' k7 x: {: |/ w' n4 H  c, k1 z3 z
    xclk UUT (
$ @0 U5 L8 Y' F; W        .sclk(sclk),
; c4 \) O0 c" d8 C0 ]! J        .ena(ena), 0 M. h- X' i, {6 w8 Q) J+ {
        .set(set),
( X+ _  K- s) [5 L        .outp(outp)
" y/ H& p: v' ]7 k5 o+ r9 a        );
8 w+ h, B( B) v( ~6 F# M; E
- g* Z3 X; D6 g0 m; u9 k$ K, x
+ a3 c2 G' g3 _9 v. K$ Q% R  g+ Z! W9 l
    initial begin* H$ K+ V# [4 \2 I& N
            sclk = 0;
7 Y8 \# b/ y+ h5 ~5 ?! G' y            ena = 0;
* L* I' k; k5 H            set = 0;
3 b, u3 P5 G: G4 h) N- Z7 T' g    end
0 z* Z8 E' J0 r# x+ A# r4 |
# S# ~5 |2 x5 ~4 ^* u$ Q7 ]4 I* A% i: X: |8 R
always# 5 sclk = !sclk;
7 h  U( v. a* k: f& Q1 l1 [
4 J  w. ]1 L. ~initial begin/ ]- y4 g( `5 L# Y1 v1 c
        #1008 X$ g4 w1 F3 Z, b+ O# q
          ena = 1;
2 Q8 U& N, M9 R. J% W        #2000 : l+ a9 F8 C3 C; o) ?
          set = 2;
* ^- q; m5 e, {; R; D6 d        #2000
4 N+ G, L4 Y: a/ \9 `2 ?          set = 3;! W1 F" C# J' K$ o# `
  #2000
6 l) [# w3 h% F% m0 W. k% c& O% J  $finish;
6 r& O9 z% |; c2 Iend
* Q6 Y; _$ `' C1 L, kendmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了
  B- z/ q( z# G" f% ~有simulation的waveform嗎?
, P, ~' w7 k( |$ S示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench/ [, {% Y+ ^9 f) @+ R, _
確實可用! 已實驗過,但我不會貼圖。
# }" c- F3 E9 d% ?, {只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??" {- G+ z5 I! Y  A0 F
" @9 T' C& `  x9 I
可以和你討論幾個問題嗎??) j/ q/ x& |6 M9 m
- H8 q7 D& a+ w! H
方便留MSN嗎??+ y1 p2 ?& {4 \/ D1 l3 o3 c
" J1 E$ Y+ Q, T
感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
/ K- x; A) F7 e& g% ?是要用在LED Backlight的....6 v; h0 u" U$ |% X
其實有問題可以在這個帖子直接討論..$ E3 `5 l$ M$ o- p
這個沒什麼秘密啦...
: n+ m* S) a' G" p8 p因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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